https://www.bilibili.com/video/BV1Nt421b7j5/演示视频:
5 详细设计
详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
5.1主要界面设计
5.1.1系统主界面设计
系统主界面采用蓝天为背景,显示出一种比较商务的气息,界面的中间放置四幅图片,分别代表着我们系统设置的四种角色,访客,学生,导师和管理员,图片分别链接这不同的角色入口,点击图片,进入不同的系统之中,实现不同的功能。
5.1.2登陆界面设计
除了访客外,每一种角色的登陆均需要输入用户编号,用户密码,整个页面会有两个输入文本框分别对应编号与密码,此外还添加了表单验证功能,对空提交和错误提交都有相应的提示,以保证输入数据的正确性。
5.1.3进入系统主界面
每种角色进入系统之后,会根据本身角色的功能需求在整个界面的左侧进行展示,相应的选择之后,会在系统的右侧一块区域内显示所选择的信息。进入系统主界面仍然以蓝色为主,在其中的展示区域会有不同,我们分别为四个角色放置了四种不同的图片,使得整个系统在同一的色彩配置之上不失各个角色的独特性。
5.2业务逻辑层详细设计
5.2.1用户登陆模块详细设计
用户登陆实质上是对用户的一种检索,检索的条件是用户名(编号),密码这两者分别在不同的数据库中存在而且匹配。该系统除了游客以外,其余角色的所有功能都是在用户登陆的前提下才能正常运行,所以这个功能在系统中起着重要的作用。它是进入系统的一道门槛,目的就是为了身份验证,保证系统的安全性。
用户进入主界面之后选择对应的身份图片,进入不同的登陆界面,输入用户名密码之后单击登陆,输入的信息将与对用的列表进行比较,如果表中有用户名,密码相对应则登陆成功,进入下一界面,若输入错误则会有相应的提示,不输入任何信息也会做验证。登陆的流程图和时序图如下:
图5-1 登陆的系统流程图
在此界面上我们用到了两种不同的验证方式,首先是通过struts2的标签机制验证,保证我所输入的数据是对应的,并且不能为空,这里这种验证方法不经过后台,相对来说效率较高。另一种是对输入数据在数据库中的检索验证,我们需要保证输入的用户名和密码在数据库中存在而且匹配,若验证错误,则会一直保持在登陆界面,一旦验证成功便进入操作界面。
登陆系统的时序图:
图5-2 登陆的时序图
以上两个登陆的详细设计图描述了用户的登陆的整个顺序,首先判断在输入信息是否完整,在输入完整的情况下把界面信息传递,然后在数据库中查找用户是否存在,并比价用户名和密码是否匹配,最后返回结果,如果用户不存在或者密码不匹配则在界面显示错误信息。
5.2.2访客功能详细设计
访客的功能就是对导师信息进行查询,查看,相对来说功能单一,但是访客的查询选择是比较多的,主要包括四种,姓名查询,学院查询,职称查询还有导师编号的jingque查询。
下图5-3 是主要活动流程:
访客所能进行的活动就是条件查询和jingque查询。分别进入不同的功能界面之后,按照要求输入信息,显示出相应的信息展示。
图5-3 访客活动图
访客流程图:
图5-4访客流程图
访客进入界面后选择要进行的查询方式,选择条件查询,之后还需要选择是按照什么条件来进行查询,分别有按姓名,按学院,按职称。jingque查询需要访客在已经知道导师的编号的情况下进行,会展示出导师的详细信息。
5.2.3在校学生功能详细设计
学生功能包括对导师信息查询,对个人信息查询,对作业信息查询,对成绩信息查询。功能比较单一。
下图5-5 是主要活动流程:
图5-5 学生活动图
学生流程图:
图5-6 学生流程图
学生进入系统后选择需要进行的操作,包括导师信息查询,个人信息查询,分数成绩查询以及作业要求查询等。点击相应的选项会出现相应的窗口,按照提示输入信息,之后会在显示窗口中将所查询的信息展示出来。
5.2.4导师功能详细设计
导师进入系统后需要进行功能选择,当选择个人信息时,会进入下一个选择之中,导师能够对自己的信息进行添加,修改,和对所有导师信息的查看。当选择作业和成绩信息时,主要就是对这两类信息的管理,都包括增删查三种功能。当选择学生信息时,导师能够看到所有学生的信息。
图5-7 导师活动图
导师操作的流程图:
图5-8 导师流程图
5.2.5管理员详细设计
管理员是整个系统的最高权限人,所以为保障数据的安全性,管理员有增加了一个root标签,来表明管理员的权限。管理员的操作主要是涉及导师,学生,和管理员自己的信息管理,具体活动图,流程图如下所示:
图5-9 管理员活动图
管理员能对所有的信息进行管理,其中root权限管理员更是能够将管理员进行增加和删除。在上图中,我们仅仅就普通管理员进行了分析。能够执行增加,删除,修改,查询,审核等操作。可以看到管理员是整个系统中拥有最高权限的角色。
图5-9 管理员流程图
管理员流程图基本和活动图一致。
鉴于篇幅问题,管理员的流程图和活动图就相对简洁了些。管理员进入界面之后,其功能就是增删改查和审核,其中增加是增加的导师和学生,对于管理员的增加需要超级权限。删除的是导师学生,管理员的删除需要超级权限,修改紧急包括学生和老师,查询是对整个体统中注册的所有人员的查询。审核是对导师完善的个人信息的审核,只有审核通过访客和学生才能查询到导师信息。
在xml代码验证处我们分别对是否为空,以及利用正则表达式对输入信息的基本内容进行了验证。保证了输入数据的准确性与完整性。
整个系统的操作层层递进,充分的保障了系统的数据安全性,以及系统开发的便捷性。
5.3数据库连接
本系统是利用jsp,struts2技术对数据库进行访问的,在项目中建立了com.hyq.struts2.DAO包,利用里面的DBcon.java来对数据库进行连接,而主要的增加,删除修改等语句主要放到了数据处理层中,从而将所有与数据库相关的操作完全进行了分离,保证对数据库操作的安全性。
下面是主要的数据库连接代码:
6 系统实现
6.1系统主界面
通过以上对于系统界面的设计,系统主界面采用蓝天为背景,显示出一种比较商务的气息,界面的中间放置四幅图片,分别代表着我们系统设置的四种角色,访客,学生,导师和管理员,图片分别链接这不同的角色入口,点击图片,进入不同的系统之中,实现不同的功能。
页面的实现效果如下图所示:
图6-1 研究生导师信息管理系统主界面
系统的主界面相对来说比较简单,该系统属于管理系统,相对来说系统的界面要实现一种简洁干净的感觉,所以主页面显的相对比较简单。页面中放置了四张图片,分别对应着不同的四种角色,在界面此处的设计中我们实现了这样的一个页面效果,当鼠标经过图片时,图片会相应的变成淡色,以表示选中了这个图片的路径入口。
6.2系统角色登陆界面
在整个系统中有学生,导师,管理员,三种需要进行身份验证的人员,为保证系统的安全性,我们设置了系统的登陆界面,当点击各自的登陆入口时,进入到了不同的登陆界面中,每一个登陆界面的内部处理逻辑都是与相应的数据库相连接的,例如管理员输入管理员用户名,密码时,提交会将信息提交到数据处理层,在数据处理层与管理员数据库中的记录进行比对。在此登陆界面我们还设置了xml的信息验证,主要是对输入信息的格式,形式进行验证。例如管理员编号是以“0”开头的八位数字,导师编号是以“1”开头的八位数字,学生编号是以“2”开头的八位数字;如果进入管理员的登陆界面,输入非管理员编号,页面的验证就会有提示,页面报错,并仍然会停留在此界面中。直到输入的信息与要求完全匹配。
页面的实现效果如下图所示:
图6-2 研究生导师信息管理系统管理员登陆界面
上图仅是导师的登陆界面,其余各个身份的登陆界面除所插入的图片不同外,其余的均与上图显示相同。此处的表格验证主要是利用了struts2标签的验证功能,利用xml文件进行的验证。
6.3系统角色角色进入界面
当在系统注册人员输入用户名密码后,如果成功进行了验证就会进入系统的主界面,系统的主界面主要有两个区域划分,第一个是选择区域,第二个是展示区域。用户进入主界面后,在选择区域可以选择要进行的操作,例如导师,导师进入系统之后可以在选择区域进行个人信息查询,学生信息查询,成绩操作,作业操作等,点击相应的选择之后在展示区就会出现不同的影响
页面的实现效果如下图所示:
图6-3 研究生导师信息管理系统管理员系统界面
其余每个角色进入系统之后的界面与上图基本一致,以蓝天白云为大背景,在显示区的图片有所不同,从而在统一之中彰显出各个角色的个性。整体的界面设计相对比较简洁,依靠图片将整个的界面变的相对来说更加活泼,更加温馨一些,从而拉近了软件与用户之间的距离,从另一方面说提高了用户的软件适应度。
以上部分是整个研究生导师信息管理系统的界面实现部分,在界面之后的部分主要是一些数据的处理和数据库的连接,表单的验证部分。整个软件的设计在商务范的大背景之下不乏一丝的温情,充分的考虑到了用户的界面感受,基本实现了整个软件设计的原则。