总体设计的过程:
1、设想供选择方案
2、选取合理的方案
3、功能分解
4、设计软件结构
5、制定测试计划
6、书写文档
7、审查和复查
软件设计的概念和原理 :
1、自顶向下,逐步细化
将软件的系统结构按自顶向下方式对各个层次的过程细节和数据细节
逐层细化,直到程序设计语言的语句能够实现为止,从而最后确立整个的体系结构
2、软件结构
软件结构包括两个部分。程序模块结构和数据的结构。
软件的系统鸨,通过划分来完成。该划分过程从需求分析确立的目标系统的模型出发,对整个问题进行的分割,使期每个部分用一个或几个软件成分加以解决, 整个问题就解决了。
3、程序结构
程序结构表明了程序各个部件(模块)的组织情况, 是软件的过程表示
4、结构图
结构图反映程序中模块之间的层次调用关系和联系,它以特定的符号
表示模块、模块间的调用关系和模块间信息的传递。
5、模块化的概念
软件系统的模块化是指整个软件被划分成若干单独命名的和可编址的部分,称之为模块。之些模块可以被组装起来满足整个问题的需求。
把问题/子问题的分解与软件开发中的系统/子系统或系统/模块的对应起来
,就能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。
6、抽象
软件系统进行模块设计时, 可有不同的抽象层次。
在最高的抽象层次上,可以使用的问题所处环境的语言概括地描述问题的解法
在较低的的抽象层次上,则采用过程化的方法
过程的抽象:在软件需求分析阶段,用“问题所处环境的为大家所熟悉的术语”来描述软件的解决方法。
在从概要设计到详细设计的过程,抽象化的层次逐次降低。当产生源程序时到达最低抽象层次。
数据的抽象:
在不同层次上描述数据对象的细节,定义与该数据相关的操作。
模块:
模块又称组件,它一般具有如下三个基本属性:
1、功能:描述该模块实现什么功能
2、逻辑:描述模块内部怎么做
3、状态:该模块使用时的环境和条件
在描述一个模块时,还必须按模块的 内部特征与外部特征分别描述。
模块独立:是模块化、抽象、信息屏蔽和局部化概念的直接结果
每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单。
衡量模块独立程序的定性标准---内聚、耦合