软件设计及其方法
- 软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务。
- 软件设计是确定系统的物理模型
软件设计是开发阶段最重要的步骤:
①从工程管理角度分为两步:概要设计和详细设计
②从技术观点角度:软件结构设计、数据设计、接口设计、过程设计
概要设计和详细设计处于软件生命周期的第二时期(软件开发期)第4、5阶段
- 将软件按功能分解为组成模块,是概要设计的主要任务。
划分模块要本着提高独立性原则
设计又是决定软件质量好坏的关键环节
- 模块独立性的高低是设计好坏的关键
- 设计又是决定软件质量的关键环节
- 模块的独立程度可以由两个定性标准度量:内聚性和耦合性。
①耦合衡量不同模块彼此间互相依赖(连接)的紧密程度
②内聚衡量一个模块内部各个元素彼此结合的紧密程度
内聚性和耦合性互为“减函数”
好的软件设计尽量做到高内聚、低耦合
概要设计(总体设计)
基本任务:
①设计软件系统结构;
②数据结构及数据库设计;
③编写概要设计文档;(eg:概要设计说明书、数据库设计说明书、集成测试计划);
④概要设计文档评审。
结构图(SC)
概要设计中常见的软件设计工具,也称为程序结构图
它反映了整个系统的功能实现以及模块与模块的关系
软件结构图的术语及含义:
-
上级模块:控制其他模块的模块
-
从属模块:被另一个模块调用的模块
-
原子模块:树中位于叶子节点的模块
-
深度:控制的层数
-
宽度:max模块数的层的控制跨度
-
扇入:调用一个给定模块的模块个数(多指一)
-
扇出:由一个模块直接调用的其他模块的个数(一指多)
好的软件设计结构 顶层扇出多,中间扇出较少,底层扇入多。
详细设计
- 任务:为软件结构图的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节
- 常用的设计工具 : 程序流程图(PFD)、N-S图、PAD图、HIPO图、判定图、PDL
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!