一、软件设计
-
从工程管理的角度,将软件设计分为:
- 概要设计阶段
- 详细设计阶段
-
从技术的角度,将软件设计分为:
- 体系结构设计
- 数据设计
- 接口设计
- 过程设计
-
一般通过功能划分过程来完成软件结构设计。功能划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使其每一部分用一个或几个软件模块加以解决,整个问题就解决了
二、模块的分类
1.传入模块
- 从下属模块取数据,进行某些处理,再将其传送给上级模块
2.传出模块
- 从上级模块取得数据,进行某些处理,传送给下属模块
3.变换模块:
- 从上级模块取来数据,进行特定处理后,送回原上级模块
4.协调模块
- 对其下属模块进行控制和管理的模块
三、McCabe复杂性度量
-
McCabe方法是一种软件质量度量方法,它是基于对程序拓扑结构复杂度的分析
-
两种方法计算复杂度:
- 流图G的圈复杂度V(G),为V(G)=E-N+2,E是流图中边的的数量,N是流图中结点的数量
- 流图中区域的数量等于圈复杂性
-
将程序流程图简化成控制流图时,应注意:
- 在选择或多分支结构中,分支的汇聚处应有一个汇聚结点
- 对区域计数时,图形外的区域也应记为一个区域