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

news2024/12/28 19:28:11

技术报告

第一章 系统概述

包括用户管理、权限管理、软件项目管理、软件模块管理、测试用例管理、测试任务分配、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.coloradmin.cn/o/2134502.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【渗透测试】-CVE-2016-4437-Shiro550漏洞复现

Shiro550漏洞爆出的时间是2016年为第4437个漏洞&#xff0c;所以它的CVE编码是2016-4437 文章目录 前言 什么是Shiro550漏洞&#xff1f; 1.Shiro550漏洞原理&#xff1a; 2.漏洞利用 3.漏洞复现&#xff1a; 前提&#xff1a;下载并打开vulhub靶场。 CVE-2016-4437-shiro550漏…

CentOS 7停更官方yum源无法使用,更换阿里源

CentOS 7官方源已经停止维护&#xff0c;导致无法使用yum更新软件。通过尝试使用阿里云、清华大学等第三方源解决&#xff0c;现以阿里云第三方源进行配置&#xff1a; 1、备份原有的yum源配置文件 # cp -a /etc/yum.repos.d /etc/yum.repos.d.bak 2、删除原有的yum源配置文…

什么是交换机级联?

在现代计算机网络中&#xff0c;交换机级联是一种广泛应用的技术&#xff0c;有助于提升网络的扩展性和灵活性。本文将深入探讨交换机级联相关知识&#xff0c;详细介绍其基本概念和连接配置方法&#xff0c;并对常见技术问题进行解答。 交换机级联概述 交换机级联是指通过将…

windows server2012 配制nginx安装为服务的时候,直接跳要安装.net框架,用自动的安装,直接失败的解决。

1、上一个已成功在安装过程中的图&#xff1a; 2、之前安装过程中错误的图&#xff1a; 3、离线安装解决&#xff1a; 下载.net framework 3.5&#xff0c;然后解压后&#xff0c;选择指定备用源路径&#xff0c;然后选择.net安装包所在目录&#xff1a; 只要指定上面全路径就…

WebGL系列教程八(GLSL着色器基础语法)

目录 1 前言2 基本原则3 基本数据类型4 顶点着色器和片元着色器4.1 声明4.2 初始化项目4.3 赋值 5 结构体5.1 声明5.2 赋值 6 函数6.1 基本结构6.2 自定义函数6.3 常用内置函数 7 精度8 其他9 总结 1 前言 通过前七讲&#xff0c;我们已经见过了WebGL中的部分基础语法&#xff…

初始爬虫1(补充)

TCP 和 UDP 是什么&#xff1f; TCP&#xff08;Transmission Control Protocol&#xff09;和 UDP&#xff08;User Datagram Protocol&#xff09;都是传输层协议&#xff0c;它们负责在计算机网络上发送和接收数据包。两者有不同的特性和适用场景&#xff1a; TCP&#xff0…

文档团队如何组成?

经常有朋友问我文档团队是由怎样背景的人组成的&#xff1f;今天来聊聊这个话题。 中国贸促会和技术传播专委会以及lnfomagic学院2023年在技术传播行业做了一个调查&#xff0c;在收到的231份有效样本中显示&#xff0c; 受访群体的背景主要是两大类&#xff0c;他们分别是技术…

视频推镜拍摄SDK解决方案,创新短视频玩法

在当今社交媒体盛行的时代&#xff0c;短视频已成为人们分享生活、展示创意的重要方式。美摄科技推出的视频推镜拍摄SDK解决方案&#xff0c;为用户提供了一种全新的短视频创作体验。 一、什么是视频推镜拍摄SDK解决方案&#xff1f; 美摄科技的视频推镜拍摄SDK解决方案是一种…

虹科方案 | 精准零部件测试!多路汽车开关按键功能检测系统

欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; #LIN/CAN总线 #零部件测试 #CAN数据 导读 在汽车制造业中&#xff0c;零部件的安全性、功能性和可靠性是确保车辆整体性能的关键。虹科针对车辆零部件的LIN/CAN总线仿真测试&#xff0c;提出了基于虹科Baby-LIN系列产…

详细分析linux中的MySql跳过密码验证以及Bug(图文)

目录 1.问题所示2. 基本知识3. 解决方法3.1 跳过验证Bug3.2 设定初始密码 1.问题所示 发现密码验证错误&#xff0c;遗失密码 2. 基本知识 停止MySQL服务&#xff1a;sudo systemctl stop mysql 以跳过权限表模式启动MySQL&#xff1a;sudo mysqld_safe --skip-grant-tables …

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——12.二叉树(习题)

1.根据二叉树创建字符串 . - 力扣&#xff08;LeetCode&#xff09; 我的思路&#xff1a; 1. 根节点单独讨论&#xff0c;因为&#xff0c;根节点之后才会开始有括号 2.根节点的左孩子和右孩子分别进入operation函数 operation函数&#xff1a; 1.如果root不为空&#xff0c;…

计算机毕业设计选题推荐-在线投票系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

程序员的 AI 启蒙:ChatGPT+ Copilot开发Vue3 仿简书项目 90%代码AI生成

在人工智能技术日益成熟的今天&#xff0c;程序员们正在迎来一场全新的编程革命。ChatGPT和Copilot等AI工具的出现&#xff0c;让代码生成不再是遥不可及的梦想。本文将带你体验如何利用这些先进技术&#xff0c;仅用90%的代码量&#xff0c;开发出一个基于Vue3的仿简书项目&am…

电容笔有必要买吗?西圣、wiwu、倍思好不好用?王者产品测评对比

当下很多年轻人都热衷于使用 iPad 来进行学习与娱乐&#xff0c;因此电容笔还是很有必要买的&#xff0c;它可以提升我们的效率。然而作为一名数码测评博主&#xff0c;我十分清楚一旦选到质量不佳的产品&#xff0c;就会出现诸如断触、延迟等问题&#xff0c;进而拉低效率。 …

2024年9月一区SCI-神经种群动态优化算法NPDOA-附Matlab免费代码

引言 本期介绍了一种受脑神经科学启发的元启发式算法&#xff0c;称为神经种群动态优化算法Neural population dynamics optimization algorithm(NPDOA)的元启发式算法。该成果于2024年9月最新发表在中科院1区 Top SCI期刊 Knowledge-Based Systems。 原文作者将NPDOA与其他9种…

大学生必备10个AI工具网站,辅助完成辩论/开题/实践/形势政策报告、创新创业计划书、思想汇报、心得感悟等作业,提升学习效率和学术表现!

大学新生和学长学姐们都已经开学了&#xff0c;忙碌的课程和多样的作业也随之开始&#xff0c;下面将给大学生们介绍10个辅助完成作业、寻找灵感&#xff0c;提升学习专注力和学术表现的AI工具~ 1、笔墨写作 笔墨写作 - 领先的写作智能AI创作平台 | 官方首页笔墨写作是一款专…

深度剖析去中心化存储:IPFS、Arweave 和 BNB Greenfield 的技术革新与生态系统演进

引言&#xff1a; 在数字时代的浪潮中&#xff0c;数据已然成为驱动创新和决策的核心资产。然而&#xff0c;随着数据量呈指数级增长&#xff0c;传统中心化存储模式面临着前所未有的挑战。安全漏洞、隐私泄露、数据垄断等问题日益凸显&#xff0c;促使技术界重新思考数据存储…

QT多线程编程(基础概念以及示例)

QT多线程编程 前言&#xff1a;基础夯实&#xff1a;一:多线程概述二:QT多线程的使用1. 继承QThread类2. 继承QObject类3. QtConcurrent模块 三:线程同步与通信四:线程安全五:线程管理六:总结 效果展示&#xff1a;实现功能&#xff1a;核心代码&#xff1a;mainwindow.hmythre…

2024数学建模国赛官方评阅标准发布!

​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑​↑…

被百度 AI 文心一言推荐的 Mac App 惊喜到了!

由于工作需要&#xff0c;我需要一款 Mac 软件帮我记录所有的复制记录。 当我去百度搜索“mac 复制记录”“mac 复制历史”时&#xff0c;百度 AI 给我推荐了这三款 App&#xff1a;Maccy、CleanClip、Collect Boy。 我开始分别试用这三款软件&#xff0c;我现在还没全部试用完…