“毕业设计选题”系统设计说明书第一部分、概述1、文档说明本文档描述“毕业设计选题”系统的设计文档,系统使用面向对象的设计方法,首先设计系统的总体结构,再设计各个用例的实现。2、系统需求概述“毕业设计选题系统”的用例图如图一所示:图一:“毕业设计选题系统”的用例图第二部分、系统总体结构系统设计时基于MVC设计模型,采用三层架构,涉及到的技术有struts2+hibernate+spring,界面采用的是浮动框架设计。struts2将项目层次化,结构更加清晰,代码更加精简,hibernate操作数据库更加方便。同时Hibernate主要是将对数据库的操作转换为对对象的操作,更加符合了面向对象的思想,简化了程序的编写和维护的难度,spring主要是管理配置文件,管理系统组件。第三部分、系统设计1.关键抽象从需求中可以得出系统的如下关键抽象:学生、教师、课程、班级。这些实体可以设计为持久类。图三描述了系统的关键抽象,他们为系统的模型。图三:“爱心宠物诊所”系统的模型2.用例的设计使用面向对象设计时,关键在于描述那些对象如何交互完成用例的功能,通常将对象发送消息的相互调用过程画成时序图。下面将逐一解释用例的时序图。登录A、时序图B、描述编号类名或方法名功能描述1login.jspjsp页面,显示登录界面2UserAction处理用户的登录请求3UserDaoImpl其login()方法负责访问tb_user表,验证用户编号和密码4main.jspjsp页面,若用户登录成功,显示一个页面可供用户访问自己的课程相关信息退出A、时序图B、描述编号类名或方法名功能描述1UserActionloginOut()处理用户的退出请求2HttpSessionsession对象,其invalidate方法负责使客户的会话无效3login.jspjsp页面,职员退出后,显示登录界面第四部分、数据库设计1、表设计表名功能说明tb_user存储学生,教师,管理员所共有的信息,并加一个user_role字段进行身份的判断tb_student存储除了tb_user表以外的学生信息,例如学生分数(student_score)tb_courses存储学生课程信息tb_class存储学生系别和班级信息2.1tb_user表名tb_user列名数据类型(精度范围)空/非空约束条件其它说明user_numbervarchar(100)NOTNULLIDENTITY(1,1)登录编号user_passwordvarchar(100)NOTNULL登录密码user_namevarchar(100)NOTNULL用户姓名user_sexvarchar(50)用户性别user_phonevarchar(50)用户电话user_emailvarchar(100)用户emailuser_roleInt用户角色补充说明用户编号是获取当前系统时间连接上1到1000以内的随机数生成的;user_role=0学生,user_role=1教师,user_role=2管理员2.2tb_student表名tb_student列名数据类型(精度范围)空/非空约束条件其它说明student_numbervarchar(100)NOTNULLIDENTITY(1,1)学生编号student_scorevarchar(50)学生成绩student_coursesidint学生课程IDstudent_isallowedint选课是否被接受student_teachernumbervarchar(100)任课老师的编号student_classidint学生的班级IDstudent_deptidint学生的系别ID补充说明student_coursesid对应tb-courses表中的courses_id;student_number对应tb_user表中的user_number;student_classid对应tb_class表中的class_id;student_deptid对应tb_class表中的department_id2.3.tb_courses表名tb_courses列名数据类型(精度范围)空/非空约束条件其它说明courses_idintNOTNULLIDENTITY(1,1)课程IDcourses_namevarchar(100)课程名字courses_teachernumbervarchar(100)任课老师编号补充说明courses_teachernumber对应tb_user表中的user_number2.4tb_class表名tb_class列名数据类型(精度范围)空/非空约束条件其它说明department_idintNOTNULLIDENTITY(1,1)学生的系别IDdepartment_namevarchar(50)学生系别名字class_idint学生班级IDclass_namevarchar(50)学生班级名称补充说明第五部分、界面设计1、主界面设计系统的首页为登录页面,如下图所示:2、用例界面实现登录当职员成功登录之后,出现如下界面:退出点击“退出”链接即可退出系统,如下图所示:浏览兽医及其专业特长如下图所示,输入查询的兽医的名称,点击查询按钮:查询结果如下图所示:浏览宠物主人的信息查询界面如下图所示:输入查询条件,点击查询按钮,如下图所示:查询结果如下图所示:点击链接的客户,结果如下图:更新宠物主人的信息编辑后点击“修改”按钮:结果如下图:添加新客户编辑界面如下:添加之后:浏览宠物信息输入查询条件:查询结果:点击宠物的链接:更新宠物信息编辑宠物的信息:修改结果:添加新宠物添加成功之后:浏览宠物的访问历史记录结果如下:添加一次宠物的访问编辑访问信息:添加之后: