维普资讯 http://www.cqvip.com 第2l卷第2期 河海大学常州分校学报 Vo1.2l NO.2 2007年6月 JOURNAL OF H0HAI UNIVERSⅡY CHANGZHOU Jun.20O7 文章编号:1009—1 130(2007)02-0050—04 UML在医院网上挂号预约系统分析与设计中的应用 牟艳,楚德博 (河海大学计算机及信息工程学院,江苏常州213022) 摘要:基于面向对象技术,采用UML开发医院网上挂号预约系统.通过对系统的分析和设计,形成了完整的文档, 最终运用面向对象语言实现了网上挂号预约系统.系统的开发过程与传统的结构化方法相比.可实现分析与设计阶 段的平滑过渡,提高了软件开发的效率,在应对需求发生变化、提高软件复用率等方面体现出特有的优越性. 关键词:UML;面向对象建模;网上预约挂号 中图分类号:TR399;R197.34 文献标识码:A 网络技术的发展,使医院门诊的挂号工作发生了变化,病人在家中通过网络便可实现挂号预约.然而构 建网上挂号预约系统涉及病人、医院、运营商等多方面的因素,因此,选择科学的开发方法和合理的建模工 具对系统的开发至关重要.面向对象(Object.Oriented,oo)技术可以有效提高软件生产率,缩短软件开发时 间,提高软件质量,降低软件复杂性.UML(Uniifed Modeling Language,统一建模语言)是一种面向对象的建 。模工具,代表了当今软件开发技术的发展方向.本文中作者以UML为建模工具,开发医院网上挂号预约系 统,并将UML贯穿于系统分析设计的全过程,大大提高了软件设计开发的效率和质量. 1 UML简介 UML是一种建立在现代抽象模型理论上的表示法体系结构.运用UML提供的可视元素构件可以设计 和表达出复杂的面向对象的软件体系结构.UML采用面向对象机制来表达其本身的语法和语义.通过这种 统一的表示法体系.可以支持任何基于O0的方法学. UML的作用域[・]不但支持面向对象的分析与设计,而且支持从需求分析开始的软件开发的全过程,适 用于各种软件开发、软件生命周期的各个阶段、各种应用领域以及各种开发工具.在系统分析阶段,使用 UML的用例图来捕获用户的需求;使用类图来描述系统的静态结构;用例和类之间的协作,可用状态图、顺 序图、合作图等来描述.在系统设计阶段,则在分析模型的基础上增添实际计算机系统实现所需的细节,包 括人机交互、任务管理和数据管理等.最后通过构件图和部署图显示系统实现时的一些特性[ . 通过Rose 2003等建模工具实现的正向工程,可以将UML模型转换为多种程序设计语言代码;使用反 向工程可将程序源代码转换为UML模型.这种特性大大减轻了程序设计人员的编码负担,同时对程序错误 的检查也大有帮助. 2网上挂号预约系统分析 2.1业务需求分析 医院网上挂号预约系统由预约挂号、医生查询和系统管理等模块组成. a.病人登录系统后。可以浏览医院内所有医生一周内的值班信息表。选择挂号的科室和价格;系统自动 列出符合病人要求的可预约的医生信息列表。并提供相应的预约导航链接:病人通过导航链接查看医生的 详细信息,如专长、职称、联系电话等。一旦找到合适的医生。便可正式预约挂号.同时系统还具有向病人提 供查询已有预约和取消已有预约的功能.允许病人在线修改个人联系信息和登录密码. 牧稿日期:2006—07—10 作者简介:牟艳(1963一) 女,北京人,副教授,主要从事软件工程技术方面的研究 维普资讯 http://www.cqvip.com 第2l卷第2期 牟艳.等UML在医院网上挂号预约系统分析与设计中的应用 5l b.医生通过系统可以查询自己的值班信息、求医病人的预约信息及病人的详细信息. c.管理员应用系统,可以查看所有医生的值班信息,并可进行添加、修改、删除等维护工作;可以对系统 处理过的所有预约信息进行查询和统计.为医院决策机构提供参考. 系统应具有良好的可扩性.可以方便地向系统 框架中添加扩展功能模块:同时系统本身可以作为 一个功能模块与医院已有的管理信息系统进行整 合.及时将医生出诊信息和医院情况的临时变化信 息提供给病人。使病人减少就诊的盲目性。提高挂号 的准确性[3]. 2.2需求建模 用例图是UML中起支配作用的视图.它描述系 统外部的可见行为。因此。在软件开发的需求获取阶 段.通常使用用例图对系统进行需求建模. 用例图展示系统的功能结构.定义了若干参与 者及其可以参与完成的特定任务.即用例.医院网 图1 网上预约挂号系统用例图 上预约挂号系统的主要参与者是病人、医生和管理 Fig.1 Use case diagram of the book registration system 员.医院网上预约挂号系统的用例图如图1所示. 用例图模型除描述系统的需求外.对系统的驱动和后续开发还具有强制的约束功能. 2.3领域建模 用例图使开发人员和用户都容易理解系统的需求,但用例图只是从用户的角度来描述系统的功能,反映 了操作者与系统的交互过程.未能清晰描述其中蕴含的业务概念及其相互之间的关系.描述这些业务概念及 其相互间的关系.常用的方法是产生一 个类图。即领域建模 .在领域模型中, 通常用类表示在系统中具有意义的实 体或概念:用关联和泛化表示这些概念 之间的关系.在网上预约挂号系统的 领域模型中包括作为实体类的病人、预 约信息和医生值班信息.以及作为边界 类的预约挂号界面和作为控制类的预 约挂号数目等. 2.4用例实化 用例图描述了从系统外部看到的 系统功能.领域模型定义了重要的业 务概念之间的关系.分析阶段的主要 任务是以适当的方式实现用例中规定 图2预约挂号用例顺序图 的行为.在UML中通常借助一种称之 Fig.2 The sequence diagram of book registration 为“实化”的技术来完成这项任务.即对 每个用例。开发一个高层的交互。说明所需要的系统的行为…. 在UML中。用顺序图完成用例的实化.顺序图按时间顺序分析对象之间发送消息的先后次序,说明对 象之间的交互过程.以及系统执行过程中在某一具体位置将发生的事件.顺序图可以刻画出一个用例的业 务流程以及在这个流程中涉及到的具体对象.表达了用例在技术上是如何实现的.根据图1所示网上预约 挂号系统的用例图。对其中的“预约挂号”用例进行实化.得到的顺序图如图2所示. 2.5建立分析模型 图3为预约挂号系统的类图.即分析模型.该模型主要包括来源于领域模型的信息以及用例实化过程 中的信息.在分析阶段得到的模型与平台无关。它能加深系统开发人员对系统的总体宏观的认识,是系统设 维普资讯 http://www.cqvip.com 52 河海大学常州分校学报 2007年6月 计的基础. 3网上挂号预约系统设计 3.1细化类图 作为分析模型的类图描述了类和类之间的静态关系,类图的建模贯穿于系统分析和设计的全过程.建 模通常从客户所能理解的类开始,最终往往成为只有开发小组才能理解的类.类和类之间有多种连接方 式.如关联、泛化等,体现在类图的内部结构当中,并通过类的属性和操作反映出来.各个类的属性、操作应 在设计阶段加以补充. 3.2设计数据库模式 数据库是系统开发中不可缺少的部分,当前流行的数据库系统有关系数据库系统和面向对象数据库 系统.关系数据库在概念结构设计时采用的工具主要是实体.联系图(E.R图),但是E-R图只能对数据建 模.而不能对数据库中的触发器、存储过程等行为建模.与E.R图相比,UML的类图不但可以用于数据库设 计.而且可以用类的操作来描述触发器和存储过程,具有更强的描述能力 . 在应用UML进行数据库设计时,可利用UML的扩展机制定义一些版型,用于表示与数据库相关的概 念.利用Rose 2003提供的数据建模功能,即可根据UML的类图进行数据库设计. 病人 网页页面 约r空白预约、 编号 )一【堡兰堕星JI挂号信息J 病情 医生值班信息表 页约信息l 修改密码() 设置病情描述() 值班日期 l就绪卜—一 获取病人信息() 时间 l嘉 l 预约控制对象 医生编号 预约信息 科室 预约流水号 o.. 1 I添加预约信息()l1 0・・ 添加值班信息() 成功 无剩余/ l凰 有剩余 医生编号 ——— 删除预约信息()ll修改预约信息()I 修改值班信息() 失败 设置流水号() }合法性检查()l 删除值班信息() 图3预约挂号系统类图 图4用户预约挂号信息状态图 Fig.3 The class diagram of bOOk registration system rig.4 The state chart of book registration information 3.3建立行为模型 完整的设计应指定系统种类的结构和行为,类图定义了预约挂号系统的静态结构.虽然对象行为的信 息反映在实化用例所定义的顺序图中,但没有捕捉到单个对象各个操作之间的关系,因此在系统设计时应 采用UML的状态图指定对象的行为.状态图描述一个实体基于事件反应的动态行为,显示了该实体是如何 根据当前所处的状态在不同的时间做出的反应.它是对用类描述对象的补充,反映了此类对象具有的所有 可能的状态及当某些事件发生时其状态的转移情况. 在本系统中.一个正确的挂号预约信息的生成,须经历不同的几个状态.首先病人提出预约请求,预约 挂号子系统初始化后随之产生一个空的挂号预约信息;然后由病人填人预约日期、科别、医生、时间段等信 息并提交.系统检查预约信息,如果合法,则继续检查此时的预约人数是否超过此医生的最大预约限额,若 此时的预约人数超过了该医生的最大预约限额,系统销毁此次预约信息,提示病人预约人数已满;如果不合 法.则提示用户重新填写.一旦通过了合法性检查,则此预约挂号信息成为合法信息记录,系统将其加入到 数据库中.图4为描述用户预约挂号信息的状态图. 3.4建立实现模型 实现模型用于显示系统实现时的一些特性,由构件图和部署图构成. 构件图显示一组构件及其相互之间的关系,包括编译:链接或执行时构件之间的依赖关系.利用构件图 可以方便地对构成某一功能各组件之间的相互关系建模. 部署图反映系统的网络拓扑结构和系统物理分布.系统采用B/S模式实现网上预约挂号功能,病人信 息通过Intemet接人医院Web服务器,Web服务器将其请求转送给预约服务器;医院医生和管理人员通过 医院内部局域网与Web服务器进行交互,再由Web服务器将操作请求转发给预约挂号服务器. 维普资讯 http://www.cqvip.com 第21卷第2期 牟艳.等UML在医院网上挂号预约系统分析与设计中的应用 53 4结束语 应用面向对象技术和使用UML建模是软件开发技术的发展方向.与原有的面向数据流的结构化开发 模式相比,可实现分析与设计阶段的平滑过渡,可更容易地对系统的需求变化进行管理,有效控制软件的开 发风险及开发进度.提高开发效率及软件的可重用性、可扩充性.本文作者在应用UML开发网上预约挂号 系统过程中,充分体现了上述特点,取得了较好的效果. 参考文献: [1]朱三元,钱乐秋,宿为民.软件工程技术概论[M].北京:科学出版社,2003:23. [2]冀振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社,2003:45. [3]梁韵怡,杨云芬.门诊预约挂号信息系统的应用[J].护理管理杂志,2004,7(4):57—58. [4]Priesfley M.面向对象设计UML实践[M].龚晓庆,译.2版.北京:清华大学出版社,2005:53—64 [5]王少锋.面向对象技术UML教程[M].北京:清华大学出版社,2004:72—85. Analysis and Design、 th UML in Hospital Online Registration Booking System MU Yan。 CHU De-bo (College of Computer&Information Engineering,Hohai Univ.,Changzhou 2 1 3022,China) Abstract:The hospital online registration booking system was designed by the method of UML modeling that based on object oriented technology.The whole related documents aye completed through the process of operation modeling,system analysis and system desin.Meanwhigle the system was carried out with OOL (Object Oriented Language).Comparing with the method of structured design that used before,the method of UML modeling realized smooth transition over the phase of analysis into design and highly improved the efficiency of developing software,and it also showed peculiar advantage in aspect of adapting to changing needs and boosting ratio of software reuse. Key words:UML;object—oriented modeling;online registration booking system