●●●●● 第八章系统设计 ●●●● ●●● ●●● 一、系统设计概述 、面向对象设让 三、结构化设计
第八章 系统设计 一、系统设计概述 三、结构化设计 二、面向对象设计
系统设计概述 ●●●●● ●●●● ●●● 、应用体系结构设计 软件体系结构设计 ●●● (1)系统设计的内容 信息系统体系结构设计 总体设计 网络设计 系统设计 控制设计 输入/输出设计 详细设计 人机界面设计 数据设计 程序设计
一、系统设计概述 (1)系统设计的内容 系统设计 详细设计 总体设计 软件体系结构设计 信息系统体系结构设计 网络设计 程序设计 数据设计 人机界面设计 输入/输出设计 控制设计 1、应用体系结构设计
●●●●● 系统设计的参与者、主要活动及其支持技术 ●●●● ●●● 关注者 关注数据关注处理关注接口关注通信系统开发°° 系统 拥有 商务知识商务功能商务地点通信环境 系统 者 分析 阶段 系系统 统用户 数据需求处理要求接口要求通信要求 活动 分 析系统 员设计 数据库范式应用范式接口说明网络体系 与说明书 系统 者 设计 系统 实施)数据库程序应用程序接口程序网络程序 活动 者 信息技术与体系结构 销售与 数据库处理技术接口技术通信技术 组织中运行 咨询商 与管理的支持
系统设计的参与者、主要活动及其支持技术 系统 拥有 者 系统 用户 系统 设计 者 系统 实施 者 关注数据 关注处理 关注接口 关注通信 系统开发 商务知识 数据需求 数据库范式 数据库程序 系 统 分 析 员 关注者 系统 设计 阶段 的 活动 信息技术与体系结构 数据库 处理技术 接口技术 通信技术 系统 分析 阶段 的 活动 商务功能 商务地点 通信环境 处理要求 接口要求 通信要求 应用范式 与说明书 接口说明 网络体系 应用程序 接口程序 网络程序 销售与 咨询商 组织中运行 与管理的支持
(2)系统设计的方法论 ●●●●● ●●●● ●●● 「结构化设计 ●●● 面向过程,将大程序分解成模块。 模块结果具有高内聚性,松耦合性 2原型法 通过构造原型,并不断迭代和修改原型,使其接近实际需求的过程。 3]联合应用开发 强调系统分析人员与系统拥有者、用户、设计者、建设者间联合开 发的设计技术。 4面向对象设计 分析与设计并不截然分开。在一组模型(类图、交互图、动态图)驱 动下,开发原型逐步深化、细化的过程
(2)系统设计的方法论 [1] 结构化设计 通过构造原型,并不断迭代和修改原型,使其接近实际需求的过程。 [2] 原型法 ➢面向过程,将大程序分解成模块。 ➢模块结果具有高内聚性,松耦合性 [3] 联合应用开发 强调系统分析人员与系统拥有者、用户、设计者、建设者间联合开 发的设计技术。 [4] 面向对象设计 分析与设计并不截然分开。在一组模型(类图、交互图、动态图)驱 动下,开发原型逐步深化、细化的过程
●●●●● (3)从系统分析到系统设计 ●●●● ●●● ●●● 两种不同的转换观点 第二种观点 分析 设计 第一种观点 问题域或|实现域 系统责任 分析 (做什么) 设计 (如何做)
(3)从系统分析到系统设计 两种不同的转换观点 分析 问题域或 系统责任 设计 实现域 分析 (做什么) 设计 (如何做) 第二种观点 第 一 种 观 点
●●●●● ●●●● ●●● 第一种观点映射的观点 ●●● 系统分析强调的是系统的功能是什么,系统设计强 调的是如何实现这些功能,分析与设计之间是一种 映射关系。典型代表—结构化方法。 数据流程图 映射 结构图
第一种观点:映射的观点 系统分析强调的是系统的功能是什么,系统设计强 调的是如何实现这些功能,分析与设计之间是一种 映射关系。典型代表——结构化方法。 数据流程图 映射 结构图
●●●●● ●●●● ●●● 第二种观点:增量的观点 ●●● 系统分析与设计仅仅是在工作空间上有所不同。分析 阶段是在问题域空间上描述系统,系统设计阶段是在 系统分析的基础上,扩大为实现空间。分析与设计之 间是一种增量的关系。典型代表:面向对象方法。 系统设计:实现域 系统分析: 问题域
第二种观点:增量的观点 系统分析与设计仅仅是在工作空间上有所不同。分析 阶段是在问题域空间上描述系统,系统设计阶段是在 系统分析的基础上,扩大为实现空间。分析与设计之 间是一种增量的关系。典型代表:面向对象方法。 系统分析: 问题域 系统设计:实现域
2、软件体系结构 ●●●●● ●●●● ●●● ●●● (1)软件体系结构的发展 ◆早期:软件设计的重点是数据结构和算法。 ◆传统软件工程:即结构化方法。自顶向下,逐步求 精。由语句组成模块,模块的聚集和嵌套形成层层调 用的体系结构 ◆现代软件工程:即面向对象软件工程。研究:构件 如何构造?体系结构如何搭建?不同应用领域需要何 种构件?等
2、软件体系结构 (1)软件体系结构的发展 ◆早期:软件设计的重点是数据结构和算法。 ◆传统软件工程:即结构化方法。自顶向下,逐步求 精。由语句组成模块,模块的聚集和嵌套形成层层调 用的体系结构。 ◆现代软件工程:即面向对象软件工程。研究:构件 如何构造?体系结构如何搭建?不同应用领域需要何 种构件?等
(2)软件体系结构的类型 ●●●●● ●●●● ●●● 软件体系结构描述了系统中的所有计算构件,构 ●●● 件之间的交互、连接件,以及如何将构件和连接件结 合在一起的约束。 软件体系结构设计的目标是:提高系统的开放性、集 成性及效率。 ◆开放性:包括数据的开放性、功能的开放性和系统 的可扩充性。 ◆集成性:指通过一致的信息描述手段和处理机制, 将各功能子系统统一到同一个集成环境。 ◆效率:包括运行效率和系统开发效率 三者相辅相成,其中开放性是集成和效率的基础
(2)软件体系结构的类型 软件体系结构描述了系统中的所有计算构件,构 件之间的交互、连接件,以及如何将构件和连接件结 合在一起的约束。 软件体系结构设计的目标是:提高系统的开放性、集 成性及效率。 ◆开放性:包括数据的开放性、功能的开放性和系统 的可扩充性。 ◆集成性:指通过一致的信息描述手段和处理机制, 将各功能子系统统一到同一个集成环境。 ◆效率:包括运行效率和系统开发效率 三者相辅相成,其中开放性是集成和效率的基础
●●●●● A、以数据为中心的系统模型 ●●●● ●●● ●●● 应用程序1 系统内核 用户界面 数据库 应用程序2 应用程序3 ◆特点:数据库在系统核心层次共享,各功能部件采用统 的数据描述,子系统独立开发,子系统间有统一的数据 交换接口。 ◆评价:可扩充性好,但整体结构松散,只能数据复用, 不能功能复用。只具有数据开放,不具有功能开放
A、以数据为中心的系统模型 数据库 应用程序1 应用程序3 应用程序2 系统内核 用户界面 ◆特点:数据库在系统核心层次共享,各功能部件采用统 一的数据描述,子系统独立开发,子系统间有统一的数据 交换接口。 ◆评价:可扩充性好,但整体结构松散,只能数据复用, 不能功能复用。只具有数据开放,不具有功能开放