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