一、实验目的
通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中
的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基
础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息
系统分析与设计的规范,为后继的学习打下良好的基础。
二、实验要求
学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设
计,并完成实验报告。实验报告以纸质版(A4)在课程结束后提交(10周)。
三、实验主要设备:笔记本计算机
四、实验内容
1 选题及项目背景
选题选题::医患管理系统
医患管理系统
项目背景:目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不
能随时观察病人的病情变化,还会延误抢救时间。因此,某医院想开发一个以计算机为
中心的医患管理系统。医院要求该系统能够随时接收病人的生理信号(血压、体温、脉
搏、心电图等),监视病员的病症;定时记录病人情况以形成患者日志(定时更新病历);
当某个病人的生理信号超出医院的规定的安全范围时向值班护士发出警告信息(病员出
现异常情况时报警);同时,护士在需要时还可要求系统打印某个病人的病情报告(随
机地产生某一病员的病情报告)。
2 定义
在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人
的病症信号(组合)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班
护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标
准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报
告和更新病历。系统根据医生的要求随时打印病人的病情报告,系统还定期自动更新病
历。
3 参考资料
《系统分析与设计》
《系统分析与设计》
4 系统分析与设计
4.1 需求分析
4.1.1 识别参与者
值班护士、医生、病人、标准病症信号库
1
4.1.2 对需求进行捕获与描述
用例名称::中央监护
中央监护
用例名称
执行者执行者::值班护士
值班护士
目的目的:: 将病人的病症信号与标准的病症信号库里的病症信号的正常值进行比
将病人的病症信号与标准的病症信号库里的病症信号的正常值进行比
较,当病症出现异常时系统自动报警。
较,当病症出现异常时系统自动报警。
用例名称::病症监护
病症监护
用例名称
执行者执行者::值班护士
值班护士
目的目的:: 随时接收每个病人的生理信号
随时接收每个病人的生理信号((脉搏脉搏、、体温体温、、血压血压、、心电图等
心电图等)),,定时记定时记
录病人情况以形成病情报告
录病人情况以形成
病情报告。。
用例名称::提供标准病症信号
提供标准病症信号
用例名称
执行者执行者::标准病症信号库
标准病症信号库
目的目的:: 将病人的病症信号与标准的病症信号库里的病症信号的正常值进行比较
将病人的病症信号与标准的病症信号库里的病症信号的正常值进行比较
用例名称::病历管理
病历管理
用例名称
执行者执行者::医生医生
目的目的::生成病历
生成病历,供医生查看病历
,供医生查看病历或或打印病历
打印病历
用例名称::病情报告管理
病情报告管理
用例名称
执行者执行者::医生医生
目的目的:: 当病症信号异常时,系统自动更新病历并打印病情报告;
当病症信号异常时,系统自动更新病历并打印病情报告;供医生或护士
供医生或护士
查看病情报告。
查看病情报告。
100.1 用例 ID 号及用例名
100.2 用例概述
100.3 参与者:
101.4 前置条件
(Pre-Conditions)
Uc_100 中央监护
将病人的病症信号与标准的病症信号库里的病症信号的
正常值进行比较,当病症出现异常时系统自动报警。
值班护士
病症信号发生变化
100.5 后置条件
病症出现异常时系统自动报警
(Post-Conditions)
100.6 事件流
100.6. 基本事件流
1) 病症信号发生变化
2
1
(Basic Flow)
100.6.
2
扩展事件流(Alternative
Flows)
4.1.3 用例图
2) 中央监护系统获取变化后的病症信号
3) 中央监护系统获取标准病症信号库
4) 中央监护系统将病症信号与标准病症信号进行对比
5) 病症出现异常时系统自动报警。E-1
6) 值班护士收到警报
7) 系统更新病历并打印病情报告
E-1(替代第5步):如果病症没有出现异常,系统继
续进行监护。
通过已掌握的需求,初步了解系统所要完成的功能。下面给出用例图。
值 班 护 士
+用户名
+密码
+查看病情报告()
+打印病情报告()
中 央 监 护
病 情 报 告 管 理
System
使用
使用
病 症 监 护
病 人
+姓名
+性别
+年龄
+病症
使用
提 供 标 准 病 症 信 号
标 准 病 症 信 号 库
+类型
+大小
+容量
+生成标准信号()
医 生
+用户名
+密码
+查看病情报告()
+要求打印病情报告()
+查看病历()
+要求打印病历()
病 历 管 理
4.1.4 分析与讨论
1) 建立用例图的步骤、方法?
1 定义系统边界与范围
2 确定参与者
3 发现用例
4 描述用例及确定用例关系
5 建立用例图、层次化用例图
2) 如何识别系统的参与者?应该如何划分用例,应注意哪些问题?
3
1 谁是系统的主要用户
2 谁向系统提供信息
3 谁改变系统的数据
4 谁从系统获取信息
5 谁管理系统
6 系统需要操纵哪些硬件
7 系统从哪里获得信息
8 系统用在什么地方
3) 心得
通过这次试验,更加准确的认识了用例图,知道了该怎么去画用例图。同时知
道了用例图是描述系统的功能需求,对后面的开发至关重要。用例图就是对现实需
求的第一步抽象,把功能用图表述出来。在画用例图的时候就应该把用各个用例之
间的关系应该表达清楚。
4.2 建立对象模型
4.2.1 候选类的数据字典
类名
值班护士
医生
病人
标准病症信号库
病历
病历库
病情报告
病症监视器
病人病症信号
中央监护系统
报警信号
标准病症信号
4.2.2 定义类
定义
监视系统,时刻注意异常信号
给病人看病
提供实时生理信号
生成标准病症信号
生成病历并供人查看
更新病历并供人查看或打印
生成病情报告并供人查看或打印
监控实时生理信号
将实时生理信号转化成病症信号
对比标准病症信号与病人病症信号
向值班护士发出警报
提供标准病症信号
“中央监护系统”类
•属性
输入(Input):数值(double)
输出(Output): 数值(double)
•操作
4
病 历
+格式
+病人基本情况
+打印时间
+生成病历()
+查看病历()
+打印病历()
n
1
病 历 库
+类型
+大小
+容量
+生成病历()
+更新病历()
+查看病历()
+打印病历()
1
病 人
+姓名
+性别
+年龄
+病症
1
监视
1
病 症 监 视 器
+采集频率
+病症信号
+格式化信号数据()
+采集信号()
+信号组合()
1
1
病 人 病 症 信 号
+脉搏
+血压
+体温
+心电图
+生成病症信号()
n
分解信号 resulve()
比较信号 compare()
报警 alarm
数据格式化 format
4.2.3 绘制类图
值 班 护 士
+用户名
+密码
+查看病情报告()
+打印病情报告()
1
报警
1
报 警 信 号
+声音
+灯光
+文字
+报警()
+数模转化()
医 生
+用户名
+密码
+查看病情报告()
+要求打印病情报告()
+查看病历()
+要求打印病历()
1
n
病 情 报 告
1
1
+标题
+格式
+生成病情报告()
+查看病情报告()
+打印病情报告()
n
1
中 央 监 护 系 统
+输入
+输出
+分解信号()
+比较信号()
+报警()
+数据格式化()
1
1
1
1
标 准 病 症 信 号
+脉搏
+血压
+体温
+提供标准信号()
1
n
标 准 病 症 信 号 库
+类型
+大小
+容量
+生成标准信号()
5
4.2.4 包图
对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。对所
选系统的类进行分组,以便更清晰地了解系统的结构。
值 班 护 士
+用户名
+密码
+查看病情报告()
+打印病情报告()
医 生
+用户名
+密码
+查看病情报告()
+要求打印病情报告()
+查看病历()
+要求打印病例()
病 情 报 告 管 理
使用
病 历 管 理
病 症 监 护
使用
病 人
+姓名
+性别
+年龄
+病症
中 央 监 护
使用
提 供 标 准 病 症 信 号
标 准 病 症 信 号 库
+类型
+大小
+容量
+生成标准信号()
4.2.5 分析与讨论
1)建模类图的步骤、方法?
① 使用名词识别法识别类。
② 建模类与类之间的关系。
③ 为类图中的关联关系添加合适的角色名。
④ 为已被封装到类中的独立功能建模类。
⑤ 为类图中的类添加必要的特性和操作。
⑥ 迭代并细化该模型
2)识别类有哪些方法,你是如何识别类的 ?
行为分析、名词分析法、CRC 分析法、根据边界类、控制类、实体类的划分
识别、参考设计模式确定类以及通过对领域进行分析得到类。
在本系统中,我采用了名称分析法。先找出候选类,再审查与筛选类。
3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类
之间的继承?
关联的多重性表示:在建模过程中,一个关联实例中有多少个相互连接的对
象。通过分析系统结构与组成,确定类的关联关系、组织类之间的继承。
6
4.3 建立动态模型
系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。在系
统的分析和设计中应当对主要的 Use Case 和对象类绘制这些图形,以便分析系统的行
为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。
4.3.1 顺序图
病人
监视器
中央监视系统
病历
报警信号
病情报告
1 : 采集信号()
2 : 发送信号()
3 : 信号异常()
4 : 返回()
5 : 打印()
6 : 更新()
4.3.2 通信图
病人
1:采集信号
监视器
2:发送信号
中央监视系统
3:信号异常
病历
报警信号
5:打印
4:返回
6:更新
病情报告
4.3.3 活动图
活动图的主要作用是表示系统的业务工作流和并发处理过程。针对自选系统主要的
业务工作流绘制活动图。
绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。
7
采集信号
分析比较信号
判断是否正常
信号正常
判断更新时间
更新时间未到
信号异常
更新时间到
报警
更新病历
打印病情报告
4.3.4 状态图
状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘
制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件
将引起状态的转移,将会发生哪些动作。
信号采集
模数转化
局部显示
数据信号组合
发送信号数据
分析信号
比较数据
发送报警标志
信号异常
报警
更新病历
分析信号
分析信号数据
信号正常
比较数据
数据格式化
打印请求
更新日期到
数据格式化
打印病情报告
格式化后数据
发生病情异常
4.3.5 分析与讨论
比较顺序图与通信图、 活动图与状态图的应用。
在 UML 系统开发过程中,系统的动态模型主要包括对象交互模型和对象的状态模
8