# **技术报告**
## **第一章 系统概述**
包括用户管理、权限管理、软件项目管理、软件模块管理、测试用例管理、测试任务分配、bug管理等功能。实现公司不同部门间团队协作,管理人员也能够更加有效的把控系统开发的进度。
本实验综合应用JavaWeb编程中的Servlet,JSP,JavaBean,JDBC,数据可视化技术,结合后台数据库管理,设计并实现基于MVC架构的web应用系统,以提高对web应用系统的分析设计能力和解决实际工程问题的能力。
本系统采用的开发环境主要是基于数据库系统mysql 5.0和IntelliJ IDEA 2018。利用mysql创建各个部门成员的信息,以及软件任务、测试用例、bug、项目等,利用IDEA创建软件测试管理系统解决方案,开发一套测试系统,可以让不同角色参与到软件开发流程中来,管理员也可以对项目和用户信息进行维护。
## **2 系统框架**
### **2.1网络架构**
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。

图2-1-1:B/S架构
### **2.2系统架构**

图2-2-1:管理员功能

图2-2-2:项目经理功能

图2-2-3:产品经理功能

图2-2-4:开发者功能

图2-2-5:测试者功能
### **2.3模块功能说明**
由于项目经理的功能包括了产品经理、开发者、测试者的功能。而管理员功能仅比项目经理多了员工信息管理,所以在这里仅仅描述项目经理的功能模块,以及管理员的员工信息管理模块,以及所有角色都有的通用模块。
1. 通用模块
|用户登录||
| :- | -- |
|用例描述|用户选择角色并登录|
|参与者|所有用户|
|前置条件|无|
|后置条件|session中传入用户个人信息|
|基本流程|1. 用户输入账号密码进行登录验证 <br />2. 登录成功进入管理系统 <br />3. 退出登录|
|候选流程|账号密码错误时,返回错误信息|
|用户修改密码||
| :- | -- |
|用例描述|用户修改密码|
|参与者|所有用户|
|前置条件|①用户已登录 <br />②正确输入原来密码<br />③新密码两次输入相同|
|后置条件|个人信息的密码属性被修改|
|基本流程|①用户正确输入原密码 <br />②用户两次输入新密码|
|候选流程|原密码错误和两次输入新密码不同均会报错|
|数据可视化||
| :- | -- |
|用例描述|统计项目、任务、测试用例、bug信息并可视化|
|参与者|所有用户|
|前置条件|①用户已登录,在首页|
|后置条件|session中传入统计信息|
|基本流程|①用户首先点击数据刷新 <br /> ②在自己需要统计的模块下,刷新统计图|
|候选流程|无|
2. 管理员模块
|管理员工信息||
| :- | -- |
|用例描述|对员工的信息进行增删改查|
|参与者|管理员|
|前置条件|①管理员已登录 <br />②增加的员工信息ID不能重复|
|后置条件|员工信息更新|
|基本流程|①管理员通过指定操作编辑员工信息|
|候选流程|员工信息ID重复会提示操作失败|
3. 项目经理模块
|管理项目中的任务模块||
| :- | -- |
|用例描述|读项目中的任务进行增删改查|
|参与者|项目经理、产品经理|
|前置条件|参与者: ①用户已登录 ②新增的任务编号不能重复,员工指派遵循外键规则 项目经理: ①只能对自己管辖的项目下的任务进行删改 ②为产品经理新建的任务,指派开发者和测试者 产品经理: ①只能对自己创建的任务进行删改 ②能够创建任务的基本信息,但是指派开发者和测试者的要交由项目经理处理|
|后置条件|任务信息更新|
|基本流程|①管理员和产品经理根据指定操作编辑任务模块|
|候选流程|任务操作不符合规范会报错|
|测试用例管理||
| :- | -- |
|用例描述|对测试用例进行增删改查|
|参与者|项目经理、测试者|
|前置条件|参与者: ①用户已登录 ②新增的测试用例编号不能重复,测试用例指派遵循外键规则 项目经理: ①对所有测试用例的增删改查 测试者: ①增加和查询测试用例 ②对于指派给自己的测试用例,拥有部分修改权利 ③对于自己创建的测试用例,有删除和修改的权利|
|后置条件|测试用例更新|
|基本流程|①项目经理和测试者通过指定操作编辑测试用例|
|候选流程|测试用例编辑不符合规范会提示错误信息|
|bug管理||
| :- | -- |
|用例描述|对bug进行增删改查处理|
|参与者|项目经理、测试者、开发者|
|前置条件|参与者: ①用户已登录 ②新增的bug编号不能重复,bug指派遵循外键规则 项目经理: ①对所有bug的增删改查 测试者: ①增加和查询bug ②删改自己创建的bug 开发者: ①对于指派给自己的bug拥有修改的权利|
|后置条件|bug信息更新|
|基本流程|①项目经理、测试者、开发者通过指定操作编辑bug信息|
|候选流程|bug编辑不符合规范会给出错误信息|
## **第三章 系统需求分析**
### **3.1 功能描述**
(1)登录模块。选择登录类型,输入用户名和密码后,按“登录”按钮,若输入错误则弹出警告框,若输入正确,五个角色进入各自的首页。
(2)修改密码模块。输入用户名和密码后,要确保原账号正确,以及两次输入的密码一致,失败则提示操作失败,否则更新数据库。
(3)管理员执行对员工、项目的增删改查,如果编号已存在或者待删除的类在项目、任务、测试、bug中存在依赖关系,则提示操作失败,否则更新数据库信息。
(4)项目经理执行权限范围内任务、测试用例、bug的增删改查,如果新建的事物编号已存在或者待删除事物存在依赖关系,则提示操作失败,否则更新数据库信息。
(5)产品经理、开发者、测试者的模块功能已经包含在项目经理内,对其权限内的操作同项目经理。
(6)数据可视化功能。用户可以通过数据刷新,使得在首页,对自己需要的模块呈现数据可视化。
(7)Excel导出。对于查询的结果,支持Excel导出功能。
### **3.2 业务流程及处理要求**
(1)用户登录模块。输入的用户名和密码均不能为空,若输入错误则弹出警告框,输入正确方可进入相关页面
(2)修改密码模块。如果原密码输入错误,则提示密码输入错误,两次密码不一致则提示两次密码不一致。
(3)项目经理、产品经理、测试者、开发者,对于自己权限内的任务,会在返回的表单旁有“铅笔”和“叉叉”标记,查询返回的table旁有这个标记的,则表明自己有权限对其进行编辑操作。此外对于自己指定权限内的任务,会有新建操作。如果新建的事物编号�