zoukankan      html  css  js  c++  java
  • 软件架构设计 实现步骤

    软件架构的设计步骤

             经过查阅资料,我了解到在软件架构设计这方面并没有一个统一的、适用于一切软件的步骤,因为毕竟每一个软件都是不同的。所以说这里总结的不一定适合所有的,只是用来做一个参考。

             软件架构设计的实现步骤主要有以下6步:

    1. 需求分析。在没有全面认识需求并权衡不同需求之间关系及相互影响的情况下,设计出的框架就可能出现问题。

    在需求分析这一环节要注意几个概念:

    需求捕获:是获取知识的过程,知识从无到有。

    需求分析:是挖掘和整理知识的过程,它在已经掌握的知识基础上进行。

    系统分析:需求分析着重于“做什么”,系统分析着重于“怎么做”。

    1. 领域建模。领域建模的目的是,透过问题领域的重重现象,捕捉其背后的最为稳定的领域概念,以及这些概念之间的关系。在项目前期,所建立的领域模型将为所有的团队成员之间、团队成员和客户之间的交流提供共同认可的语言核心。随着项目的进展,领域模型不断被精化,最终成为整个软件问题领域层,该层决定了软件系统能力的范围。

    领域模型的概念:领域模型是对实际问题领域的抽象表示,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。

    1. 确定关键需求。这不仅要求对功能进行筛选,还要对非功能需求进行权衡,最终确定对软件架构起关键作用的需求子集。

    什么是对软件架构关键的需求:关键的功能需求、关键的质量性需求、关键的商业需求

    1. 概念架构设计。概念架构设计必须同时重视关键功能和关键质量。

    概念架构设计主要有三个步骤:1.鲁棒性分析2.引入架构模式3.质量属性分析

    1. 细化架构设计。这里提出“5视图法”的细化架构设计方法论,其中的5视图法指的是:

    逻辑架构:逻辑架构关注功能。其设计着重考虑功能需求。

    开发架构:开发架构关注功能。其设计着重考虑开发期质量属性,如可扩展性、可重用性、可移植性、易理解性和易测试性等。

    运行架构:运行架构关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。其设计着重考虑运行期质量属性,例如性能、可伸缩性、持续可用性和安全性等

    物理架构:物理架构关注软件系统最终如何安装或部署到物理机器。其设计着重考虑“安装和部署需求”

    数据架构:数据架构关注持久化数据的存储方案。其设计着重考虑“数据需求”。

    1. 架构验证。对后续工作产生重大影响、返工代价很高的任何工作都应该进行验证。软件需求如此,架构设计方案也是如此。从架构验证工作得到不应该仅仅是“软件架构是否有效”的回答,还必须有可实际运行的程序。这些成果为后续开发提供了实在支持。

    验证架构的两种方法:

    1>     原型法

    2>     框架法

  • 相关阅读:
    CF1537C Challenging Cliffs
    CF1454E Number of Simple Paths
    六、链表
    AOP中的一些概念
    Autowired查找顺序
    webpack配置babel
    selenium处理iframe下 #document 标签
    Soul 网关 Nacos 数据同步源码解析
    安装ssl证书后,部分浏览器提示你的链接不安全,服务器应使用tls1.2或更高版本
    php 安装 imagick扩展失败 ,phpinfo一直不显示
  • 原文地址:https://www.cnblogs.com/sz20142898/p/6421711.html
Copyright © 2011-2022 走看看