版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北科技学院
课程设计阐明书
(网络编程)
班级:姓名:_学号:
设计题B:网上门诊管理系统___________
设计时间:-06-17至-06-30
指导教师:_______________________
评语:___________________________________
评阅成绩:评阅教师:
目录
I.引言
1.1课程设计选题
1.2课程设计题目设计规定
2.需求分析
2.1功能需求
2.2系统日勺开发运行环境
2.3数据建模(E-R图)
3.总体设计
3.1系统功能模块及重要设计
3.2系统功能模块设计图
3.3数据库设计
(详细设计与实现
4.1登录模块
4.1.1功能设计
4.1.2界面设计
4.1.3模块算法
4.2护士功能模块
4.2.1功能设计
4.2.2界面设计
4.2.3模块算法
4.3医生功能模块..
4.3.1功能设计
4.3.2界面设计
4.3.3模块算法
4.3.4调试与测试
4.4管理员功能模块
4.4.1功能设计
4.4.2界面设计
4.4.3模块算法
4.4.4调试与测试,
小结和展望
详细功能分析:
该系统包括三类顾客:护士(nurse)、医生(doclor)、管理员(admin)
为保护系统中病人及病人基本信息,该系统不容许顾客注册,顾客由管理员内部添加。
所有顾客通过登录进入系统,进入其对应的功能模块。并能查看部分个人信息及修改自己的
登录密码。
护士:能在该系统录入病人的基本信息,通过查询功能轻松查获病历信息,
并能对所有病历进行增删改查操作。
医生:进入系统能查看所有病人的病历信息,并为就诊的病人开具处方。
能杳看所有处方信息,能修改自己开具0勺处方。
管理员:能在该系统录入客户H勺信息资料,通过查询功能轻松得到顾客的
基本信息,并且可以对所有顾客信息进彳亍增删改查操作。
2.2系统日勺开发运行环境
本系统开发集成环境:JSP引擎(Tomcat5.5以L:版本)+JDK(1.6)
+sqlserver
本系统运行环境:windowsxp或以上版本
2.3数据建模(E-R图)
顾客E-R图如图1.所示,病历E-R图如图2.所示。
图1.顾客实体及属性图2.病历实体及属性
处方E-R图如图3.所示。处方由医生为病人开具,处方是顾客(医生)与病历表之前
的联络。
总体E-R图:一种病人可以有多张处方,一种医生H认为多种病人开具多张处方,如图
4.所示。
图3.联络II勺属性
3.总体设计
3.1系统功能模块及重要设计
该系统日勺重要功能模块:登录模块,管理员功能模块,医生功能模块,护士功能模块。
功能模块图如图1.所示。
登录模块:用以实现顾客登录,判断登录顾客的顾客名与登录密码与否对口勺,对啊才能
进入系统。非顾客不能登录系统。
护士功能模块:护士进入系统可执行的操作包括三类:
病历管理:为前来就诊的病人创立病历记录,并能对错误的病历信息进行删、改操作。
检索病历:根据病人内局部信息,选择检索方式从所有病历记录中找到所要查找的病历
记录。并可对其进行操作,
个人操作:个人操作是所有顾客日勺公共功能。包括修改个人密码和注销登录。系统顾客
注销登录后,储存在session中的登录状态信息会被清空,必须重新登录系统才能再进行有
关操作。
医生功能模块:医生进入系统可执行的操作包括三类:
病历查看:医生类顾客可查看所有病历H勺记录,并订根据病人提供的部分基本信息检索
病历,并可查看病人I向处方信息及为就诊病人开具处方。
处方管理:可查看所有处方信息,修改个人开具H勺处方信息。能通过病人病历ID号查
看病人的就诊记录。通过丢生的ID号查看医生开具的处方记录。
管理员功能模块:管理员进入系统可执行的操作重要包括三类:
顾客管理:对顾客的信息进行增删改查。
检索顾客:根据顾客U勺局部信息,选择检索方式从所有记录中找到所要查找的顾客记
录。并可对其进行操作。
本系统重要采用MVC(JSP+JavaBean+Servlet)开发模式实现。详细实现是用JSP实现界
面设计。用Servlet类接受顾客的祈求,控制调用JavaBcan中对应类的功能,实现功能并
响应顾客的祈求.NScrvlot起控制作用,通过接受参数判断,顾客祈求的功能,并执行对应
操作。
当顾客提交一种祈求.就到Servlet类(NServlet.java)中进行判断并处理然后反馈
到顾客界面。即NServlet在系统中起控制作用。
JavaBean用于封装数据和业务。
界面设计:该系统的界面重要是运用了stylc.css样式。页面构造如图5.所示。页面
中用include指令在页面中插入子页面文献。代码实例如下:
<divid=,,containerv>
<divid="banner”>
<%@includefile=,/common/ntop.inc"%>
</div>
•••
<divid="fooler”)
<%@includefile=//common/footcr.inc*%>
</div>
</div>
图5.页面构造图
3.2系统功能模块设计图
图6.系统功能模块图
3.3数据库设计
在该系统中顾客需先登录才能进入系统进行,不一样顾客有不一样的权限,需有针对
性的进行多种不样操作,因此该系统的数据库中要有对应的表来保留顾客的信息。该表中
应包括顾客欧I姓名、顾客密码、以及顾客类型(用以对顾客权限H勺判断,使顾客登录后进入
自己对应的页面)。在该系统中将保留顾客信息H勺表设为顾客信息表(userlist)。
在该系统中,护士要为来就诊日勺病人录入病人的基本信息,并对病人的基本信息进行
管理。因此该系统需要为病人建一张表,病历信息表(patient)o用来保留病人的基本信息。
在该系统中医生重要操作就是为就诊病人开处方。为储存处方信息,系统中H勺数据库还
需要一种表。处方信息表(cf)医生为病人开处方后,洛处方信息入库保留。
处方表是病历实体和顾客实体之间的联络表。因此处方表中还应包括该处方针对的病历
的ID号,以及开具处方的医生ID.
综上所述:该系统H勺数据库应包括三个表,顾客信息表、病
历信息表及处方信息表。表的构造如表1,表2,表3所示。详细表构造见数据库文献。
顾客信息表的属性包括顾客ID,顾客姓名,密码,顾客类
型,顾客性别及所在科室、照片。
表1.顾客信息表(userlist)
列名数据类型长度与否为空阐明
顾客II)号(uid)int4非空主键
顾客姓名<uname)varchar20非空
密码(upass)varchar20非空
顾客类型(ukind)varchar20非空
顾客性别(usex)varchar20非空
所在科室(uwork)varcheir20非空
个人照片(uphoto)varchar20非空
病历信息表的属性包括病历ID,姓名,性别,年龄,联络
电话,病历添加时间。
表2.病历信息表(patient)
列名数据类型长度与否为空阐明
主键,自动增1
病历ID号(pid)int4非空
姓名(pname)varchar20非空
性别(psex)varchar10非空
年龄(page)varchar10非空
联络电话(ptel)varchar20非空
病历添加时间(ptime)datetime非空自动获取系统时间
处方信息表的属性包括处方、病历、顾客的JID号,病情描述,处方,年龄,开方时间。
表3.处方信息表(cf;
列名数据类型长度与否为空阐明
主键,自动增1
处方ID号(cid)int4非空
主键,自动增1
病历ID号(pid)int4非空
主键,自动增1
顾客(医生)ID号(uid)int4非空
病情描述(reason)varchar500非空
处方详情(content)varchar500非空
开方时间(ctime)datetime8非空自动获取系统时间
4.详细设计与实现
4.1登录模块
4.1.1功能设计
为保护系统中的信息,所有顾客通过登录进入系统。在登录页面(login,jsp)输入
顾客名(本系统的登录顾客名为顾客ID号)与密码。提交,系统根据顾客输入日勺信
息,判断该顾客与否为系统中的顾客。若是系统中的顾客则可进入系统,通过顾客
的身份使其进入不一样的页面。如管理员登录成功后进入顾客管理页面
(admin,jsp)0在登录页面还包括有协助和医院门诊规章链接,点击可进入有关页
面。除此之外在登陆模块中还包括一种医院宣传图片的播放器。
4.1.2界面设计
用户登录
用户名:
密叫
图7.登录窗口
4.1.3模块算法
顾客填入登录信息点击登录按钮,带参提交到Servlet类中
action=,,NServlet?func=login,,o在NServlet中接受func参数。通过对参数func进行判
断,若func.equals("login")则接受表单中的数据封装到顾客类User的对象u中,通过顾
客的业务封装类UserDao的对象userdao调用1ist=userdao.queryAll();措施获得数据库
中所有的顾客记录。通过调用userdao.isl:xist(u);措施判断顾客输入信息与否对的,若输
入不正则跳转到nlogin.jsp页面,输出提醒信息。若龙日勺则在session中设置登录标识字
符为“YES”,从数据库中取出该顾客的有关信息,将顾客"勺顾客名,顾客类型,顾客ID
号暂存在session中。
scssion.setAttributcC'login'V'YES");
session.setAttribute("iiname",uname);
session.setAttribute(''ukind",ukind);
session.setAttribute("uid",uid);
然后对顾客H勺身份类型进行判断:并使其进入其对应的页面:
if(b.cquals("nurse"))
{response.sendRedirect("nurse.jsp");}
if(b.equals("admin"))
{rcsponsc.scndRcdircct("admin.jsp");}
if(b.equals("doctor"))
{response.sendRcdirect("doctor.jsp");}
顾客登录后再界面中显示欢迎语句:
在top.inc中获取顾客名:Stringuname=(String)session.ge[Attribute("uname");然后
在页面中指定位置显示提醒语句:
<fontsize=3>顾客:<%out.print(uname);%>,欢迎回来!</font>
4.2护士功能模块
4.2.1功能设计
护士功能模块包括的三大功能:病历管理、病历检索、个人操作。
病历管理:护士进入系统后的主页面就是显示所有病历记录的页面,与医生主页面
相似但最终一列的操作不,在护士主界面能进行的操作对病历记录进行删除和修
改。
病历检索:其实可以说这个功能是为病历管理服务的)辅助功能。它重要实现日勺功能
是通过病历中的部分信息,选择对应的检索方式。进入检索页面,进行查询。
4.2.2界面设计
病人信息表
病历盲理
1病历编号II姓名II性别II年前II段系电话II登记时间原作|
查看病历b||林穹穹||女||24||1234567||2013-06-2422:0600.000|但效■!打
添加病历
t_||林塔||男||23||132464||2013-06-2520:37:04000|他招■I原
b||姚哈屿||男||34||143546||2013-06-2520:46:56.000|他裁■!打
正||任聘吧||文||25||12345||2013-06-270903:38000|
病历桧紊|io||蒋梅梅||女||20||1230646587||2013-06-3017:50:02.000|
按姓名检索病历I11—修文II男||50||3125345||2013-06-3017:53:26000|位投■本
按年粉检索病历卜2||武松||男||26||4266s6467||2013-06-3017:53:47.000|
按性别检索病历卜3||尤大虎||男||22||2453564||2013-06-3017:54:17.000|他拉■[瑞
姓名、性别检索病历在||苏索索||文118||323463457||2013-06-3017:54:43,000|他投■:瑞
准确检索病历在||金溪||男||26||34236435||2013-06-3017:55:13.000|岸
个人年作
修改密码
注销退出
图8.护士功能模块.主页面
4.2.3模块算法
病历管理:护士顾客在页面点击有关操作打勺链接,提交增删改的祈求,(携带判断参
数)提交到NServlet类中。在NServlet类通过func参数欧J判断,调用Patient类中II勺措
施封装数据,调用PaticrtDao类中的措施封装业务。执行顾客祈求的操作,并返回提醒信
息进入不一样页面。
病历检索:功能与管理员检索顾客类似,详细可见管理员功能模块分析。
个人操作:个人操作是所有顾客的)公共功能。修改个人密码和注销登录。
系统顾客注销登录后,储存在session中的登录状态信息会被清空必须
重新登录系统才能再进行有关操作。
4.3医生功能模块
4.3.1功能设计
医生功能模块包括的三大功能:病历查询、处方管理、个人操作。由于个人操作时所有
顾客的公共功能,在前面已经简介过,因此在这里着重分析前两个功能。
病历杳询:医生进入系统后的主页面就是显示所有病历记录的页面,见界面设计。该功能与
护士管理病历雷同,除了操作不一样。在医生界面点击对应病历背面的查看处方操作链接,
传递病历ID号到NServkt类中从数据库中查询出该病人的就诊处方记录,链接语句如下:
<ahref=,'NServlet?func=sc1&pid=<%=p1.getPid()%>">
最重要的是医生可以通过多种方式,运用病人H勺基本信息检索病历,并可对检索出来
的成果进彳丁操作包括食看处方和为病人开具处方。
处方管理:包括三个子功能,查看所有处方、检索病人的开方记录、检索医生口勺开
方记录。
查看所有处方与查看所有病历类似。不一样的是医生查看日勺是处方表。在该页面中
点击病历编号可查看病人的基本信息。点击医生编号可查看医生的个人信息。查看
医生信息与管理员功能模块中查看顾客信息功能雷同,详见管理员功能给模块阐
明。检索病人处方的记录和检索医生的开方记录功能实现措施雷同,都是查询多种
表。从成果集中选中所需的信息,显示在表中。详细实现见模块算法分析。
个人操作:与护士类型顾客相似,详见护士功能模块阐明。
4.3.2界面设计
首页帮助医院门诊规受
用户:打中叠.欢迎回来1
病人信息表
病历管理
性年系电
飞*姓名6登记时间操作
查看所有病历别龄话
按姓名检索病历
呜呜2013-06-24开具处
按年龄检索病历5男241234567
呜22:06:00000
按性别检索病历
姓名、性别检索病历
2013-06-25亘有总笈开具处
准确检索病历7推塔女23132464
20:37:04.000
咕咐男2013-06-25署豪a汪魁t
外方管理83414354620:48:56.000
查看所有处方
检索病人的处方记录
2013-06-27查看上左开且处
9啊啊男2512345
检索医生的开方记录09:03:38.000
个人楼作
修改密码
注销退出
图9.医生功能模块.主页而
用户就诊处方记录
病历ID:•点击查看病历基本信息)
处方编病人姓医生就逢医就诊科
病储描述处方内容开方时间
名ID生室
咳嗽,发999牌感冒2013-06-27
2哈哈j乙LJ乙乙江中登急诊科
烧灵17:43:01.000
局部皮肤2013-06-27
3哈哈皮康宁222222江中叠急诊科
炎17:48:22.000
图10.查看处方及检索病人处方记录
开具处方
,病历ID:7
・病人姓名:推塔
•性别:女
.年龄:23
•联系电话:132464
I提交]I清空]
图11.医生为病人开处方
处方信息表
处方编病历编医生编病首端
处方内容开方时间操作
aoa送
维生素B,维2013-06-28修改
9910802口角炎
生素C16:08:34.000
发
咳於
2013-06-27修改
28222222烧999牌感冒灵
17:43:01.000
局部皮肤2013-06-27修改
3g222222皮康宁
炎17:48:22.000啕
2013-06-27修改
47222222头疼芬必得
18:26:16.000删除
2013-06-28修改
89222222潍坊需风格大方
16:05:18.000幅
主中至2013-06-27跑
65222222骨质疏松nn1rm
20:07:51.000幅
图12.查看所有处方
4.3.3模块算法
医生最重要H勺功能就是为病人开具处方。病人H勺基本信息如年龄、性别也许会是医生开
处方时须要懂得H勺信息。因此规定医生为病人开具处方时需显示出顾客H勺基本信息。可是在
数据库中病历信息和处方信息存储在不一样表中。假如要联络在一起,就需要杳询病历表得
到病人对应病历信息。重要处理环节:
①.医生点击开具处方操作链接,<ahref=,,kcf.jsp?pid=<%=pl.getPid()%>^>
②.进入kef.jsp页面,在kef.jsp获得session中目前顾客(医生)口勺顾客名,
Stringdoctor=(String)session.getAttribule(,,uname,/);
从数据库中获得所有病历记录。存到list中。接受从前一页面传来口勺对•应病人病历ID
号,与list中的所有记录进行比对,找到该条病历记录。将该病历中口勺基本信息日勺值显示
在表格中的对应位置。并将目前开具处方的医生姓名也显示在对应开方医生H勺位置。
③.点击提交后将表单信息传递到NServlet类中进行处理:
action二〃NServ1et?func=addc&pid=<%=p.geIPid()%>〃
④.从session中获得目前开方医生依JUid,接受上一页面传来的病历ID号,病情描
述及处方内容。然后创立处方业务封装类CfDao类的电象调用添加处方的措施执行添加功
能。
⑤.假如处方添加成功跳转到cadd.jsp页面,到假如操作不成功则跳转
cadderror.jsp页面。
医生为病人开处方时有时候需要查看病人以往生病口勺记录,因此在该系统中有一
种检索病人处方记录的功能。实现日勺重要环节:
①.点击链接进入按病历ID号查看处方记录的页面,在表单中输入要查询的病历ID
号,点击提交按钮。提交查询祈求到NServlet类。
action=/,NServlet?func=sc1”
②.在NServlet类中接受传递过来的病历ID号。从三个表中查询sql语句如下:
zzselect*frompatient,cf,userlistwherepatient.pid=cf.pidand
cf.uid=userlist.uidandcf.pid='"+pid+"'〃;,调用处方业务封装类CfDao中欧J
select(sq1)措施获得杳询成果集。
③.将成果集添加到request中,跳转到显示页面:showcfp.jsp。
④.在显示页面接受成果集,并显示部提成果集中的信息。如下是该页面接受成果集后,
对成果集口勺处理。
Listlist=(List)request.getAttribute(,,list,z);
for(inti=0;i<list.size();i++){
Cfc=(Cf)list.get(i);〃取出list中第一条记录强制转换成Cf类型
i++;〃取出第二条记录,强制转换成Patient类型
Patientp=(Patient)list,get(i);
i++;〃取出第三条记录,强制转换成User类型
Useru=(User)list,get(i);
查看医生开方记录与上述查看病人就诊记录雷同。在这里就不在赘述了。
4.3.4调试与测试
在整个医生功能模块中,最让我纠结B勺是处方管理中的检索病人的处方
记录和查看医生日勺开方记录。由于这两个功能都波及查询多种表都波及病
历表和处方表和顾客表。其实查询多种表并不难,难的是成果集的处理。
一开始时我的想法是像查询病历那样在处方业务封装类(CfDao.java)中,
新建一种措施select用来执行查询语句。然后在页面将查询提交到
NServlet中,在NServlet中创立查询语句的)对象,创立CfDao类对象调
用select(sql)措施,获得成果集。
不过在select(sql)措施中,对于执行查询语句所得到日勺成果集处理。我
一直不太懂。刚开始我考虑,以往我们在学数据库日勺时候,要获得成果中
的部分信息时总是'用表名,列名'调用显示如patient.pid。因此我就采
用这种措施获得成果:p.sctPid(rs.getTnt(patient,pid));成果编译类
的时后并没有出错,不过,输出措施返回成果中日勺属性,发现没有获得
值。后来有同学说,要从成果集中取出值要按查询所得得成果,一一对应
的去出来,进彳洋寸装才可以。并且在接受成果集日勺页面,取出次序要与存
入次序对应。后来改正成果集处理方式之后:p.setPid(rs.getInt(l));
果然就能获得成果集了。
4.4管理员功能模块
4.4.1功能设计
管理员功能模块重要是实现对顾客的管理。管理员功能模块:管理员进入系统可执行口勺
操作重要包括三类:顾客管理,检索顾客,个人操作
顾客管理:对顾客的信息进行增删改,如界面设计所示。
检索顾客:根据顾客日勺局部信息,选择检索方式从所有记录中找到所要查找的顾客
记录。并可对其进行操作,点击查看顾客信息可查看顾客(包括相片)的所有基本
信息。
4.4.2界面设计
首页帮助医院门诊规章用户:a,欢迎回来!
用户信息表
用户首理
II用户类型II性别II所在科室||用尸信息发作
查看用尸admin陵也科II交者用尸信息II修改脸1
添加用尸
|100000||天天lladmin性IPUR阳到1
|100001II-Iadmin脾||体检中心II透若•用尸信息II修改峭1
||琴琴蹲科
|100002lldoctor1区
检索用户|陶科
|100003||koop1doctorII男
用尸编号检索1100004||啦啦啦啦||admin|席科■k2宝:回e守
1区
用广类型检索1100005II皮皮||nui-ze修II口腔和1蜜!词
用户姓名检索1100008|反lldoctor隅也科II查看用尸信息1修改的瞪1
用户性另幅索1100009II丫丫1admin隅1图科1恒若•用户信息II修改明监1
科室检索叫#可口小副绳.由噌,|
|110001II平平||adminII男1降检中心
科室、性别检索牌科货商苗■
|110002II微微1nurse1区19■删部1
惟佳Inurse联叽科II至专用户信息||修改明蟀1
腱库
|111112Inurz«II男1口诊科II叁者用户信息।1修改吗1
个人揉作
II欧欧nurz«II男1角诊科II互吉用尸信息||修改酗1
修改密码|222222II江中必||doctorII男1角诊科II查看用尸信息||修改酗1
注销
图13.管理员功能模块_主页面
添加用户《聋,为必事、
,用户编号:*(4式26包效字)
・用户姓名:*
•登录密码:*(大于y艺小于2。金)
•用户类型:请选择用户类型V*
性别
C:男。女*
所
在
用户所在科室*
照
片
[浏览…]*
清空
图14.添加顾客
用户详细信息
检索用户
•用户编号:100002
•用户姓名:茬善
按用户所在科室检索用户.登录密码,222
•用户类型:doctor
,所在科室:用户所在科室回•所在科室:骨科
,性别:。男。女事,性别:女
|HB~|
图15.检索顾客.按科军检索图16.行看顾客信息
4.4.3模块算法
顾客管理:该功能与护士管理病历雷同。管理员顾客在页面点击有关操作的链接,提交
增删改『寸祈求,到NServlet类中。在NServlet类通过func参数依J判断,调用User类中日勺
措施封装数据,调用UserDao类中日勺措施封装、业务。执行顾客祈求日勺操作,并返回提醒信息
进入不一样页面。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省绵阳市2027届七年级数学第一学期期末预测试题含解析
- 2027届四川省乐山市井研县七上数学期末联考试题含解析
- 储能电池故障排查操作工规程
- 消防栓水压检测及通水试验方案
- 2026年云南普洱新闻记者证考试(新闻基础知识)考前模拟试题及答案
- 保留膀胱综合治疗膀胱癌随访方案共识
- OW岗位基础测试题(含详细答案)
- OpenStack运维面试题及详细参考答案(实战向)
- 校园突发公共卫生事件预案
- 幕墙防雷安装调试操作工规程
- NB-T+33008.1-2018电动汽车充电设备检验试验规范 第1部分:非车载充电机
- (正式版)SHT 3045-2024 石油化工管式炉热效率设计计算方法
- 《变电站基础知识》课件2
- 口腔门诊病历书写规范培训课件
- 《国际中文教育概论》课件 第八章“中文+”背景下的专门用途汉语教学
- 内镜下胃息肉切除术临床路径
- 北师大版数学六年级上册第一次月考测试题及答案
- 水工混凝土结构设计规范sl191-2008
- 小学道德与法治三年级上册《生命最宝贵》教学反思
- 福特锐界2018款说明书
- 丰田技术员培训手册13原厂p01t
评论
0/150
提交评论