软件设计概述--结构化设计、McCabe

324 阅读1分钟

一、软件设计

  • 从工程管理的角度,将软件设计分为:

    • 概要设计阶段
    • 详细设计阶段
  • 从技术的角度,将软件设计分为:

    • 体系结构设计
    • 数据设计
    • 接口设计
    • 过程设计
  • 一般通过功能划分过程来完成软件结构设计。功能划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使其每一部分用一个或几个软件模块加以解决,整个问题就解决了

二、模块的分类

1.传入模块
  • 从下属模块取数据,进行某些处理,再将其传送给上级模块
2.传出模块
  • 从上级模块取得数据,进行某些处理,传送给下属模块
3.变换模块:
  • 从上级模块取来数据,进行特定处理后,送回原上级模块
4.协调模块
  • 对其下属模块进行控制和管理的模块

三、McCabe复杂性度量

  • McCabe方法是一种软件质量度量方法,它是基于对程序拓扑结构复杂度的分析

  • 两种方法计算复杂度:

    • 流图G的圈复杂度V(G),为V(G)=E-N+2,E是流图中边的的数量,N是流图中结点的数量
    • 流图中区域的数量等于圈复杂性
  • 将程序流程图简化成控制流图时,应注意:

    • 在选择或多分支结构中,分支的汇聚处应有一个汇聚结点
    • 对区域计数时,图形外的区域也应记为一个区域