软件体系结构的设计
定义
软件体系结构的设计过程为系统建立一个基本架构
构成
识别系统的主要构件和这些构件之间的通信
经典模型(MVC)
模型 model
视图 view
控制器 controller
耦合内聚
低内聚
偶然(巧合)内聚、逻辑内聚、时间内聚
中等内聚
过程内聚、通讯内聚
高内聚
顺序内聚、功能内聚
模块内聚性越强,功能独立性越好,对于形成的模块结构有比较好的作用,要求 高内聚低耦合
改进系统结构的启发式原则
1、模块功能完善化(执行规定的功能的部分,出错处理的部分鲁棒性,如果需要返回数据给他的调用者在完成数据加工或结束时,给他的调用者返回一个状态码)
2、消除重复功能,改善软件结构(完全相似完全合并,局部相似(找出其相同部分,分离出去,重新定义成一个独立的下一层模块。还可以与它的上级模块合并)
3、模块的作用范围应该在控制范围之内
4、尽可能减少高扇出(调用其他模块的次数)结构
【扇入:调用模块次数】
5、避免或减少使用病态连接(直接病态链接,公共数据域病态链接,通信模块病态链接)
6、模块大小适中
7、消除重复功能
8、补充完善修改
9、设计功能可预测的模块
从sa到sd
输入、处理、输出
详细设计
要求
1、为每个模块确定采用的算法,选择适当的工具来表达算法的过程,写出模块的详细过程描述
2、确定每个模块使用的数据结构。
3、确定模块的接口细节,包括对系统外部的接口和用户界面、对系统内部其它模块的接口以及关于输入数据、输出数据和局部数据的全部细节。