六阶段六视图架构设计方法【草稿】
六阶段六视图架构设计方法
?
架构设计一般分为6个阶段
预架构、概念架构、细化架构、架构微调、架构重构、架构重来
前三个阶段参见温昱老师的《一线架构师实践指南》
RUP的四个阶段为先启阶段、精化阶段、构建阶段、移交阶段。
先启阶段关注系统的需求,并进行预架构设计
精化阶段进行概念架构和细化架构设计,并验证架构的稳定性,根据需要进行架构微调。
当然构建阶段也会微调系统架构
系统构建移交后,随着需求的增加,系统频繁修改,使系统越来越复杂,越来越难于修改,就需要对系统进行架构微调,甚至架构重构。
一般产品都要有技术的延续性,就需要对产品进行架构重构。架构重构要比其他阶段都难,对已有系统的重构,需要了解熟悉已有系统,还要有大量成本投入。
随着时间的推移,技术的更新,有时重构也很难解决系统问题。这时就需要有足够的魄力,干脆推到重来;这需要BOSS认可未来的应用趋势,肯投入更多的人力财力。比如Nokia的塞班,某国外知名的网管产品。
RUP叫 4+1视图
即用例视图、逻辑视图、实现视图、进程视图、部署视图
我认为应该是4+1+1视图
即 再增加一个数据视图
基于多个并发视图的使用情况来说明描述软件密集型系统架构的模型。。
不同视图从不同角度,描述系统的不同侧面,分离不同干系人的关注点。
项目产品的主要干系人一般为系统用户、设计人员、开发人员、维护人员、实施人员等;使用6视图法从不同干系人角度分析其所关注的重点问题;但每种视图也不完全为一种用户所设计,只是更重要而已。
?
1.用例视图从用户角度描述系统的边界、范围及用户要求的业务功能,关注业务场景;
2.逻辑视图从设计者角度描述系统的高层分割,描述系统的核心构件的划分、职责及关系,关注系统的构件及交互;
3.实现视图从开发者角度描述系统的程序单元及其依赖关系的静态结构及动态行为,关注开发期质量属性;
4.进程视图从维护者角度描述系统的进程、线程的并发和同步关系,关注系统运行期质量;
5.部署视图从安装实施人员角度描述系统从软件到硬件的映射,描述物理节点的分布及进程在物理节点上的分布,关注安装及部署要求;
6.数据视图从设计者角度描述系统的核心数据模型及数据分布、数据架构,关注数据及其联系的抽象。
架构设计时6视图可以并发进行,互相质疑,互相促进,最终完成系统的整体架构。
?
?
非功能需求的用例表示法