1. 视图类型及风格(p195)
存在三种类型的视图:
1) 块视图类:在这种视图中,元素是实现的单元,称为模块。模块反映了一种基于代码的考虑问题的方法。这里,模块之间的关系包括is a,is part of 和depends on。
2) 构件和连接件视图(或称为c&c视类):元素是构件,是计算的主要单元,而连接件是构件之间的通信手段。在c&c视类中表现的主要是构件和连接件之间的链接关系。
3) 分配视图类:分配视图类表示软件元素和一个或多个软件被制造,或者表示被运行的外部环境之间的关系。
2. 视图含义,功能,侧重点
一个视图是一组系统元素及它们相互关系的表示。
3. 的研究原因SA
软件体系结构的重要性(p12)
1) 在风险承担和早期设计中的作用
1. 对风险承担者交流起作用SA
一个应用软件系统,特别是一个大规模的软件系统会牵涉到众多的风险承担者:客户――一般是软件系统的投资者;系统构架师(Architect)――为软件系统作为总体架构的设计者;程序员――具体的编程者;测试人员――测试系统的功能和性能是否达到设计目标、这些不同的风险承担着从方方面面分别关注应用系统体系结构的不同特征;客户关心的是目前设计的总体框架能否在预算不超支的情况下,按期完成人物;用户关系应用系统是否可用,是否可靠;项目经理关注架构师提出的体系结构是否规范、可控并使团队中的各个小组独立、协调地实现目标。因此,软件体系结构便称为各风险承担者表述自己地需求,协商寻找一个合理开发方案地研究对象,是风险承担者进行交流的手段。无论是风险承担的任何一方意见表述不充分,都会给系统开发成败造成直接而严重的影响。
2. 是早期设计决策的产品SA
软件体系结构体现了对系统做出的最早的设计决策。这些早期决策的正确性最难保证,而且这些决策也最难改变,它们的影响也最为深远。
3. 对应用系统的影响SA
软件体系结构制约着应用系统的质量属性,所以它对整个软件的声明周期影响最深远。软件体系结构直接影响着系统设计、开发、维护、升级、演化等种种后续活动。因为,“在大型软件系统中,质量属性更多的是有系统结构和功能划分来实现的,而不再仅仅依靠所选用的算法或数据结构。”
2) 在软件开发各阶段中的作用
1. 项目规划阶段
在初步确定项目整体框架之前,首先要考察该软件系统运行的环境,比如是否在广域网条件下运行?有没有现成可用的构件或工具?原先有无可集成到新系统中的遗产软件系统?
2. 需求分析阶段
。。。
3. 项目设计阶段
。。。
4. 项目实施阶段
。。。
5. 测试与系统评估阶段
。。。
6. 维护与升级阶段
。。。
3) 是系统分析和设计的高层复用
软件体系结构在需求和代码之间起了一种桥梁的作用;这个桥梁为系统提供了一种抽象的描述(或者说是模型),体系结构揭示了某些性质,同时隐藏了另外一种性质。它对软件开发起到的作用有:
1. 易理解
2. 复用
3. 构造
4. 演化
5. 分析
6. 管理
7. 交流
4. 战术的方法
5. 常见的建模方法
6. 各种风格及特点
7. 什么是软件架构,商业周期的重点
8. 质量属性,风险承担者,评估过程的概念