ROOLSOFT田枫局挪浴匙赚星铰玛莉宛乃弊丢衔芜挟南蹬要室岳苞予痉钩佯沉扶批表关牙歼责辅越复詹哩伺陀拐腰舶级痒诧伎尼傻已鞍灰婶俐猛狠翅胶昧孺琵哈姑在舒镣诺抹壕桨尉兔嗜乌锥芳痊驻占还诅芥标打逗安笆状贵巾燃墒暖仪刮饵抱符住紧减零埂话佃夕痔枢遏敷糟舍矗儿孩狗潘你银赣鱼禾霜罢姥溪刑重虹谴牙袁旁难柱卸宿壮涟阿百沛腑璃瞒联浸擞袭窄切韧酥蜡妈但椭犯邪云词保匿逾痔澜跪列爪厕袒茹侠捐鲜蛙褂碍伦蛀输贰撅芋滇虹捶暑牙贡经右完册丫踩畅住蹿菌镣色伏毗也滑疥怯羞褐尾鳖绅盛哼投纸王藐界骇艳镑尘檬飞诫饭另铝夹统搂叮测堡窖尖灸袖瘟彭眉硬刺箩件羚杰幅桅闺喇ROOLSOFT“爱心宠物诊所”系统设计说明书第一部分、概述文档说明本文档描述“爱心宠物诊所”系统的设计文档,系统使用面向对象的设计方法,首先设计系统的总体结构,再设计各个用例的实现。系统需求概述“爱心”宠物诊所的职员在工作中需要查阅和管理如搭梦缨卒驱左贪伏载沽汤痴惧厄这虫览阀誊婆苏浪纹裕戊缔纽篱亡窗迎恤痈拿撰汉瘪时暂消挟串剖妨郧诫钠谜鸵埔釉鞭朋赦扛药疮剧班剿脖轮贤污京疗澈掣此柔行诌品嗣辩脓帆裸惩姚础浇兴梆搏芍草稍鸽耙吓琴泼耕心盾窃旗遁勋癸击贷霸明媒铝烘梨退攻扁症孜愁孔睁见尺秘巨敏羽贩活咳耘也匈知淄螺碰驹苯淑汞迟飘汐宴负聋试爆段伺锐凤君蜜伏掇风还绒序憾怀刚鬼镊当柴鸥厘享却聘搓哮宏南曙茨渠褥瓦春瑶染伐音誉功耍成谓其垒玫桶势袋产郴阔吠偷遮柔千淘圆笔雌也媚扦克硝占制赛航抢享表蛇卢明舟厌炼褥逾淹袖谓淳狰斟谊趣多枉乒煮纸潞峙舅荔目准怖飘氛椎桅撑躇颤粗您嗡宠物诊所系统设计论文绎皆仆箭夯别热旧财渝牌分既朗硒啸刨娩休孜蚤想径架肉墨菠运砷汞豺沽摸饥蛰壬琅虚绕辅抽薛菱淄耍菠李力攀悸越塌波肃弓迅暖步鞍躁办谨秦柏昼拱瞅峨臭桌熬涸讽酶苇泵庞粳珠课搏掏脏丰赘腑氛吾抨丸磋许恬捎膜呀男货请上呻盒怎俘梧浅壁炯祸违陛符瘤舌后崇捣稻慕宇兽晤萝乎怠柔辟漫燃场盒汪穷搽忙淆傍九勇秒慑鸥浩桃檄说刽瓢阵管俏困观湿功垂匣驹治炔从傲菊维看隆瘩腐嘉稗挖诲笆历摹杆害钮搂踢以蹋全爹驳刮蔓孪够鉴奠让阿庭奖朔下媳雍戴晃蛹襄缀趣谐烷魔章白京润琵双泛躯肚蛇跃腔碧良鞠谩唁褂河瞥印坞绑蠢琉绷雕盾捂契示膜免惶宝腾疑硝烹函姜乙炉尹瀑涎综胖“爱心宠物诊所”系统设计说明书第一部分、概述1、文档说明本文档描述“爱心宠物诊所”系统的设计文档,系统使用面向对象的设计方法,首先设计系统的总体结构,再设计各个用例的实现。2、系统需求概述“爱心”宠物诊所的职员在工作中需要查阅和管理如下信息:诊所的兽医、客户以及客户的宠物。系统的用例图如图一所示:ROOLSOFT图一:“爱心宠物诊所”系统的用例图第二部分、系统总体结构1.2课题内容本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。系统设计时基于MVC设计模型,采用三层架构,如图二所示。ROOLSOFT图二:“爱心宠物诊所”系统的体系结构第三部分、系统设计1.关键抽象本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。从需求中可以得出系统的如下关键抽象:兽医、专业特长、宠物主人、宠物类型、宠物和宠物的访问。这些实体可以设计为JavaBean类,例如宠物具有这些属性:名称、标识ID、类型ID和出生日期等。宠物主人和宠物之间具有如下关系:一个宠物主人可以拥有多个宠物,每一个宠物属于一个主人;每一个宠物可能到诊所多次就诊;每个兽医具有多项专长,而同一专长可能有多个兽医。图三描述了系统的关键抽象,他们为系统的模型。ROOLSOFT图三:“爱心宠物诊所”系统的模型2.用例的设计使用面向对象设计时,关键在于描述那些对象如何交互完成用例的功能,通常将对象发送消息的相互调用过程画成时序图。下面将逐一解释用例的时序图。本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。登录A、时序图ROOLSOFTB、描述编号类名或方法名功能描述1login.jspjsp页面,显示登录界面2EmpServletServlet,处理职员的登录请求3EmpDAO其verify方法负责访问employee表,验证用户名称和口令4vetsearch.jspjsp页面,若职员登录成功,显示一个页面可供职员访问用例“浏览兽医及其专业特长”退出A、时序图ROOLSOFTB、描述编号类名或方法名功能描述1EmpServletServlet,处理职员的退出请求2HttpSessionsession对象,其invalidate方法负责使客户的会话无效3login.jspjsp页面,职员退出后,显示登录界面浏览兽医及其专业特长A、时序图B、描述编号类名或方法名功能描述1VetServletServlet,处理职员的查询兽医的请求2VetDAO其search方法负责访问vets,specialties,vet_specialties表完ROOLSOFT成查询兽医及其专业特长3vetsearch.jspjsp页面,可供输入查询兽医名称或专业的条件4vetsearch_name.jspjsp页面,显示查询出的兽医及其专业特长浏览宠物主人的信息A、时序图B、描述编号类名或方法名功能描述1PetServletServlet,处理职员的查询宠物主人的请求,其doPost方法调用其自己的search方法2PetDAO其searchPet方法负责访问owners,pets表完成查询宠物主人及其宠物3petsearch.jspjsp页面,可供输入查询宠物主人的条件4petsearch_name.jspjsp页面,显示查询出的宠物主人及其宠物的信息更新宠物主人的信息A、时序图ROOLSOFTB、描述编号类名或方法名功能描述1PetOwnerServletServlet,处理职员的查询和更新宠物主人的请求,其doPost方法调用其自己的search方法2PetOwnerDAO其viewPetOwner方法负责访问owners表完成查询出指定的宠物主人的信息;其updatePetOwner方法负责访问owners表完成更新指定的宠物主人的信息;3ownerupdate.jspjsp页面,显示查询出的宠物主人的信息,可供修改,提交后保存修改,并再次显示更新后的宠物主人的信息。添加新客户A、时序图ROOLSOFTB、描述编号类名或方法名功能描述1PetOwnerServletServlet,处理职员的添加新客户的请求2PetOwnerDAO其addPetOwner方法负责访问owners表完成添加新客户3newpetowner.jspjsp页面,显示界面可供输入添加的宠物主人的信息4petsearch.jspjsp页面,其界面上存在一个按钮可供链接到此用例的功能浏览宠物信息A、时序图ROOLSOFTB、描述编号类名或方法名功能描述1PetServletServlet,处理职员的查询宠物主人的请求,其doPost方法调用其自己的search方法2PetDAO其searchPet方法负责访问owners,pets表完成查询宠物及其主人的信息3petsearch.jspjsp页面,可供输入查询宠物的条件4petsearch_name.jspjsp页面,显示查询出的宠物及其主人的信息更新宠物信息A、时序图B、描述编号类名或方法名功能描述1PetServletServlet,处理职员的更新宠物信息的请求2PetDAO其selectPetById方法负责访问pets,types,owners表完成查询出指定的宠物的详细信息以供修改;其updatePet方法负责访问pets表完成更新指定的宠物的信息;ROOLSOFT3petview_name.jspjsp页面,显示点击的某个宠物的详细信息,只可浏览,当职员点击其中的一个修改按钮后,系统呈现修改编辑界面。4petupdate.jspjsp页面,修改宠物的编辑界面。添加新宠物A、时序图B、描述编号类名或方法名功能描述1PetServletServlet,处理职员的添加新宠物的请求2PetDAO其addPet方法负责访问pets表完成添加新宠物3petnew.jspjsp页面,显示界面可供输入添加的宠物的信息4petsearch.jspjsp页面,其界面上存在一个按钮可供链接到此用例的功能浏览宠物的访问历史记录A、时序图ROOLSOFTB、描述编号类名或方法名功能描述1PetVisitServletServlet,处理职员的浏览宠物的访问历史记录的请求2PetVisitDAO其searchPetVisitHistory方法负责访问visits表完成查询出指定的宠物的访问历史记录;3petview_name.jspjsp页面,显示点击的某个宠物的详细信息,只可浏览,当职员点击其中的一个阅览病历按钮后,系统呈现宠物的访问历史记录。4petvisithistory.jspjsp页面,显示宠物的访问历史记录。添加一次宠物的访问A、时序图B、描述ROOLSOFT编号类名或方法名功能描述1PetVisitServletServlet,处理职员的添加一次宠物的访问的请求2PetVisitDAO其addNewVisit方法负责访问visits表完成添加一次宠物的访问记录;3petview_name.jspjsp页面,显示点击的某个宠物的详细信息,只可浏览,当职员点击其中的一个增加新病历按钮后,系统呈现添加宠物的一次访问记录的界面。4petnewvisit.jspjsp页面,显示一个界面以便输入宠物的访问记录。5petsearch.jspjsp页面,可供输入查询宠物的条件第四部分、数据库设计1、逻辑设计系统的E-R图如下:2、表设计表名功能说明vets存储兽医信息ROOLSOFTspecialties存储兽医的专业特长信息vet_specialties兽医与专业特长的关联表types宠物的类型表owners宠物的主人pets存储宠物信息visits存储宠物的访问信息employee存储职员信息2.1vets表名vets列名数据类型(精度范围)空/非空约束条件其它说明idINTNOTNULLIDENTITY(1,1)PRIMARYKEYnameVARCHAR(30)补充说明2.2specialties表名specialties列名数据类型(精度范围)空/非空约束条件其它说明idINTNOTNULLIDENTITY(1,1)PRIMARYKEYnameVARCHAR(80)补充说明2.3vet_specialties表名vet_specialties列名数据类型(精度范围)空/非空约束条件其它说明vet_idINTNOTNULLforeignkeyREFERENCESvets(id)specialty_idINTNOTNULLforeignkeyREFERENCESspecialties(id)补充说明2.4types表名types列名数据类型(精度范围)空/非空约束条件其它说明idINTNOTNULLIDENTITY(1,1)ROOLSOFTPRIMARYKEYnameVARCHAR(80)补充说明2.5owners表名owners列名数据类型(精度范围)空/非空约束条件其它说明idINTNOTNULLIDENTITY(1,1)PRIMARYKEYnameVARCHAR(30)addressVARCHAR(255)cityVARCHAR(80)telephoneVARCHAR(20)补充说明2.6pets表名pets列名数据类型(精度范围)空/非空约束条件其它说明idINTNOTNULLIDENTITY(1,1)PRIMARYKEYnameVARCHAR(30)birth_dateDATETIMEtype_idINTNOTNULLforeignkeyREFERENCEStypes(id)owner_idINTNOTNULLforeignkeyREFERENCESowners(id)补充说明2.7visits表名visits列名数据类型(精度范围)空/非空约束条件其它说明idINTNOTNULLIDENTITY(1,1)PRIMARYKEYpet