软件架构设计三步迭代法(软件架构小白读有一种豁然开朗的赶脚)

软件架构设计需要考虑的东西很多,最忌讳的是将静态的结构、动态的行为、质量的优化混为一谈,导致思维混乱,典型错误如下:

一、三步迭代法概述

三步迭代法是指架构设计应从结构、行为和优化三个角度,采用由外而内、逐步求精的方法反复淬炼解决方案架构,建议初学者按以下步骤进行:

步骤一:基于三个维度(业务的合成分解维、技术的职责划分维、应用的通专维),初步切分系统(结构思维模式)

步骤二:基于应用场景,串联参于的功能块(行为思维模式)

步骤三:通过质疑(性能等质量场景),优化架构设计(优化思维模式)

步骤四:迭代重复。

二、三步迭代法在概要设计中的应用

一般采用UML模型(有时也会采用E-R模型等其他模型作为补充)逐步细化设计架构的各个方面。(架构知识要点详见文章最后,推荐阅读1)。

1、先结构思维。一般采用包图、组件图、部署图、E-R图等描述架构中的系统组成、网络硬件和数据关系。

 

2、再行为思维。采用交互图(鲁棒图、协作图)、时序图、状态图描述架构中的各组成单元的消息通讯。详见文章最后,推荐阅读4.

3、最后优化思维。从关键质量场景(如性能场景:反应时间小于1秒;可靠性场景:支持断点续传等)和主要设计约束(如必须采用国产数据库;经费大约200万等)角度,调整上述设计。

 

4、如此反复,由外而内、逐步求精的方法反复淬炼架构;

三、三步迭代法在详细设计中的应用

在详细设计时,一般从关键用例开始,逐个采用领域模型和交互模型逐步细化设计,最终获得类图和函数,过程如下图所示。

1、先结构思维,一般先对关键用例(如上图预定房间)采用领域模型描述。

领域模型又称概念模型、领域对象模型、分析对象模型。一般采用UML中的类图来描述。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。方法详见推荐阅读2。

2、再行为思维,对关键用例(如上图预定房间)采用交互模型描述订房间过程。

交互模型描述的是一组对象之间的交互过程。一般采用UML中的时序图、交互图(协作图、鲁棒图)来描述。在详细设计中,实际上是描述一个方法调用过程。

3、再针对另一个关键用例(如上图结账离开)重复1、2步骤,逐步细化明确图中的类和相应的函数。

4、最后根据性能等质量场景,参考设计模式等思想,优化设计如下。更多类关系及建模详见推荐阅读3。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕山暮雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值