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

news2024/11/16 5:38:42

第一章 系统概述

包括用户管理、权限管理、软件项目管理、软件模块管理、测试用例管理、测试任务分配、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系统架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5h5hns8N-1670691578246)(img/Aspose.Words.0d3b5314-c287-4041-9256-b9fed02548f0.004.png)]

图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格式返回。

第四章:系统详细设计

所有的jsp文件中,都加载了以下css和js文件,都以其在工程下的绝对路径表示,定义其文件集合为DOC。

bootstrap框架,主要用于精致的标签提供:

/lib/bootstrap/css/bootstrap.css

theme.css,主要用于设置背景的主题和一些特殊的颜色

/stylesheets/theme.css

font-awesome.css,用于设置一些特殊字体

/lib/font-awesome/css/font-awesome.css

Func.js,自定义的js函数,包括重置密码时的密码检测,以及生成图表时的js函数、导出excel函数

/myJS/Func.js

jquery库

/lib/jquery-1.7.2.min.js

生成图表的必要js库

/lib/Chart.min.js

4.1 JSP页面

在这里插入图片描述
登录页面
修改密码,确保原始密码正确,两次新密码一致。
在这里插入图片描述
修改密码

项目经理功能描述

在这里插入图片描述
以项目经理模式进入页面
点击数据刷新,并刷新图表,显示统计图
在这里插入图片描述
数据统计图呈现
复合条件查询,空白表示支持所有条件,有小铅笔标签表示可以修改,左上角的加号表示可以添加,导出表示可以将查询结果以excel形式导出
在这里插入图片描述
查询所有项目经理
在这里插入图片描述
添加项目
在这里插入图片描述
查询进行中的项目,此时发现XM004
在这里插入图片描述
选中XM004旁边的小铅笔,进行项目编辑,发现项目编号是不能被修改的
在这里插入图片描述
将XM004的完成状态修改为筹划中
由于添加了一个筹划中的项目,此时再次去首页查看项目状态,发现产生实时变化。
在这里插入图片描述
数据刷新2.0
在这里插入图片描述
查询所有开发部的工作人员
在这里插入图片描述
点击导出,导出查询结果
在这里插入图片描述
查询所有XM001项目成员
在这里插入图片描述
尝试删除员工关系
查询所有任务,发现当前项目经理,只有对自己所管辖的项目拥有编辑的权利,增删改与员工关系相同,不重复描述。
在这里插入图片描述
查询所有任务
在这里插入图片描述
复合查询产品经理CPJL001和测试者CSZ003所负责的任务
在这里插入图片描述
项目经理新建任务
在这里插入图片描述
项目经理修改任务
在这里插入图片描述
查询测试用例
在这里插入图片描述

新建测试用例
在这里插入图片描述
项目经理修改测试用例
在这里插入图片描述
查询Bug
在这里插入图片描述
项目经理添加Bug
在这里插入图片描述
项目经理修改Bug

管理员功能补充描述

在这里插入图片描述
管理员查看所有员工信息
在这里插入图片描述
管理员添加新成员
在这里插入图片描述
管理员修改员工属性
由于产品经理、开发者、测试者的功能都包含在项目经理当中,故不截图赘述

第五章 数据库设计

5.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

5.2数据库表概念关系模型

在这里插入图片描述

图5-2-1:总ER图

5.3 实体属性

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

图5-3-4:Bug实体

第六章 系统实现功能

  1. 用户登录

在这里插入图片描述

图6-1:登录流程

  1. 修改密码
    在这里插入图片描述

图6-2:修改密码流程

  1. 数据统计

在这里插入图片描述

图6-3:数据统计流程

  1. 员工增删改查

在这里插入图片描述

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

  1. 项目增删改查

在这里插入图片描述

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

  1. 任务的增删改查

在这里插入图片描述

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

  1. 测试用例流程

在这里插入图片描述

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

  1. Bug增删改查

在这里插入图片描述

图6-8:Bug的增删改查

♻️ 资源

在这里插入图片描述
大小: 22.3MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87248065

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

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

相关文章

spring——Spring自动装配(基于注解)——前提了解——Spring的@Autowired注解为什么用在接口上 (转载)...

大家都知道Service注入的是实现类serviceImpl&#xff0c;那使用时怎么能获取到接口&#xff0c;而且还能调用到实现类的方法。 接口&#xff1a; public interface TestService{ public String test(); }实现类&#xff1a; Service public class TestServiceImpl imp…

Netty_04_消息协议设计与实战(实践类)

文章目录一、前言二、整体运行&#xff1a;先启动服务端&#xff0c;然后启动客户端&#xff0c;发送三条消息三、客户端和服务端3.1 客户端(重要)3.2 服务端(重要)3.3 编码和解码(了解即可)四、尾声一、前言 源码下载&#xff1a;https://www.syjshare.com/res/XEE10LTG 二、…

【Linux修炼】10.进程地址空间

每一个不曾起舞的日子&#xff0c;都是对生命的辜负。 进程地址空间本节目标1. 回顾C/C地址空间1.1 提出问题1.2 见问题产生的现象1.3 解释现象2. 虚拟地址空间2.1 感性理解虚拟地址空间 2.2 如何“画饼”2.3 地址空间的区域划分3. 进程地址空间与内存的关系3.1 虚拟地址和物理…

LabVIEW编程LabVIEW开发 ADAM-4056 DO模块例程与相关资料

LabVIEW编程LabVIEW开发 ADAM-4056 DO模块例程与相关资料 ​ADAM-4056SO是具有12通道自源型携带Modbus协议隔离数字输出模块。具有如下特点&#xff1a; ADO源电源故障检测 输入/输出类型&#xff1a;源式输出 12通道 数字输出&#xff1a;VCC&#xff1a; 1~35伏直流电&a…

基于Java+Mysql实现(WEB)宿舍管理系统【100010016】

数据库实践课程之宿舍管理系统 一、系统需求分析 1.1 系统描述 随着社会的发展以及教育水平的提高&#xff0c;当今社会在校生的数量越来越庞大&#xff0c;使用传统的方式对学生的信息进行管理效率非常低下。在互联网技术高度发达的今天&#xff0c;使用数据库技术对学生的…

Go 实现希尔排序算法及图解

耐心和持久胜过激烈和狂热。 哈喽大家好&#xff0c;我是陈明勇&#xff0c;今天分享的内容是使用 Go 实现希尔排序算法。如果本文对你有帮助&#xff0c;不妨点个赞&#xff0c;如果你是 Go 语言初学者&#xff0c;不妨点个关注&#xff0c;一起成长一起进步&#xff0c;如果本…

游戏开发51课 性能优化9

4.5 光照模型&#xff08;Lighting/Illumination Model&#xff09; 4.5.1 Flat Shading&#xff08;平面着色&#xff09; 根据表面法向量计算光照&#xff0c;并应用到整个面片上。速度最快&#xff0c;效果最差&#xff0c;容易暴露物体的多边形本质&#xff08;下图&…

微服务框架 SpringCloud微服务架构 29 ES 集群 29.4 分布式新增和查询流程

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构29 ES 集群29.4 分布式新增和查询流程29.4.1 ES集群的分布式存储29.4.2 总…

鸿蒙手机卸载内置应用 adb连接

鸿蒙手机傻瓜式卸载内置应用 adb连接**傻瓜式删除鸿蒙系统内置应用&#xff0c;自己亲测有效。**准备物品准备软件准备工作教程开始&#xff1a;第一步第二步完成包名列表一般软件谷歌服务格外的注意连接错误**鸣谢**傻瓜式删除鸿蒙系统内置应用&#xff0c;自己亲测有效。 准…

缓存数据丢了,原来是Redis持久化没玩明白

&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3; &#x1f38d;大家好&#xff0c;我是慕枫 &#x1f38d;前阿里巴巴高级工程师&#xff0c;InfoQ签约作者、阿里云专家博主&#xff0c;一直致力于用大白话讲解技术知识 &#x…

Windows下MySQL5.5升级5.7(或直接安装MySQL5.7)

Windows下MySQL5.5升级5.7&#xff08;或直接安装MySQL5.7&#xff09; 1、关闭MySQL服务&#xff1a; Ctrl shift Esc找到服务&#xff0c;找到下面的MySQL服务&#xff0c;停止服务。 2、卸载程序&#xff1a; 控制面板中卸载mysql5.5。 3、删除mysql5.5的安装目录及注…

Linux文件操作

文章目录前言什么是文件文件操作C语言文件操作接口文件操作系统调用接口文件描述符如何理解FILE和文件描述符的关系前言 本文主要介绍的是Linux系统下的文件操作和Linux的文件系统的机制&#xff0c;希望能够通过本文来增加读者对于文件操作的基本使用和理解。以及了解Linux系…

【大数据入门核心技术-Ambari】(一)Ambari介绍

一、什么是Ambari Apache Ambari是一种基于Web的工具&#xff0c;支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件&#xff0c;包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。 Apache Ambari 支持HDFS、MapReduce、Hive、Pi…

C语言宏和预处理

C语言宏和预处理【1】include【2】【#pragma】【3】C #include【4】# 和 ## 操作符【5】宏替换【6】#line【7】#error【8】#undef【9】源码【10】结果【1】include #include本命令包含一个文件并在当前位置插入.一般尖括号意味着在标准库目录中搜索, #include “filename” 引…

【C语言与汇编】简单学学C到汇编代码

C语言与汇编 部分过程可参考C primer plus 本书余下的篇幅讨论源代码文件中的内容&#xff1b;本节讨论创建源代码文 件的技巧。有些C实现&#xff08;如Microsoft Visual C、Embarcadero C Builder、Apple Xcode、Open Watcom C、Digital Mars C和Freescale CodeWarrior&…

精品基于SSM的民宿预订管理系统

《民宿预订管理系统》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 使用技术&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;my…

云原生事件驱动框架(KnativeEventing)

事件驱动是指事件在持续事务管理过程中&#xff0c;进行决策的一种策略。可以通过调动可用资源执行相关任务&#xff0c;从而解决不断出现的问题。通俗地说是当用户触发使用行为时对用户行为的响应。在 Serverless 场景下&#xff0c;事件驱动完美符合其设计初衷之一&#xff1…

基于xv6的Copy-On-Write

为什么需要写时拷贝呢&#xff1f; 当 shell执行指令的时候会 fork()&#xff0c;而这个 fork()出来的进程首先会调用的就是 exec来执行对应的命令&#xff0c;如果我们将 fork()创建的进程对地址空间进行了完整的拷贝,那将是一个巨大的消耗 因为在实际应用中&#xff0c;for…

SSM项目整合

文章目录1. 导入依赖2. 配置web.xml文件3. 编写springmvc.xml配置文件4. 编写spring.xml配置文件5. 编写项目整体业务逻辑6. 开发过程中常见状态码错误1. 导入依赖 在整合SSM项目时&#xff0c;需要导入以下依赖 Spring 相关依赖 &#xff08;springmvc相关、事务相关、spring…

凤姐从国外回来会再次爆红吗?她最近的一段话发人深省

随着互联网的发展&#xff0c;也诞生了很多的网红&#xff0c;其实现如今的众多网红&#xff0c;和凤姐比起来都是小巫见大巫。凤姐原名叫罗玉凤&#xff0c;当年因为参加各种选秀节目&#xff0c;再加上鬼使神差语无伦次的言谈&#xff0c;让她一夜之间爆红了网络。 其实当我们…