第八章 软件设计

时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……

第八章 软件设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219