软件架构设计' q& [( G! J( c/ F9 x* Z J) x- v
Software Architecture 简称 SA! J. i s! q' B. } N! Z( o
5.1.1 软件架构设计与生命周期
" N, f0 q+ v3 p% X9 Q4 Y J 1、需求分析阶段
$ R- g( O9 t: m( G0 [$ M 需求 和 SA设计 面临的是不同的对象:一个是问题空间;另一个是解空间。保持二者的可跟踪性和转换。
1 m9 v0 U, h$ V- t 2、设计阶段
& ^, ~1 s X1 q, ?8 \ 1.传统的设计概念只包括 构件,随着研究的深入,构件间的 互联机制 逐渐独立出来,成为与构件同等级别的实体,称为 连接子。& @0 [, D, L6 x a
2.体系结构描述语言(Architecture Description Language ADL)对 连接子 的重视成为区分 ADL和其他建模语言的重要特征之一。+ M! u" {% B0 n& @* g1 w" b: F
3.不同的视角 得到多个视图,组织起来以描述整体的SA模型;不同侧面的视图反映所关注的系统的特定方面,体现了关注点分离的思想。# V0 J# @# G6 H4 g0 x
3、实现阶段
% v/ O$ j3 J" p$ r; G 团队的 结构 应该和体系结构模型有一定的对应关系,提高软件开发 效率和质量。; J/ i2 k7 h) A: t% X
分析和记录 不同版本构件和连接子之间的演化。
6 s' Z1 N% i M* A! B" X 填补高层 SA模型 和 底层实现 之间的鸿沟,典型的方法如下:
& W+ Q+ ^! D8 d2 N 1.引入实现阶段的概念。/ C" t2 ?9 ]+ K6 g; E, ^( L
2.SA模型 逐步精化。. K @8 n( F/ p
3.封装底层称为较大粒度构件。4 X# z( U0 H W
4、构件组装阶段
7 \" O" Z6 g7 p8 l8 z$ ]% P 可复用构件 组装 可以在较高层次上实现系统,研究内容包括:
: r' |1 Z5 [% m8 ~ b/ r, U. Z 1.如何互联。 x) ]: G7 r2 C% Z z! Y) g% D& Z- r
2.如何检测并消除体系结构失配问题。
9 z) n1 Q8 l9 t- G- t# V 中间件跨平台交互。
$ M9 ?3 M/ g2 w0 r+ \( V/ O 产品化的中间件更好地保证最终系统的质量,中间件导向的体系结构风格。
/ S! r: U; R5 m) A1 v* [2 l 失配是指复用过程中,待复用构件对最终系统的体系结构和环境的架设(Assumption)与实际状况下不同而导致的冲突。 |