软件设计
一、任务
(1)系统概要设计的任务是将分析模型映射为具体的软件体系结构
(2)软件设计的任务
把需求阶段所产生的软件需求说明转换为用适当手段表示的软件设计文档。“做什么”——>“怎么做”
二、两个阶段
(1)概要设计:确定软件的结构,即软件组成,以及各组成成分(子系统或模块)之间的相互转换
(2)详细设计:确定模块内部算法和数据结构,产生描述各模块程序的详细设计文档
三、模块 模块化
(1)模块:是数据说明,可执行语句等程序对象的集合。例:过程,函数,子程序,宏等。
(2)模块化:是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,可以完成指定的功能,满足问题的要求。
四、信息隐蔽 模块独立性
信息隐蔽:指每个模块的实现细节对于其他模块来说是隐蔽的,即模块中所包含的信息(数据与过程)。应不允许其他不需要这些信息的模块使用(即隐蔽起来)。只有为了完成软件的总体功能而必须在模块间交换的信息。才允许在模块间进行传递。
目的:是软件的修改或错误局限在一个或几个模块内部,不会涉及软件其他部分。
五、耦合
(1)度量模块独立性的准则:内聚、耦合。
内聚:是模块功能强度(即一个模块内部各个元素彼此结