软件工程大作业姓名:黄会林学号:2009214454班级:3110903实验题目:基于UML医院患者监护系统的分析与设计实验目的:软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在RationalRose中建模。实验内容:一、问题描述在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(组合)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。系统根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。二、需求分析根据分析系统主要实现以下功能:1、要求病症监视器随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成病情报告。2、病症监视器可以将采集到的病症信号(组合),格式化后实时的传送到中央监护系统。3、中央监护系统将病人的病症信号与标准的病症信号库里的病症信号的正常值进行比较,当病症出现异常时系统自动报警。4、当病症信号异常时,系统自动更新病历并打印病情报告。5、值班护士可以查看病情报告并进行打印。6、医生可以查看病情报告,要求打印病情报告,也可以查看或要求打印病历。7、系统定期自动更新病历。三、用UML的静态建模机制定义描述系统的静态结构(一)建立系统的用例图通过分析可以识别出本系统的四个角色:值班护士,医生,病人,标准病症信号库。其描述面板如下:通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图如下:(二)识别系统的类通过名词识别法和系统实体识别法等方法可以识别出系统的十二个类。类图(含数据模型)如下:角色:病人角色职责:提供病症信号角色职责识别:负责生成、实时提供各种病症信号。角色:医生角色职责:对病人负责,负责处理病情的变化角色职责识别:(1)需要系统支持以完成其日常工作(2)对系统运行结果感兴趣角色:值班护士角色职责:负责监视病人的病情变化角色职责识别:(1)使用系统主要功能(2)对系统运行结果感兴趣角色:标准病症信号库角色职责:负责向系统提供病症信号的正常值角色职责识别:(1)负责保持系统正常运行(2)与系统交互(三)用配置图描述系统的体系结构用配置图可以进一步描述系统的网络结构。配置图如下:四、用UML的动态建模机制定义描述系统结构元素的动态特性及行为(一)用状态图描述系统结构元素的动态特性及行为状态图如下:(二)用序列图和协作图描述病人病情异常时系统的情况序列图如下:生成协作图如下:(三)用活动图描述系统在监护病人时的状态变化活动图如下:心得体会:通过本次课程设计,我对于UML有了更深刻的了解,能更熟练的使用UML在RationalRose中进行建模,同时也对软件工程及面向对象等方面的知识有了一个温习和巩固,对今后的学习起着积极的作用。在实验中碰到的几个困惑,或请教老师同学,或自己查阅资料都得到了解决,许多以前不甚理解的地方也豁然开朗,收获很大。