软件设计作业:医院患者管理系统详细设计_第1页
软件设计作业:医院患者管理系统详细设计_第2页
软件设计作业:医院患者管理系统详细设计_第3页
软件设计作业:医院患者管理系统详细设计_第4页
软件设计作业:医院患者管理系统详细设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

医院患者管理系统详细设计1.导言1.1 目的该文档的目的是描述医院患者挂你系统系统项目的详细设计,其主要内容包括:系统功能简介;系统详细设计简述;各个模块的三层划分;本文档的预期的读者是:开发人员;项目管理人员;测试人员。1.2 范围该文档定义了系统的各个模块和模块接口,但未确定单位的具体实现,这部分内容将在程序实现中确定。1.3 编写说明JSP:Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。MVC:Model-View-Control(模式视图控制)的缩写,表示一个三层的结构体系。1.4 术语定义Struct:一种框架体系结构。1.6版本更新信息本文档版更新记录如表31所列。表C-1 版本更新记录修改编号修改日期修改后版本修改位置修改内容概述0002010.6.21.0全部初始发布版本2.系统设计概述根据宠物医院患者管理系统系统的概要设计,本系统按照功能分解,可以分为客户端子系统和管理端子系统。它们的关系如图3-1所示,以下将对各个部分分别进行详细设计。图3-1 系统结构图 3. 详细设计概述由于本系统采用了基于struct体系结构的设计,即MVC的三层设计模式,并采用面向对象的Java语言以及JSP的脚本语言实现。在整个开发过程中,尽可能采用复用的原则,例如采用标签库,统一数据库的基本操作,统一结果显示等。本文档的详细设计主要地按照struct的MVC的三个层次分别编制视图层、控制层和模型层模块的伪代码,为下一步的编码提供基础。伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言实现。因此,伪代码必须结构清晰,代码简单,可主动性好,并且类似自然语言。 4 客户端模块设计客户端运行在公用网上,患者者可以查看可预约医生的信息信息。当患者希望预约某位医生时,填写自己的基本信息,后完成预约。预约信息提交后可以查看自己的预约信息。客户端的页面设计如表3-1所列。表3-1 客户端的页面设计界面JSP功能描述主页面main.jsp客户端的主页面患者注册(宠物)register.jsp患者完成注册兽医信息getDoctorInfo.jsp显示某兽医信息病例信息getHistory.jsp显示自己的病例信息登录login.jsp患者登录取消预约cancleAppointment.jsp患者取消预约主治医生信息getCurrentDoctorInfo.jsp显示患者的主治医生信息登出logout.jsp患者用户注销代码示例:4.1患者预约宠物医院患者管理系统预约%int day=Integer.parseInt(request.getParameter(day);int ap=Integer.parseInt(request.getParameter(ap);String did=request.getParameter(did);String _makeAppointment=;Patient patient=(Patient)session.getAttribute(patient); if(patient=null)_makeAppointment=请先登录;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=输入信息有误;break;% 4.2查询病例医院患者管理系统病历查询%Patient patient=(Patient)session.getAttribute(patient);String _getHistory=;ResultSet rs=null;if(patient=null)_getHistory=请先登录;elseint g=patient.getHistory();switch(g)case 1:_getHistory=查询成功;rs=patient.getResultSet();break;case 0:_getHistory=一般异常;break;case -1:_getHistory=数据库异常;break;% 医生编号症状诊断处方治疗是否结束治疗开始时间治疗结束时间 5 管理员端模块设计界面JSP功能描述主页面main.jsp客户端的主页面患者(宠物)注册register.jsp患者完成注册兽医信息getDoctorInfo.jsp显示某兽医信息病例信息getHistory.jsp显示自己的病例信息登录login.jsp患者登录取消预约cancleAppointment.jsp患者取消预约兽医信息getCurrentDoctorInfo.jsp显示患者的兽医生信息登出logout.jsp患者用户注销 6 医生端模块设计 界面JSP功能描述主页面main.jsp医生端的主页面患者病例getPatientHistory.jsp患者完成注册预约患者信息getPatientInQueue.jsp查询预约患者信息病例信息getHistory.jsp显示自己的病例信息登录login.jsp患者登录修改病历updateHistory.jsp修改病历信息更改密码updatePassword.jsp医生修改密码登出logout.jsp患者用户注销 7 数据库的基本操作所有的模块都需要进行数据库的操作,应该有一个通用的、高质量的数据库操作模块,其实所有的模型层的模块也都在调用这个模块。8 .配置文件1.使用的是j2EE 所以必有web.xml2.使用使用Struts技术,并且使用分发Action技术,即SwitchAction,所以struts的 配 置文件有5个.struts-config.xmlstruts-config-admin.xmlstruts-config-departmentchoose.xmlstruts-config-login.xmlstruts-config-teacher.xml3.使用Spring技术,所以有文件applicationContext.xml5.1 web.xml配置文件 医院患者管理系统编码实现1.编码格式规范1.1缩进排版4个空格作为缩进排版的一个单位。1.2行工度尽量避免一行的长度超过80个字符,用于文档中的例子应该使用更短的行长,长度一般不超过70个字符。1.3空行空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用两个空行:一个源文件的两个片段(section)之间;类声明和接口声明之间。下列情况应该总是使用一个空行:两个方法之间;方法内的局部变量和方法的第一条语句之间;块注释或单行注释之前;一个方法内的两个逻辑段之间,用以提高可读性。2.命名规范命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码。2.1包(Packages) Hospital.admin.模块名.功能 本次写的内容2.2类(Classes)类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)。2.3接口(Interfaces)大小写规则与类名相似。2.4方法(Methods)方法名是一个动词,采用大小写混合的方式,第一个单词的首字母大写,其后单词的首字母大写。2.5变量(Variabies)采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i, j, k, m和n,它们一般用于整形;c, d, e,它们一般用于字符型。3.声明规范3.1每行声明变量的数量推荐一行一个声明,因为这样以利于写注释。亦即:Int leve1;/indentation leve1Int size;/size of table 4.目录规范开发环境是MyEclipse,开发之后的代码需要部署到Tomcat服务器环境上。所以开发环境的目录结构与运行环境的目录结构是一致的,只是在部署的运行环境中,可以不设置源代码的目录 5.代码实例 5.1添加医生账户医院患者管理系统系统添加医生帐户 %String _addDoctor=;int age=0,sex=0,spDays=new int14;String did=,name=,level=,spe=,section=,spt=,phone=;Admin admin=(Admin)session.getAttribute(admin);if(admin=null)_addDoctor=请先登录;elseif(request.getParameter(add)!=null)age=Integer.parseInt(request.getParameter(age);name=request.getParameter(name);sex=Integer.parseInt(request.getParameter(sex);did=request.getParameter(did);level=request.getParameter(level);section=request.getParameter(section);spe=request.getParameter(spe);spt=request.getParameter(spDay);phone=request.getParameter(phone);tryspDays=Util.parseSpDays(spt);catch(NumberFormatException nfe)_addDoctor=非法输入;int a=admin.addDoctor(did,name,age,sex,level,spe,spDays,phone,section);switch(a)case 1:_addDoctor=插入成功;break;case 0:_addDoctor=一般异常;break;case -1:_addDoctor=数据库异常;break;case -2:_addDoctor=医生已存在;break;%编号:姓名:年龄:性别(0-男性,1-女性):职称:特长:电话:科室:预约信息(14个整数,分别表示周日上午、周日下午、周一上午,以逗号分隔): 5.2修改患者病例信息医院患者管理系统更改病历%String _updateHistory=;String _updatePassword=; Doctor doctor=(Doctor)session.getAttribute(doctor);if(doctor=null)_updatePassword=请先登录;/return; ResultSet rs=null;int hid=Integer.parseInt(request.getParameter(hid);doctor.getPatientHistory(hid);rs=doctor.getResultSet();rs.next();if(request.getParameter(update)!=null)String description=request.getParameter(description);String diagnose=request.getParameter(diagnose);String rx=request.getParameter(rx);int u=doctor.updateHistory(hid,description,rx,diagnose);switch(u)case 1:_updateHistory=修改成功;break;case 0:_updateHistory=

温馨提示

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

评论

0/150

提交评论