基于Java+Mysql实现(web)大型企业管理系统

技术报告

第一章 系统概述

包括用户管理、权限管理、软件项目管理、软件模块管理、测试用例管理、测试任务分配、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. 用户输入账号密码进行登录验证 2. 登录成功进入管理系统 3. 退出登录
候选流程账号密码错误时,返回错误信息
用户修改密码
用例描述用户修改密码
参与者所有用户
前置条件①用户已登录 ②正确输入原来密码 ③新密码两次输入相同
后置条件个人信息的密码属性被修改
基本流程①用户正确输入原密码 ②用户两次输入新密码
候选流程原密码错误和两次输入新密码不同均会报错
数据可视化
用例描述统计项目、任务、测试用例、bug信息并可视化
参与者所有用户
前置条件①用户已登录,在首页
后置条件session中传入统计信息
基本流程①用户首先点击数据刷新 ②在自己需要统计的模块下,刷新统计图
候选流程
  1. 管理员模块
管理员工信息
用例描述对员工的信息进行增删改查
参与者管理员
前置条件①管理员已登录 ②增加的员工信息ID不能重复
后置条件员工信息更新
基本流程①管理员通过指定操作编辑员工信息
候选流程员工信息ID重复会提示操作失败
  1. 项目经理模块
管理项目中的任务模块
用例描述读项目中的任务进行增删改查
参与者项目经理、产品经理
前置条件参与者: ①用户已登录 ②新增的任务编号不能重复,员工指派遵循外键规则 项目经理: ①只能对自己管辖的项目下的任务进行删改 ②为产品经理新建的任务,指派开发者和测试者 产品经理: ①只能对自己创建的任务进行删改 ②能够创建任务的基本信息,但是指派开发者和测试者的要交由项目经理处理
后置条件任务信息更新
基本流程①管理员和产品经理根据指定操作编辑任务模块
候选流程任务操作不符合规范会报错
测试用例管理
用例描述对测试用例进行增删改查
参与者项目经理、测试者
前置条件参与者: ①用户已登录 ②新增的测试用例编号不能重复,测试用例指派遵循外键规则 项目经理: ①对所有测试用例的增删改查 测试者: ①增加和查询测试用例 ②对于指派给自己的测试用例,拥有部分修改权利 ③对于自己创建的测试用例,有删除和修改的权利
后置条件测试用例更新
基本流程①项目经理和测试者通过指定操作编辑测试用例
候选流程测试用例编辑不符合规范会提示错误信息
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旁有这个标记的,则表明自己有权限对其进行编辑操作。此外对于自己指定权限内的任务,会有新建操作。如果新建的事物编号重复或者删除的事物中存在关联,则提示操作失败。

(4)用户进入首页后,可以点击数据刷新按钮,之后再通过刷新图表,显示图案的柱状统计图。

(5)用户的查询结果,可以选择导出到excel,下载到本地。

3.3 输入信息

1.用户登录:用户类型、用户账号、用户密码。

2.修改密码:用户账号,用户原密码,用户新密码,用户新密码确认。

3.用户信息管理:用户账号、用户姓名、用户密码、用户类型、用户性别、用户邮箱。

4.任务信息管理:任务编号、归属项目编号、任务名称、产品经理编号、开发者编号、测试者编号、完成状态、开始日期、截止日期。

5.测试用例信息管理:测试用例编号、测试用例名称、类型、创建人(测试者)编号、执行人(测试者)编号、结果、状态、执行时间。

6.Bug信息管理:Bug编号、Bug名称、类型、测试者编号、开发者编号、方案、执行时间。

7.项目信息管理:项目编号、项目名称、开始日期、截止日期、完成状态。

8.以上所有信息均支持多条件复合查询,复合条件即以上信息管理所提到的字段。

3.4 输出信息

1.用户登录:如果账户密码正确,则跳转至对应类型用户的index.jsp(首页)界面,否则提示账号或者密码输入错误。

2.修改密码:根据原始密码输入错误或者两次输入密码是否一致给出错误信息,若都正确则更新密码。

3.用户信息管理:如果用户账号不重复且输入的部门是存在的,则数据库中更新信息,否则提示失败。

4.任务信息管理:如果输入的任务编号不重复,且对应的产品经理编号、开发者编号、测试者编号、归属项目编号存在,日期格式符合规范,则更新数据库中的任务信息,并跳转回tasks.jsp,否则提示操作失败。

5.测试用例信息管理:如果测试用例编号不重复,且对应的测试者编号存在,则更新测试用例数据库信息,否则提示操作失败。

6.bug信息管理:如果bug编号不重复,且对应的测试者和开发者存在,则更新bug信息,否则提示操作失败。

7.项目信息管理:如果项目编号不重复,则更新信息,否则提示操作失败。

8.在执行符合查询时,查询结果会以对应的table格式返回。

第四章 数据库设计

4.1 数据库表概念结构设计

1.Person

标识符意义类型值域
编号用户编号varchar长度<=255
姓名用户名varchar长度<=255
密码用户密码varchar长度<=255
性别性别varchar长度<=255
邮箱邮箱varchar长度<=255
部门部门varchar长度<=255
  1. 任务
标识符意义类型值域
任务编号任务编号varchar长度<=255
任务名称任务名称varchar长度<=255
完成状态任务完成状态varchar长度<=255
开始日期任务开始日期date/
截止日期任务截止日期date/
产品经理编号创建该任务的产品经理varchar长度<=255
开发者编号开发该任务的开发者varchar长度<=255
测试者编号测试该任务的测试者varchar长度<=255
项目编号任务归属项目编号varchar长度<=255
  1. 项目
标识符意义类型值域
项目编号项目编号varchar长度<=255
项目名称项目名称varchar长度<=255
开始日期开始日期date/
截止日期截止日期date/
完成状态完成状态varchar长度<=255
  1. 项目员工关系
标识符意义类型值域
项目编号项目编号varchar长度<=255
员工编号员工编号varchar长度<=255
  1. 测试用例
标识符意义类型值域
测试用例编号测试用例编号varchar长度<=255
测试用例名称测试用例名称varchar长度<=255
类型测试用例的类型varchar长度<=255
结果测试结果varchar长度<=255
状态测试状态varchar长度<=255
  1. Bug
标识符意义类型值域
bug编号bug的编号varchar长度<=255
bug名称bug名字varchar长度<=255
类型bug类型varchar长度<=255
方案bug的解决方案varchar长度<=255
执行时间bug执行时间date长度<=255

4.2数据库表概念关系模型

图4-2-1:总ER图

4.3 实体属性

图4-3-1:管理员、项目经理、产品经理、开发者、测试者的实体属性

图4-3-2:项目、任务实体属性

图4-3-3:测试用例实体

图4-3-4:Bug实体

第五章 系统实现功能

  1. 用户登录

图5-1:登录流程

  1. 修改密码

图5-2:修改密码流程

  1. 数据统计

图5-3:数据统计流程

  1. 员工增删改查

图5-4:员工增删改查路程图

  1. 项目增删改查

图5-5:项目的增删改查

  1. 任务的增删改查

图5-6:任务的增删改查

  1. 测试用例流程

图5-7:测试用例增删改查

  1. Bug增删改查

图5-8:Bug的增删改查

第六章 系统使用

6.1 用户账号密码管理

打开浏览器,在地址栏输入http://localhost:8888/sign-in.jsp,进入登录页面,根据自己的权限,进入指定的首页。

图6-1:登录页面

修改密码,确保原始密码正确,两次新密码一致。

图2-2:修改密码

6.2 项目经理功能描述

图6-3:以项目经理模式进入页面

点击数据刷新,并刷新图表,显示统计图

图6-4:数据统计图呈现

复合条件查询,空白表示支持所有条件,有小铅笔标签表示可以修改,左上角的加号表示可以添加,导出表示可以将查询结果以excel形式导出

图6-5:查询所有项目经理

图6-6:添加项目

图6-7:查询进行中的项目,此时发现XM004

图6-8:选中XM004旁边的小铅笔,进行项目编辑,发现项目编号是不能被修改的

图6-9:将XM004的完成状态修改为筹划中

由于添加了一个筹划中的项目,此时再次去首页查看项目状态,发现产生实时变化。

图6-10:数据刷新2.0

图6-11:查询所有开发部的工作人员

图6-12:点击导出,导出查询结果

图6-13:查询所有XM001项目成员

图6-14:尝试删除员工关系

查询所有任务,发现当前项目经理,只有对自己所管辖的项目拥有编辑的权利,增删改与员工关系相同,不重复描述。

图6-16:查询所有任务

图6-17:复合查询产品经理CPJL001和测试者CSZ003所负责的任务

图6-18:项目经理新建任务

图6-19:项目经理修改任务

图6-20:查询测试用例

图6-21:新建测试用例

图6-22:项目经理修改测试用例

图6-23:查询Bug

图6-24:项目经理添加Bug

图6-25:项目经理修改Bug

6.3 管理员功能补充描述

图6-26:管理员查看所有员工信息

图6-27:管理员添加新成员

图6-28:管理员修改员工属性

由于产品经理、开发者、测试者的功能都包含在项目经理当中,故不截图赘述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/423477.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iPhone 16分辨率,屏幕尺寸,PPI 详细数据对比 iPhone 16 Plus、iPhone 16 Pro、iPhone 16 Pro Max

史上最全iPhone 机型分辨率&#xff0c;屏幕尺寸&#xff0c;PPI详细数据&#xff01;已更新到iPhone 16系列&#xff01; 点击放大查看高清图 &#xff01;

电商api接口:让数据成为生产力的第一利器

随着电子商务的蓬勃发展&#xff0c;数据已成为推动业务增长和优化用户体验的关键因素。为了满足商家和开发者对多元化电商服务的需求&#xff0c;聚合电商 API 接口平台应运而生。这类平台通过整合多个电商平台的 API 接口&#xff0c;为商家和开发者提供一站式的数据服务&…

Apisix离线安装

上传离线包 #ll apisix-3.2.2-0.el7.x86_64.rpm apisix-base-1.21.4.1.8-0.el7.x86_64.rpm apisix-dashboard-3.0.1-0.el7.x86_64.rpm cyrus-sasl-2.1.26-24.el7_9.x86_64.rpm cyrus-sasl-devel-2.1.26-24.el7_9.x86_64.rpm cyrus-sasl-gssapi-2.1.26-24.el7_9.x86_64.rpm cyr…

HTB-Unified(log4j2漏洞、MongoDb替换管理员密码)

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解Unified靶机 渗透过程 信息搜集 服务器开放了SSH服务&#xff0c;HTTP服务 访问网站 验证log4j2漏洞 8443端口&#xff1a;UniFi 网络 &#xff0c;访问查询 是否有Nday漏洞利用 可以观察到UniFi的版…

【网络安全的神秘世界】渗透测试基础

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 渗透测试基础 基于功能去进行漏洞挖掘 1、编辑器漏洞 1.1 编辑器漏洞介绍 一般企业搭建网站可能采用了通用模板&#xff…

【计算机网络】电路交换、电报交换、分组交换

【计算机网络】电路交换、电报交换、分组交换 目录 【计算机网络】电路交换、电报交换、分组交换1. 电路交换2. 电报交换3. 分组交换4. 基于分组交换~“虚电路交换”技术 1. 电路交换 电路交换&#xff08;Circuit Switching&#xff09;:通过物理线路的连接&#xff0c;动态地…

linux_L2_linux删除文件

linux 删除文件 在Linux下删除文件有多种实现方法&#xff0c;以下是其中几种常见的方法&#xff1a; 方法一&#xff1a;使用rm命令删除单个文件 rm 文件路径例如&#xff0c;删除当前目录下的文件file.txt&#xff1a; rm file.txtQuestion :当你在Linux系统中使用rm命令删…

Git学习尚硅谷(005 idea集成git)

尚硅谷Git入门到精通全套教程&#xff08;涵盖GitHub\Gitee码云\GitLab&#xff09; 总时长 4:52:00 共45P 此文章包含第27p-第p32的内容 文章目录 忽略特定文件在家目录里创建这个文件在.gitconfig文件里配置这个文件 配置IDEA定位到git程序进行添加文件初始化本地库添加单个…

Mini-Omni 语言模型在流式传输中边思考边听说应用

引入简介 Mini-Omni 是一个开源的多模态大语言模型,能够在思考的同时进行听觉和语言交流。它具有实时端到端语音输入和流媒体音频输出的对话能力。 语言模型的最新进展取得了显著突破。GPT-4o 作为一个新的里程碑,实现了与人类的实时对话,展示了接近人类的自然流畅度。为了…

下一代 AI 教育:知识图谱RAG + 多智能体,听老师的话没前途,让老师听你的才是正道

下一代 AI 教育&#xff1a;知识图谱RAG 多智能体&#xff0c;听老师的话没前途&#xff0c;让老师听你的才是正道 下一代 AI 教育&#xff1a;基于最本质的用脑方式学习 理解 记忆&#xff1f;学习的 3 个层次文科&#xff1a;关联理解 关联分析 关联记忆秒背古诗古文商业…

前端用html写excel文件直接打开

源码 <html xmlns:o"urn:schemas-microsoft-com:office:office" xmlns:x"urn:schemas-microsoft-com:office:excel" xmlns"http://www.w3.org/TR/REC-html40"> <head><meta charset"UTF-8"><!--[if gte mso 9]&…

打架监测识别摄像机

打架监测识别摄像机 是一种用于监控和识别打架行为的智能监控设备。这种摄像机利用先进的人工智能和计算机视觉技术&#xff0c;能够准确识别出监控画面中发生的打架事件&#xff0c;从而及时采取必要的应对措施。 打架监测识别摄像机的工作原理是通过对监控画面的实时分析和识…

YOLOv8 人体姿态估计动作识别关键点检测(代码+教程)

YOLOv8 人体姿态判断 项目介绍 YOLOv8 人体姿态判断 是一个基于最新YOLOv8模型的深度学习项目&#xff0c;旨在识别和分析人体姿态。该项目利用先进的计算机视觉技术和深度学习框架&#xff0c;通过摄像头捕捉实时图像或处理存储图像&#xff0c;识别人体的关键点&#xff0c…

大语言模型如何助力药物开发? 哈佛George Church Lab最新综述

大语言模型因其展现出类人般的推理、工具使用和问题解决能力而备受瞩目&#xff0c;此外&#xff0c;它在化学、生物学等专业领域也展现出深厚的理解能力&#xff0c;进一步提升了其应用价值。本文阐述大语言模型可以在理解疾病机制、药物发现和临床试验三个药物发现的基本阶段…

【西电电装实习】5. 无人机模块及作用、上位机的操作

文章目录 前言一、硬件结构电源、电源电压测试电路晶振外围陀螺仪信号放大电路及天线空心杯&#xff08;电极&#xff09;驱动电路 软件设置整机装配PID 参数设置公式 参考文献 前言 西电电装实习&#xff0c;无人机原理图、上位机的调节方法 一、硬件结构 电源、电源电压测…

UEFI学习笔记(二):edk2构建编译流程

UEFI入门&#xff08;二&#xff09;&#xff1a;edk2项目编译流程 一、Build流程框架Build的三个阶段&#xff1a;1、Autogen2、Make3、ImageGen 二、编译构建步骤&#xff1a;1. 安装依赖工具2. 初始化构建环境3. 配置工具链和目标4. 定义平台配置5. 构建并编译 三、uefi-too…

C++面试3

一、常用设计模式 https://blog.csdn.net/m0_71530237/article/details/141140118?spm1001.2014.3001.5501 二、死锁以及解决方式&#xff1f; 死锁&#xff1a;一种常见的并发问题&#xff0c;发生在多个进程或线程因为竞争资源而陷入相互等待的状态&#xff0c;导致这些进…

【运维监控】Prometheus+grafana监控flink运行情况

运维监控系列文章入口&#xff1a;【运维监控】系列文章汇总索引 文章目录 一、prometheus二、grafana三、flink配置修改四、prometheus集成grafana监控flink1、修改prometheus配置文件2、导入grafana模板3、验证 本示例通过flink自带的监控信息暴露出来&#xff0c;然后将数据…

提权——Linux

一、系统漏洞提权 #kali的nmap命令 nmap -O 目标ip 通过当前系统的内核版本搜索当前系统的漏洞&#xff0c;进行利用 搜索漏洞 对linux系统的漏洞进行利用&#xff08;脏牛、脏管道等&#xff09; 利用漏洞搜索工具&#xff0c;搜索当前系统是否存在一些漏洞 linux-exp…

人工智能学习

&#x1f310;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 &#x1f449;【点击跳转到网站&#xff1a;人工智能教程】 什么是人工智能&#xff1f;通俗来讲&#xff0c;就是让机器能像人一样思考。这…