前言
上篇文章介绍的是软件分析,是软件生存周期的第一个阶段,今天我要介绍的是软件生存期的第二个阶段——软件设计。软件设计的划分依据不同,分类也有所差别。从管理角度来看,软件分析可分为:概要设计和详细设计;从技术角度看,软件分析可分为:数据设计、系统结构设计和过程设计。
软件生存周期的每一个阶段都会生成相应的文档,软件分析也不例外。从管理角度来分类,概要设计阶段生成的文档包括:概要设计说明书,用户手册以及测试计划;详细设计阶段生成的文档为详细设计说明书。
软工视频中对软件设计的概况以及概要设计阶段模块独立性做了详细的介绍,让我们对软件设计的了解更加深刻。
正文
导图概要
主要内容
1.概要设计的过程
2.概要设计的方法
(1)Jackson系统开发方法(JSD)
面向数据结构的设计方法
以信息驱动,将信息转换成软件的程序结构
其逻辑结构分为3种:顺序、选择、重复
(2)Warnier方法
面向数据结构的设计方法(逻辑构造程序的方法,简称LCP)
从数据结构出发设计程序,逻辑更严格
3.模块独立性
衡量模块独立程度的2个重要指标是:内聚,耦合
(高内聚,低耦合)
(1)内聚
概念:模块内各语句部分连接的紧密程度
按优劣打分(满分10分):功能内聚:10;信息内聚;9;通信内聚:7;过程内聚:5
时间内聚:3; 逻辑内聚:1;巧合内聚:0
(2)耦合
概念:模块和模块之间连接的紧密程度
原则:尽量使用数据耦合,少用控制耦合,限制公共耦合,完全不用内容耦合
4.详细设计的任务
(1)为每个模块确定采用的算法
(2)确定每一个模块使用的数据结构
(3)确定模块接口的细节
(4)要为每一个模块设计出一组测试用例
5.详细设计的方法
(1)程序流程图
分为以下5种控制结构:
标准符号如下所示:
(2)N-S图(盒图)
5种基本控制结构由5种图形构件表示,如下图所示:
(3)PAD图(问题分析图)
(4)HIPO图
实例图如下所示:
、
小结
思维导图可以帮我们建立知识网,提高学习效率,我们应该明确其重要性,利用好这一学习工具。
总结就有收获,好好学习,天天向上!