您好,欢迎访问三七文档
“宠物诊所”系统设计说明书第一部分、概述文档说明本文档描述“宠物诊所”系统的设计文档,系统使用面向对象的设计方法,首先设计系统的总体结构,再设计各个用例的实现。系统需求概述“爱心”宠物诊所的职员在工作中需要查阅和管理如下信息:诊所的兽医、客户以及客户的宠物。系统的用例图如图一所示:开发环境运行环境:Tomcat+Mysql开发工具:Dreamweaver+MyeclipseJDK版本:1.6.0_21组内成员:郑磊贾俊华具体分工:郑磊:通用模块,用户管理模块与宠物信息管理模块贾俊华:客户信息管理,兽医信息管理与病历信息管理模块图一:“爱心宠物诊所”系统的用例图第二部分、系统总体结构系统设计时基于MVC设计模型,采用三层架构,如图二所示。图二:“爱心宠物诊所”系统的体系结构第三部分、数据库设计1.表设计表名功能说明shouyi存储兽医的专业特长信息kehu宠物的主人信息cw存储宠物信息bingl存储宠物的病历信息employee存储系统用户信息2.表的详细结构2.1兽医(shouyi)表名shouyi列名数据类型(精度范围)空/非空约束条件其它说明idINT(自动增长)NOTNULLPRIMARYKEYnameVARCHAR(50)NOTNULLkeshiVARCHAR(50)NOTNULL所属科室sexCHAR(5)zhicVARCHAR(60)NOTNULL职称补充说明2.2客户信息(kehu)表名kehu列名数据类型(精度范围)空/非空约束条件其它说明idINT(自动增长)NOTNULLPRIMARYKEYnameVARCHAR(50)NOTNULLAddressVARCHAR(255)telphoneCHAR补充说明2.3宠物信息(cw)表名cw列名数据类型(精度范围)空/非空约束条件其它说明idINTNOTNULLPRIMARYKEYnameVARCHAR(50)daDATETIME出生日期typeVARCHAR(50)NOTNULLownerVARCHAR(50)NOTNULL补充说明2.4宠物病历信息表(bingl)表名bingl列名数据类型(精度范围)空/非空约束条件其它说明idINT(自动增长)NOTNULLIPRIMARYKEYcwnameVARCHAR(50)NOTNULLcwsuoVARCHAR(50)NOTNULLdaDATETIMEmiaoVARCHAR(200)NOTNULL病情描述yishiVARCHAR(60)NOTNULL诊断医师补充说明2.5系统用户表(employee)表名employee列名数据类型(精度范围)空/非空约束条件其它说明nameVARCHAR(20)NOTNULLPRIMARYKEYpasswordVARCHAR(20)NOTNULL补充说明第四部分、系统设计1.关键抽象从需求中可以得出系统的如下关键抽象:兽医、专业特长、宠物主人、宠物类型、宠物和宠物的访问。这些实体可以设计为JavaBean类,例如宠物具有这些属性:名称、标识ID、类型ID和出生日期等。宠物主人和宠物之间具有如下关系:一个宠物主人可以拥有多个宠物,每一个宠物属于一个主人;每一个宠物可能到诊所多次就诊;每个兽医具有多项专长,而同一专长可能有多个兽医。2.系统功能模块设计用户管理模块1.登陆诊所职员打开login.jsp页面后,在现实的页面上输入用户名称和密码,然后提交表单信息;此时控制权转交给EmpServlet文明。该文件获取信息后实例化JavaBean文件Basedao,并调用方法getRs()进行验证。如果提交的用户名称和密码正确,则转向vetsearch.jsp文件;否则继续现实登陆页面。A、时序图B、描述编号类名或方法名功能描述1login.jspjsp页面,显示登录界面2EmpServletServlet,处理职员的登录请求3EmpDAO其getRs()方法负责访问employee表,验证用户名称和口令4vetsearch.jspjsp页面,若职员登录成功,显示主页供职员访问2.用户退出模块较为简单,只是通过程序语句实现宠物信息管理模块1.宠物信息查询诊所职员打开cwc.jsp页面输入要查询的信息,单击【提交】按钮将控制权转给CwcServlet文件;CwcServlet文件获取要查询的信息在doPost()方法中调用Javabean文件BaseDAO查询输入信息是否存储在数据库表中,如果不存在则继续显示cwc.jsp页面,否则将控制权转交给cwV.jsp页面;cwV.jsp页面在显示数据时还将调用BaseDAO中的数据。A、时序图B、描述编号类名或方法名功能描述1cwc.jspjsp页面,显示查询界面2cwcServletServlet,处理职员的查询请求3baseDAO其getRS()方法负责访问cw表,验证该宠物是否存在其Exec()方法负责向cw表添加信息4cwv.jspjsp页面,显示查询数据2.宠物信息添加诊所职员打开cwj.jsp页面输入要添加的信息,单击【添加】按钮将控制权转给CwjServlet文件;CwjServlet文件获取要查询的信息在doPost()方法中调用Javabean文件BaseDAO查询客户信息是否存储在数据库表中,如果不存在则提示客户不存在继续显示cwj.jsp页面,否则将宠物信息添加至数据库并返回cwj.jsp页面。A、时序图B、描述编号类名或方法名功能描述1cwj.jspjsp页面,显示添加界面2cwjServletServlet,处理添加宠物信息请求3baseDAO其Exec()方法负责向cw表添加信息3.宠物信息更新诊所职员打开cwx.jsp页面输入要更新的信息,单击【修改】按钮将控制权转给CwxServlet文件;CwxServlet文件获取要查询的信息在doPost()方法中调用Javabean文件BaseDAO中的Exec方法想数据库中更新信息,提示更新信息并返回cwx.jsp页面A、时序图B、描述编号类名或方法名功能描述1cwx.jspjsp页面,显示更新界面2cwxServletServlet,处理更新宠物信息请求3baseDAO其Exec()方法负责向cw表更新信息客户管理模块1.添加新客户诊所职员打开kehuj.jsp页面输入要添加的信息,单击【添加】按钮将控制权转给jkeServlet文件;JkeServlet文件获取要查询的信息在doPost()方法中调用Javabean文件BaseDAO执行添加操作,动作完成后返回cwj.jsp页面A、时序图B、描述编号类名或方法名功能描述1kehuj.jsp处理职员的添加新客户页面2JkeServlet处理添加请求3BaseDAOExec()添加数据操作2.查询客户信息诊所职员打开kehuc.jsp页面输入要查询的信息,单击【查询】按钮将控制权转给kehuServlet文件;JkeServlet文件获取要查询的信息在doPost()方法中调用Javabean文件BaseDAO,使用getRS()执行查询操作,动作成功完成后返回kuhuv.jsp页面,失败则给出提示信息,并跳转至查询界面A、时序图B、描述编号类名或方法名功能描述1kehuc.jsp职员的查询客户页面2JkeServlet处理查询信息3BaseDAOExec()添加数据操作4kehuv.jsp显示要查询的客户信息,并实现客户宠物信息的查询病历管理1.查询宠物病历诊所职员打开liaoc.jsp页面输入要查询的信息(宠物与主人信息都是必须填写的),单击【查询】按钮将控制权转给LiServlet文件;LiServlet文件获取要查询的信息在doPost()方法中调用Javabean文件BaseDAO,使用getRS()执行查询操作,动作成功完成后返回liaox.jsp页面(该页面可以查询宠物与主人详细信息),失败则跳回查询界面A、时序图B、描述编号类名或方法名功能描述1liaoc.jsp查询病历页面2LiServlet处理查询信息3BaseDAOExec()添加数据操作4liaox.jsp显示要查询的病历信息,并实现客户宠物信息的查询2.添加病历诊所职员打开liaoj.jsp页面输入要添加的信息,单击【添加】按钮将控制权转给liaoServlet文件;liaoServlet文件获取要查询的信息在doPost()方法中调用Javabean文件BaseDAO执行添加操作,动作完成后返回liaoj.jsp页面A、时序图B、描述编号类名或方法名功能描述1liaoj.jsp处理职员的添加病历页面2LiaoServlet处理添加请求3BaseDAOExec()添加数据操作退出管理退出并显示登陆界面第五部分、模块功能实现1.通用模块以及首页的实现A.(数据库操作:BaseDAO)1.packagetest;2.importjava.sql.*;3.importjavax.naming.Context;4.importjavax.naming.InitialContext;5.importjavax.sql.*;6.publicclassBaseDAO{7.Connectioncon;8.Statementstmt=null;9.ResultSetrs=null;10.publicConnectiongetConnection()throwsException{11.try{12.Class.forName(com.mysql.jdbc.Driver);13.con=DriverManager.getConnection(jdbc:mysql://localhost:3306/petclinic?user=root+14.&password=111&useUnicode=true&characterEncoding=gb2312);15.stmt=con.createStatement();16.}catch(Exceptione){17.System.out.println(e);18.}19.returncon;20.}21.publicvoidExec(Stringsql){22.try{23.getConnection();24.stmt.executeUpdate(sql);25.}catch(Exceptione){26.System.out.print(e.toString());27.}28.}29.publicResultSetgetRs(Stringsql)throwsSQLException{30.try{31.getConnection();32.rs=stmt.executeQuery(sql);33.returnrs;}34.catch(Exceptione){35.System.out.print(e);36.returnnull;37.}38.}39.}其中,getconnection()方法负责连接数据库,Exec()方法负责执行SQL语句,getRS()则获取查询条件的记录集对象B.首页的实现(vetsearch.Jsp)1……………..2.3.body4.SCRIPTLANGUAGE=JavaScript5.6.7.varvisMnu=;8.varactMnu;9.10.functionflipMenu(actMnu)11.{12.if(visMnu==)13.showMenu(actMnu);14.else15.{16.if(visMnu==actMnu)17.hideMenu(actMnu);18.else19.{20.hideMenu(visMnu);21.showMenu(actMnu);22.}23.}24.}25.functionshowMenu(actMnu)//显示菜单26.{27.actMnu.style.background=#e9fff4;28.actMnu.style.visibility=visible;29.actMnu.style.position=a
本文标题:JSP设计=郑磊
链接地址:https://www.777doc.com/doc-3543938 .html