版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大连理工大学城市学院软件工程大作业学院(系): 计算机工程学院 专 业: 学 生: 授课教师: 张应博 完成日期: 2010年6月 大连理工大学城市学院软件工程大作业题目:医院患者管理系统分析与设计成绩: 总计大作业67页表格22表插图56幅目录第一章 医院患者管理系统需求分析41. 导言42. 系统定义53. 应用环境54. 功能规格75. 性能需求166. 产品提交177. 实现约束178. 签字18第二章 医院患者管理系统概要设计191. 导言192. 系统分析192.界面设计204. 体系结构225. 数据模型286. 模块设计35第三章 医院患者管理系统详细设计51第四章 医院患者管
2、理系统编码实现821.编码格式规范822.命名规范823.声明规范834.目录规范835.代码实例83第五章 医院患者管理系统测试计划841. 测试项目842. 测试方法84第六章 医院患者管理系统部署运营和维护85第七章 总结与展望861.本程序的总结和展望862.感想86参考文献87第一章 医院患者管理系统需求分析1. 导言1.1 目的该文档是关于用户对于医院患者管理系统的功能和性能的要求,重点描述了医院患者管理系统的功能需求,是概要设计阶段的重要输入。本文档的预期读者是:· 设计人员;· 开发人员;· 项目管理人员;· 测试人员;· 用户
3、。1.2 范围该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。1.3 编写说明JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。UML,Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。1.4 术语定义无1.5 参考资料1UML说明,*软件有限公司2需求规格报告格式标准,*公司软件工程过程化组织1.6 版本更新信息本文档的更新记录如表1-1所示。
4、表1-1 版本更新记录修改编号修改日期修改后版本修改位置修改内容概述0010.1全部初始发布版本0020.2第3.1节增加2. 系统定义我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。1.1 项目来源及背景本项目是为小型医院、诊所开发的一个简单的患者管理系统。随着我国社区医院、小型诊所的发展,传统的手工纸质化的患者管理方式,已经日益显示其不足之处,在处理患者信息的数量、准确性方面都比较欠缺,信息化、网络化也成为这些小型医院的一个必然的发展趋势,患者管理系统作为医院信息管理系统是医院自动化管理系统得一个重要组成部分,它的开发大大的提高了医院信息管理的规范化能力。2.2 用户的特点本
5、系统的用户都是网上用户,包括两类,一类是患者,他们的差异比较大,有的计算机应用水平比较高很高,有的可能很低。另一类是医生,他们对业务很熟悉,通过实际使用,他们对使用管理软件比较熟悉。另外一类用户是系统管理员用户,在实际中,他们可能是医院院长或人力资源部主管,系统管理人员对系统很熟悉2.3 项目目标本项目设定的目标如下:· 系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少;· 系统具有良好的运行效率,能够达到提高生产率的目的;· 系统应有良好的可扩充性,可以容易地加入其他系统的应用;· 平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的
6、变化;3. 应用环境根据用户的需求陈述,可以确定本项目分为客户端(患者)和管理端(医生、超级管理员),客户端主要功能是为患者提供医生信息查询、就诊预约、查询预约信息、查看病历等。管理端的功能为医生提供查看预约患者信息、创建、修改、查看患者病历信息等功能,为医院管理人员进行医生的添加、删除管理等。它们的关系如图1-1所示。图1-1 医院患者管理系统流程图3.1 系统运行的网络环境本系统的网络运行图如图1-2所示,无论是客户端的患者用户还是管理端的医生用户、系统管理员用户都可以通过网络登录到本系统中。患者通过网络查询医生信息、提交预约信息;医生通过网络查看预约患者信息、创建患者病历、查看、修改病历
7、发;管理端的管理员管理医生信息。3.2 系统运行的硬件环境本系统的硬件环境如下:客户机:普通PC· CPU:P41.8GHz以上· 内存:256MB以上· 能够运行IE5.0以上或者Netscape4.0以上版本的机器· 分辨率:推荐使用1024×768像素或以上Web服务器· CPU:P41.0GHz· 内存:1G以上· 硬盘:80GB以上· 网卡:KMb/s速度数据库服务器· CPU:P42.0GHz· 内存:1GB以上·硬盘:80GB以上图1-2 网络拓扑结构图系统运行
8、软件环境本系统的软件环境如下:· 操作系统:Windows2000或以上版本· 数据库:MySQL· 开发工具包:JDK Version 1.6.0·Web服务器:Tomcat 6.0·浏览器:IE6.0以上4. 功能规格我们采用面向对象分析作为主要的系统建模方法,使用UML(Unified Modeling Language)作为建模语言。UML为建模活动提供了从不同角度观察和展示系统的各种特征的方法。在UML中,从任何一个角度对系统所作的抽象都可能需要几种模型来描述,而这些来自不同角度的模型图最终组成了系统的映像。用例描述角色(用户、外部系
9、统以及系统处理)是如何与系统交互来完成工作的。用例模型提供了一个非常重要的方式来界定系统边界以及定义系统功能,同时,该模型将来可以派生出动态对象模型。设计用例时,我们遵循下列步骤:1)识别出系统的角色。角色可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(角色)是谁。尽可能地确保所有角色都被完全识别出来。2)描述主要的用例。可以采取不断地问自已“这个角色究竟想过系统做什么?”来准确地描述用例。3)重新审视每个用例,为它们下个详尽的定义。4.1 角色定义角色或者执行者指与系统产生交互的外部用户或者外
10、部系统。 患者患者是指在这个系统中通过客户端提交预约就诊信息的人员,这个角色主要参与客户端的注册系统用户、医生信息查询、提交预约就诊信息等功能。4.1.2管理用户管理用户是指管理端的用户,此角色派生两个子类,医生和系统管理员。医生是指在这个系统中通过客户端查看预约患者信息的人员,这个角色主要参与客户端的查看预约患者信息、创建患者病例、查询患者病例、修改患者病例等功能。系统管理员是指管理医生用户的人员,这个角色主要负责对管理端医生用户的增加、删除等功能。他也是通过管理端登录对管理端的用户进行设置,它们的关系如图1-3所示。图1-3 管理用户角色的关系 数据库数据库是一个与系统产生交互的外部系统,
11、这个角色负责系统的数据查询、增加、删除和修改等操作。4.2 系统主用例图医院患者管理系统可以分为两个主要的组成部分,一个是客户端子系统。一个是管理端子系统。客户端子系统功能主要是指患者、医生通过登录网站进行操作的功能。管理端子系统功能是医院的管理人员管理医生用户的功能。系统的主用例如图1-4所示。图1-4 系统的主用例图4.3 客户端子系统患者通过本网站网站登录到系统中进行就诊预约、查看病历信息等,患者通过它提交预约信息,这就是客户端子系统的功能。在客户端用户可以看到可以预约的医生的信息。图1-5是它的活动图。客户端的功能主要包括查看医生信息、填写预约申请、查看病历等功能,图1-6是它的用例图
12、。 图1-5 客户端的活动图图1-6 客户端的功能用例图客户端管理的这些用例描述如下:1.1:查看医生信息。1.2:填写、提交预约信息。1.3:查询预约情况。1.4:查询病例信息。 查看医生信息用例描述:患者查看医生信息;执行者:患者;前置条件:患者已登录系统;后置条件:查看医生信息后,患者可选择某一位医生预约就诊。基本路径:a)患者登录到医院的预约网页,显示目前可以预约的医生列表;b)点击任何一个医生可以显示该医生在一周每天可预约的人数; 输入预约信息如果患者选中某位医生,就可以开始填写预约信息,从患者的基本信息开始,具体描述如下。用例描述:填写预约信息;执行者:患者;前置条件:患者已选择某
13、位医生;后置条件:预约信息提交以后则可以查看该主治医生的详细信息。基本路径:a)基本信息输入,包括姓名、性别、年龄、电话、地址、等信息;b)输入完成后,点击提交可提交预约信息。 查询预约情况患者提交预约信息后可通过该功能查询自己是否预约成功,具体功能描述如下。用例描述:查询预约情况;执行者:患者;前置条件:患者已提交预约信息;后置条件:无。基本路径:a)患者点击页面左侧“查询预约信息”超链接;b)若预约信息已成功提交,则在页面中间部分显示预约的信息4.3.4 查询病例信息患者可通过本页面查询自己的病例信息,具体功能描述如下。用例描述:查询病例信息;执行者:患者;前置条件:患者预约成功,且完成至
14、少一次就诊;后置条件:无。基本路径:a)患者点击页面左侧“查询病例”超链接;b)若患者完成一次就诊,则在页面中可显示自己的病例信息。4.4 管理端子系统管理端子系统主要是提供医生和系统管理员使用的功能,医生使用的功能有查询预约患者信息、创建病例、查询患者病例;系统管理员是用的功能为添加医生账号和删除医生账号。图1-7是管理端的用例图。图1-7 管理端用例图 登录管理登录到管理端的所有人都需要通过登录界面进入相应的管理界面。在登发界面输入用户名和密码,系统首先判断用户名和密码的正确性,然后根据用户名确定其权限,不同的登录者具有不同的权限,根据登录者具有的权限将相应的功能显示在管理界面上。图1-8
15、是它的活动视图。图A-8 登录管理活动视图添加医生账户医生账户管理模块主要是完成医生账户的添加和删除。具体描述如下。用例描述:添加医生账户;执行者: 系统管理员;前置条件: 系统管理员已登录系统;后置条件: 无。基本路径:a)进入医生账户管理界面,首先显示目前已存在的医生账户;b)点击“添加”按钮可以添加医生账户,输入新账户的相关信息完成添加;删除医生账户医生账户管理模块主要是完成医生账户的添加和删除。具体描述如下。用例描述:删除医生账户;执行者: 系统管理员;前置条件: 系统管理员已登录系统;后置条件: 无。基本路径:a)进入医生账户管理界面,首先显示目前已存在的医生账户;b)点击某个医生可
16、以详细浏览这个医生的具体内容,同时也可以对这个账户经行删除;查看预约患者信息在网上招聘系统中,要定期维护问卷,因为每个招聘职位都附有一个磁问卷,应聘者必须回答问卷,才可以提交简历。问卷管理主要是组织问卷,问卷中的所有题目都来自题库,每份问卷都有不同的针对性,针对不同的招聘需求。具体功能描述如下。用例描述:查看预约患者信息;执行者: 医生;前置条件: 医生已登录到系统;后置条件: 无。基本路径:a)进入医生所属管理界面;b)通过点击“查看预约患者信息”可显示已成功提交预约信息的患者列表;c)单击某一患者可以查看该患者的详细信息;创建病例患者在就诊之后,医生应为其建立相应的病例信息,具体功能描述如
17、下。用例描述:创建病例信息;执行者: 医生;前置条件: 医生已登录系统;后置条件: 无。基本路径:a)进入医生所属管理界面;b)通过点击左侧导航栏“创建病例”按钮,在右侧填写症状、诊断、处方等病例信息;4.4.5修改病例医生为患者建立相应的病例信息后,也可以正对相应的情况对病例经行修改,具体功能描述如下。用例描述:修改病例信息;执行者: 医生;前置条件: 医生已登录系统;后置条件: 无。基本路径:a)进入医生所属管理界面;b)通过点击左侧导航栏“修改病例”按钮,在右侧可对症状、诊断、处方等病例信息进行修改;5. 性能需求根据用户对本系统的要求,确定系统在响应时间、可靠性、安全性等方面有较高的必
18、能要求。5.1 界面需求系统的界面要求如下。1)页面内容:主题突出,站点定义、术语和行文格式统一、规范、明确、栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺,专用术语规范,行文格式统一规范。2)导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。3)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览,无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。4)艺术风格:界面、版面形象清晰悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方,动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。5.2 响应时间需求无论是客户端还是
19、管理端,当用户登录,进行任何操作的时候,系统应该及时地进行反应,反应的时间在5秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,以避免出现长时间等待甚至无响应。5.3 可靠性需求系统应保证7×24小时内不宕机,保证20人可以同时在客户端登录,此时系统能正常运行,正确提示相关内容。5.4 开放性需求系统应具有较强的灵活性,以适应将来功能扩展的需求。5.5 可扩展性需求系统设计要求能够体现扩展性要求,以适应将来功能扩展的需求。5.6 系统安全性需求系统有严格的权限管理功能,各功能模块需有相应的权限方能进入。系统需能够防止各类误操作可能造成的数据丢失,破坏。
20、防止用户非法获得网页以及内容。应该使用过滤器(Filter)或拦截器,对非法进入页面进行拦截6. 产品提交提交产品为:a)应用系统软件包;b)数据库初始数据;c)系统开发过程文档;c) 系统使用、维护说明文档,提交方式为CD介质。7. 实现约束系统的实现约束如下:a)操作系统为WindowsXP;b)开发平台为:MyEclipse7.1;c)数据库为:MySQL6.0。8. 签字 本需求规格经过双方认可,特签字如表A-2所例。表A-2 需求规格签字用户签署信息企业签署信息单位名称 大连XXX医院 ( 盖 章 )签署人姓名 签署日期单位名称 MJD软件有限公司 ( 盖 章 )签署人姓名 签署日期
21、第二章 医院患者管理系统概要设计1. 导言1.1 目的该文档的目的是描述网上招聘系统项目的概要设计,其主要内容包括:·系统功能简介;·数据设计;·模块设计;·界面设计。本文档的预期的读者是:·开发人员;·项目管理人员;·测试人员。1.2 范围该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。1.3 术语定义UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。JSP:Java Server Page(java服务器页面)的缩写,一个
22、脚本化的语言。MVC:Model-View-Control(模式-视图-控制)的缩写,表示一个三层的结构体系。JavaBean:用Java语言实现的满足一定功能的类。2. 系统分析本系统可以实现网上在线招聘,应聘者通过互联网投递简历进行网上测评。同时,招聘单位可以汇总简历,游览简历,并通过测评结果选择合格的简历,通知面试,进行面试。方便企业与求职者的交流。系统包括管理端子系统和客户端子系统。管理端子系统包括题库管理、问卷管理、职位发布、简历管理、面试管理、用户管理等功能。客户端子系统包括查询职位,简历录入,回答问卷,提交简历等功能。图2-1和图2-2为客户端和管理端的组成构图。 图B-1 客户
23、端子系统图示 图B-2 管理端子系统2. 界面设计3.1 管理端界面设计管理端的系统管理员界面主要实现添加医生账户、删除医生账户的功能。主要界面设计如下:·登录界面:通过输入用户各和密码实现用户登录;·添加医生账户:填入医生的编号,姓名、年龄、职称、特长、科室等信息后点击“添加”按钮完成添加;·删除医生账户:选择要删除的医生后点击“删除”完成以上那个账户的删除;·查询医生信息:查询医生账户的信息,可以对医生每天可预约的患者数量进行设定。·注销页面:登出该患者管理系统;具体页面流如图2-3所示。3.2 客户端界面设计客户端主要为应聘者提供网上预约
24、就诊的过程,应聘者通过浏览可预约的医生信息后可选择某位医生进行预约,填写个人信息,提交后,提交的预约信息保存到服务器端。在客户界面,患者首先进入患者管理系统主界面,注册患者账号后即可登录,点击“查询医生信息”按钮可以查看可预约医生的信息,可选择某位医生进行预约;提交预约信息后,可以点击“查询预约信息”按钮查看自己的预约信息是否成功提交到服务器;若患者已经完成一次就诊,且医生已经为其创建了病例信息,则可以通过点击“查询病例”按钮查看自己的病例信息。具体页面流如图B-4所示4. 体系结构系统的总体结构设计遵循如下原则。1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要
25、求;2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证系统在以后的实际应用中安全、可靠;3)系统应具有较好的安全性:应提高安全机制和用户权限限制机制的完善程度,确保数据的受限访问;4)系统应具有良好的可维护性:系统应易于维护、安装;5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便地进行功能扩展,以建立完善的信息集成管理体系。本系统采用体系结构,struct是一个基于模型(Model)一视图(View)一控制器(Controller),即MVC模式的应用架构的开源框架。4.1 体系结构目前软件项目中有很多体系结构,其中struct是比较流行的一种。 struct体
26、系结构对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情。随着Web开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架、开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,在struct框架在模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件组成,图2-5显示了Struct实现的MVC框架。图B-3 管理端的页面流程患者网上注册患者网上登录显示医生信息选择某位可预约医生填写预约信息提交查询预约信息查询病例信息图B-
27、4 客户端的页面流程其中:·视图,就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如struct标签库的标签。此外,通常将struct框架中的ActionForm Bean也划为视图模块,ActionForm Bean是一种JavaBean,除了具有一些JavaBean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。Struct框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。Strcut框架将用户输入的表单数据保存在ActionForm B
28、ean中,将它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用struct标签读取修改后的ActionForm Bean的信息,然后重新设置HTML表单。控制器ActionServlet视图JSPStruct-config.xml模型JavaBeanEJBActionActionAction浏览器Web服务器图B-5 struct实现的MVC框架·控制器,控制器由ActionServlet类和Action类实现,ActionServlet类是struct框架中的核心组件,是这个MVC的中央控制器的角色。ActionServlet主要负责接收HT
29、TP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象.Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。·模型,模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。如果在Web应用开发中套用现成的struct框架,就可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在struct框
30、架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用struct提供的各种实用类和标签库,简化编码工作。Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而struct的配置文件struct-config.xml可以灵活地组装这些组件,以简化开发过程。 系统体系结构根据系统分析结果,该系统从结构上应满足:·基于游览器进行显示以方便用户使用;·采用MVC的三层体系结构,分化各个功能组件;·采用JDBC技术与数据库通信以便于数据库的转换;·采用标签技术完成动态页面的简单逻辑。本系统的体系结构如图B-6所示,它基本
31、遵循了struct体系的MVC框架规范。视图(V)层:用户界面(浏览器)HTML,CSS,DHTML,JavaScript,XML视图(V)层:服务器端脚本Connects UI to Business Objects, Java Server Pages,Java Servlets控制(C)层:分布式组件JavaBean模型(M):数据源和持久对象存储ODBC, JDBC, OLEDB, ADO, XML, LDAP图B-6 系统的体系结构其中:·表示层,用于与用户进行交互并显示结果。包括所有的JSP,提供用户界面,接受用户输入,还包括相应的ActionFrom Bean,用来存放
32、表单数据,并进行表单数据验证;·控制层,包括所有的Action类,它完成三项任务,一是进行业务逻辑验证,二是调用模型组件,三是决定将合适的视图组件返回给用户;·模型,包括进行逻辑处理的JavaBean等,数据库采用ODBC技术以提供数据库的可移植性。体系结构的具体拓扑图示如图B-7所示。图B-7体系结构拓扑图1)客户层:用于与企业信息系统的用户进行交互以及显示根据特定业务规则进行计算后的结果。本系统将完全采用基于Web的(B/S架构)客户端,即用户可以直接通过浏览器来访问和使用本系统。2)中间层:这相当于三层标准架构中的Web应用服务层,支持诸如响应客户请求以及查询等功能。
33、并且由中间层进行逻辑处理,再将处理的结果反馈给客户或者发送到数据库中。3)服务层:主要是数据库系统,这里的数据库系统主要是关系数据库系统(RDMS)。4.2 系统进行环境 下面讲述系统运行的网络结构,硬件、软件环境。 网络结构图本系统的网络拓扑图如图B-8所示。图B-8 网络拓扑图其中的局域网用户机主要是公司内部的人员可以使用的机器,运程用户机主要是指通过互联网登录系统的人员使用的机器,可以是公司内部的人,也可以是应聘者。 硬件环境本系统的硬件环境如下。1)客户机:普通PC·CPU:P41.8GHz以上·内存:256MB以上·能够运行IE5.0以上或者Netsca
34、pe4.0以上版本的机器·分辨率:推荐使用1024×768像素或以上2)Web服务器·CPU:P42.0GHz·内存:1GB以上·硬盘:80GB以上·网卡:KMb/s速度网卡3)数据库服务器·CPU:P42.0GHz·内存:1GB以上·硬盘:80GB以上 软件环境本系统的软件环境如下:·操作系统:UNIX/Linux/Windows2000或以上版本·数据库:SQL Server 2000·开发工具包:JDK Version·开发环境:eclipse-SDK-win
35、32·Web服务器:Tomcat·浏览器:IE6.0以上1)数据库及操作系统:对于核心数据库来说,选择一个合适的数据库系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工作时间的级别;用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操作系统类型以及管理人员的专业技术水平。目前市场上适用于中小型企业的数据库产品有IBM DB2、Microsoft SQL Server系列,Oracle系列。所有这些产品都基于SQL语言。同时,它们还拥有精度复杂的安全控制以适应不同的商业需要。服务器操作系统使用Windows2000 Ser
36、ver考虑到价格因素、易用性,我们使用SQL Server2000作为系统后台数据库系统,服务器操作系统采用Windows2000 Server。2)Web服务软件:目前的Web服务器软件有很多种,成熟而且稳定的有Apache、Tomcat和Microsoft的IIS,它们占据着Web服务器市场最大的份额。Tomcat是Sun和Apache合作推出的JSP Server,支持Servlet2.2及JSP1.1等版本。而且Tomcat未来将会取代Jserv,成为Apache主要的Servlet&JSP Engine。Tomcat在设计上是以独立的Server执行,而不像Jserv是附在A
37、pche中,这样就更可以在servlet中,发挥非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。因此这里选择Tomcat作为Web服务器。5. 数据模型本系统的数据模型设计内容主要是进行数据库的设计。5.1 数据库的概念结构模型设计概念设计用来反映现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立数据库的每一幅用户视图。图2-9是系统E-R图。图2-9 系统的E-R图5.2 数据库的逻辑结构模型设计数据库的逻辑设计是将各局部的E-R图进行分解、合并后重新组织起来形成数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的
38、记录结构、所建立的各个数据之间的相互关系。根据本系统需求分析,系统的数据库包括了医生表、患者表、病历记录表、预约记录表、管理员表、医生最大可预约数表、医生当前可预约数表。5.3 数据库物理结构模型设计信息存储结构的设计在系统的设计中至关重要,要考虑到数据冗余、系统执行效率、信息控制以及维护等方面的要求。信息的管理离不开数据库的支持,我们采用MySQL数据库管理系统。数据表详细结构设计医生表(doctor)的详细设计结构。字段名类型备注约束条件默认值DIDVARCHAR(5)医生编号主键NameVARCHAR(12)姓名索引AgeTINYINT(3)UNSIGNED年龄0PasswordVARC
39、HAR(41)密码初始化:DIDSexTINYINT(3)UNSIGNED性别1-男0-女1LevelVARCHAR(12)医生职称SectionVARCHAR(20)所属科室索引SpecialismVARCHAR(20)医生擅长PhoneVARCHAR(15)联系电话 患者表(patient)的详细结构字段名类型备注约束条件默认值PIDMEDIUMINT(8)UNSIGNEDAUTO_INCREMENT患者编号主键NameVARCHAR(12)姓名UsernameVARCHAR(20)登录用户名惟一索引PasswordVARCHAR(41)密码AgeTINYINT(3)
40、UNSIGNED年龄0SexTINYINT(3)UNSIGNED性别1男0女1AddressTINYTEXT家庭住址PhoneVARCHAR(12)联系电话HistoryINTEGERUNSIGNED患者病历 病历表(history)的详细结构字段名类型备注约束条件默认值HIDINT UNSIGNED(10)AUTO_INCREMENT病历记录编号主键DoctorVARCHAR(5)主治医生编号索引DescriptionTINYTEXT症状DiagnoseTINYTEXT诊断PatientMEDIUMINT(8)UNSIGNED患者编号索引0RxTINYTEXT处方FinishedT
41、INYINT(1)UNSIGNED就诊是否结束1-是2-否0FDateDATETIME开始时间SDateDATETIME结束时间预约记录表(pinqueue)的详细结构字段名类型备注约束条件默认值QIDINT UNSIGNED(10)AUTO_INCREMENT记录编号主键PatientMEDIUMINT(8)UNSIGNED患者编号索引0DoctorVARCHAR(5)主治医生编号索引DayTINYINT(1)UNSIGNED预约就诊时间0-周日1-周一2-周二3-周三4-周四5-周五6-周六0APTINYINT(1)UNSIGNED预约就诊时间0-上午1-下午0DateDATETIME预约
42、时间 管理员表(administrator)的详细结构字段名类型备注约束条件默认值AIDTINYINT(2) UNSIGNEDAUTO_INCREMENT管理员编号主键UsernameVARCHAR(20)登录时的用户名惟一索引PasswordVARCHAR(41)登录时密码EmailVARCHAR(20)电子邮件NameVARCHAR(12)姓名PhoneVARCHAR(15)联系电话可为空 医生最大可预约数量表(appointment)的详细结构字段名类型备注约束条件默认值DIDVARCHAR(5)医生编号主键SunATINYINT(3) UNSIGNED周日上午最大可
43、预约数0SunPTINYINT(3) UNSIGNED周日下午最大可预约数0MonATINYINT(3) UNSIGNED周一上午最大可预约数0MonPTINYINT(3) UNSIGNED周一下午最大可预约数0TueATINYINT(3) UNSIGNED周二上午最大可预约数0TuePTINYINT(3) UNSIGNED周二下午最大可预约数0WedATINYINT(3) UNSIGNED周三上午最大可预约数0WedPTINYINT(3) UNSIGNED周三下午最大可预约数0ThuATINYINT(3) UNSIGNED周四上午最大可预约数0ThuPTINYINT(3) UNSIGNED周
44、四下午最大可预约数0FriATINYINT(3) UNSIGNED周五上午最大可预约数0FriPTINYINT(3) UNSIGNED周五下午最大可预约数0SatATINYINT(3) UNSIGNED周六上午最大可预约数0SatPTINYINT(3) UNSIGNED周六下午最大可预约数0 医生当前可预约数量表(currappointment)的详细结构字段名类型备注约束条件默认值DIDVARCHAR(5)医生编号主键SunATINYINT(3) UNSIGNED周日上午最大可预约数0SunPTINYINT(3) UNSIGNED周日下午最大可预约数0MonATINYINT(3)
45、UNSIGNED周一上午最大可预约数0MonPTINYINT(3) UNSIGNED周一下午最大可预约数0TueATINYINT(3) UNSIGNED周二上午最大可预约数0TuePTINYINT(3) UNSIGNED周二下午最大可预约数0WedATINYINT(3) UNSIGNED周三上午最大可预约数0WedPTINYINT(3) UNSIGNED周三下午最大可预约数0ThuATINYINT(3) UNSIGNED周四上午最大可预约数0ThuPTINYINT(3) UNSIGNED周四下午最大可预约数0FriATINYINT(3) UNSIGNED周五上午最大可预约数0FriPTINYI
46、NT(3) UNSIGNED周五下午最大可预约数0SatATINYINT(3) UNSIGNED周六上午最大可预约数0SatPTINYINT(3) UNSIGNED周六下午最大可预约数0 6. 模块设计按照功能分解,本系统分为客户端管理系统和管理端系统。根据页面流的设计,管理端系统又分为用户登录、用户管理、题库管理、问卷管理、职位发布、简历管理、面试管理等7个模块,如图2-12所示。图2-12 模块设计第三章 医院患者管理系统详细设计1.导言1.1 目的该文档的目的是描述医院患者挂你系统系统项目的详细设计,其主要内容包括:·系统功能简介;·系统详细设计简述;
47、83;各个模块的三层划分;本文档的预期的读者是:·开发人员;·项目管理人员;·测试人员。1.2 范围该文档定义了系统的各个模块和模块接口,但未确定单位的具体实现,这部分内容将在程序实现中确定。1.3 编写说明JSP:Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。MVC:Model-View-Control(模式视图控制)的缩写,表示一个三层的结构体系。1.4 术语定义Struct:一种框架体系结构。1.6版本更新信息本文档版更新记录如表31所列。表C-1 版本更新记录修改编号修改日期修改后版本修改位置修改内容概述0002010.6
48、.21.0全部初始发布版本2.系统设计概述根据医院患者管理系统系统的概要设计,本系统按照功能分解,可以分为客户端子系统和管理端子系统。它们的关系如图3-1所示,以下将对各个部分分别进行详细设计。图3-1 系统结构图3. 详细设计概述由于本系统采用了基于struct体系结构的设计,即MVC的三层设计模式,并采用面向对象的Java语言以及JSP的脚本语言实现。在整个开发过程中,尽可能采用复用的原则,例如采用标签库,统一数据库的基本操作,统一结果显示等。本文档的详细设计主要地按照struct的MVC的三个层次分别编制视图层、控制层和模型层模块的伪代码,为下一步的编码提供基础。伪代码(Pseudoco
49、de)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言实现。因此,伪代码必须结构清晰,代码简单,可主动性好,并且类似自然语言。4 客户端模块设计客户端运行在公用网上,患者者可以查看可预约医生的信息信息。当患者希望预约某位医生时,填写自己的基本信息,后完成预约。预约信息提交后可以查看自己的预约信息。客户端的页面设计如表3-1所列。表3-1 客户端的页面设计界面JSP功能描述主页面main.jsp客户端的主页面患者注册register.jsp患者完成注册医生信息getDoctorInfo.jsp显示某医生信息病例信息getHistory.jsp显示自己的病例信息
50、登录login.jsp患者登录取消预约cancleAppointment.jsp患者取消预约主治医生信息getCurrentDoctorInfo.jsp显示患者的主治医生信息登出logout.jsp患者用户注销代码示例:4.1患者预约<% page contentType="text/html; charset=gbk"%><% include file = "./include/ccs.inc" %><% page import="hospital.db.dboperation.*" %><
51、% page import="hospital.db.*" %><% page import="java.sql.*" %><% include file = "./include/ccs.inc" %><html><head><title>医院患者管理系统预约</title></head><%int day=Integer.parseInt(request.getParameter("day");int ap=Inte
52、ger.parseInt(request.getParameter("ap");String did=request.getParameter("did");String _makeAppointment=""Patient patient=(Patient)session.getAttribute("patient");if(patient=null)_makeAppointment="请先<a href="/hospital/patient/login.jsp">登录&
53、lt;/a>"elseint m=patient.makeAppointment(did,day,ap);switch(m)case 1:_makeAppointment="预约成功"break;case 0:_makeAppointment="一般异常"break;case -1:_makeAppointment="数据库异常"break;case -2:_makeAppointment="已预约"break;case -3:_makeAppointment="输入信息有误"b
54、reak;%><body bgcolor="#FFFFFF"><table width="770" height="423" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#000000"><tr><td height="421" bgcolor="#FFFFFF"
55、;><% include file = "./include/head.inc" %><table width="770" height="290" border="0" align="center" cellpadding="0" cellspacing="0"><tr><% include file = "./include/patient.inc" %><td width
56、="603" align="center" valign="top"><table width="100%" height="85%" border="0" cellpadding="3" cellspacing="1" bgcolor="#666666"><tr><td width="488" height="257" align="center" valign="top" bgcolor="E3EDFF"><br><p><strong><%=_makeAppointment%></strong></p></td></tr></table&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度工程设计合同标的工程质量
- 消费型股东合作的协议书 2篇
- 2024年二手车交易中的物流配送协议3篇
- 2024年度室内浮雕施工合同3篇
- 二零二四年度二手集装箱买卖合同的验收标准3篇
- 2024年度居间服务合同-工程安全监督3篇
- 2024年度东莞市环保工程承包合同
- 重阳节社区老人安全知识培训
- 2024年度建筑项目安全生产责任保险合同
- 六下20古诗两首课件
- 青少年预防艾滋病班会
- 国家太空安全
- 仓库年终安全培训
- 中国火车发展历程课件-中国火车发展史
- 10.1 爱护身体(大单元教学设计) -2024-2025学年统编版道德与法治七年级上册
- 本特利3500组态中文说明书
- 生物人教版2024版七年级上册2.2.1无脊椎动物课件02
- ARCI阿西工作法-副本
- 创业管理实习报告
- 文创产品定制合同范本
- 贲门缩窄术后的护理
评论
0/150
提交评论