第八章 系统设计
一、系统设计概述
三、结构化设计
二、面向对象设计
一、系统设计概述
( 1)系统设计的内容
系统设计
详细设计
总体设计
软件体系结构设计
信息系统体系结构设计
网络设计
程序设计
数据设计
人机界面设计
输入 /输出设计
控制设计
1、应用体系结构设计
系统设计的参与者、主要活动及其支持技术
系统
拥有

系统
用户
系统
设计

系统
实施

关注数据 关注处理 关注接口 关注通信 系统开发
商务知识
数据需求
数据库范式
数据库程序





关注者
系统
设计
阶段

活动
信息技术与体系结构
数据库 处理技术 接口技术 通信技术
系统
分析
阶段

活动
商务功能 商务地点 通信环境
处理要求 接口要求 通信要求
应用范式
与说明书 接口说明 网络体系
应用程序 接口程序 网络程序
销售与
咨询商
组织中运行
与管理的支持
( 2)系统设计的方法论
[1] 结构化设计
通过构造原型,并不断迭代和修改原型,使其接近实际需求的过程。
[2] 原型法
?面向过程,将大程序分解成模块。
?模块结果具有高内聚性,松耦合性
[3] 联合应用开发
强调系统分析人员与系统拥有者、用户、设计者、建设者间联合开
发的设计技术。
[4] 面向对象设计
分析与设计并不截然分开。在一组模型(类图、交互图、动态图)驱
动下,开发原型逐步深化、细化的过程。
( 3)从系统分析到系统设计
两种不同的转换观点
分析
问题域或
系统责任
设计
实现域
分析
(做什么 )
设计
(如何做 )
第二种观点





第一种观点,映射的观点
系统分析强调的是系统的功能是什么,系统设计强
调的是如何实现这些功能,分析与设计之间是一种
映射关系。典型代表 ——结构化方法。
数据流程图 结构图 映射
第二种观点,增量的观点
系统分析与设计仅仅是在工作空间上有所不同。分析
阶段是在问题域空间上描述系统,系统设计阶段是在
系统分析的基础上,扩大为实现空间。分析与设计之
间是一种增量的关系。典型代表:面向对象方法。
系统分析,
问题域
系统设计:实现域
2、软件体系结构
( 1)软件体系结构的发展
?早期:软件设计的重点是数据结构和算法。
?传统软件工程:即结构化方法。自顶向下,逐步求
精。由语句组成模块,模块的聚集和嵌套形成层层调
用的体系结构。
?现代软件工程:即面向对象软件工程。研究:构件
如何构造?体系结构如何搭建?不同应用领域需要何
种构件?等。
( 2)软件体系结构的类型
软件体系结构描述了系统中的所有计算构件,构
件之间的交互、连接件,以及如何将构件和连接件结
合在一起的约束。
软件体系结构设计的目标是:提高系统的开放性、集
成性及效率。
?开放性:包括数据的开放性、功能的开放性和系统
的可扩充性。
?集成性:指通过一致的信息描述手段和处理机制,
将各功能子系统统一到同一个集成环境。
?效率:包括运行效率和系统开发效率
三者相辅相成,其中开放性是集成和效率的基础。
A、以数据为中心的系统模型
数据库
应用程序 1
应用程序 3 应用程序 2
系统内核 用户界面
?特点:数据库在系统核心层次共享,各功能部件采用统
一的数据描述,子系统独立开发,子系统间有统一的数据
交换接口。
?评价:可扩充性好,但整体结构松散,只能数据复用,
不能功能复用。只具有数据开放,不具有功能开放。
B、以执行为中心的系统模型
应用程序 1
应用程序 3 应用程序 2
系统内核 用户界面
执行
中心
数据库
?特点:不同的应用系统通过统一的执行中心实现数据和
用户界面的共享和一致。
?评价:解决了代码冗余和界面风格不统一的问题。但执
行中心设计复杂,实现困难易成瓶颈。该模型具有数据开
放性、功能开放性,扩充性较好。
C、面向对象的系统模型
系统内核
应用对象 2
应用对象 1 用户界面
?结构,系统内核封装为所有应用程序共享的数据及操作。用户
界面封装了用户界面数据及操作,应用对象封装了应用数据及操
作。
?特点,该模型无中心,各对象实体具有平等地位。数据和功能
的封装降低了由于数据和功能集中管理带来的通信开销和复杂性
?评价,开放性和效率均高于前两者。
D、基于总线的系统模型
应用程序 1 应用程序 3 应用程序 2
系统内核 用户界面 数据库
总线
?模型 C的问题:每个对象实体要维护一个所有对象实体功能服
务信息库;对象的接口没有一致的标准。
?该结构中,高效的总线是关键,组件之间以一个公共的接口互
相连接,组件即插即用。
?在分布式环境下,组件通过代理( agent)间接连在总线上。
3、信息系统体系结构设计
信息系统体系结构是指计算机信息系统各个组成部分
之间的相互关系,它是硬件、软件、算法和语言的综合
性概念,即指软件、硬件功能分配以及界面的确定。
信息系统体系结构的类型,
?集中式
?客户机 /服务器
?浏览器 /服务器
( 1)客户机 /服务器体系结构
客户机 /服务器结构是指某项任务在两台或多台机器之
间分配,其中,客户机提供用户接口和运行前端处理的应
用程序;服务器提供可供客户机使用的各种资源。
客户机 1 客户机 n 客户机 2
连接软件 连接软件 连接软件
连接软件
数据库服务器
共享数据库
网络
三大组成部分,
?服务器平台
?客户机
?连接支持
客户机的任务,
?管理用户界面
?接受用户的数据和处理请求
?处理应用程序
?产生对数据的请求
?向数据库服务器发请求
?接受服务器返回的结果
?以用户需要的格式输出结果
服务器的任务,
?接受客户机发出的请求
?处理对数据库的请求
?将处理结果传给发出请求的客户机
?进行数据完整性检查
?维护数据字典、索引和其他附加数据。
?处理数据恢复
?查询 /更新的优化处理。
( 2)客户机和服务器的组件
应用程序 数据库 API 网络 /通信软件
?连接到 DBMS
?执行 SQL语句
?处理结果
?中断与 DBMS的连接
?打开与 DBMS的
连接
?写 /读数据协议
?关闭与 DBMS的
连接
?将数据协议编码
或解码为消息
?提供发送 /接收消
息的逻辑通道
网络接口 调度程序 SQL解释 /优化器
?处理连接请求
?译码 /编码数据协议
?读 /写数据协议
?排列新的请求
?时间分片当前
请求
?验证 SQL语法有效
?验证用户权限
?生成存取计划
执行模块
?执行存取计划
?实现缓存 /磁盘
管理
客户机组件
服务器组件
( 3)客户机 /服务器体系结构的特点
① 提供数据和服务的无缝集成。
② 为联机事务处理( OLTP)提供高性能。
③ 开放的系统结构(支持 ANSI/ISO SQL和 ODBC)
④ 提高应用程序的开发效率(前端开发工具:
PowerBuilder,VB等。
( 4)三层客户机 /服务器结构,B/S结构
客户端 客户端
WEB
服务器
后台数据库
将应用逻辑
从客户机分
离出来
Internet Intranet
组成部分,
?客户机
?应用服务器
?数据库服务器
浏览器
浏览器
浏览器
WEB
服务器
数据库
服务器 数据库
HTTP
请求
响应
?ODBC
?ADO
?JDBC等
客户端
脚本
服务器
端脚本
SQL处理
DB处理
访问 Web数据库系统的过程
Web服务器的主要功能,
?HTTP服务器
?脚本处理
?实现数据库应用
浏览器的主要功能,
?是一个 HTTP客户器,产生对页面及其他活动的请求
?提供客户端的脚本运行环境
?转换标记语言并显示在客户浏览器中。
三层结构的优点,
?客户端人机界面的程序开发得以简化。
?中间业务逻辑层包含了大量的可供客户端程序调
用的逻辑规则。
?数据层主要提供对数据库进行各种操作的方法。
?系统安全性得以提高。
?便于进行事务管理。
( 5)应用系统界面的组成与结构
?批处理输入 /输出
?在线处理
?远程批处理
?键盘输入
?无键数据输入
?笔式输入
考虑系统界面组成和结构设计的因素,
?图形用户界面
?工作平台界面
?电子数据交换
?图象与文档交换
?中间设备
?系统用户界面技术的选定
4、建立应用系统的方式
( 1)企业应用系统建设战略
?确认近期拟采用的网络、数据、界面及处理技术与开发
工具。
?提出整合原有系统和新系统技术结构的方案。
?如何不断调整应用结构,以适应应用需求。
?如何将出现的新技术引入企业应用结构中。
?分析不同应用结构的需求。
( 2)自建或购买的内在要求
选择购买软件包时应注意的事项,
?拟购买的软件包是否针对用户需求;
?软件包的内部参数与选项与现有系统接口是否相配;
?企业流程是否与所选软件相适应;
?如何将数据从原有系统转换到新系统中;
?新系统与原有系统之间的接口如何;
?新系统是否预留扩展接口,以满足企业未来的需要。
5、应用系统结构的物理模型
( 1)物理数据流图
现实世界 计算机世界 信息世界
逻辑数据流图 物理数据流图
逻辑数据流转换为物理数据流应当完成的工作,
从逻辑处理到物理处理
?逻辑处理过程被分配给特定的物理处理器
?逻辑处理过程由一个或多个物理过程加以执行;
从单处理到多处理
?一个逻辑过程分解为多个不同的物理流程;
?划分逻辑过程中的处理对象(手工、系统、客户机、服务器)
?增加必要的物理处理过程(数据流集中、过滤、推出、准备、控制等)
物理数据流
物理数据流有如下几种,
?执行一个物理输入或输出
?执行对数据库的操作(如:创建、删除、读取、更新等)
?通过网络传输的数据;
?不同模块与子程序间数据的传递
物理外部代理
与原逻辑数据流图的外部代理一致。
物理数据存储
?文件或数据库执行方法
?文件、数据库或图表名
( 2)物理数据流图的通用设计
网络拓扑
?服务器及其物理位置;
?客户机及其物理位置;
?处理机详细说明
?传输协议
数据与技术分配
?在单一服务器上存储所有数据;
?在不同服务器上存储特定图表;
?在不同服务器上存储特定图表的子集;
?在不同服务器上复制特定图表的或其子集
人机界面
课堂练习
1,什么是软件体系结构?
2,什么是 C/S结构?它由哪几部分组成?每部分的
任务是什么?
3,什么是 B/S结构?它有什么优点?
( 1)逻辑体系结构
?逻辑体系结构:涉及系统的功能,UML中用包图进行描
述建模,每个包用对象类和他们内部的协作来描述;
?物理体系结构:涉及系统硬件结点,以及不同结点之间
的连接,表示软件模块和物理结构的依赖关系。 UML中
用构件图和配置图描述。
逻辑体系结构就是 软件体系结构 。它把系统的各种功
能分配到系统的不同组织部分,并详尽描述各个组织部分
之间如何协调工作实现这些功能的。
UML使用“包”的机制来组织复杂问题,用包的概念来
描述逻辑体系结构。
2、相关概念
二、面向对象设计
通用三层逻辑体系结构
业务对象管理
实际业务对象
持久对象及数据 SQL查询语言
系统服务接口界面
外部业务对象
用户窗口
系统接口界面
备用构件库
系统数据库
系统业务对象
通用接口界面
使用
使用
使用
实施 实施
实施
依赖
依赖
( 2)物理体系结构
物理体系结构模型的作用,
?指出系统中的类和对象涉及的具体程序或进程;
?这些程序或进程执行依赖具体的计算机;
?标明系统中配置的计算机和其他硬件设备;
?指明系统中各种计算机和硬件设备如何进行连接;
?明确不同的代码文件之间的相互依赖关系;
?如果修改某个代码文件,标明哪些相关的代码文件需要
重新编译。
3、构件与构件图
构件是逻辑体系结构中定义的概念和功能在物理体
系结构中的实现,是开发环境中的实现性文件。
( 1)构件的种类
?源代码构件:是实现一个或多个类的源代码文件;
?二进制代码构件:是源代码构件经编译后产生的目
标代码。
?可执行程序构件:是系统执行时使用的构件。
( 2)构件的接口
接口是描述一个构件所能提供服务的操作的集合,构件
有两种接口,
?输出接口:构件被使用的接口;
?输入接口:构件使用其他构件的接口。
接口位于两个构件中间,隔断了构件之间的依赖关系,
使构件具有极好的封装性。一个构件可以有多个接口。
( 3)构件图
窗口管理器
whnd.ccp 窗口管理器
whnd.obj
命令管理器
comhnd.ccp
主程序和类
main.ccp
主程序和类
main.obj
命令管理器
comhnd.obj
图形库
graphic.dll
客户程序
client.exe
( 4)构件图建模步骤
? 确定构件
?说明构件
?构件之间的联系
?组织构件
例:“医院诊疗管理系统”软件的系统构成模型构件库
医疗管
理,exe
图形库,dll
初始化,ini
持久对象库,dll
打印数据,dll
帮助信息,hlp
4、配置图
( 1)节点
在配置图上可看到,某个节点上执行哪个构件,在构
件中实现了哪些逻辑元素,完成了何种功能。
节点是某种计算资源的物理对象,包括计算机、外部
设备等。用立方体表示。
服务器
( 2)节点与构件
合同管
理,exe
销售管
理,exe
仓库管
理,exe
工作站
( 3)节点之间的联系
节点之间的联系主要有通信关联。它用直线表示,指
出节点之间存在着某些通信路径,可使这些节点间交换
对象或发送信息。
客户 1 客户 2
网络服务器 数据库服务器
TCP/IP TCP/IP
Ethernet
( 4)建立配置图
建立配置图的一般步骤如下,
?确定节点
?确定驻留构件;
?注明节点性质
?确定联系
?绘制配置图
“销售管理系统”的配置图
联想 PC600
合同管理
激光打印机
Ls1000
联想 PC600
仓库管理
联想 PC600
销售管理
联想 PC600
数据库服务器
激光打印机
Ls1000
Ethernet
Ethernet
Ethernet
Ethernet
Ethernet
TCP/IP
TCP/IP
Ethernet
5、物理体系结构建模实例
( 1)用例图
住院部管理
医护人员
系统操作人员
患者
财务管理
诊疗管理
后勤管理
药品管理
手术管理
门诊管理
行政管理人员
“医院诊疗综合管理系统”的用例图
“诊疗管理”子系统的用例图
心脑电波诊断
医护人

系统操作员
患者
远程诊断
特殊诊疗
常规化验
超声波诊断
内窥镜诊断
影像诊断
财务子系统
本例重点分析“诊疗管理”子系统软件体系结构的
分布,建立构件图和配置图,完成子系统的物理体系
结构建模。
( 2)构件图
构件图建模步骤,
?确定构件
?说明构件
?确定构件之间通过接口依赖产生的联系;
?对于复杂的大系统,采用包的形式组织构件,形成清
晰的结构层次图。
该子系统依据用例图和节点分布来设定构件。该子
系统有七个构件。
远程诊断
远程诊断,exe
远程诊断
远程诊断,obj
远程诊断
远程诊断,cpp
影像 诊断
影像 诊断,exe
影像 诊断
影像 诊断,obj
影像诊断
影像 诊断,cpp
特殊诊疗
特殊诊疗,exe
特殊诊疗
特殊诊疗,obj
特殊诊疗
特殊诊疗,cpp
常规化验
常规化验,exe
常规化验
常规化验,obj
常规化验
常规化验,cpp
详细的构件图:“影像诊断”用例的构件图
影像 诊断
影像 诊断,exe
X光片影
像库,dll
计算机断层
扫描影像
库,dll
核磁共振
影像库,dll
打印诊断
报告,dll
帮助信
息,hlp
( 3)配置图
配置图建模步骤,
?确定节点:一台计算机或设备是一个节点
?明确驻留构件
?关注节点性质
?用关联或依赖描述节点之间的联系
?绘制配置图。
“诊疗管理”子系统客户 /服务器式的配置图
数据库服务器,VAX2000
DB数据库 心脑电波:联想 PC600
心脑电波诊

特殊诊疗:联想 PC600
特殊诊疗
内窥镜:联想 PC600
内窥镜诊断
远程诊断:联想 PC600
远程诊断
化验诊断:联想 PC600
常规化验
超声波:联想 PC600
超声波诊断
影像诊断:联想 PC600
影像诊断
网络服务器,VAX2000
查询系统
网络浏览
Ethernet
Ethernet
Ethernet
Ethernet
Ethernet
“影像诊断”用例的配置图
影像诊断:联想 PC600
影像诊断
网络服务器,VAX2000
查询系统
网络浏览
数据库服务器,VAX2000
DB数据库
门诊或病房:联想 PC600
医疗与护理
X光摄像机
XG-100
核磁共振扫描仪
MRI-2000
计算机断层扫描
CT-1000
激光打印机
Ls1000
Ethernet
Ethernet
Ethernet
TCP/IP
教学管理员
教师
学生
财务系统
选修课注册
选修课管理
选修课信息汇总
选修课查询
教师简历查询
练习:请根据你对学校教学管理系统的观察,绘制
“选修课管理“子系统的配置图。其用例图如下所示。
三、结构化设计
1、结构化设计的基本思想和特点
结构化设计是指对于一个清楚陈述的问题,选择和组
织模块接口,从而求得所陈述问题的“最优”解。
?系统设计的根本目的是设计一个灵活、具有可维护性
的信息系统。
?软件体系结构是影响系统灵活性和可维护性的关键因
素。
软件总体结构 程序内部处理逻辑
结构化设计
结构化设计的 5个基本特点,
?由问题结构( DFD描述)导出系统结构(软件结构图)
?通过层次分解简化系统
?运用一系列图表工具
?提供了一系列系统设计策略
?提供了一组评价系统设计质量的准则
2、结构化设计工具
( 1)结构图
结构图又称为控制结构图、模块结构图或系统结构图,是
对软件总体结构的一种图形描述,显示了软件是由哪些模块组
成的,这些模块按照什么样的层次结构组织在一起,以及模块
之间通过什么接口联系在一起。
A
B
控制标志 数据传递
M
N
循环调用
A
C D B
选择调用
( 2)伪码
A B
伪码表示,
A;
B;
P
A B
IF ( P ) THEN
A
ELSE
B
ENDIF
顺序结构
分支结构
P A
T F
T
F
WHILE ( P)
A
循环结构
是程序员组织、表达其设计思想的一种主要工具。
3、软件设计概述
软件设计是指建立软件的总体结构。它要回答如下问题,
?软件由哪些模块组成?
?软件中各模块之间的调用关系如何?
?每个模块的详细处理过程如何?
?模块之间的控制接口和数据接口如何?
( 1)什么是软件设计
( 2)软件的基本组成结构
?程序语句
?模块:由一组程序设计语句组成的集合。模块具有 4个属
性:输入 /输出(接口)、功能、内部处理逻辑、内部数据。
?模块之间的联系:模块之间调用和被调用的关系。
模块化原则,
?每个模块表示一个自我包含的逻辑任务
?模块是封闭的
?每个模块是可以独立测试的
?每个模块对应单一的独立的程序功能
?每个模块有单一的入口和出口
?可以把多个模块组合成较大的模块
?模块有严格规定的接口
4、软件设计的评估标准
软件至少应具备以下两个特点,
?易于实施和测试
?易于维护和修改
影响软件质量的主要因素有,
?耦合
?内聚
( 1)耦合
耦合是对两个模块之间联接程度的一种度量。模块间
的依赖程度越大,则其耦合程度也越大;反之,模块间的
依赖程度越小,则其耦合程度也就越小。
影响模块耦合程度的几个因素,
?模块间的连接类型
?模块间的接口复杂程度
?通过界面的信息流类型
?变量的赋值时间
① 模块间的联接类型
两种联接类型,
?控制的传递:上层模块将控制传递给子模块,子模块执
行完毕后,自动将控制返回到调用模块。
?数据的传递:数据传递有两种途径,一是参数化数据传
递;二是非参数化。参数化传递指模块间通过一个参数表
进行数据传递;非参数传递指模块间的数据传递通过全局
数据结构来完成。
② 模块间接口的复杂性
接口复杂性指从一个模块向另一个模块所传递的数据特
性而言。复杂性代表了模块间所传递的数据的数量和数据
结构的复杂性。
③ 通过接口的控制信息流类型
两种模块间的控制类型,
?激活控制:模块接口传递的数据是实际处理所用到的数
据,模块间的传递可以是有条件或无条件传递。
?协调:指一个模块向另一个模块传递引导该模块进行处
理的有关信息,即上层模块通过控制信息决定被调用模块
进行何种处理。
④ 变量的赋值时间
赋值是指固定程序中数据项值的过程。赋值通常可在程序
的 4个不同时期进行:编程、编译、连接编辑、运行。
对变量赋值越早,程序越缺乏灵活性。尽量推迟对变量的
赋值。
耦合的类型
?数据耦合
?控制耦合
?公共耦合
?内容耦合
( 2)内聚(聚合)
内聚是对一个模块内,其元素在功能上连接程度强弱
的一种度量。模块的内聚越大越好。
内聚的类型有,
?功能内聚
?顺序内聚
?通信内聚
?过程内聚
?逻辑内聚
?偶然内聚等
( 3)其他评估标准
?分解:使软件系统结构更加合理化的常用手段。
?扇出系数:也称控制幅度。指直接隶属于一个模块的模
块个数,即一个模块直接调用其他模块的个数。 扇出系数
过大,模块的内聚程度将降低; 扇出系数过小,表明模块
分解不不彻底。
?扇入系数:某一模块被上层模块所调用的个数。具有较
高扇入系数的模块较好。
5、结构化设计方法 ——数据流方法
( 1)数据流方法的基本原理
数据流方法也称为变换分析法,是一种面向过程的结构
化设计方法。其实质是从系统分析所构造的业务系统过程
模型( DFD)来导出软件的总体结构( SC)。
( 2)数据流的类型
?变换流:基于变换流的数据流程图是一个线性的顺序结
构,由输入臂、输出臂和变换中心 3个组成部分。
?事务流:事务流的数据流程图中有一个事务处理中心,
它将输入分成若干平行的加工路径,然后根据输入的属性,
选择加工路径。
( 3)数据流方法的设计过程 数据流程图
数据流类型
识别事务中心和
数据接收通路
映射成事务结构 映射成变换结构
识别输入臂、输出
臂和变换中心
根据软件设计评估
准则优化软件结构
模块接口和全程
数据结构描述
复查
详细设计
事务 变换
( 4)变换分析法
变换分析方法步骤,
① 构造数据流程图 DFD
② 识别数据流程图中的输入臂、输出臂和变换中心。
③ 构造初步的结构图
④ 按软件设计原则,修改上述结构图,最终获得软件总体
结构图。

A B
C
D E
H
F G a
e
c
b
d
f
g
j
h
k
i
输入臂 输出臂 变换中心
主控模块
输出分支 变换中心 输入分支
主控模块的功能主要是
协调控制,进行决策。
( 5)事务分析法
事务是指能够触发某些行动的一组数据、控制、信号或事件。
事务分析的基本原理,
? 如果一个程序要处理多种类型的事务,每种事务的逻辑
又很相似,则为避免编码冗余,强调处理的相似形,可
将公共的处理编码放在一起,而将差别作为例外。
处理
类型 1
处理
类型 1
处理
类型 1

事务
TYPE1
TYPE2
TYPE3
事务中心
处理类型 3 处理类型 2 处理类型 1
处理 B 处理 C 处理 D 处理 E 处理 A
课堂练习
1,结构化设计的基本原理是什么?有哪些特点?
2,结构化软件设计的评估准则有哪些?
3,数据流方法的基本原理是什么?
4,请用伪码表示下列程序流程图。
P A
B
Q
C
T
F F
四、数据库设计
1、数据库的各级模式
用户数据视图
用户数据视图
用户数据视图 概 念 模 式 逻 辑 模 式
外模式 外模式 外模式
内模式
应用 1 应用 3 应用 2
应用 1
应用 2
应用 3
综合
映像 映像
映像
2、信息系统中数据库的相关概念
( 1)传统的文件和关系数据库的主要联系和差别
?传统文件系统存放的是相似记录;
?数据库存放的是相关记录
( 2)字段、记录、文件、表、数据库、数据仓库
?字段:数据库中定义数据的最小单位;
?记录:字段的集合
?文件:一些相似记录组成文件;
?表:在数据库系统中,相似记录结构组成的文件;
?数据库:将零散的饿数据组织成一个整体提供给使用者
?数据仓库:从数据库或文件中抽象出数据;
( 3)数据库管理系统
关系数据库管理系统
数据分析
设计一个好的数据模型的过程。
3、数据库的设计
?关键字完整性:每个表都有一个主关键字
?域完整性:所有字段的值不能超出它的许可范围;
?参考完整性:对表中任何记录的删除都与其他记录无关。
五、详细设计
1、输入设计
( 1)数据获取、数据入口
?数据获取是鉴别需要输入的数据;
?数据入口是指把源文档翻译成机器可读格式的过程。
( 2)输入方式:批处理与在线输入
1、数据获取、数据入口和数据输入
2、自动数据收集技术( ADC)
( 1)生物检测
( 2)电磁检测
( 3)磁检测
( 4)光检测
( 5)智能卡
( 6)触摸
3、输入设计中要考虑的问题
( 1)一般原则
?只获取变量数据;
?不要获取由程序计算或存储的数据;
?利用指令描述适当的属性。
( 2)注意事项
?包含格式使用说明;
?尽量减少手工书写;
?将输入数据排序好;
( 3)输入设备的内部控制
确保数据有效的方法,
?完备性检测;
?界限和范围检测;
?联合检测;
?自我检测数字;
?图形检测
4、输入设计的图形用户界面分析
( 1)文本框
( 2)单选按钮
( 3)检验框
( 4)列表框
( 5)下拉框
( 6)组合框
( 7)滚动框
5、原型法的计算机输入设计
( 1)浏览输入需求
( 2)选择图形用户界面控制方式
( 3)输入屏幕原型
( 4)原型文档化
2、输出设计
1、输出设计的任务
( 1)输出的类型及其设计
?外部输出:形式为打印、显示、转换成其他数据形式。
?内部输出:详细性报告、总结性报告、例外报告
( 2)输出媒体和格式
?输出媒体:用于记录输出信息的载体,如:纸张、显示器等;
?输出格式:信息在输出媒体上被显示的方式,如专栏、数字、图形等
( 3)用户友好的输出设计
?输出必须简单易读,并易于解释;
?输出应及时;
?每份报告或屏幕输出应有一个标题;
?报告和屏幕应有小标题;
?最好包含一些图例作解释;
?在正式报告中应尽量使用图例说明;
?输出过程中尽量避免使用计算机术语;
?尽量消除错误信息
2、原型法的计算机输出设计
( 1)识别系统输出
( 2)选择输出媒体和格式
( 3)为用户设计输出原型
3、用户界面设计
1、用户界面设计概述
( 1)用户界面的物理特征
物理特征包括用户实际接触到的设备。
( 2)用户界面的感知特征
感知特征包括用户看到、听到、触摸到的所有东西。
( 3)用户界面的概念特征
概念特征包括用户了解的有关系统使用的所有内容,也
可称为系统的用户模型。
( 4)以客户为中心的设计
及早关注用户及其工作
使用迭代开发的方法
评估设计以确保其可用性
面向对象方法通过确定参与者、用例、场景,从需求分析阶段就
关注系统的交互性。
? 针对不同用户,考虑界面特性。
?注重测试用户界面的各个方面特性。
? 重复迭代分析、设计、实现,围绕用户需求,不断完善。
2、界面设计指导原则
( 1)可视性和可供性
? 可视性:即控件对用户来讲是可见的,且所见即所用。
?可供性:指所有控件的外观都要体现其功能。
( 2)八项黄金规则
? 尽量保持一致性;
?为熟练用户提供快捷键;
?提供有效反馈;
?设计完整的对话过程;
?提供简单的错误处理机制;
?允许撤消动作;
?提供控制的内部轨迹;
?减少短期记忆负担
3、面向对象用户界面的设计
? 面向对象的用户界面的设计是事件驱动的;
?表示界面的重要成分是对象,如,窗口、菜单、图标等;
?通过界面对象触发其他过程。
2、设计包图
使用包将模型划分为较小的、更易于管理的子集。
应用包
业务对象

数据库包
界面包
例:用包定义的系统的逻辑结构
3、设计构件图
( 1)什么是构件
构件是系统中物理上的可替换的部分,它按照一组接口来设计并
实现。是系统中可重用的,具有可替代性的物理单元。
构件名称 UML中构件的表示
UML中定义的五种标准构件构造型,
?一个直接可执行模块。
?一个静态或动态对象库模块。
?一个数据库
?一段源代码或数据文档
?人可读的文档。
( 2)构件图
? 构件图表达了构件及构件间的接口和依赖关系。
?接口:表示软件构件对外可见的属性和操作;每个构件实现一些构
件,同时也使用一些构件。
?依赖关系:表示一个类要在另一个类之前编译。
数据库
帐户
事务处理
ATM界面
4、配置图
? 配置图:表示应用程序的物理部署,如网络布局和构件在网络上的
位置问题;
?配置图由结点、构件及它们之间的关系构成;
?结点是一种计算资源,即运行时的物理对象,是构件所运行的位置;
?结点执行构件,构件在结点上部署;
?配置图包含处理器、设备、进程、处理器与设备之间的连接;
?每个系统只有一个配置图。
数据库服务器
打印机 应用程序服务器
HTTP Web
服务器
客户机 2 客户机 1
系统设计阶段考虑的问题重点为:定义系统组件、构建系统
实体 —
联系图 类图
数据字典 各级 DFD图
用例图
顺序图 包图
关系数据库
模式
系统流程图 结构图
活动图
状态图
对象数据库
模式
协作图 设计类图,
包图
用户界面
控制系统
输入 /输出
分析
设计
结构化方法 面向对象方法
( 6)应用系统的处理结构 —软件开发环境与系统管理
?编辑器及编译器
?处理监控器
?文件管理系统
集中式处理与分布式操作的软件开发环境
二级客户机 /服务器软件开发环境
?快速应用开发( RAD)
?自动生成图形界面与相关系统事件的模板代码
?一种程序语言
?不同关系数据库之间的引擎
?客户机代码检测与调试环境
?系统检测环境
?报告环境
?客户端帮助系统
多级客户机 /服务器软件开发环境
?支持不同处理平台
?客户机与服务器的代码生成及设计
?强调重复软件应用结构、模板、组成与目标
?捆绑式小型工具
?帮助程序员分解客户机与服务器应用组成部分的工具
?帮助开发员配置与管理已完成应用软件的工具
?自动检测大型不同平台应用的能力
?高级软件版本控制与应用管理
互联网与内联网客户机 /服务器软件开发环境
?HTML
?CGI
?Java
1,OOD(面向对象设计)概述
( 1) OOA和 OOD的关系
?定义包,描述包之间的依赖性及通信机制
?在应用逻辑类基础上,增加技术实现类。
体系结构设计阶段
详细设计阶段 ?详尽描述所有类,为编程人员提供清晰的规范说明。
结构化方法的两个鸿沟,
?数据流程图与实体关系图之间的鸿沟;
?分析与设计之间的鸿沟
( 2)面向对象设计与结构化设计
在面向对象方法中,OOD是在 OOA的基础上,经过
修改、完善、补充完成的,OOA是 OOD的一个组成部
分。因此,从 OOA到 OOD的过渡平滑、自然无缝。
?共同处:两者设计活动的输出都是一系列满足需求目
标的图和文档,它们表达了系统的体系结构、应用软件
的结构以及设计细节。两种设计方法在诸如界面设计、
输入 /输出设计等方面的设计任务是相同的。
?不同处:两者表达系统结构的方法和工具是完全不同
的。
( 3) OOD的基本任务
OOD的任务
?在 OOA模型的基础上补充某些细节详细设计;
?软件体系结构设计;
?界面设计,数据接口设计
OOD由 4个活动组成
?问题域部分
?人机交互部分
?任务管理部分
?数据管理部分