第五章 系统分析
一、系统分析概述
三、事物、对象及其关系属性
二、事件和事件的描述
四、需求建模
五、需求建模实例
一、系统分析概述
1、系统分析的用户视图
分析的目的:分析现实世界的 事物如何转化到计算机世界,使信息系统能最
终达到原来现实世界的目的。
分析的结果:产生对现实世界一组准确、完整、一致并且可以检验的系统模
型。
系统
拥有

系统
用户
系统
设计

系统
实施

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





关注者


分析

设计






程 数据库
管理系统
销售与
咨询商
商务功能
处理需求
应用范式
与说明
商务地点
接口需求
通信环境
通信需求
系统分析阶段数据、功能和交互行为板块的用户视图
2、模型驱动的分析方法
模型驱动的方法强调对现有系统和目标系统采用图示的系统模型
来建立文档和提供验证手段。
用例图:功能视图 类图:数据视图 状态图:功能视图 顺序图:功能视图
功能模型 对象模型 动态模型
分析模型
3、系统分析中使用的逻辑模型
( 1)事件和事件表
事件的相关要素:触发原因、消息来源、完成的动作、做出的响
应、事件要达到的目的。
( 2)数据流
( 1)结构化分析要素
要传递的数据集合
( 3)数据流图
( 4)实体 — 关系图
表示系统逻辑功能和信息联系的一种图形,
表示系统要素之间关系的一种图形。
( 2)面向对象分析要素
( 1)类图
类图反映系统的静态结构,类的实例对象具有行为,行为是系统
的动态特征,反映在特定的结构之下各组成部分的执行逻辑
类的表示
类名
属性 1
属性 2
操作 1()
操作 n()
类的类型 ?活动者类:代表出现在用例模型中的活动者
?业务类:描述业务的地点、物品、概念和事件
?用户界面类:是组成系统用户界面的屏幕显示、菜单和报表
类的属性
属性是描述对象静态特征的一个数据项。属性有属性名和属性值。
属性描述隐藏在对象内部的信息,由该对象的服务专门操作。
类的服务(操作)
服务也称为方法或操作,是信息系统为满足用户需求必须采取的
行动,是信息系统对事件的响应。
服务的定义取决于具体问题域和功能需求,应遵循信息隐藏原理,
执行单一的、高度内聚的功能。一个服务可以通过发送消息请求另
一个服务的支持。
类之间的联系 ?泛化 —特化
?聚合(整体 —部分)
?关联
?消息传递
泛化 — 特化联系
泛化 —特化联系反映类之间的一种继承关系
订单
邮件订单 电话订单 网上订单
聚合联系
也称整体 —部分联系。反映各组成部分和整体之间的关系。
计算机
内存 显示器 CPU 外存 键盘
1
1 1
1 1 1
1
1 1….* 1….*
关联联系
类之间的一种二元关系,表达对象之间的静态联系
教师 学生 0….* 1
( 2)用例图
用例图描述系统的环境和系统的功能需求。
用例图中的关系
用例图中的关系有活动者与用例之间的关系和用例与用例之间的关系。
?活动者与用例之间的关系称为关联,描述活动者与用例之间的关系
?用例之间的关系:包含关系、扩展关系、泛化关系
?关联:表示参与者与其参与执行的用例之间的通信路径
?扩展:在基础用例上插入基础用例不能说明的扩展部分 <extend>
?包含:在基础用例之上插入附加行为,并具有明显描述 <include>
?泛化:用例之间一般与特殊的关系,其中特殊用例 (子用例)继承了一
般用例(父用例)的特性,并增加了新的特性。
包含的使用:如果两个以上的用例有大量一致的功能,可将该功能分解到另
一个用例中;一个用例功能太多时,可以用包含关系建立两个小用例。
包含与扩展的区别,
?在包含关系中一个用例总是在使用另一个用例的功能
?在扩展关系中,是根据某些条件有选择地使用另外一个用例功能。
下订单 查目录
查询产品 查供应商
安排付款
付现今 付支票
<extend>
<include>
<include> <include>
子用例
父用例
扩展用例
客户
( 3)顺序图
显示场景或用例表中所发生的交互,它侧重于对消息时序的描述。
( 4)协作图
协作图强调对象之间的关系组织,而不是对象之间信息传递的
时间性。协作图将消息名称前加上顺序号。
( 5)状态图
状态图用于描述具有复杂动态行为的对象,表示一个对象状态
的演变。状态图的关键成分是状态和状态的转换
闲置
冷却
激活
预热
过冷
温度到达
过热
温度到达
过冷
加热
准备 /开关合上
过热 恒温器对象的状态图
( 6)活动图
表现于一组事件相连的多个对象的状态变化,强调在计算过程
中顺序和并发的步骤
带泳道的活动图
请求服务
取订单
填写订单 付款
分发订单
收集订单
客户 销售 库房
二、事件和事件的描述
1、事件和系统需求
事件是指发生在确定的时间和地点,可以描述、并应该被系统记
录下来的事实。
系统分析首先应当考察对系统产生影响的外部事件。
2、事件的类型
( 1)外部事件
由外部实体或动作参与者所引发的事件。外部事件将影响系统,
触发系统内部进行一系列工作。识别外部事件的关键点,
?外部实体对系统的数据输入
?由外部实体的需要而触发的系统内部事务处理
?外部实体想要获取某些信息
?外部实体的变化引发系统内部数据需要更新
( 2)定时事件
又称临时事件。是由于系统到达某一时刻系统内部自动发生的事件。时
间事件是内部事件。
( 3)状态事件
识别定时事件和状态事件的关键点,
?内部处理需要的临时输出结果;
?系统应当对外给出的结果;
?系统内部相关要素的状态依赖关系。
是系统内部由于某个要素状态的改变而触发其他要素状态改变的事件。
状态事件是内部事件。 。
3、识别事件
( 1)准确区分事件、条件、响应和行为
例:用电客户到银行交纳电费的例子。
事件:用电客户交纳电费;
条件:有信用卡;卡上有足够的钱;
响应:银行从客户信用卡上划拨费用
如何区分事件与响应:判断两者能否分割开来。
( 2)列出事件的时间顺序
通过跟踪事件处理的生命周期,列出事件的时间顺序。
( 3)技术选择和系统控制
技术实现和系统控制也将引发一系列事件,这类事件大多在系统设计
阶段识别,但部分也需要在分析阶段识别。
4、事件列表
事件列表中要包括:事件、触发器、来源、动作、响应、目的地,六
大要素。
?触发器:事件与系统的接口。
?动作:事件消息传递给系统后,系统引发的一系列动作和行为。
?响应:系统对所发生事件的输出结果,可能是一个结果,也可能是一系
列其他事件或动作。
?目的地:系统产生结果的送达地。可能是外部实体、参与者,或内部调
用的其他系统。
事件 触发器 来源 动作 响应 目的地
客户申请办
理电子钱包
填写申请表并递交
给相关银行柜台
客户 核对客户身份证,检查客
户银行帐户和信用状态
登记客户自然情况,分配
密码,冲值,制成卡片
客户
例:“申办电子钱包”事件的事件列表
三、事物、对象及其关系属性
1、事物的类型
事物及其相关信息是系统要存储的数据。面向对象的分析中,事物是
系统交互作用的对象。运用面向对象中,类与对象的抽象机制,寻找这些
事物之间的内在关系。
通过事件列表对事件的分析,来研判相应事件影响了哪些事物。
事物
实体事物
边界事物
控制事物
实物
角色
地点位置
组织
交互行为
时间
2、对象之间的关系
对象之间发生的相互作用称为关系。对象之间的关系有一元关系、二元关
系、多元关系。
?一元关系:同一类对象之间的关系。例:人与人、部门与部门之间的关系
?二元关系:不同类对象之间的关系。例:客户与信用卡之间的关系。
?多元关系:存在于 3种或以上不同类对象之间的关系。
( 1)对象类之间关系的图示方法
一对一的关系
客户帐号 电子钱包 1…………………1
在每个对象类端点上都有一个重数 1。
一对多的关系
在每个端点都有重数 0….n,或 *(表,1….n) 。
电子钱包 银行 1…………………*
多对多的关系
在一个端点上有一个重数 1,另一个端点有重数 0….n,或 *(表,1….n) 。
客户 银行 *…, 申办电子钱包, …*
例:一个项目有许多活动组成;一个活动有许多任务组成;一个任务消耗
若干资源,并产生若干工作成果;工作成果可以是:一个系统、一个模型、
一个文档;资源可以是:参与者、时间或设备。
用 UML的图形元素可表示为,
项目
活动
任务 工作成果 资源
文档
模型
系统 参与者
时间
设备
*由 ………,生产 消耗 ……….*
*
*
( 2) UML描述关系的四种主要结构
依赖关系
一个对象以某种方式影响另一个对象,后者并不一定受前者影响。
聚集关系
一个对象是由其部分之和构成的关系。
关联关系
表示一般事物和特殊事物