1、“爱心宠物诊所” 系统 设计说明书 第一部分、概述 1、 文档说明 本文档 描述“爱心宠物诊所”系统的设计文档,系统使用面向对象的设计方法,首先设计系统的总体结构,再设计各个用例的实现。 2、 系统需求概述 “爱心”宠物诊所的职员在工作中需要查阅和管理如下信息:诊所的兽医、客户以及客户的宠物。 系统的用例图如图一所示: 图一:“爱心宠物诊所”系统的用例图 第 二 部分、 系统总体结构 系统设计时基于 MVC 设计模型,采用三层架构 ,如图二所示 。 图二:“爱心宠物诊所”系统的体系结构 第 三 部分、 系统设计 1. 关键抽象 从需 求中可以得出系统的如下关键抽象: 兽医 、专业特长、宠物 主
2、人 、 宠物类型、 宠物和宠物的访问。这些实体可以设计为 JavaBean 类,例如宠物具有这些属性:名称、标识ID、类型 ID 和出生日期等。 宠物 主人 和宠物之间具有如下关系:一个宠物 主人 可以拥有多个宠物,每一个宠物属于一个主人;每一个宠物可能到诊所多次就诊;每个 兽医 具有 多项 专长,而同一专长可能有多个兽医。 图三描述了系统的关键抽象,他们为系统的模型。 图三:“爱心宠物诊所”系统的模型 2. 用例的设计 使用面向对象设计时,关键在于描述那些对象如何交互完成用例的功能 ,通常将对象发送消息的相互调用过程画成时序图。 下面将逐一解释用例的时序图。 登录 A、 时序图 B、 描述
3、编号 类名或 方法名 功能描述 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 lo
4、gin.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、描述 编号 类名
5、或 方法名 功能描述 1 PetServlet Servlet,处理职员的查询 宠物 主人 的请求 ,其 doPost方法调用其自己的 search 方法 2 PetDAO 其 searchPet 方法负责访问 owners , pets 表完成查询 宠物 主人 及其宠物 3 petsearch.jsp jsp 页面 , 可供输入查询宠物 主人 的条件 4 petsearch_name.jsp jsp 页面 , 显示查询出的宠物 主人 及其宠物的信息 更新 宠物 主人 的 信 息 A、时序图 B、描述 编号 类名或 方法名 功能描述 1 PetOwnerServlet Servlet,处理职员
6、的查询 和更新 宠物 主人 的请求 ,其 doPost方法调用其自己的 search 方法 2 PetOwnerDAO 其 viewPetOwner 方法负责访问 owners 表完成查询 出指定的 宠物 主人 的信息; 其 updatePetOwner 方法负责访问 owners 表完成更新指定的宠物 主人 的信息; 3 ownerupdate.jsp jsp 页面 , 显示查询出的宠物 主人 的信息 ,可供修改,提交后保存 修改 ,并再次显示更新后的宠物 主人 的信息。 添 加新客户 A、时序图 B、描述 编号 类名或 方法名 功能描述 1 PetOwnerServlet Servlet,
7、处理职员的 添加新客户 的请求 2 PetOwnerDAO 其 addPetOwner 方法负责访问 owners 表完成 添加新客户 3 newpetowner.jsp jsp 页面 , 显示界面可供输入添加的 宠物 主人 的 信息 4 petsearch.jsp jsp 页面 , 其界面上存在一个按钮可供链接到此用例的功能 浏览宠物 信 息 A、时序图 B、描述 编号 类名或 方法名 功能描述 1 PetServlet Servlet,处理职员的查询宠物 主人 的请求 ,其 doPost方法调用其自己的 search 方法 2 PetDAO 其 searchPet 方法负责访问 owner
8、s , pets 表完成查询宠物及其 主人的信息 3 petsearch.jsp jsp 页面 , 可供输入查询宠物的条件 4 petsearch_name.jsp jsp 页面 , 显示查询出的宠物及其主人的信息 更新 宠物 信 息 A、时序图 B、描述 编号 类名或 方法名 功能描述 1 PetServlet Servlet,处理职员的更新宠物信息的请求 2 PetDAO 其 selectPetById 方法负责访问 pets, types, owners 表完成查询出指定的宠物的详细信息以供修改; 其 updatePet 方法负责访问 pets 表完成更新指定的宠物的信息; 3 petv
9、iew_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、时序图