第八章 软件设计
时间:2025-02-24
时间:2025-02-24
软件工程
将分析模型转换为设计
加 工 据 规 对 实 数 体 格 据 象 关 流 说 描 系 数据词典 图 明 述 图 数 状态转换图 控制 说明 规格
过程设计 接口设计 体系结构设计 数据设计
2011-6-19
软件工程
软件设计基础 第八章 软件设计基础软件设计是软件工程的重要阶段。 软件设计是软件工程的重要阶段。 软件设计过程是对程序结构、 软件设计过程是对程序结构 、 数据结构和过程细节 逐步求精、复审并编制文档的过程。 逐步求精、复审并编制文档的过程。 经过软件工程师们多年的努力形成了一些软件设计 技术、 技术、质量评估标准和设计表示法并用于软件工程实 践。 本章讨论与软件设计有关的主要概念, 本章讨论与软件设计有关的主要概念 , 介绍几个具 体的软件设计方法。 体的软件设计方法。
2011-6-19
软件工程
第八章 软件设计基础
8.1软件设计过程 8.1软件设计过程 软件设计过程软件开发阶段由设计、编码和测试三个基本活动组成, 软件开发阶段由设计、编码和测试三个基本活动组成, 其中“ 设计活动” 获取高质量、 低耗费、 其中 “ 设计活动 ” 是 获取高质量 、 低耗费 、 易维护 软件最重要的一个环节。 软件最重要的一个环节。 需求分析阶段获得的需求规格说明书包括对欲实现系 统的信息、功能和行为方面的描述, 统的信息 、 功能和行为方面的描述 , 这是软件设计 的基础。 的基础。对此采用任一种软件设计方法都将产生系统 的总体结构设计( design)、 的总体结构设计 ( archite ctural design)、 系统的 数 据 设 计 ( data design) 和 系 统 的 过 程 设 计 (procedural design)( 图8.1)。
2011-6-19
软件工程
8.1软件设计过程 软件设计过程
软件设计过程不同的软件设计方法会产生不同的设计形式。 不同的软件设计方法会产生不同的设计形式。 数据设计把信息描述转换为实现软件所要求的数据 结构。 结构。 总体结构设计旨在确定程序各主要部件之间的关系。 总体结构设计旨在确定程序各主要部件之间的关系 。 过程设计要完成每一部件的过程化描述。 过程设计要完成每一部件的过程化描述。 根据设计结果编制代码。 根据设计结果编制代码。 设计阶段做的决策直接影响软件质量, 设计阶段做的决策直接影响软件质量,没有良好的设 计就没有稳定的系统,也不会有易维护的软件。 计就没有稳定的系统,也不会有易维护的软件。 统计表明: 设计、 统计表明 : 设计 、 编码和测试这三个活动一般占用 整个软件开发费用(不包括维护阶段) 75%以上。 整个软件开发费用(不包括维护阶段)的75%以上。2011-6-19 4
软件工程
8.1软件设计过程 软件设计过程
图8.1
开发阶段的信息
流
2011-6-19
软件工程
8.1软件设计过程 软件设计过程
软件设计过程软件设计也可看作将需求规格说明逐步转换为软件 源代码的过程。 源代码的过程。 从工程管理的角度看, 从工程管理的角度看 , 软件设计可分为概要设计和 详细设计两大步骤。 详细设计两大步骤。 概要设计是根据需求确定软件和数据的总体框架 详细设计是将其进一步精化成软件的算法表示和数 据结构。 据结构。 概要设计和详细设计由若干活动组成, 概要设计和详细设计由若干活动组成 , 除总体结构 设计、数据结构设计和过程设计外, 设计、数据结构设计和过程设计外,许多现代应用软 还包括一个独立的界面设计活动。 件,还包括一个独立的界面设计活动。2011-6-19 6
软件工程
第八章 软件设计基础
8.2软件设计基本概念 8.2软件设计基本概念软件设计基本概念是过去三十年里陆续提出的。 软件设计基本概念是过去三十年里陆续提出的。 软件设计者根据这组概念进行设计决策, 软件设计者根据这组概念进行设计决策, 如: 划分子部件的标准; 划分子部件的标准; 从软件的概念表示中分离出功能和数据结构的细节; 从软件的概念表示中分离出功能和数据结构的细节; 以统一的标准衡量软件设计质量等等。 以统一的标准衡量软件设计质量等等。
2011-6-19
软件工程
8.2软件设计基本概念 软件设计基本概念
8.2.1抽象与逐步求精 8.2.1抽象与逐步求精抽象是管理、 抽象是管理、控制复杂性的基本策略 。 抽象”是心理学概念, “ 抽象 ” 是心理学概念 , 它要求人们将注意力集中在某一层次 上考虑问题,而忽略那些低层次的细节。 上考虑问题,而忽略那些低层次的细节。 使用抽象技术便于人们用“问题域”的概念和术语描述问题, 使用抽象技术便于人们用 “ 问题域 ” 的概念和术语描述问题 , 而无须过早地转换为那些不熟悉的结构。 而无须过早地转换为那些不熟悉的结构。 软件设计过程是,在不同抽象级别上考虑、处理问题的过程。 软件设计过程是,在不同抽象级别上考虑、处理问题的过程。 在最高抽象级别上,用面向问题域的语言叙述“问题” (1)在最高抽象级别上,用面向问题域的语言叙述“问题”, 概括“问题解”的形式。 概括“问题解”的形式。 (2)不断地具体化,不断地用面向过程的语言描述问题。 不断地具体化,不断地用面向过程的语言描述问题。 在最低的抽象级别上 …… 此处隐藏:2984字,全部文档内容请下载后查看。喜欢就下载吧 ……