设计软件工程概要有哪些?

设计软件工程概要有哪些?

软件概要设计的基本任务在软件需求分析阶段,已经搞清楚了软件做什么的问题,并把这些需求通过规格说明书描述了出来,这也是目标系统的逻辑模型。进入了设计阶段,要把软件做什么的逻辑模型变换为怎么做的物理模型,即着手实现软件的需求,并将设计的结果反映在设计规格说明书文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计。
基本任务 1. 设计软件系统结构(简称软件结构)为了实现目标系统,最终必须设计出组成这个系统的所有程序和数据库(文件),对于程序,则首先进行结构设计,具体为:
(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。
(2)确定每个模块的功能。
(3)确定模块之间的调用关系。
(4)确定模块之间的接口,即模块之间传递的信息。
(5)评价模块结构的质量。

数据结构及数据库设计
(1)数据结构的设计在需求分析阶段,已通过数据字典对数据的组成、操作约束、数据之间的关系等方面进行了描述,确定了数据的结构特性,在概要设计阶段要加以细化,详细设计阶段则规定具体的实现细节。在概要设计阶段,宜使用抽象的数据类型。
(2)数据库的设计

数据库的设计指数据存储文件的设计,主要进行以下几方面设计:概念设计。在数据分析的基础上,采用自底向上的方法从用户角度进行视图设计,一般用ER模型来表示数据模型,这是一个概念模型。逻辑设计。ER模型或IDEFlx模型是独立于数据库管理系统(DBMS)的,要结合具体的DBMS特征来建立数据库的逻辑结构,对于关系型的DBMS来说将概念结构转换为数据模式、子模式并进行规范,要给出数据结构的定义,即定义所含的数据项、类型、长度及它们之间的层次或相互关系的表格等等。物理设计。对于不同的DBMS,物理环境不同,提供的存储结构与存取方法各不相同。物理设计就是设计数据模式的一些物理细节,如数据项存储要求、存取方式、索引的建立。
编写概要设计文档文档主要有:
(1)概要设计说明书。 (2)数据库设计说明书,主要给出所使用的DBMS简介、数据库的概念模型、逻辑设计、结果。
(3)用户手册,对需求分析阶段编写的用户手册进行补充。
(4)修订测试计划,对测试策略、方法、步骤提出明确要求。

软件设计中最重要的一个问题就是软件质量问题
衡量软件设计的标准:
模块化、抽象、信息隐蔽、模块独立性
衡量软件的独立性标准--耦合性内聚性。
耦合性

也称块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
内聚性
又称块内联系,指模块的功能强度的度量。若一个模块内各元素(语句之间、程序段之间)联系的越紧密,则它的内聚性就越高功能内聚
这是最强的内聚;指模块内所有元素共同完成一个功能,缺一不可。
耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基矗
软件结构优化准则
软件结构图 软件结构图是系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。对于一个“问题”,可用不同的软件结构来解决,不同的设计方法和不同的划分和组织,得出不同的软件结构。
结构图的主要内容是
(1)模块:模块用方框表示,并用名字标识该模块,名字应体现该模块的功能。
(2)模块的控制关系:两个模块间用单向箭头(或直线)连接表示它们的控制关系 (3)模块间的信息传递:模块间还经常用带注释的短箭头表示模块调用过程中来回传递的信息。有时箭头尾部带空心圆的表示传递的是数据,带实心圆的表示传递的是控制信息
(4)两个附加符号:表示模块有选择地调用或循环调用。
(5)结构图的形态特征
①深度:指结构图控制的层次,也是模块的层数,结构图的深度为5。
②宽度:指一层中最大的模块个数。
③扇出:指一个模块直接下属模块的个数。
④扇入:指一个模块直接上属模块的个数。
(6)画结构图应注意的事项
①同名字的模块在结构图中仅出现一次。
②调用关系只能从上到下。
③不严格表示模块的调用次序,习惯上从左到右。有时为了减少连线的交叉,适当地调整同一层模块左右位置,以保持结构图的清晰性。