宠物诊所系统设计论文.docx
《宠物诊所系统设计论文.docx》由会员分享,可在线阅读,更多相关《宠物诊所系统设计论文.docx(36页珍藏版)》请在冰豆网上搜索。
宠物诊所系统设计论文
“爱心宠物诊所”系统设计说明书
第一部分、概述
1、文档说明
本文档描述“爱心宠物诊所”系统的设计文档,系统使用面向对象的设计方法,首先设计系统的总体结构,再设计各个用例的实现。
2、系统需求概述
“爱心”宠物诊所的职员在工作中需要查阅和管理如下信息:
诊所的兽医、客户以及客户的宠物。
系统的用例图如图一所示:
图一:
“爱心宠物诊所”系统的用例图
第二部分、系统总体结构
1.2课题内容
本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。
系统设计时基于MVC设计模型,采用三层架构,如图二所示。
图二:
“爱心宠物诊所”系统的体系结构
第三部分、系统设计
1.关键抽象
本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。
从需求中可以得出系统的如下关键抽象:
兽医、专业特长、宠物主人、宠物类型、宠物和宠物的访问。
这些实体可以设计为JavaBean类,例如宠物具有这些属性:
名称、标识ID、类型ID和出生日期等。
宠物主人和宠物之间具有如下关系:
一个宠物主人可以拥有多个宠物,每一个宠物属于一个主人;每一个宠物可能到诊所多次就诊;每个兽医具有多项专长,而同一专长可能有多个兽医。
图三描述了系统的关键抽象,他们为系统的模型。
图三:
“爱心宠物诊所”系统的模型
2.用例的设计
使用面向对象设计时,关键在于描述那些对象如何交互完成用例的功能,通常将对象发送消息的相互调用过程画成时序图。
下面将逐一解释用例的时序图。
本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。
Ø登录
A、时序图
B、描述
编号
类名或方法名
功能描述
1
login.jsp
jsp页面,显示登录界面
2
EmpServlet
Servlet,处理职员的登录请求
3
EmpDAO
其verify方法负责访问employee表,验证用户名称和口令
4
vetsearch.jsp
jsp页面,若职员登录成功,显示一个页面可供职员访问用例“浏览兽医及其专业特长”
Ø退出
A、时序图
B、描述
编号
类名或方法名
功能描述
1
EmpServlet
Servlet,处理职员的退出请求
2
HttpSession
session对象,其invalidate方法负责使客户的会话无效
3
login.jsp
jsp页面,职员退出后,显示登录界面
Ø浏览兽医及其专业特长
A、时序图
B、描述
编号
类名或方法名
功能描述
1
VetServlet
Servlet,处理职员的查询兽医的请求
2
VetDAO
其search方法负责访问vets,specialties,vet_specialties表完成查询兽医及其专业特长
3
vetsearch.jsp
jsp页面,可供输入查询兽医名称或专业的条件
4
vetsearch_name.jsp
jsp页面,显示查询出的兽医及其专业特长
Ø浏览宠物主人的信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PetServlet
Servlet,处理职员的查询宠物主人的请求,其doPost方法调用其自己的search方法
2
PetDAO
其searchPet方法负责访问owners,pets表完成查询宠物主人及其宠物
3
petsearch.jsp
jsp页面,可供输入查询宠物主人的条件
4
petsearch_name.jsp
jsp页面,显示查询出的宠物主人及其宠物的信息
Ø更新宠物主人的信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PetOwnerServlet
Servlet,处理职员的查询和更新宠物主人的请求,其doPost方法调用其自己的search方法
2
PetOwnerDAO
其viewPetOwner方法负责访问owners表完成查询出指定的宠物主人的信息;
其updatePetOwner方法负责访问owners表完成更新指定的宠物主人的信息;
3
ownerupdate.jsp
jsp页面,显示查询出的宠物主人的信息,可供修改,提交后保存修改,并再次显示更新后的宠物主人的信息。
Ø添加新客户
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PetOwnerServlet
Servlet,处理职员的添加新客户的请求
2
PetOwnerDAO
其addPetOwner方法负责访问owners表完成添加新客户
3
newpetowner.jsp
jsp页面,显示界面可供输入添加的宠物主人的信息
4
petsearch.jsp
jsp页面,其界面上存在一个按钮可供链接到此用例的功能
Ø浏览宠物信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PetServlet
Servlet,处理职员的查询宠物主人的请求,其doPost方法调用其自己的search方法
2
PetDAO
其searchPet方法负责访问owners,pets表完成查询宠物及其主人的信息
3
petsearch.jsp
jsp页面,可供输入查询宠物的条件
4
petsearch_name.jsp
jsp页面,显示查询出的宠物及其主人的信息
Ø更新宠物信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PetServlet
Servlet,处理职员的更新宠物信息的请求
2
PetDAO
其selectPetById方法负责访问pets,types,owners表完成查询出指定的宠物的详细信息以供修改;
其updatePet方法负责访问pets表完成更新指定的宠物的信息;
3
petview_name.jsp
jsp页面,显示点击的某个宠物的详细信息,只可浏览,当职员点击其中的一个修改按钮后,系统呈现修改编辑界面。
4
petupdate.jsp
jsp页面,修改宠物的编辑界面。
Ø添加新宠物
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PetServlet
Servlet,处理职员的添加新宠物的请求
2
PetDAO
其addPet方法负责访问pets表完成添加新宠物
3
petnew.jsp
jsp页面,显示界面可供输入添加的宠物的信息
4
petsearch.jsp
jsp页面,其界面上存在一个按钮可供链接到此用例的功能
Ø浏览宠物的访问历史记录
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PetVisitServlet
Servlet,处理职员的浏览宠物的访问历史记录的请求
2
PetVisitDAO
其searchPetVisitHistory方法负责访问visits表完成查询出指定的宠物的访问历史记录;
3
petview_name.jsp
jsp页面,显示点击的某个宠物的详细信息,只可浏览,当职员点击其中的一个阅览病历按钮后,系统呈现宠物的访问历史记录。
4
petvisithistory.jsp
jsp页面,显示宠物的访问历史记录。
Ø添加一次宠物的访问
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PetVisitServlet
Servlet,处理职员的添加一次宠物的访问的请求
2
PetVisitDAO
其addNewVisit方法负责访问visits表完成添加一次宠物的访问记录;
3
petview_name.jsp
jsp页面,显示点击的某个宠物的详细信息,只可浏览,当职员点击其中的一个增加新病历按钮后,系统呈现添加宠物的一次访问记录的界面。
4
petnewvisit.jsp
jsp页面,显示一个界面以便输入宠物的访问记录。
5
petsearch.jsp
jsp页面,可供输入查询宠物的条件
第四部分、数据库设计
1、逻辑设计
系统的E-R图如下:
2、表设计
表名
功能说明
vets
存储兽医信息
specialties
存储兽医的专业特长信息
vet_specialties
兽医与专业特长的关联表
types
宠物的类型表
owners
宠物的主人
pets
存储宠物信息
visits
存储宠物的访问信息
employee
存储职员信息
2.1vets
表名
vets
列名
数据类型(精度范围)
空/非空
约束条件
其它说明
id
INT
NOTNULL
IDENTITY(1,1)PRIMARYKEY
name
VARCHAR(30)
补充说明
2.2specialties
表名
specialties
列名
数据类型(精度范围)
空/非空
约束条件
其它说明
id
INT
NOTNULL
IDENTITY(1,1)PRIMARYKEY
name
VARCHAR(80)
补充说明
2.3vet_specialties
表名
vet_specialties
列名
数据类型(精度范围)
空/非空
约束条件
其它说明
vet_id
INT
NOTNULL
foreignkeyREFERENCESvets(id)
specialty_id
INT
NOTNULL
foreignkeyREFERENCESspecialties(id)
补充说明
2.4types
表名
types
列名
数据类型(精度范围)
空/非空
约束条件
其它说明
id
INT
NOTNULL
IDENTITY(1,1)PRIMARYKEY
name
VARCHAR(80)
补充说明
2.5owners
表名
owners
列名
数据类型(精度范围)
空/非空
约束条件
其它说明
id
INT
NOTNULL
IDENTITY(1,1)PRIMARYKEY
name
VARCHAR(30)
address
VARCHAR(255)
city
VARCHAR(80)
telephone
VARCHAR(20)
补充说明
2.6pets
表名
pets
列名
数据类型(精度范围)
空/非空
约束条件
其它说明
id
INT
NOTNULL
IDENTITY(1,1)PRIMARYKEY
name
VARCHAR(30)
birth_date
DATETIME
type_id
INT
NOTNULL
foreignkeyREFERENCEStypes(id)
owner_id
INT
NOTNULL
foreignkeyREFERENCESowners(id)
补充说明
2.7visits
表名
visits
列名
数据类型(精度范围)
空/非空
约束条件
其它说明
id
INT
NOTNULL
IDENTITY(1,1)PRIMARYKEY
pet_id
INT
NOTNULL
foreignkeyREFERENCESpets(id)
visit_date
DATETIME
description
VARCHAR(255)
补充说明
2.8employee
表名
employee
列名
数据类型(精度范围)
空/非空
约束条件
其它说明
name
VARCHAR(20)
NOTNULL
PRIMARYKEY
password
VARCHAR(20)
NOTNULL
补充说明
第五部分、界面设计
1、主界面设计
系统的首页为登录页面,如下图所示:
本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。
2、用例界面实现
Ø登录
当职员成功登录之后,出现如下界面:
Ø退出
点击“退出”链接即可退出系统,如下图所示:
Ø浏览兽医及其专业特长
如下图所示,输入查询的兽医的名称,点击查询按钮:
查询结果如下图所示:
Ø浏览宠物主人的信息
查询界面如下图所示:
输入查询条件,点击查询按钮,如下图所示:
查询结果如下图所示:
点击链接的客户,结果如下图:
Ø更新宠物主人的信息
编辑后点击“修改”按钮:
结果如下图:
Ø添加新客户
编辑界面如下:
添加之后:
Ø浏览宠物信息
输入查询条件:
查询结果:
点击宠物的链接:
Ø更新宠物信息
编辑宠物的信息:
修改结果:
Ø添加新宠物
添加成功之后:
Ø浏览宠物的访问历史记录
结果如下:
Ø添加一次宠物的访问
编辑访问信息:
添加之后: