J2EE版本医患交流平台设计报告.docx
- 文档编号:2027457
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:62
- 大小:804.49KB
J2EE版本医患交流平台设计报告.docx
《J2EE版本医患交流平台设计报告.docx》由会员分享,可在线阅读,更多相关《J2EE版本医患交流平台设计报告.docx(62页珍藏版)》请在冰点文库上搜索。
J2EE版本医患交流平台设计报告
第一章引言
随着社会的发展和科技的进步,人们的医疗水平逐渐提高,医生为病人诊疗后开具的病历和医嘱信息也逐渐由手工纸笔记录转向电子档案记录的形式。
因此,一套医院诊疗管理系统便成为现在各大医院需要的软件。
在国家出台政策强制要求允许使用医疗保险(即“医保”)的医院使用电子化档案之后,威海的一些乡镇医院要求我们为他们开发一套这样的系统,于是便有了威海医院诊疗管理系统。
本课程设计完成的是其中基于Web的医患交流平台子系统。
1.1编写目的
本报告由项目组成员所有成员功能完成,包括需求分析、概要设计、详细设计和测试报告等部分,目的在于辅助项目开发,并为项目以后的扩展维护工作提供文档依据。
本系统的主要读者可以分为两部分:
主要客户——医院客户和网站维护管理员,用以做需求确认和功能说明;开发人员——开发小组的人员,用于系统设计和编码的依据。
1.2项目背景
待开发的系统的名称为:
威海医院诊疗管理系统-基于web的医患交流平台。
如前所述,这个系统是医院诊疗管理系统的一个子项目。
整个医院管理系统的就医业务流主体已经在.NET平台下完成基本功能,采用C#语言和SQLServer2005数据库,沿用传统的客户端-服务器(C/S)结构,需要在本地安装Framework2.0或更高版本以及应用程序相应的客户端才可以使用。
用户在验收完上述系统后,又提出完成一个基于web的医患交流平台,为在本医院看过病的患者提供后续的服务,给予他们一个可以提问相关问题并得到答案的平台。
本平台某些信息基于原C/S结构的系统数据,但整体大部分功能和原系统分离,采用J2EE和MYSQL5.0数据库。
之所以采用web形式,是为了给医生和患者提供一个远程交流的平台。
这样,就诊结束的患者如果对所开医嘱有什么疑问,或者病情所有改变,就可以不用到医院也可以和医生进行交流。
为了不影响医院的正常接诊收益,原则上在本系统中不应涉及为用户在线诊疗的情况。
通过本系统,不但为患者提供了方便,也为医院树立更好的形象,增加更多的潜在客户,从而提高收益。
本项目来来源于威海医院诊疗管理系统实际项目,开发者主要是7名成员组成的课程设计小组。
主要用户是医院就诊的病人和医师,同时允许匿名访问但权限受限的用户。
本系统主要在医院使用,因此运行服务器使用医院的Web服务器和数据库服务器,主要访问方式为外网访问。
1.3名词定义
Tomcat:
一种网站服务器。
J2EE:
Java2平台企业版(Java2Platform,EnterpriseEdition)。
MySQL:
一个小型关系型数据库管理系统。
WebService:
提供远程调用服务的开放服务端。
1.4参考资料
《实战STRUTS》(美)赫斯特(Hested,T.)等著;黄若波等译。
机械工业出版社
《Servelet与JSP核心编程》(第2版)(美)martyHall,LarryBrown著
赵学良译清华大学出版社
《软件工程(第二版)》张海潘
《MySQL5权威指南》(奥)MichaelKofler
《HeadFirstServletAndJSP》(美)BRYANBASHAM;KATHYSIERRA;
BERTBATES著中国电力出版社
《JSP网络编程从入门到精通》邹竹彪著清华大学出版社
第二章需求分析
通过和客户直接交流和参照现在网上已有的部分系统,加上我们组内所有人的集体劳伦,我们得出如下的需求分析。
2.1需求概述
2.1.1系统目标
本项目是为了开发一个基于web的医患交流平台,在原系统-威海医院诊疗管理系统的基础上能方便来医院就诊过的用户能够不去医院也可以和医生进行交流。
也可以让更多的人看到相关信息,以提高医院的名气。
●凡是在医院就诊过的病人会在病历本是得到一个ID和密码,可以在本平台进行激活;
●注册用户可以在网上方便地提问,还可以指定医师回答;
●游客可以看到注册用户所提出的问题和医师的解答。
但自己不能提问;
●病人注册后,医师可以跟踪正在治疗期间的病人情况。
以便及时快速的治疗;
●提高医生的工作效率,对同一种问题不用反复解答;
项目的作用范围主要在在医院就诊的病人范围内。
由于它是威海医院诊疗管理系统这个大系统中基于web的医患交流平台的子系统,它是父项目的附加功能。
2.1.2用户特点
本系统的最终用户可以分为两大类,根据权限不同又可以进一步分类,具体信息如下面的表2-1:
表2-1系统用户分类和概略说明表
用户类型
具体类型
权限
说明
匿名用户
匿名
仅具有某些页面信息的查看权限。
不需要登录,匿名访问系统信息,查阅已有公开问题和答案。
注册用户
管理员
最高权限,具有网站日常管理功能,并负责网站的维护工作
主要是负责系统维护的管理员。
医生
具有查看问题、回答问题、管理病人病例等权限。
医生负责对患者的提问进行回答。
患者
可以查看和搜索以前的问题、还可以提出问题并指定某个医师进行回答。
患者是在医院就诊过,并且通过病历本上的ID和密码才能注册。
本系统使用良好的用户界面,操作人员只需要有一般的网络经验就能使用
维护工作由项目小组负责,需要包括MyEclipse的使用、MySQL数据库的操作、网页开发维护在内的技术知识。
一经正式投入使用,本系统的使用频率会比较高,每天都会有很多不同权限的人同时访问和使用它。
但由于用户范围的限定,预计同时访问人数在千数量级左右。
2.1.3假定和约束
开发期限:
2周,最终交付日期为2008年7月16号。
人员限制:
7名开发人员
设备限制:
开发人员J2EE课程设计项目小组和学院机房的电脑,数据库服务器使用本地的MYSQL5.0服务器。
2.2需求规定
2.2.1功能的规定
依据用户的需求和我们的分析讨论,我们用如下图2-1表示我们的功能需求的概略分类:
图2-1系统功能需求表
图1中功能的之前序号表示对于本系统来说它的重要性,序号越小表示等级越重要,优先级也越高。
那么可以很明显地看出来它的核心功能就是问答部分(Q&A),而我们也用黄色的三角号再次标注它的重要性。
这个功能又可以详细分为如下的图2-2中的功能:
图2-2问答部分功能需求
对于平台首页和用户首页的功能细分用下图2-3表示:
图2-3平台首页和用户首页的功能需求
优先级为3的信息查询功能、管理员后台管理、医生建议/公告部分的功能细分如下图2-4所示:
图2-4优先级为3的部分功能需求
其他部分,包括用户留言和选择实现的即使页面通信部分功能需求如下图2-5所示:
图2-5其余部分的功能需求
最后,综合上述的功能需求得到整个系统的功能图如下图2-6所示:
图2-6整体系统功能需求
系统的功能使用表格的形式具体描述如下面的表3-2所列:
表2-2系统功能列表
功能名称
功能描述
功能约束
处理过程
说明
用户注册
用户注册才可以拥有更高的权限,使用更多的功能。
注册名的唯一性,较高权限的用户需要管理员手工确认。
通过页面调用相关注册功能模块验证信息有效性并写入数据库。
新注册的用户分为患者和医师两种。
用户登录
用户使用正确的用户名密码进行登录。
用户名密码须正确才能成功登录。
从数据库读用户信息进行用户名密码验证。
不同权限的用户成功登录后显示的页面不同。
提出问题
患者提出一个问题,且可以指定回答问题的医师。
注册用户才可以发出提问。
用户在页面中填写相应信息,确认后写入数据库。
要做身份验证和记录。
搜索问题
患者可以使用搜索功能搜索和自己相同的问题
只有注册过的患者用户才能使用
用户在页面中填写相应信息,在数据库中搜索
注意权限控制。
查看问题
在问题列表中查看问题
匿名用户(游客),和注册用户都可以使用
将相应信息从据库中读取出来,在页面上显示给用户。
匿名用户(游客),和注册用户都可以使
回答问题
对患者提出的问题给予回答。
医师才能回答问题。
将问题通过页面写到数据库,并更改问题状态为已回复。
注意权限控制。
留言板
注册用户对医院的一些评价及意见均可中在此处发表
只有注册用户才可在使用留言功能。
用户在页面中填写相应信息,确认后写入数据库。
注册用户分为患者用户和医师用户
权限管理
查看系统中所有用户的权限,并进行管理。
可以手工添加新的用户
从数据库中读取相关权限信息显示在页面上。
需要管理员权限。
最新问题
显示最新发布的10个项目。
从数据库中取出最新的10条项目记录显示在页面上。
可以链接到相应的问题内容页面。
最热医师
显示最受关注的10个医师。
从数据库中取出手欢迎程度最高的10条项目记录显示在页面上。
可以链接到相应的医师介绍页面。
帮助
向用户提供帮助
本系统采用B/S结构,系统预计可以支持数以万记的用户同时访问,但限于服务器的性能,估计仅能提供1000用户左右的流程并行操作。
2.2.2性能的规定
2.2.2.1精度
本系统对各种数据的精度规定如下面的表2-3所示:
表2-3系统极度规定表
数据名称
数据精度
说明
数值型数据
8位,整型
文本型数据
二十位以上的字符
日期型数据
年-月-日
货币型数据
¥999999.99
人民币
2.2.2.2时间特性要求
本系统对各种操作的时间规定如下面的表2-4所示:
表2-4系统时间特性表
时间特性名称
时间特性要求
说明
响应时间
3秒之内
更新处理时间
5秒之内
数据的转换和传送时间
2秒之内
上传速率
内网500KB/S左右
外网100KB/S左右
并行访问量会影响速率。
下载速率
内网1MB/S左右
外网200KB/S左右
2.2.2.3系统灵活性要求
本系统应当采用模块化开发,由于采用网站的方式,因此为模块的划分提供了便利,结合数据库的操作,使大部分数据表示根据数据库的变化而自动改变,使本系统的适应能力比较强,对于各种变化能够灵活应对。
运行环境在客户端只需使用IE6.0或更高版本、FireFox或者遨游等浏览器;Web服务器要安装tomcat服务器,数据库使用MYSQL5.0,这些都需要不需要特定的操作系统环境,因此在几乎所有操作系统上都是完全可移植的。
另外,虽然本系统是一个大系统的一部分,但是采用网站的形式,因此其他系统的变化不会影响到本系统的运行和使用。
为了方便程序员开发和以后的系统升级和维护,本系统采用了Struts+Hibernate构架,即为项目提供了整体框架的支持,也为以后功能的扩展提供方便。
2.2.3输人输出要求
本系统的输入界面中会对用户输入进行有效性验证,某些输入通不过验证根本就不会发送到服务器处理。
在服务器端也对传过来信息进行安全验证,正确后才做相应的操作响应。
对于反馈给用户的信息,没有错误或者异常的情况下显示正常的信息,如果出错就跳转到特定的出错页面。
2.2.4数据管理能力要求
管理的记录的个数:
仅受限于MYSQL数据库管理记录的个数
表的大小规模:
随着数据的录入,表的规模可以无限量的扩大,仅受限于MYSQL数据库对表大小的支持。
2.2.5故障处理要求
可能的软件故障:
数据库误操作引起数据库链接断开。
可能的硬件故障:
断电导致数据库暂停服务。
软件故障的处理要求:
重新启动软件可恢复,数据不丢失。
硬件故障的处理要求:
重新启动软件可恢复,数据不丢失。
2.2.6其他专门要求
系统具备一个医患交流系统的基本功能,要求操作界面友好、方便、易学易用。
系统模块化,可维护,可扩充功能,可重新安装。
运行环境要求:
MYSQL数据库、Tomcat服务器支持、远程WebService服务。
2.3运行环境规定
2.3.1设备
系统运行开发运行所使用的设备列表如下表4-1所示
表4-1系统运行设备列表
设备名称
详细要求
处理器
CeleronD2.53GHZ
内存容量
至少256M
外存容量
至少30G
联机/脱机
浏览器连接Web服务器和数据库服务器
2.3.2支持软件
操作系统:
使用WindowsXP进行开发测试、Windows2000Server做服务器。
开发环境:
MyEclipse作为开发环境,IE6.0作为测试浏览器。
2.3.4接口
本系统使用了母系统的WebService提供的接口功能,以获取病人和医师的详细信息。
2.3.5控制
本系统的控制由系统管理员负责进行,开启Web服务器和数据库服务器后即可以利用浏览器通过网络进行访问和使用。
第三章概要设计
在需求分析之后,结合功能和技术需求,完成概要设计如下:
3.1系统总体设计
3.1.1处理流程设计
由于系统是一个网站形式的平台,因此系统的总体处理流程以页面跳转的形式表示如下图3-1所示:
图3-1系统页面跳转图
3.1.2系统功能设计
系统的功能使用用例图的形式表现如下图3-2所示:
图3-2系统总体用例图
依据用户的权限不同,具体的功能如下图3-3到图3-6所示:
图3-3匿名用户功能用例图
图3-4患者用户功能用例图
图3-5管理员用户功能用例图
图3-6医生用户功能用例图
3.1.3系统结构设计
由于本系统的特殊性,它的登陆身份验证要通过WebService来实现,还有当医生要查询问问题的人的一些以往信息时,需要远程访问医疗管理系统的数据库,包括患者查询的医生信息同样是通过WebService请求实现的。
因此本系统的构架设计稍有特殊,正常运行需要Tomcat的Web服务器和MySQL的数据库外,还有提供WebService功能的IIS服务器和SQLServer2005服务器。
系统的整体结构设计图如下3-7所示:
图3-7系统整体设计结构图
3.1.4系统实现设计
为了开发的需要和后期维护的要求,本系统采用J2EE技术,应用Struts1.2和Hibernate框架,其中页面部分选用一套广泛使用的display标签库加JSTL来做表现层,使用HTML加CSS表现和美化页面,Structs控制整个项目的逻辑,而Hibernate为数据库进行封装,提供持久层的维护。
系统设计的包结构如下面对项目设计的截图3-8所示:
图3-8系统包结构
其中各个包和的功能如下表3-1所述:
表3-1系统包的功能列表
包名称
功能
.SVN和CVS
使用CVS版本控制器所附加的文件夹。
business
存放处理各种业务逻辑的类。
dao
对pojos中的Bean进行数据操作的类。
pojos
和数据库中对应的JavaBean类。
sessionfactory
Hibernate使用的SessionFactory。
struts
内含action和form两个包,存放Struts需要的Action和Form。
tools
存放包括使用WebService方法在内的工具类,为系统的业务逻辑提供工具支持。
3.2系统接口设计
3.2.1用户接口
系统使用B/S结构,用户界面为网页和页面元素,用户可以根据提示和说明很方便地操作,不需要定义任何语法或约定。
3.2.2外部接口
系统使用一台IIS服务器上提供的WebService,因此和外部的接口就是使用这些WebService。
由于WebService的统一性,本系统只需要解析返回结构的XML文件即可。
为方便系统开发,我们使用Apache公司提供的axis工具,在系统的lib文件夹下加载axis工具包。
3.2.3内部接口
系统的内部接口设计使用如下几条来说明:
a)主页上给项目信息查询、用户登录和系统管理提供链接作为接口。
b)用户登录模块将设置用户权限,给权限管理模块提供接口。
c)用户登录模块将标记用户为已登录,给提议和评论模块提供接口。
d)登录模块将标记医生在线状态,给及时通信模块提供接口。
e)权限管理模块定义用户的角色和权限,为项目管理和网站开发模块提供接口。
此处为了便于各个组员的开发,特别描述系统中使用的几个重要Session的功能含义如下:
Session[“memberID”]用户登录记录的ID;
Session[“memberName”]用户姓名;
Session[“memberIdentity”]用户登录身份标记;
Session[“chatToID”]聊天对象用户的ID;
Session[“chatToName”]聊天对象用户的姓名;
Session[“chatToIdentity”]聊天对象用户的身份验证;
Session[“StartTime”]聊天开始时间;
3.3系统数据库设计
本系统使用MySQL5.0作为系统运行的数据库,开发中为了提高开发速度采用VP工具,因此直接设计的数据库表的结构而没有绘制严格的ER图。
3.3.1数据库实体和关系
依据功能定义,我们设计的数据库中的各个实体,系统中涉及到的实体主要有commonuser、question、affiche、doctor等,各个实体之间的关系有一对多、多对多等,根据BNCF范式,经过优化后得出它们之间的主要关系如下图3-9所示:
图3-9
3.3.2具体实体设计
系统数据库中包括用户表、医生表等,各个实体和管理表所具体的属性采用如下图3-10到图3-18来表示:
图3-10用户表
图3-11医生表
图3-12问题类型表
图3-13问题状态表
图3-14信息表
图3-15聊天记录表
图3-16问题表
图3-17答案表
图3-18留言板表
3.3.3数据实体与程序的关系
各个数据实体与访问这些数据的形式如表5-1所示:
表5-1数据结构与访问这些数据结构的形式
信息查询
问答部分
用户登录
管理员后台管理
医生建议/公告
用户留言板
即时通信
系统管理
用户
√
√
√
√
密码
√
系统角色
√
√
消息
√
√
网站
√
√
√
√
√
√
网站类别
√
√
资源
√
√
√
√
评论
√
√
评论类型
√
√
网站和用户的关系
√
√
项目角色
√
√
√
任务
√
√
任务和用户的关系
√
√
第四章详细设计
4.1系统模块设计综述
本系统的可以七大模块,他们分别是:
登录模块、管理员后台管理模块、问答模块、医生建议/公告模块、搜索模块、用户留言板模块、即时通信模块。
七大模块之间耦合性很小,只通过超链接关联,但用户注册模块会存储后面页面所需要的用户信息的Session,某些功能模块的页面显示因为用户权限的不同而不同,其权限判断是根据这个Session来判断的。
4.2登陆模块
4.2.1功能
系统给用户提供登录接口,用户可以在系统上登录(第一次登录视为激活),可以获得更高的权限,可以在该系统使用更多的功能。
4.2.2性能
表4-1
时间特性名称
时间特性要求
说明
响应时间
3秒之内
更新处理时间
5秒之内
数据的转换和传送时间
2秒之内
4.2.3输入项
表4-2
名称
说明
用户ID
用户登陆用的ID号
用户密码
用户登陆用的密码
4.2.4输出项
表4-3
名称
说明
用户登录成功确认
用于提示用户登录成功。
4.2.5处理流程
用户登录的流程图如下面的图4-1所示:
图4-1用户登陆流程图
4.2.6接口
使用WebService中的LoginCheck等函数。
4.2.7对应文件
index.jsptitle.jspCopyleft.jsp
LoginBusiness.javaLoginAction.javaLoginForm.java
4.2.8测试要点
是否能区分不同的用户以分配不同的权限。
4.3管理员后台管理模块
4.3.1功能
对新申请的项目进行审批,对正在进行中的项目可以任命项目经理、挂起该项目、或终止此项目。
4.3.2性能
表4-4
时间特性名称
时间特性要求
说明
响应时间
3秒之内
更新处理时间
5秒之内
数据的转换和传送时间
2秒之内
4.3.3输入项
表4-5
名称
说明
添加非法词汇
可以往系统中添加非法词汇。
删除非法词汇
从系统中删除某个系统词汇。
4.3.4输出项
表4-6
名称
说明
非法词汇列表
系统中所有的非法词汇列表。
4.3.5程序流程
程序处理的流程图如图4-2所示:
图4-2
4.3.6接口
更改项目状态提供接口:
ManagerProxy类提供。
4.3.7对应文件
title.jspunlawfulwordManage.jspCopyleft.jsp
4.3.8测试要点
在增加非法词汇时是否有已存在提示。
4.4医患问答模块
4.4.1功能
表4-7
功能名称
说明
发表问题
患者可以在系统上发表问题,并可以指定医生提问。
回答问题
医生可以回答患者提出的问题。
显示问题列表
将所有问题以列表的形式显示出来。
给问题打分
医生回答后,患者可为该医生的回答打分。
4.4.2性能
表4-8
时间特性名称
时间特性要求
说明
响应时间
3秒之内
更新处理时间
5秒之内
数据的转换和传送时间
2秒之内
4.4.3对应文件
answer.jspaddAffiche.jspCommonQuestion.jspCopyleft.jsp
4.4.4测试要点
对于功能的实现是本功能模块测试的要点。
4.5医生建议/公告模块
4.5.1功能
表4-9
功能名称
说明
发表问题
患者可以在系统上发表问题,并可以指定医生提问。
回答问题
医生可以回答患者提出的问题。
显示问题列表
将所有问题以列表的形式显示出来。
给问题打分
医生回答后,患者可为该医生的回答打分。
4.5.2性能
表4-10
时间特性名称
时间特性要求
说明
响应时间
3秒之内
更新处理时间
5秒之内
数据的转换和传送时间
2秒之内
4.5.3输入项
表4-11
名称
说明
公告标题
公告的标题
公告内容
公告的具体内容
删除公告
删除公告
4.5.4输出项
表4-12
名称
说明
公告列表
将所有公
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2EE 版本 交流平台 设计 报告