1 引言
由于血液采集、存储、使用等流程管理不善,血液信息不能共享,给国家和人民的生命财产造成巨大的威胁。随着血液中心的管理模式向以业务流程为中心转变,传统的血液管理系统已经不能适应新的需要,我们必须开发网络环境下运行的血液管理信息系统,以满足各使用单位进行“实时、动态跟踪”血液数据的要求。根据目前血液管理系统的特征、客户的反馈意见和现有信息技术的发展,我们提出了基于BPM的血液管理信息系统的开发。
整个系统的设计将以《义务献血法》、《血站管理办法》为依据,产品满足卫生部有关血液管理的相关政策、法规要求。该系统以血站为主要应用对象,涉及血源管理、体检管理、化验管理、采血管理、血库管理、成份制备管理、质控管理、站长管理等;涉及的部门和人员有血源科、体检科、化验科、采血科、成分科、血库、献血办、质控科、财务科、总务科、人事科、业务科、站长等。血站各部门的信息通过数据库和网络实现共享和交换,对外部通过WEB进行信息查询和发布。其中管理系统部分仅在血站内部使用,所面对的用户较少、信息处理的速度快且安全性要求较高;信息共享和交换要求面向所有授权用户。鉴于对系统的特殊要求,系统的设计按照实用性与先进性、经济性与扩展性并用的原则进行。在系统设计中,首要考虑的是实用、便于操作、易于管理和维护,保证数据交换的安全性。
2 业务流程建模语言(Business Process Modeling Language)
BPM(Business Process Management)是一种基于业务流程技术(Work Flow)及企业应用集成技术(EAI)的新型的管理信息系统开发技术,强调从业务流程的角度对企业进行管理,依靠业务流程的改进推动企业持续发展。BPM的核心思想是为企业内及企业间的各种业务流程提供一个统一的建模、执行和监控的环境。BPML(Business Process Modeling Language)是用XML语法表达业务流程的一种语言规范,它为我们定义企业业务流程和复杂的web服务提供了依据。
BPML规范为表达业务流程提供了一个具体的模型,为描述业务流程做了详细的规定。它基于XML扩展,是用于业务流程建模的元语言。业务流程通常包含以下四种基本实体:工序(Process)、活动(Activities)、组件和数据(Components)和控制部分(Control)。其中,(1)Process是模型中工序的集合,是完成特定任务的执行顺序,一个工序包括若干活动、相关数据和子工序;(2)活动是对具体功能的执行,复杂活动可以包含子活动。较大工序的子工序可以是活动本身,因此对活动的定义普遍适用于工序的定义;(3)组件是指基于XML语法的应用程序;(4)控制是对执行顺序的规定,通常以数据流的形式控制哪些活动要被执行或终止。
Namespace(命名空间)是BPML重要组成部分之一,在我们的模型中所有的命名都应包含在这个命名空间中。通常命名空间应包含对工序(Process)、实例(Instance)、功能(Function)、Web服务描述语言(WSDL)等定义。在BPML中允许自定义命名空间,用以支持用户的扩展。
3 MVC设计模式
从狭义上说,设计模式是指某个具体的类;从广义上说,它可以是任何粒度的软件集合。小到一个类,大到整个系统,都可以被认为是一个可以复用的组件。设计模式作为一种软件开发的指导思想,有效的支持了变化和复用的要求,在面向对象设计中发挥了极其重要的作用。MVC(Model—view—Controller)设计模式来源于面向对象语言Smalltalk,它的主要思想分为三个部分:MVC设计模式包括三种对象:模型(Model)是应用对象,即业务处理模块;视图(view)是屏幕上的表示,即用户视图模块;控制器(Controller)定义用户界面对用户请求的响应方式,即流程控制模块。
图1 MVC模式
该模型将实现两个功能(图1所示)。其一,Controller首先通过用户界面生成请求条件。然后调用Model中的相应业务逻辑程序化请求条件,最后View将处理结果生产HTTP界面返回用户。其二,是将用户提交的请求转化为系统识别的语句,判断用户请求是否符合安全权限,并通过ModeI返回。这样就实现了用户请求过程和数据库分离,因此对于企业级应用是一种有效的解决方案。
通过MVC设计模式和BPM相结合构建血液管理信息系统,可以有效利用资源,提高复用性及MIS系统效率。
4 基于BPM的血液管理信息系统设计
在系统需求及功能分析的基础上,把血液管理信息系统开发划分为如下3个部分:业务流程建模、数据库设计和用户界面。
4.1 业务流程建模
图2是用BPMN(Business Process Management Notation)建立的一个完整的血液管理信息系统流程,其中活动如果有其子活动,用“+”表示:
在业务流程建模阶段,首先要对业务流程作深入的分析,确定组织机构之间及其内部的业务流程处理工序,确定控制流的走向。同时要对各流程进行细化,包含相关实体的定义及其上下文的信息,由于各个流程之间可以互相通信,我们对业务流程进行分层次建模。其次,活动之间通过信息转移进行联系,由上层活动提供输入资源,活动根据相应的要求进行处理,完成其功能。处理完毕后,将所请求的信息提供给相应的活动。以图2中的血库为例:“成份科”从其上层活动“采血科”和“化验科”得到信息并对其处理,将结果告知血库将其检验结果通知血库,血库根据要求进行相应的处理。从一个活动向另一个活动的转移可以是有条件的,也可以是无条件,如:采血科向血库提交成份血就是无条件的,而进入化验科的信息需要是体检合格人员的信息。
4.2 Mvc模式系统功能设计
4.2.1 血液管理信息系统模型(Model)
图2 血液管理流程图
系统总体设计如图3所示,将系统程序结构按照科室进行划分,每一个科室设计为两个包(Package),界面包(UI Package)包含系统界面的一些类放在一起,用来显示系统与用户的交互界面,并将用户的请求发送到事务包(Business Package);事务包(Business Package)处理所有有关数据库及其他的事务,并将处理结果返回到用户界面(UI Package)。
图3 总体模型
子系统设计模型以图4血源科子系统为例,血源科子系统也分为两个包(Package):界面包(GUI Package)和事务包(Business Package)。界面包包含的事务对象有血员不变信息、血员可变信息、标签输出、输入血员信息、淘汰血员信息,界面包含血员基本信息录入界面、血员基本信息查询界面、查体结果统计界面、化验结果统计界面、Rh血员情况录入和查询界面、采血计划制定界面、献血情况统计排名界面、信息发布界面等。
4.2.2 构建系统视图(View)
用户视图负责产生返回客户端的HTML页面,图5是应用在血液管理系统中的查询界面。
这些不同视图的都是通过Model的两个程序集来处理业务逻辑返回处理结果并由Controller控制显示的。通过User—Control技术把业务逻辑和用户界面分开,可以在不改变业务逻辑功能的情况下应用CSS样式表等技术格式化页面,形成好的软件开发模式。
图4 血源科子系统
4.2.3 构建交互控制器(Controller)
Controller控制对用户的响应方式和流程:将用户请求提交给相应的模块,并将模块的改变及时反馈给用户视图。Controller将HTTP协议输入到与协议无关的程序集,整合业务逻辑处理元素,然后委托页面构建组件,生成响应客户端的界面。其次,Controller可根据客户端提交的请求调用相应的程序集处理业务逻辑返回客户端显
示。
图5是我们以血源科为例构建的交互式控制器。经过实体对象分析和规范化处理后,设计了系统代码表、血员表、淘汰学员表、固定资产档案表、人员信息表、映射表等数据库表。其控制关系为:一条血员可变信息对应一条血员不变信息,反过来,一条血员不变信息可对应一条或者若干条血员可变信息;血员有偿献血信息和无偿献血信息都从血员可变信息继承而来,具有血员可变信息的所有特征;输入血员基本信息时(包括可变信息和不变信息),可以有一条或者没有血员基本信息。淘汰信息与血员基本信息关联,即淘汰的血员必须有血员基本信息。
图6 血源科Controller
4.3 安全机制
血液管理信息系统在B/S模块的开发过程中,使用.Net内置验证控件进行验证,同时针对各种可能输入的脚本关键字、SQL关键字进行监控。在涉及到数据库操作中,使用数据库存储过程,这样既保证数据库的连接方式的安全,也防止用户通过恶意的SQL注入对数据库进行攻击。
5 结束语
本文介绍的血液管理信息系统已经在西部多个城市的血站、血液中心中应用。这种研究在BPM基础上利用MVC设计模式构建MIS系统的设计方法对B/S结构的MIS开发有着重要的现实意义。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于BPM的血液管理信息ERP系统的构建
本文网址:http://www.toberp.com/html/consultation/1081967887.html