毕业设计--儿童健康保健系统(含外文翻译)

上传人:e****s 文档编号:214901367 上传时间:2023-05-31 格式:DOC 页数:54 大小:1.83MB
收藏 版权申诉 举报 下载
毕业设计--儿童健康保健系统(含外文翻译)_第1页
第1页 / 共54页
毕业设计--儿童健康保健系统(含外文翻译)_第2页
第2页 / 共54页
毕业设计--儿童健康保健系统(含外文翻译)_第3页
第3页 / 共54页
资源描述:

《毕业设计--儿童健康保健系统(含外文翻译)》由会员分享,可在线阅读,更多相关《毕业设计--儿童健康保健系统(含外文翻译)(54页珍藏版)》请在装配图网上搜索。

1、儿童健康保健系统摘要 近年来,随着互联网和Java技术的不断开展,基于J2EE 体系结构的企业级应用发开越来越受到企业开发的青睐,J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构,J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。本设计就是基于J2EE 体系结构下的WEB 开发,设计的目的是了解J2EE体系的多层结构以及其两大容器WEB容器和EJB容器,重点掌握WEB技术、Struts和Hibernate技术、熟悉其开发环境的构建和工具的使用。在开发中使用了目前比拟流行的开发工具Eclipse 和专业的技术,本系统在设计模式上

2、采用了技术领先的Struts设计模式,整个系统的各个模块保持高度的可重用性,各个模块之间的耦合程度非常低,保证了系统的高可扩展性、高可维护性;本系统还使用了Hibernate 技术,Hibernate 是目前最流行的开源对象关系映射ORM架构,对数据库完全使用面向对象的方式进行操作。本系统的功能为角色进行了权限的分配,普通用户提供的功能包括:注册、修改信息、查询相关信息;管理员用户提供的功能包括:用户成员的管理添加、修改、删除、用户信息的管理添加、修改、删除。本系统采用windows作为操作系统;使用MySQL作为后台数据库,使用Hibernate技术进行数据库操作;用Myeclipse作为客

3、户端应用程序的开发工具,Web效劳器选用Tomcat6.18版本。整个设计说明是面向对象的过程,设计说明主体分为绪论,需求分析,总体设计,详细设计,实现五个局部,并每个局部都有相应的详细说明过程。 关键字:J2EE;Web开发;Struts;Hibernate;保健系统The Childrens Health Care SystemAbstract In recent years, with the rapid development of Internet and Java technology, the J2EE-based architecture of the enterprise a

4、pplications is favored in more and more companies. J2EE is an architecture which use of Java2 platform to simplify the development and management-related complexity problem. J2EE provided a good mechanism to build a scalable flexible, easy maintenance business system. The design is a web development

5、 based on J2EE architecture. The design aims is to understand the multi-tiers structure of J2EE and the tow containers - web containers and EJB containers, to master web technology, familiar with its development environment construction and use of tools. In the development, I use of the current more

6、 popular development tools Eclipse and professional skills, the system use of the technology leading Struts design patterns on the design model, all of the modules of the entire system maintain a high degree of reusability, the coupling between the modules is very low, and ensure the systems high sc

7、alability, high maintainability. The system also uses the Hibernate technology. The Hibernate is the most popular open source object-relation mapping (ORM) framework. It entirely use of object-oriented way to operate the database. The system features a role for the distribution of authority, ordinar

8、y users with the features include: registration, amended information, selects relevant information, the administrator user features include: the management of users (add, edit, delete), the management of user information (add, edit, delete). The design specification includes five parts: exordium, re

9、quirements analysis, schematic design, detailed design, realization prototype, and each part contain detailed description of the corresponding process.Key words: J2EE; Web development; Struts; Hibernate; health-care system目录1绪论11.1 选题背景及目的11.2 研究的方法11.3 J2EE21.3.1 J2EE 的概念21.3.2 J2EE 典型的四层模型21.3.3 J

10、2EE API41.3.4 Struts 技术简介51.3.5 Hibernate 技术简介52 需求分析62.1 用例需求描述62.2 角色的识别72.3用例识别82.4用例图82.5 用例描述102.5.1 BS_11.用户登录102.5.2 BS_12.用户注册112.5.3 BS_13.用户查询信息122.5.4 BS_21.管理员登陆132.5.5 BS_22.管理员添加用户142.5.6 BS_23.管理员查询信息152.5.7 BS_24.管理员添加检查记录162.5.8 BS_25.管理员修改检查记录172.5.9 BS_26.管理员删除检查记录182.6 概念模型192.6.

11、1 发现和定义实体对象192.6.2 发现和定义边界对象202.6.3 发现和定义业务对象213 总体设计223.1 系统总体设计的任务与原理223.2 系统体系结构设计223.3系统功能设计253.4 模块结构设计253.4.1 前台模块设计253.4.2 前台类图设计313.4.3 后台模块设计323.4.4 后台类图设计373.5 实体类设计384 详细设计394.1 模块逻辑设计394.1.1 Hibernate处理逻辑设计394.1.1 前台用户逻辑设计414.1.2 后台管理员逻辑设计424.2 数据库设计444.2.1 数据库分析444.2.2 数据库表结构的详细设计465 系统

12、实现495.1 前台用户界面实现495.2 后台管理员界面实现51结论53致谢54参考文献551绪论1.1 选题背景及目的 随着人们的生活水平的提高,我们更加注重我们的健康保健问题,尤其是儿童的健康保健,儿童是我们祖国的未来,他们的健康就是我们祖国未来的美好。对此,我们需要为儿童的健康保健做出系统周全的保护,对儿童的身体健康信息要有完整的备案,以便进行调查,为发现问题、解决问题提供依据。在现代社会,互联网的开展给我们提供了很大便利,我们可以随时异地获取儿童的信息,儿童的家长只需通过互联网就可以方便上传自己孩子的健康信息,各地的医生也可以通过互联网对儿童的健康信息进行管理,这些信息都上传至一个数

13、据库效劳器上,供各地管理机构共享。为了管理这些信息,我们需要开发一个基于WEB的儿童健康保健系统,这样我们才能通过互联网实现儿童的健康保健。本系统的用户分为管理者和普通用户,管理者主要是各地的医生和决策者,系统为他们提供的功能有普通用户的管理和儿童信息的管理;普通用户主要是各地儿童的家长,家长为孩子上传和管理自己的健康信息。通过这些功能的实现,我们就可以方便地实现了儿童的健康保健。1.2 研究的方法 本设计采用基于J2EE企业架构的B/S结构模式,数据库选用MySQL及其图形界面MyFront;用Myeclipse作为客户端应用程序的开发工具,Web效劳器选用Tomcat6.18版本。使用MV

14、C框架,把一个应用的输入,处理,输出流程按照Model,View,Controller的方式进行别离,这样的一个应用层被分为三个层次模型层,视图层,控制层,使用Struts架构实现MVC,它以清晰的架构,简单的使用,完备的文档成为解决方案的的首选2;使用Hibernate持久化技术,利用Hibernate,开发人员可以方便地按照JAVA对象的结构进行持久层的开发,并可以使用Hibernate所提供的HQL(Hibernate Query Language, Hibernate查询语言)完成JAVA对象和关系型数据库之间的转换和操作。1.3 J2EE J2EE 的概念目前,Java 2平台有3个

15、版本,它们是适用于小型设备和智能卡的Java 2平台Micro版Java 2 Platform Micro Edition,J2ME、适用于桌面系统的Java 2平台标准版Java 2 Platform Standard Edition,J2SE、适用于创立效劳器应用程序和效劳的Java2平台企业版Java 2 Platform Enterprise Edition,J2EE。 J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的根底就是核心Java平台或Java 2平台的标准版,J2EE不仅稳固了标准版中的许多优点,例如编写一次、随处

16、运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的平安模式等等,同时还提供了对 EJBEnterprise JavaBeans、Java Servlets API、JSPJava Server Pages以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise Jav

17、aBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了平安机制,提高了性能1。1.3.2 J2EE 典型的四层模型 J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,SUN设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比拟容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成

18、许多层。一个多层化应用能够为不同的每种效劳提供一个独立的层,以下是 J2EE 典型的四层结构:运行在客户端机器上的客户层组件运行在J2EE效劳器上的Web层组件运行在J2EE效劳器上的业务逻辑层组件运行在EIS效劳器上的企业信息系统(Enterprise information system)层软件J2EE应用程序组件J2EE应用程序是由组件构成的.J2EE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。J2EE说明书中定义了以下的J2EE组件:应用客户端程序和applets是客户层组件。 Java Servlet和JavaServer Pages

19、(JSP)是web层组件。 Enterprise JavaBeans(EJB)是业务层组件。客户层组件J2EE应用程序可以是基于web方式的,也可以是基于传统方式的.web 层组件J2EE web层组件可以是JSP 页面或Servlets.按照J2EE标准,静态的HTML页面和Applets不算是web层组件。正如下列图所示的客户层那样,web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。业务层组件业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprise bean 进行

20、处理. 下列图说明了一个enterprise bean 是如何从客户端程序接收数据,进行处理(如果必要的话), 并发送到EIS 层储存的,这个过程也可以逆向进行。有三种企业级的bean: 会话(session) beans, 实体(entity) beans, 和 消息驱动(message-driven) beans. 会话bean 表示与客户端程序的临时交互. 当客户端程序执行完后, 会话bean 和相关数据就会消失. 相反, 实体bean 表示数据库的表中一行永久的记录. 当客户端程序中止或效劳器关闭时, 就会有潜在的效劳保证实体bean 的数据得以保存.消息驱动 bean 结合了会话be

21、an 和 JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消息。企业信息系统层企业信息系统层处理企业信息系统软件包括企业根底建设系统例如企业资源方案 (ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统. 例如,J2EE 应用组件可能为了数据库连接需要访问企业信息系统2。我们就J2EE的各种组件、效劳和API,进行更加详细的阐述,看看在开发不同类型的企业级应用时,根据各自需求和目标的不同,应当如何灵活使用并组合不同的组件和效劳。 J2EE APIJ2EE平台由一整套效劳Services、应用程序接口APIS和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对

22、J2EE中的4种技术标准进行简单的描述。l Servlet接口(Java Servlet API):处理WEB请求,并将内容返回给客户端。一般它出现在效劳器表示层中。l JSP接口(Java Server Pages),有HTML和Java代码的片段组成,在编译后类似一个Servlet接口,主要为了处理显示的内容。优秀的JSP接口易于维护,不负责业务逻辑方面的内容。而劣质的JSP接口那么将所有业务逻辑都载入,对后期的修改和维护带来诸多不便。l EJB接口(Enterprise JavaBeans):允许创立由效劳器管理的分布式对象,表示业务逻辑的EJB被划分为3类。实体bean(entity

23、bean):定义应用的数据结构。会话bean(session bean):负责与实体bean的结合,以及其他业务逻辑。消息驱动bean(message driven bean):与会话bean 类似,不同之处在于,它是由各种消息触发。l JNDI(Java 命名与目录接口):为访问目录效劳器提供的支持,用于在J2EE应用下的上下文中标识资源,为EJB和数据库连接提供定位。l Java邮件接口(JavaMail API):支持SMTPIMAPPOP等邮件效劳协议的API,也支持来自第3方的各种可用协议。l Java事务接口(Java Transaction API):简称JTA,允许应用管理自己

24、的事务。支持不同层次和不同效劳器上的多个组件,共同参与到同一个分布式的事务中来。l Java消息效劳借口(Java Message Service API):简称JMS,允许J2EE应用消息中间件(MOM)套装软件,如MQServices、SonicMQ等,允许在应用间传输消息。l Java数据库连接(JDBC API):常见的数据访问API,是Java程序与数据库系统通信的标准API。JDBC为任何兼容的数据库提供了一个通用接口。l 远程方法调用(RMI):通过网络,用于分布式、面向对象计算的标准工具。RMI允许代码可以被另一个远程的Java虚拟机进行调用,而不必与网络通信协议打交道3。1.

25、3.4 Struts 技术简介Struts 是一种方便实用的WEB应用架构,Struts的所有功能都是建立在已有的Java Web组件上的,比方Servlet、JSP或是JavaBean,它是基于MVC设计模式的架构,它只是采用了MVC模式把这些元素组织起来,使它们协同工作。更简单地说,可以把Struts作为一种开发的助手。MVC是一种设计模式。它把整个应用系统的输入、处理、输出分开。这3个局部分别对应着MVC中3个核心的模块:模型(Model)、视图(View)和控制器(Controller)。Struts就是一个MVC架构。模型是实现业务逻辑的JavaBean或者EJB组件组成,在Stru

26、ts框架中对应的是ActionForm;控制器有ActionServlet和Action来实现;视图就是一组JSP文件构成的4。1.3.5 Hibernate 技术简介Hibernate是一个基于Java的开源的持久化中间件,它对JDBC做了轻量的封装。其实,Hibernate提供的是ORM映射效劳,也就是对象-关系的映射(Object/Relation Mapping),把关系数据库转化为对象。在使用Hibernate时,以面向对象的思想来看待数据库。操作数据库时,无需考虑一条数据记录中的每一个字段的操作;一个持久化类实例便是一个数据记录;改变这个对象的属性也就是改变数据记录相对应的字段;保

27、存一个持久化类实例就是保存一条数据记录5。2 需求分析需求分析是整个开发过程中最重要的一步,其最要任务是了解和掌握信息化系统开发对象用户的工作业务流程和每个岗位,每个环节的职责,了解和掌握信息的开始产生或建立到最后输出,存档或消亡所经历的传递和转换过程;了解和掌握各种人员在整个系统活动过程中的作用。通过同用户充分的交流和沟通,决定哪些工作应由计算机来做,哪些工作由人工来做;对数据的平安性完整性和完整性各有什么要求,等等。2.1 用户需求描述 儿童健康保健系统属于一个地区性的政府机构管理系统,主要是卫生机构管理系统,卫生机构需要对每个儿童出生就备相关的档案,存储在这个保健系统内,以便专家统计相关

28、信息做出相应的决策。儿童出生时,家长必须登陆系统注册帐号,之后填写一些根本信息,如性别、姓名、出生日期、出生状况等,提交这些信息到系统备案。儿童健康保健系统的用户包括两局部,一个是前台的普通用户,包括用户在前台登录,注册,管理自己的信息和查询信息。当用户需要修改或者查看自己的信息时需要登陆,如果用户不能登录,那么需要注册后,就可拥有自己的帐号,进行保健信息管理以及查看信息。因为儿童年龄太小无法上网完成相关的操作,所以前台用户一般都是儿童家长,家长登陆系统后帮助儿童填写相关的信息,主要是儿童的根本信息,如姓名、性别、出生日期、出生医院、家庭地址、父母亲信息等等;查看信息主要是查看检查记录、询问记

29、录、特殊检查记录、还有根本信息,普通用户只能查看这些信息,而不能对其进行修改和删除操作。家长的权限就是上传和修改自己孩子的根本信息,以及查看检查记录、询问记录和特殊检查记录,其他权限如修改删除检查记录等家长都不能拥有,那些是只有管理员即医生才能拥有的权限。另一个是后台的管理员,主要是医生或者是卫生管理员,他的需求是记录儿童有关的信息,主要是检查记录、询问记录、特殊检查记录,检查记录主要是记录儿童每次体检的详细信息,询问记录是记录医生对儿童健康状况询问的结果,特殊检查记录主要是记录一些有特殊病状或者情形的检查详细情况。这些都需要医生或者卫生员对每次儿童检查时做出详细的记录,这些都将作为以后统计的

30、十分重要的依据。管理员即医生的权限比家长的权限要大,能修改删除所有记录,包括检查记录、询问记录和特殊检查记录,能添加儿童的根本信息,也就是说儿童出生的时候可以由医生来为儿童注册帐号,完成出生备案,但是不能修改儿童的根本信息,那只能由家长来完成。这个系统将跟踪地区内所有儿童从出生到成年的所有健康记录,一出生家长就必须帮助儿童进行备案,之后的每次体检或者检查、看病的具体情况都将有医生做详细的记录,其中的检查记录和特殊检查记录对专家评估当地儿童的健康状况是非常有价值的,是这个地区政府对儿童以及青少年了解的重要依据。2.2 角色的识别角色识别的任务是找出所有可能与系统发生交互行为的外部实体,对象和系统

31、。它们的行为不受系统控制,但可以提供输入给系统即使用系统的功能,或者能够响应系统的效劳请求,为系统提供效劳的接口。由用户需求的描述可知,整个系统只包含两个角色:前端用户和管理员。前端用户就是儿童的家长,负责帮助儿童完成一系列的操作,管理员就是医生或者卫生员,主要负责记录儿童的健康状况。综上所述,本系统实际包括两个角色:前端用户儿童家长,管理员医生或者卫生员。如图2.1所示 图2.1 儿童健康保健系统参与者2.3 用例识别用例识别的任务就是在角色的根底上,识别与角色有关的用例,从而得到系统的用例模型。经过分析,前台用户有两个模型:管理个人信息和查看信息,管理个人必须先注册和登陆,之后才能修改信息

32、和修改密码,所以管理个人信息有三个用例:注册、登陆、修改信息和修改密码;查看信息也必须先登陆,之后可以查看检查记录、查看询问记录和查看特殊检查记录,所以查看信息有四个用例:登陆、查看检查记录、查看询问记录和查看特殊检查记录。后台管理员有五个模块,分别是添加用户、查看用户信息、维护检查记录、维护询问记录和维护特殊检查记录。添加用户必须先登陆,查看用户信息有查看检查记录、查看询问记录和查看特殊检查记录;后三个模块都分别有增删改三种用例。2.4 用例图 在用例识别的根底上得到系统的用例模型。1.前台用户用例图如图2.2。 图2.2 前台用户用例模型2后台管理员用例图如图2.3。 图2.3 后台管理员

33、用例模型2.5 用例描述2.5.1 BS_11.用户登录1用户登录用例的需求规划见表2.1。表2.1 用户登陆用例需求规划用例名称:用户登录用例ID:BS_11参与者:用户描述:用户登录系统过程启动:主动进入用户登录界面前置条件:用户需要在登录状态后置条件:将用户的信息放在会话中;显示用户的主界面事件流:视图逻辑运算1.进入或转入用户登录界面2.用户输入用户名和密码3.系统检查用户名是否存在,密码是否正确4.将用户的信息放在会话中5.转到系统的主页面2用户登录用例活动图见图2.4。图2.4 用户登录活动图2.5.2 BS_12.用户注册图2.5 用户注册活动图2.5.3 BS_13.用户查询信

34、息2.5.4 BS_21.管理员登陆图2.7 管理员登录活动图2.5.5 BS_22.管理员添加用户 图2.8 管理员添加用户信息活动图2.5.6 BS_23.管理员查询用户信息2.5.7 BS_24.管理员添加检查记录图2.10 管理员添加检查记录活动图2.5.8 BS_25.管理员修改检查记录2.5.9 BS_26.管理员删除检查记录1图2.12 管理员删除检查记录活动图2.6 概念模型 分析概念模型是需求分析中关键的一步,是我们确定软件设计思想的关键,在本系统中,我采用的是MVC思想进行设计的,通过用例图图2.2和图2.3可以发现三种概念模型:一种是实体对象、一种是边界对象,还有一种是业

35、务对象,他们分别对应着MVC中的M局部、V局部、和C局部。实体类对象是系统实际需要操作的数据资源,是系统需要的真正的核心的资源;边界对象是系统和用户之间交互的桥梁,实现人机交互,是系统的外在表现形式;业务类对象是系统设计的核心,起到业务处理的作用,处理用户提交的业务逻辑2.6.1 发现和定义实体对象 实体对象主要是一些数据实体,用来实现对数据的持久化操作,本系统中,主要的实体类根本是与儿童健康有关的记录以及儿童的根本信息。本系统使用Hibernate架构,采用面向对象操作这些实体类,所以我可以把这些实体类都封装成JAVA对象进行操作。系统的实体类见表2.10。表2.10系统实体类 实体类 说明

36、Adminitor保健系统管理员(用户名、密码等)BabyInformation儿童的根本信息(姓名、性别、出生日期、父母亲姓名等等)Enquire儿童的询问记录BabyCheck儿童的检查记录EspecialCheck儿童的特殊检查记录Father儿童的父亲Mother儿童的母亲2.6.2 发现和定义边界对象 本系统的边界对象主要是由JSP页面封装的表单,因为我采用的是Struts架构,所以封装的表单根本全是Struts提供的ActionForm,它的流程由Struts架构控制提交给Action控制器进行处理。这些边界类见表2.11。 表2.11 系统边界类 边界类 说明LogActionF

37、orm为用户和管理员登陆提供的操作RegisterActionForm为用户注册帐号提供的操作AddInformationActionForm为用户修改个人信息、管理员添加修改用户个人信息提供的操作AddCheckActionForm为管理员添加检查记录提供的操作AddEnquireActionForm为管理员添加询问记录提供的操作AddEspCheckActionForm为管理员添加特殊检查记录提供的操作ModifyCheckActionForm为管理员添加和修改检查记录提供的操作ModifyEnquireActionForm为管理员添加和修改询问记录提供的操作ModifyEspCheckA

38、ctionForm为管理员添加和修改特殊检查记录提供的操作SelectActionForm为管理员选择查询类型提供的操作UserSelectActionForm为用户选择查询类型提供的操作2.6.3 发现和定义业务对象 业务对象是系统业务处理的核心,负责处理用户提交的请求,本系统采用的是MVC架构Struts,所有业务对象就是由Struts架构提供的Action控制器。 这些控制器见表2.12。 表2.12 系统业务类 业务类 说明LogAction负责管理管理员的登陆UserLogAction负责普通用户的登陆RegisterAction负责普通用户的注册UserModifyAction负责

39、用户信息的修改AddInformationAction负责用户信息的添加AddCheckAction负责检查记录的添加AddEnquireAction负责询问记录的添加AddEspeCheckAction负责特殊检查记录的添加SelectAction负责用户对自己信息的查询UserSelectAction负责管理员对用户信息的查询ModifyCheckAction负责检查记录的修改ModifyEnquireAction负责询问记录的修改ModifyEspeCheckAction负责特殊检查记录的修改DeleteCheckAction负责检查记录的删除DeleteEnquireAction负责询

40、问记录的删除DeleteEspeCheckAction负责特殊检查记录的删除3 总体设计3.1 系统总体设计的任务与原理1任务 从系统的总体目标出发,根据需求分析阶段对系统逻辑功能的要求并考虑到经济技术和运行环境等方面的条件,确定系统的总体结构和系统各组成局部的技术方案,合理选择计算机的通信的软、硬件设备,提出系统的实施方案,确保总体目标的实现。2原理 (1) 模块化,模块化就是把程序划分成假设干个模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,可以完成指定的功能满足部题的要求。(2) 模块独立,模块的独立概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。模块的独立程度由内聚和

41、耦合两个标准来衡量。模块的划分应该尽量做到高内聚、低耦合。3.2 系统体系结构设计1软件分层当遇到较大的软件设计时,我们需要采用分而治之的方法来对付,即采用软件分层的设计思想。我的分层设计原那么是视图表现层,业务逻辑层、数据持久层和效劳器层各自别离,互不依赖,更为重要的是业务逻辑层和数据持久层都不依赖于视图表现层。这样的目的就是为了做到模块的高内聚、低耦合,便于维护,易于扩展,降低软件开发本钱,提高软件的开发效率。本系统为六层结构:一、WEB效劳层。系统采用的是Tomcat6.0,Tomcat是在J2EE体系技术标准的具体实现,为用户提供了一个轻量级的WEB开发平台。二、过滤层。我之所以把过滤

42、器单独作为一层,是因为本系统的过滤器也担任着关键的任务,负责对提交的表单进行预先处理,进行为页面设置中文编码,更重要的是对每个Action方法进行过滤,进行数据库操作事务管理,其中的思想是:因为根本上每个Action中都涉及到数据库操作,所以我就把每个Action中的数据库操作看做一个事务,在每次进入Action之前就开始一个事务,Action结束的时候就提交事务,这样编写过滤器的好处在于每次事务开始的时候都不再需要做出相应事务处理了,过滤器已经帮我完成了这局部工作。严格来说,这一层属于DAO层,但把它分开我觉得系统的结构更为清晰三、视图表现层。本系统主要采用JSP页面表示各种客户需要的信息,

43、以及客户提交的表单。系统中的JSP页面全是单纯的页面表示方法,没有嵌入JAVA脚本,假设需要嵌入脚本,那么将脚本转换为标签形式嵌入JSP页面,做到JSP页面和JAVA代码的完整别离,互不依赖。标签只要采用Struts自定义标签、JSTL标签库和我自定义的标签。四、业务逻辑层。业务逻辑层主要使用Struts架构中的核心控制器ActionServlet和我们添加的Action JAVA文件。在这个层中我主要的任务是编写添加的Action中的execute方法,该方法控制着大局部业务逻辑。五、DAO层。这一层负责对提交的数据进行持久化、执行与数据库有关的一系列操作,包括插入、查询、更新和删除。此层采

44、用Hibernate数据库持久化技术,把关系数据库中数据转化为JAVA对象采用面向对象思想进行操作。六、数据库资源层。本层采用流行的小巧MySQL数据库以及可视化操作工具MySQL-Front。此层向DAO层提供数据库效劳,提供数据存储功能。在这六层结构中我只需负责中间二、三、四、五层的编码工作,我只需按照J2EE体系标准来进行设计就可以享用Tomcat提供的效劳。这五层的功能结构清晰,我专注的中间三层采用MVC思想进行设计。2WEB软件架构软件架构是一系列相关的抽象模型,用于知道软件系统设计的各个方面。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接那么明确和相对细致地描述组件

45、之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比方具体某个类或者对象。我们熟悉的软件架构有J2EE架构、.NET架构、传统的Client/Server架构,以及以效劳为向导的架构SOA。本系统采用MVC模式来设计,具体采用J2EE体系标准,使用Struts架构来实现MVC模式。J2EE属于三层结构,即表示层、业务层、数据层。我具体使用的技术是:JSP +Struts+Hibernate, 使用JSP结合JSTL和Struts标签库表现表示层;使用Struts来处理业务逻辑,进行页面之间的转发以及数据的传递;使用Hibernate技术进行数据持久化。3MVC架构 MVC是Model、V

46、iew、Controller三个词的缩写,三个词分别代表应用的三个组件组成局部:模型、视图、控制器。MVC架构的核心思想是:将程序分成相对独立,而又能协同工作的三个局部。通过使用MVC架构,可以降低模块之间的耦合,提供给用的可扩展性。另外,MVC的每个组件只关心组件内的逻辑,不应与其他组件的逻辑混合。本系统采用Struts架构实现MVC模式对系统六层结构中的三、四、五层进行设计。 V局部。即本系统的视图表示层,采用JSP实现。同时结合JSTL和Struts标签库表现页面。整个应用由客户端请求驱动,当客户端被ActionServlet拦截时,ActionServlet根据请求决定是否需要调用M局

47、部处理用户请求,当用户请求处理完成后,其处理结果再通过JSP呈现给用户。C局部。即本系统的业务逻辑层。Struts的Controller由两个局部组成:系统核心控制器和业务逻辑控制器。其中,系统核心控制器对应ActionServlet。该控制器由Struts框架提供,继承 Servlet类,因此可以配置成一个标准的Servlet。该控制器负责拦截所有 请求,然后根据用户请求决定是否需要调用业务逻辑控制器,如果需要调用业务逻辑控制器,那么将请求转发给Action处理,否那么直接转向请求的JSP页面,Action主要处理用户请求的相关动作,处理完之后根据处理结果断定转发方向。M局部。由Action

48、Form和本系统的DAO层组成。其中ActionForm用于封装用户请求参数,所有的用户请求参数由系统自动封装成ActionForm对象;该对象被ActionServlet转发给Action;然后Action根据ActionForm里的请求参数处理用户请求。而DAO那么封装了底层的业务逻辑,主要是数据库操作,采用Hibernate技术。4持久层ORM架构 ORM的全称是Object/Ration Mapping,对象/关系映射。ORM是一类架构的总称,它概述了这类框架的根本特征:完成面向对象的程序设计语言与关系数据库的映射。基于ORM框架完成映射后,既可利用面向对象程序设计语言的简单易用性,又

49、可以利用关系数据库的技术优势。 本系统采用Hibernate架构实现ORM。利用Hibernate,把本系统中数据库的表转化为JAVA对象来操作,开发人员可以方便地按照JAVA对象的结构进行持久化的开发,并可以使用Hibernate所提供的HQL(Hibernate Query Language)完成 JAVA对象和关系型数据库之间的转换和操作。3.3系统功能设计为了更清晰地表示系统的整体功能,绘制了系统总体功能框架图见图3.1。儿童健康保健系统前台用户后台管理员注册登陆维护信息查询信息登陆添加用户维护检查记录维护询问记录维护特殊检查记录查询用户信息 图3.1 系统总体功能框架3.4 模块结构

50、设计3.4.1 前台模块设计1.用户登录模块1包括用户登录界面模块,用户登录后台处理模块,数据处理模块三个程序界面,具体的体系结构如图3.2所示。用户登录模块用户登录界面用户登录后台处理 Login_ok.jsp Login_ok.jsp数据处理 图3.2 用户登录模块系统结构 2其用户登录模块的顺序图如图3.3所示。图3.3 用户登录模块顺序图3各对象模块的封装见表3.1。表3.1 用户登录的各对象模块封装模块名称 程序文件 功能说明 封装属性 封装方法用户登录界面模块index.jsp用户登录界面usersno,password用户登录后台处理模块UserLogAction.java后台响

51、应验证用户名和口令execute():提取username,password;并进行验证数据处理模块BabyInformationDAO.java用Hibernate数据库操作技术进行提取BabyInformation实例getBabyInformation():执行数据库查询并返回用户实例;2.用户注册模块4.用户查看信息模块3.4.2 前台类图设计经上述分析得到各用例的对象及封装,经过归纳,合并,补充等优化工作后,得到前台模块的类及关系图如图3.10所示。图3.10 前台类图3.4.3 后台模块设计1.管理员添加用户模块 图3.12 管理员添加用户模块顺序图2.管理员维护检查记录模块 图3

52、.13 管理员维护检查记录模块系统结构 3.管理员查询用户信息模块 图3.16 管理员查询用户信息模块顺序图3.4.4 后台类图设计经上述分析得到各用例的对象及封装,经过归纳,合并,补充等优化工作后,得到后台模块的类及关系图如图3.17所示。图3.17 后台类图3.5 实体类设计 实体类的设计是系统设计的关键一步,设计到系统操作的每一个局部,如提交表单的设计也需要根据实体类设计。 因为本系统是使用Hibernate架构,因此每个将为每个数据库表定义一个实体类,将这些数据库表转换为Java对象进行操作,从而就能够使用面向对象的方式操作数据库了。经过分析,本系统的实体类之间的关系如图3.18所示。

53、图3.18 实体类的类图4 详细设计总体设计完成后,还需要确定各个模块的具体实现方法,以便最终建立一个完善的系统。要建立系统的各个功能模块,就要进行程序设计。而详细设计阶段的目标是确定怎样具体的实现所需求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译或用总程序设计语言书写程序。4.1 模块逻辑设计4.1.1 Hibernate处理逻辑设计1使用Hibernate进行数据库操作的过程。本系统是使用Hibernate技术进行数据操作的,使用Hibernate进行持久化操作的主要步骤如下:1创立Configuration对象在这一步中主要为

54、了进行配置文件的封装操作,读取所有配置文件并进行解析。2创立SessionFactory对象通过创立好的Configuration对象可以创立一个SessionFactory对象的实例,它是产生Session对象实例的工厂,它在整个应用中应该是唯一的。3创立Session对象 Session对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接。4开始一个事务 在JAVA中定义一个事务操作的开始,这是使用Hibernate进行持久化操作必不可少的步骤。5进行持久化操作 在这个步骤中可以读取或者保存JAVA对象。6结束事务 在操作完这个步骤后还要进行显式地结束事务的操作。7关闭Sessio

55、n 类似释放数据库的连接。2Hibernate工具类HibernateUtil.java中的方法流程这个Hibernate的工具类主要用于方便地提供Hibernate的初始化以及Hibernate的Session和事务处理。1初始化工作 在Hibernate工具类的开始需要定义一系列的静态变量,它们用于描述这个系统的全局信息,初始化工作的流程如图5.1。开始configuration = new Configuration();configuration.configure();结束sessionFactory = configuration.buildSessionFactory();图4.

56、1 Hibernate工具类初始化的逻辑PAD图2getSessionFactory()的逻辑流程开始return sf;sf = sessionFactory;SessionFactory sf = null;结束图4.2 getSessionFactory()的逻辑PAD图 前台用户逻辑设计1用户登录业务逻辑算法用户登录的时序逻辑见图3.3,index.jsp作为前台界面的表单,后台响应用UserLogAction.java;UserLogAction.java中封装了验证用户名和密码的方法execute(),该方法调用BabyInformationDAO.java中的方法getBabyI

57、nformation(String name)。其业务逻辑流程图如图5.3所示。开始创立LogActionForm表单对象从表单取得参数:LogActionForm logActionForm= (LogActionForm) form;判断用户名和密码execute结束 图4.3 用户登录业务逻辑PAD图 其中判断用户名和密码execute方法的逻辑分析如图4.4所示。判断用户名和密码executedefBabyInformation baby = new BabyInformation();baby = babydao.getBabyInformation(logActionForm.ge

58、tUsername();password=logActionForm.getPassword();password2=baby.getPassword();password=password2?等于,转到user.jsp不等于,转到index.jsp图4.4 UserLogAction.java中的execute方法的逻辑PAD2用户维护信息业务逻辑流程用户维护信息的时序逻辑见图3.5,user.jsp作为前台界面的表单,后台响应用UserModifyAction.java;UserModifyAction.java中封装了业务逻辑处理方法execute(),该方法调用BabyInformat

59、ionDAO.java中的方法updateBabyInformation(String name)。其业务逻辑流程图如图4.5所示。开始创立AddInformationActionForm表单对象从表单中获取参数:addform = (AddIformationActionForm) form;设置BabyInformation对象的属性保存BabyInformation对象:babydao.updateMessage(baby);结束图4.5用户维护信息业务逻辑的逻辑PAD3用户查询信息业务逻辑流程用户查询信息的时序逻辑见图3.7,user.jsp作为前台界面的表单,后台响应用UserSel

60、ectAction.java;UserSelectAction.java中封装了业务逻辑处理方法execute(),该方法调用BabyInformationDAO.java中的方法getBabyInformation(String name)。其业务逻辑流程图如图4.6所示。开始创立UserSelectActionForm表单对象从表单中获取参数:userSelectForm = (UserSelectActionForm) form;根据表单内容取得BabyInformation对象实例;baby = babydao.getBabyInformation(usersno);结束图4.6用户维护信息业务逻辑的逻辑PAD4.1.3 后台管理员逻辑设计1管理员添加用户业务逻辑流程管理员添加用户的时序逻辑见图3.12,addpage.jsp作为前台界面的表单,后台响应用AddInformationAction.java;AddInformationAction.java中封装了业务逻辑处理方法execute(),该方法调用BabyInformationDAO.java中的方法saveBabyInformation(String name)。其业务逻辑流程图如图4.7所示。开始创立AddInformationActionForm表单对象

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!