软件工程|知识复习(四)软件设计

软件设计

一、任务

(1)系统概要设计的任务是将分析模型映射为具体的软件体系结构

(2)软件设计的任务
把需求阶段所产生的软件需求说明转换为用适当手段表示的软件设计文档。“做什么”——>“怎么做”

二、两个阶段

(1)概要设计:确定软件的结构,即软件组成,以及各组成成分(子系统或模块)之间的相互转换
(2)详细设计:确定模块内部算法和数据结构,产生描述各模块程序的详细设计文档

三、模块 模块化

(1)模块:是数据说明,可执行语句等程序对象的集合。例:过程,函数,子程序,宏等。
(2)模块化:是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,可以完成指定的功能,满足问题的要求。

四、信息隐蔽 模块独立性

信息隐蔽:指每个模块的实现细节对于其他模块来说是隐蔽的,即模块中所包含的信息(数据与过程)。应不允许其他不需要这些信息的模块使用(即隐蔽起来)。只有为了完成软件的总体功能而必须在模块间交换的信息。才允许在模块间进行传递。

目的:是软件的修改或错误局限在一个或几个模块内部,不会涉及软件其他部分。

五、耦合

(1)度量模块独立性的准则:内聚、耦合。
内聚:是模块功能强度(即一个模块内部各个元素彼此结合的紧密程度)的度量。模块内部各元素之间联系越紧密,内聚性越强。

耦合:是模块之间相对独立性(即互相连接的紧密程度)的度量。模块间连接越紧密,联系越多,耦合性越强。

(2)模块的独立性越高,其块内联系越紧密(内聚性强),块间联系越弱(耦合性越弱)

六、概要设计

1、制定规范:软件开发组在设计时应共同遵守的标准。

  1. 规定设计文档的编制标准(文档体系、用纸、样式、记述详细程序、图形画法等)。
  2. 规定编码的信息形式(代码体系),与硬件、操作系统的接口规约,命名规则等。

2、软件结构的总体设计:决定软件的总体结构。

  1. 采用某种设计方法,将一个复杂的系统按功能划分成模块的层次结构。
  2. 确定每一个模块的功能,建立与已确定的软件需求的对应关系。
  3. 确定模块间的调用关系。
  4. 确定模块间的接口,即模块间传递的信息,设计接口的信息结构。
  5. 评估模块划分的质量及导出模块结构的规则。

3、数据结构的设计:决定文件系统的结构或数据库的模式,子模式以及数据完整性,安全性设计。

  1. 确定输入、输出文件的详细的数据结构。
  2. 模式设计:确定物理数据库结构。
  3. 子模式设计:确定用户使用的数据视图。
  4. 数据的完整性,安全性设计。
  5. 数据优化:改进模式与子模式,以优化数据的存取。

4、编写文档:《概要设计说明书》

  1. 引言:编写目的,背景,参数资料等。
  2. 系统概述:目标,运行环境,需求概述。
  3. 结构设计:
    软件的总体结构
    模块的外部设计:(包括关于各模块功能,性能及接口的简要描述)
  4. 数据结构设计:文件系统结构,数据库模式,子模式,完整性,安全性,访问方法,存储要求等。
  5. 初步测试计划:对测试的策略,方法和步骤提出要求。

5、技术审查和管理复审。

你可能感兴趣的:(软件工程)