第4章软件设计 软件设计概述 软件体系结构 优秀设计的概念 ●传统的结构化设计 用户界面设计 构件级设计 西安交通大学刘海岩
西安交通大学 刘海岩 1 第4章 软件设计 ⚫ 软件设计概述 ⚫ 软件体系结构 ⚫ 优秀设计的概念 ⚫ 传统的结构化设计 ⚫ 用户界面设计 ⚫ 构件级设计
4.1软件设计概述 1、软件设计中的主要活动 软件设计是将软件需求转换为软件表示的过程,是构 造和验证软件所需的三项技术活动(设计、编码、测试) 设计过程主要有以下活动 (1)数据设计:将分析时创建的信息域模型(ERD、 DD)转换成软件构件级的数据结构和应用级的数据库体系 结构 为满足当今企业对大中型规模的业务信息的需求,遍 历现存的数据库以试图抽取合适的业务级信息而产生了数 据挖掘技术。由于多个数据库结构不同、库中信息命名格 式及详细程度不同以及许多其他因素造成了数据挖掘的困 难,需建立不同于一般数据库的大的数据仓库,存放以主 要业务主题进行组织的、展示统一定义标准的并在较长时 间内保持稳定的数据 西安交通大学刘海岩
西安交通大学 刘海岩 2 4.1 软件设计概述 1、软件设计中的主要活动 软件设计是将软件需求转换为软件表示的过程,是构 造和验证软件所需的三项技术活动(设计、编码、测试) 之一。设计过程主要有以下活动: (1) 数据设计:将分析时创建的信息域模型(ERD、 DD)转换成软件构件级的数据结构和应用级的数据库体系 结构。 为满足当今企业对大中型规模的业务信息的需求,遍 历现存的数据库以试图抽取合适的业务级信息而产生了数 据挖掘技术。由于多个数据库结构不同、库中信息命名格 式及详细程度不同以及许多其他因素造成了数据挖掘的困 难,需建立不同于一般数据库的大的数据仓库,存放以主 要业务主题进行组织的、展示统一定义标准的并在较长时 间内保持稳定的数据
(2)体系结构设计:定义软件系统的整体组织结构, 有时称为软件系统设计。指系统中有哪些主要结构性元 素,以什么样的模式连接,互相之间如何交互以及它们 的接口。设计体系结构的作用: 便于理解和沟通 便于组织开发 便于扩展 便于重用 (3)接口设计:描述软件内部、软件与协作系统之 间以及软件与人之间如何通信。一个接口意味着信息流 (如数据、事件)和特定的行为类型。 (4)构件级设计:对体系结构中的结构性元素进行 过程性描述(包括算法)并设计构件的接口 西安交通大学刘海岩
西安交通大学 刘海岩 3 (2)体系结构设计:定义软件系统的整体组织结构, 有时称为软件系统设计。指系统中有哪些主要结构性元 素,以什么样的模式连接,互相之间如何交互以及它们 的接口。设计体系结构的作用: • 便于理解和沟通 • 便于组织开发 • 便于扩展 • 便于重用 (3)接口设计:描述软件内部、软件与协作系统之 间以及软件与人之间如何通信。一个接口意味着信息流 (如数据、事件)和特定的行为类型。 (4)构件级设计:对体系结构中的结构性元素进行 过程性描述(包括算法)并设计构件的接口
2、软件设计文档 设计阶段的一个重要产品就是描述所构建的系统的文档。 主要内容 前言:系统目标;主要需求 数据设计 用一系列图形和符 体系结构设计 号描述系统、界面 接口设计(人机交互、外部接口)和构件的结构,包 每个模块(或构件)的过程性设计括各级抽象。 集成测试策略 设计约束 需求交叉引用表 参考文献 附录 文档中还可以包含描述系统如何运行的操作手册,以及出错 后系统的重新配置或特定的安全措施。 西安交通大学刘海岩
西安交通大学 刘海岩 4 2、软件设计文档 设计阶段的一个重要产品就是描述所构建的系统的文档。 主要内容: • 前言:系统目标;主要需求 • 数据设计 用一系列图形和符 • 体系结构设计 号描述系统、界面 • 接口设计(人机交互、外部接口) 和构件的结构,包 • 每个模块(或构件)的过程性设计 括各级抽象。 • 集成测试策略 • 设计约束 • 需求交叉引用表 • 参考文献 • 附录 文档中还可以包含描述系统如何运行的操作手册,以及出错 后系统的重新配置或特定的安全措施
4.2软件体系结构 1、什么是软件体系结构 随着软件系统越来越大、越来越复杂,软件设计的核 已经转移到新的计算模式,非传统的“程序=算法十数 据结构”,新的模式就是系统总体结的设计和规范。 软件体系结构( Architecture)为软件系统提供了一个结 构、行为和属性的高级抽象。由构成系统的元素(构件) 的描述、这些元素的相互作用、指导元素集成的模式以及 模式的约束组成。 软件体系结构不仅指出了系统的组织结构和拓扑结构 并显示了系统需求和构成系统元素之间的对应关系,提供 了一些设计决策的基本原理 西安交通大学刘海岩
西安交通大学 刘海岩 5 4.2 软件体系结构 1、什么是软件体系结构 随着软件系统越来越大、越来越复杂,软件设计的核 心已经转移到新的计算模式,非传统的“程序=算法+数 据结构”,新的模式就是系统总体结的设计和规范。 软件体系结构(Architecture)为软件系统提供了一个结 构、行为和属性的高级抽象。由构成系统的元素(构件) 的描述、这些元素的相互作用、指导元素集成的模式以及 模式的约束组成。 软件体系结构不仅指出了系统的组织结构和拓扑结构, 并显示了系统需求和构成系统元素之间的对应关系,提供 了一些设计决策的基本原理