4软件设计工程 软件工程原理 41软件设计的概述 、软件设计的概念 软件设计是一个把教件需求转化 为软件表示的过程,也就是把它加 工为在程序细节上非常接近于源程 序的软件表示(描述)。 软件设计就是运用一些基本的设 计概念和各种有效的方法和技术 把软件需求分析转化为软件表示, 使系统能在机器上实现
软 4 软件设计工程 件 工 程 原 理 4.1 软件设计的概述 一、软件设计的概念 软件设计是一个把软件需求转化 为软件表示的过程,也就是把它加 工为在程序细节上非常接近于源程 序的软件表示(描述)。 软件设计就是运用一些基本的设 计概念和各种有效的方法和技术, 把软件需求分析转化为软件表示, 使系统能在机器上实现
软 传统软件设计:系统的总体设计 件 和过程设计。系统设计的主要任务 是确定软件的体系结构(如系统分 解、模块的划分、模块之间的关系 工等);过程设计主要任务是确定每 个功能模块算法和数据结构以及 接口等。 程原理 二、软件设计原则 1、基本的设计目标 (1)功胎和性能要会; (2)具有良好的可读性和可理解性
软 件 工 程 原 理 传统软件设计:系统的总体设计 和过程设计。系统设计的主要任务 是确定软件的体系结构(如系统分 解、模块的划分、模块之间的关系 等);过程设计主要任务是确定每 一个功能模块算法和数据结构以及 接口等。 二、软件设计原则 1、基本的设计目标 (1)功能和性能要全; (2)具有良好的可读性和可理解性
软 以便于代码的生成,以及软件测试 件 和维护。 (3)设计应完整包括数据、体系 结构、功能、行为、接口等的设计 工2、良好的设计技术指标(P64) 3、设计原则 程 (1)设计过程不应该受到“隧道视 野”的限制。 原 (2)设计应该可以跟踪到分析模型 (3)设计不应该每次从头做起。 (4)软件设计的结构应该尽量模拟 理
软 件 工 程 原 理 以便于代码的生成,以及软件测试 和维护。 (3)设计应完整,包括数据、体系 结构、功能、行为、接口等的设计。 2、良好的设计技术指标(P64) 3、设计原则 (1)设计过程不应该受到“隧道视 野”的限制。 (2)设计应该可以跟踪到分析模型。 (3)设计不应该每次从头做起。 (4)软件设计的结构应该尽量模拟
问题域结构。 软件工程原理 (5)设计应该具有一致性和集成 性。 (6)设计应该适应变更。 (7)设计应该具有容错和异常处 理的能力 (8)设计不是编码。 (9)在创建设计时就应该能够评 估系统的质量 (10)应该评审设计以减少概念 性的错误
软 件 工 程 原 理 问题域结构。 (5)设计应该具有一致性和集成 性。 (6)设计应该适应变更。 (7)设计应该具有容错和异常处 理的能力。 (8)设计不是编码。 (9)在创建设计时就应该能够评 估系统的质量。 (10)应该评审设计以减少概念 性的错误
软件 软件设计原理 1、模块化 模块分解的5条标准:模块可分解 性、模块可组装性、模块可理解性、 工模块连续性、模块保护性 总成本 程原理 软件开发工作量 最小成本区 接口成本 模块成本 模块数
软 件 工 程 原 理 三、软件设计原理 1、模块化 模块分解的5条标准:模块可分解 性、模块可组装性、模块可理解性、 模块连续性、模块保护性。 总成本 接口成本 模块成本 模块数 软 件 开 发 工 作 量 最小成本区
软 2、分解与抽象 件 分解是控制软件复杂性的基本手 段。抽象是人类认识复杂问题的思 维工具之一。 工3、逐步求精 4、信息隐藏( nformation Hiding)A 程 模块要具有独立性、功能要单 与其他模块的数据共享降到最低限 原度。这样,可使模块重用性好,易 于测试、组装和维护等。 理
软 件 工 程 原 理 2、分解与抽象 分解是控制软件复杂性的基本手 段。抽象是人类认识复杂问题的思 维工具之一。 3、逐步求精 4、信息隐藏(Information Hiding) 模块要具有独立性、功能要单一, 与其他模块的数据共享降到最低限 度。这样,可使模块重用性好,易 于测试、组装和维护等
四、软件设计过程和模型 软件工程原理 软件设计的任务: 软件需求规格说明一>软件设计文档 需求规格说明包括信息描述、功 能描述、行为描述、其他需求等 作为设计的输入。设计的输出结果 是数据设计、体系结构设计、接口 设计等
软 件 工 程 原 理 四、软件设计过程和模型 软件设计的任务: 软件需求规格说明->软件设计文档 需求规格说明包括信息描述、功 能描述、行为描述、其他需求等, 作为设计的输入。设计的输出结果 是数据设计、体系结构设计、接口 设计等
软件 数据设计 信息描述「体系结构设计 工功能描述设诗 接口设偏码快块/构件 行为描述过程设计 其他需求 程原理 软件设计过程
软 件 工 程 原 理 设计 编码 信息描述 功能描述 行为描述 其他需求 过程设计 体系结构设计 接口设计 数据设计 模块/构件 软件设计过程
软件 软件设计既是过程又是建立模型。 设计模型如下图所示 工 接口设计过程设计 需求分 析模型 体系结构设诅隞据设讦 程原理 设计模型
软 件 工 程 原 理 设计模型 需求分 析模型 接口设计 过程设计 体系结构设计 数据设计 软件设计既是过程又是建立模型。 设计模型如下图所示:
软件 42软件体系结构 软件体系结构概念 软件体系结构指软件的整体结构和 这种结构提供系统在概念上的整体性 工的方式 体系结构设计是要建造一个基于计 算机系统所需要的数据和程序构件的 程原理 结构,而重点关注的是软件构件结构 构件的性质以及它们的交互。 体系结构设计过程:系统结构化 控制建模、模块分解
软 件 工 程 原 理 4.2 软件体系结构 一、软件体系结构概念 软件体系结构指软件的整体结构和 这种结构提供系统在概念上的整体性 的方式。 体系结构设计是要建造一个基于计 算机系统所需要的数据和程序构件的 结构,而重点关注的是软件构件结构、 构件的性质以及它们的交互。 体系结构设计过程:系统结构化、 控制建模、模块分解