基于SSH框架的老年健康系统分析与设计
摘要:为帮助老年公寓为老年人提供个性化、人性化、高质量的护理服务,通过对老年公寓运营过程和业务流程进行需求分析,基于SSH开发框架分析并设计了老年健康看护系统,提出了一个有效的解决方案。
关键词:老年健康系统;SSH;系统架构
0 引言
我国日益严重的社会老龄化问题及其引发的一系列社会问题将是全社会需要面对的重要课题。近一两年在一些大城市迅速出现的老年公寓已经逐渐取代落后的养老院体制,成为对该课题的重要探索,而且已经产生了市场价值。在信息技术迅猛发展的今天,为更好地为老年人提供个性化、人性化、高质量的护理服务,实现老年公寓管理的信息化、系统化、集成化和现代化,极有必要探究如何设计适应于老年公寓管理的老年健康看护信息系统,以提高老年公寓的工作效率和服务水平。
1 系统需求分析
通过对老年健康看护业务的运行过程进行需求分析,以及用例的详细规格说明分析后,可确定系统基本功能模块。老年人健康看护系统主要由入院预约管理、出入院管理、护理信息管理、医疗业务信息管理
、日常护理记录、特殊护理记录及医护信息管理等功能模块组成。系统功能模块如图1所示。
图1 系统功能模块
2 系统架构设计
就目前流行的轻量级Java Web架构实际上是比较一致的,通常会使用Spring作为系统架构核心,向上整合MVC框架,向下整合ORM框架。使用Spring的IoC容器来管理各组件之间的依赖关系,而Spring的声明事务将负责业务逻辑层组件的事务管理。
为取得更好的系统扩展性,本系统在系统架构设计时采用了贫血模型。该架构设计的关键是将领域对象(Domain Objects)和业务逻辑进行解耦。传统设计中一般将业务逻辑的实现和领域模型耦合,这样系统架构更利于理解,但是解耦不佳,一旦业务发生比较大的改变,系统架构往往需要重构,对于像老年公寓这种管理模式尚未形成程序化的系统来说,业务需求的变化往往是不可避免的,因此这在系统架构设计中要重点考虑。而贫血模式就是将领域对象从业务逻辑中提取出来,将领域对象设计为单纯的数据类,即每个领域对象类只包含相关属性,而所有的业务逻辑都由业务逻辑组件来实现。贫血模型的优点是:开发简单、分层清晰、架构明晰且不易混淆、所有的依赖都是单向依赖、解耦优秀。
在这种贫血模型下,系统的业务逻辑对象被设计为DAO组件的门面(Facade),封装全部的业务逻辑方法。这样,Web层就只需要和业务逻辑组件之间进行交互,而无须去访问底层的DAO对象了。经设计,本系统的系统架构主要有如下分层:表现层:主要由JSP页面组成,前端的验证和用户体验改进主要采用jQuery及其组件;控
制层:主要使用Struts2框架技术来实现;业务逻辑层:主要由Spring IoC容器管理的业务逻辑组件组成,完成了系统的业务逻辑实现;DAO层:通过对领域对象的操作,实现数据持久化;领域对象层:主要提供业务内领域对象的实现,由Hibernate Session管理。整个系统的架构如图2所示。
图2 系统架构结构
2.1 领域模型和Hibernate持久层设计
由于系统架构设计时采用了贫血模式,这样系统中的领域对象实际上无需承担业务逻辑的实现,更能和数据库中的表一一对应,利用Hibernate Session管理,领域对象的实现更简单且开发效率相当高。同时通过利用Hibernate提供的O/R Mapping支持,系统能够使用面向对象的方式来操作关系数据库,减少了关系数据库操作和面向对象编程的转化,提供了程序员的开发效率。在实际开发中,只需根据从系统需求分析中提取出领域对象,将这些领域对象抽象成类,再罗列出需要进行持久化保存的持久化对象(PO)即可,最后通过Hibernate 来管理其和对应数据库表的联系。开发中,甚至可以通过使
jquery是什么功能组件用ORM 工具完成PO对象生成数据库表。
2.2 业务逻辑层设计
系统的业务逻辑是由业务逻辑组件和DAO组件组成的。其中,DAO组件主要是通过操作领域对象来实现对数据库表的操作,业务逻辑组件则通过调用DAO组件的相应接口从而完成相应业务逻辑或流程的实现。这样的系统框架使得业务逻辑组件只需关心业务逻辑的
实现,而无须再关心数据库的操作。
这里以EmpMgr业务逻辑组件为例,说明业务逻辑组件与DAO 组件之间的关联,如图3所示。
图3 EmpMgr业务逻辑组件与DAO组件之间的关联
从图3中可以看到,EmpMgr接口中定义了大量的业
务方法,这些业务方法通过调用EmpDAO组件和RoleDAO组件的相应接口实现自己的业务逻辑。例如:业务方法newEmp就会通过调用EmpDAO组件的addRole接口操作领域对象Emp完成数据的保存,从而完成增加一个新的医护人员的业务操作。而每个业务方法可能会涉及到多个DAO组件,而DAO组件可能同时操作多个领域对象,因此每个业务逻辑方法就可能需要涉及多条记录的访问。
按照系统功能模块划分,在设计阶段结合SSH框架实现特点,系统还可以设计业务服务(service)层,为Web层和控制层访问业务逻辑组件提供一个统一的门面。
2.3 系统Web层设计
经过领域对象、DAO组件和业务逻辑组件的设计,系统中所有中间层的内容就已经获得了,在系统的具体实现中,只需将这些业务逻辑组件配置并部署到Spring的IoC容器中即可,其他的管理工作,例如会话、缓冲和事务就由Spring容器完成了。Web层只需通过调用这些业务逻辑组件的门面或直接调用业务逻辑组件某个接口就可以完成相应功能。当然Web层的实现技术也很多,本系统使用了JSP 做View,而利用Struts2做控制器的实现方式。
3 结语
本系统一期项目开发已经完成并已经上线使用。上线使用以来,系统运行良好,极大简化了老年公寓的业务办理流程,有效地提高了健康护理效率,充分发挥了业务数据的作用,为分析、决策提供了帮助。但是,老年公寓健康护理管理系统的建设是一项系统工程,需要适时不断改进、不断完善,只有这样,才能保证系统能够不断适应老年公寓发展的需要。
参考文献参考文献:
[1] 国家人口发展战略研究课题组.国家人口发展战略研究报告[R].2011.
[2] 林晓嵩.健康管理在我国人口老龄化进程中的作用[J].中国全科医学,2006,9(21).
[3] RUB HORROP,JON MOCHACEK,REDSAGA. Spring专业开发指南[M].北京:电子工业出版社,2006.
[4] BUDI KURNIAW AN.深入浅出Struts2[M]. 杨涛,译.北京:人民邮电出版社,2009.
[5] JAMES ELLIOTT,TIM O’BRIEN.精通Hibernate[M]. 刘平利,译.北京:机械工业出版社,2009.
[6] ERIC EV ANS.领域驱动设计[M].陈大峰,译.北京:清华大学出版社,2006.
[7] CRAIG LARMAN.UML和模式应用[M].方梁,译.北京:机械工业出版社,2004.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论