软件工程导论——总体设计阅读体会:
总体设计的基本目的就是回答“概括地说,系统应该如何实现”这个问题。这个阶段的工作将划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等。任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
总体设计的两个主要阶段:
系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构
典型的总体设计过程包括:
1、设想供选择的方案
2、选取合理的方案
3、推荐最佳方案
4、功能分解
5、设计软件结构
6、设计数据库
7、制定测试计划
8、书写文档
(1)系统说明
(2)用户手册
(3)测试计划
(4)详细的实现计划
(5)数据库设计结果
9、审查和复查
模块化:模块化就是把程序划分成独立命名且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
模块化作用:
- 可以使软件结构清晰,不仅容易设计也容易阅读和理解
- 是软件容易测试和调试,因而有助于提高软件的可靠性
- 能够提高软件的可修改性
- 有助于软件开发工程的组织管理
数据耦合是低耦合,最高程度的耦合是内容耦合
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。
启发式规则:
- 改进软件结构提高模块独立性
- 模块规模应该适中
- 深度、宽度、扇出和扇入都应适当
- 模块的作用域应当在控制域之内
- 力争降低模块接口的复杂程度
- 设计单入口单出口的模块
- 模块功能应该可以预测
面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。
在软件工程的需求分析阶段,信息流是一个关键考虑,通常用数据流图描绘信息在系统中加工和流动的情况。面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成软件结构。因为任何软件系统都可以用数据流图表示,所饮面
向数据流的设计方法理论上可以设计任何软件的结构。通常所说的结构化设计方向,也就是基于数据流的设计方法。
问:为什么模块的独立性很重要/p>
答:1、有效的模块化(即具有独立的模块)的软件比较容易开发出来
- 独立的模块比较容易测试和维护
问:怎样区分模块间耦合程度的强弱/p>
答:如果两个模块中的每一个都能独立地工作而不需要另一个模块的存在,那么它们彼
此完全独立,这意味着 模块间无任何连接,耦合程度最低。但是,在一个软件系统中不可
能所有模块之间都没有任何连接。
如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合
怀为数据耦合。如果传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出
现),则这种耦合成为控制耦合。
问:总体设计的任务:
1、划分出组成系统的物理元素:程序、文件、数据
库、人工过程、文档等。
2、设计软件的结构,即确定系统中每个程序是由哪
个模块组成,模块间的关系如何。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!