面向服务的门诊药房系统建模
2012-09-27王旭辉李廷全
王旭辉,李廷全,覃 勇
(重庆通信学院 重庆 400035)
面向服务的门诊药房系统建模
王旭辉,李廷全,覃 勇
(重庆通信学院 重庆 400035)
SOA就是面向服务的架构,是一种以通用为目的、可扩展、具有联合协作性的架构。SOA技术在门诊信息系统中的应用,用以解决传统软件开发所带来的修改、维护困难,难以推广和移植的缺点。使用UML等建模工具对门诊信息系统中药房功能子系统进行建模,并基于SOA技术,发现、定义其所包含的服务组件,并定义各服务的功能,为下一步的代码实现奠定了基础。
面向服务的架构;建模;医院信息系统;UML
随着计算机技术的发展,业界提出面向服务的架构(Service Oriented Architecture,SOA)作为软件体系结构的新的发展阶段,以帮助软件开发商解决新时期软件开发中存在的 “信息孤岛”[1]问题。门诊信息系统是医院信息系统(Hospital Information System,HIS)的一部分,有服务区域范围相对固定,规模不大,人员少,科室分界相对模糊等特点。利用SOA面向服务的架构,来实现门诊信息系统,不仅可以减轻日后管理系统升级和功能扩展时所花费的工作量,还能够快速的根据用户的要求对相应的功能构件进行修改,以解决系统功能扩展风险较大,维护困难,软件缺少统一的标准,难以推广和移植等问题,不同单位的门诊部可以利用服务的可重用性根据自己单位的需求可以快速的构建出自己的门诊部信息管理系统,从而节约开发时间。
这里则是以面向服务的架构的方式,使用UML等建模工具实现对门诊信息系统中药房功能子系统的建模,发现并定义其所包含的服务组件,并定义各服务的功能。
1 面向服务架构SOA
1.1 SOA的定义
SOA[2]即 Service-Oriented Architecture,就是面向服务的架构。是一种以通用为目的、可扩展、具有联合协作性的架构,所有流程都被定义为服务,服务通过基于类封装的服务接口委托给服务提供者,服务接口根据可扩展标识符、格式和协议单独描述。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在系统中的服务可以以一种统一和通用的方式进行交互。服务可以采用一种统一和通用的方式进行交互。通过SOA技术,使医疗信息系统的应用摆脱面向技术的解决方案的束缚,并能够轻松应对医疗以及医保服务变化、发展的需要。
1.2 SOA的特点
SOA具有如下特点[3]:
1)松散耦合 SOA将服务使用者和服务提供者在服务实现和服务使用上隔离起来,服务请求者不知道服务实现的技术细节,只是通过消息调用操作,请求消息和响应。这样,服务能够在完全不影响使用的情况下进行修改和更新。
2)粗粒度服务接口 采用粗粒度服务接口的优点在于使用者和服务层之间不必再进行多次的往复,同时也增强了服务稳定性问题。
3)可重用的服务 服务工作在特定处理过程的上下文中,独立于底层实现和客户需求的变更。并采用通用格式提供重要的业务功能,为开发人员节约了大量时间,降低成本。
4)标准化的接口 XML和Web服务标准化的广泛应用和深入发展也加速了SOA的推广,并提升了SOA的应用价值。
2 面向服务的药房系统的建模
下面就以门诊的药房系统为例,使用SOA的方法实现对该系统的建模,以及相应功能服务的定义。
2.1 功能分析
门诊药房系统是医院信息系统的一部分,主要功能包括根据门诊医生的诊断及处方信息和门诊划价收费系统的收费信息来实现药品的发放、并对处方或医嘱的合理用药审查、药物信息咨询、根据需求实现对药库发送药品请领的请求等。具体建模过程是通过用例图、时序图、流程图和服务流程图来进行分析和实现的。
2.2 用例图
用例图[4]是用来描述系统应该具备的功能,并描述用例和参与者之间的关系。
这里借助常用UML建模工具Rose 2003来实现对门诊药房系统的用例,如图1所示。主要角色:药方医生。用例主要包括系统管理、出药查询、并在确认处方后实现出药操作,盘点药房药品,并根据药房的药品库存,对药库实现请领操作。
图1 门诊药房用例图Fig.1 Use case diagram of outpatient pharmacy
2.3 时序图
实现了用例后,采用时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。时序图是为了描述对象是如何交互的,并且将重点放在分析对象所发消息的先后顺序。它是对系统工作流程的一个过程反映,直接影响着系统将来是否与实际关系相符。
图2 门诊药房时序图Fig.2 Timing diagram of outpatient pharmacy
2.4 流程图
流程图[5]经一个系统的信息流、观点流或部件流的图形代表。在完成了药房功能子系统的用例图和时序图后,可以根据药房医生的工作过程来实现流程图。并根据流程定义同业务模型进行交互操作的方法。
图3 门诊药房流程图Fig.3 Flow chart of outpatient pharmacy
2.5 服务划分及功能定义
经过功能分析和流程分析后,相关系统需要的服务操作就暴露出来。分析相关业务流程得出的服务操作,再加上之前的简单用例,就可以定义服务的响应的基本功能。以实现各种服务组件在流程和逻辑实现过程中的装配操作。
图4 服务流程图Fig.4 Timing diagram of service
经过前面的分析与设计,我们已经实现了门诊药房系统中业务功能的划分。下面就需要对各个服务操作进行定义和说明。
1)用户登录服务 功能是实现用户登录及信息维护,输入信息为用户名、密码、维护方式,输出结果为获取相应权限、返回操作状态。
2)药房信息查询服务 功能是按指定方式实现药房信息查询,输入查询条件,并能返回查询结果。
3)药房药品请领服务 功能是确定请领清单,并生成请领单号,输入请领信息,并返回请领单号。
4)确认付费服务 功能是根据处方号,查询、判断是否已经付费,输入处方号,输出该处方付费状态。
5)药房取药服务 功能是通过处方号领取药品,输入付费状态、处方号,实现出药操作。
3 结束语
目前,面向服务架构(SOA)已经逐渐成为软件产品开发和系统建设的主要方法[6],而基于SOA技术的的软件开发项目也得到越来越广泛研究与应用。文中借助ROSE和VISIO等建模开发工具,通过上述的操作,基本上完成了基于SOA的门诊药房系统建模,根据相关的业务流程,发现了对应的服务组件,并定义了服务组件的接口功能和操作,这就为下一步的代码实现奠定了基础。
[1]李铁,黄天培,卢坚.基于SOA实现医院应用集成平台[J].医学信息,2010,23(5):1157-1160.
LI Tie,HUANG Tian-pei,LU Jian.SOA-based application integration platform for the hospital[J].Medical Information,2010,23(5):1157-1160.
[2]唐秀良.SOA发展探索与研究[J].中国电子科学研究院学报,2009(5):473-479.
TANG Xiu-liang.ExploringSOA:Itsdevelopmentand application[J].Journal of CAEIT,2009(5):473-479.
[3]孙杰.基于SOA铁路信息共享服务建模研究 [D].北京:北京交通大学,2008.
[4]吴建,郑潮,汪杰.UML基础与Rose建模案例[M].北京:人民邮电出版社,2007.
[5]赵亮.SOA中服务建模与设计的原理及方法研究[D].西安:西北大学,2008.
[6]周曼,周荣坤,沈涛.面向服务架构(SOA)标准发展现状及趋势[J].科协论坛,2010(4):133-135.
ZHOU Man,ZHOU Rong-kun,SHEN Tao.The standard development status and trends of SOA [J].Science&Technology Association Forum,2010(4):133-135.
Outpatient pharmacy service-oriented system modeling
WANG Xu-hui, LI Ting-quan, QIN Yong
(Chongqing Communication Institute,Chongqing400035,China)
SOA is Service Oriented Architecture which is a kind of general purpose,scalable framework with a joint collaboration.The traditional software development is difficult to modify, maintain, promote and transplant.The application of SOA technology in the outpatient information systems is used to solve these shortcomings.The UML and other modeling tools to modeling the pharmacy functional subsystem of outpatient information system are used.Meanwhile,SOA technology is used to find and definite the service components which it contains,and to define the various service functions.It is a foundation of the next step for code achievement.
SOA;modeling;HIS;UML
TP311.5
A
1674-6236(2012)03-0057-02
2011-12-07 稿件编号:201112035
王旭辉(1979—),男,四川成都人,硕士研究生。 研究方向:计算机应用技术。