为实现高效的管控bug,更好的提高开发质量,本文提供了一个MIS系统设计方案。从用户实用性的角度出发,根据大部分用户的习性,用一套美观的ui构建一个轻量级的bug管理系统。本文采用分前后端开发,后端采用Spring Boot框架,使用idea开发工具,前端采用vue框架,使用visual studio code开发工具。bug管理系统涵盖了项目管理、工作台、文档管理、消息管理、系统管理等功能,系统管理功能还包含很多基础的功能、用户管理、组织管理、菜单管理、快码管理等。本文主要阐述了如何处理一个bug、如何管理一个项目、如何实现消息的推送,如何上传下载文件。对于java开发web应用程序的初学者有着很重要的意义,本文中规范化的开发、模块化的设计值得初学者借鉴。
目 录
第一章 绪论
1.1 项目背景
1.2 研究意义
1.3 系统技介绍
1.4 bug 管理系统概述
第二章 bug 管理系统分析
2.1系统需求分析
2.2 系统可行性分析
2.2.1 社会环境可行性
2.2.2 技术可行性
2.2.3 经济可行性
2.3 业务流程分析
第三章 bug 管理系统的设计
3.1 系统物理环境配置
3.2 系统总体设计
3.1.1工作台功能
3.1.2项目功能
3.1.3消息功能
3.1.4文档功能
3.1.5系统管理功能
3.2 数据库设计
第四章 bug 管理系统的开发规范与约束
4.1 命名风格
4.2 注释约束
第五章 bug 管理系统的实现
5.1 系统基本框架技术实现
5.2 系统用户模块实现
5.2.1 用户登录接口
5.2.2 用户注册接口
5.2.3 用户修改接口
5.2.4 用户详情接口
5.2.5 用户列表分页查询接口
5.2.6用户注销接口
5.3 系统菜单模块实现
5.3.1系统菜单新增接口
5.3.2系统菜单修改接口
5.3.3查询菜单树接口
5.4 系统角色模块实现
5.4.1 系统角色新增接口
5.4.2 系统角色修改接口
5.4.3 系统角色查询接口
5.4.4 系统角色分配用户接口
5.4.5 系统角色分配菜单接口
5.4.6 角色分配菜单查询接口
5.4.7 操作查询接口
5.4.8 操作新增/修改接口
5.4.9 角色分配操作查询接口
5.5 系统组织模块实现
5.5.1 系统组织新增接口
5.5.2 系统组织修改接口
5.5.3 查询系统组织接口
5.6 系统快码模块实现
5.6.1 系统快码新增接口
5.6.2 系统快码分页查询接口
5.6.3 系统快码查询接口
5.6.4 系统快码修改接口
5.6.5 系统快码查询详情接口
5.6.6 系统快码详情新增/修改接口
5.7 附件模块实现
5.7.1 附件分页查询接口
5.7.2 附件查询接口
5.7.3 附件删除接口
5.7.4 附件上传接口
5.8 项目管理模块实现
5.8.1 项目查询接口
5.8.2 项目树查询接口
5.8.3 项目新建接口
5.8.4 项目详情接口
5.8.5 项目修改接口
5.9 模块管理模块实现
5.9.1 模块的树查询接口
5.9.2 模块新建接口
5.9.3 模块修改接口
5.10 任务管理模块实现
5.10.1 查询用户任务接口
5.10.2 查询项目任务接口
5.10.3 任务新增接口
5.10.4 任务修改接口
5.10.5 任务详情接口
5.10.6 任务流转接口
5.10.7 获取任务流转信息接口
5.11 消息管理模块实现
5.11.1 消息查询接口
5.11.2 消息删除接口
5.11.3 消息修改接口
5.11.4 消息新增接口
5.12 系统核心内容的实现
5.12.1 项目权限控制代码
5.12.2 任务流转代码
5.12.3 查询任务流转选项代码
第六章 bug 管理系统的测试
6.1 系统测试方法
6.2 系统测试的目的和原则
6.3 系统测试用例
第七章 结论
7.1 系统开发总结
7.2 存在问题及改进
参 考 文 献
致 谢
第一章 绪论
1.1 项目背景
一位名叫格蕾丝·赫柏,最早的那一批程序员,在检查计算机故障问题时,发现是因为有一只飞蛾钻进了电路里,而飞蛾的英语是bug,于是bug一词成了电脑系统程序的专业术语,形容那些系统中的缺陷或问题。在我们整个计算机行业,bug 总是不离不弃,所有就需要我们软件测试来寻找这些bug。发现bug后如何有效处理从而降低软件风险也成为了这一职业的重要目标。这时候就需要一套完善的 bug 管理系统,其目的就在于高效的管理bug,提供全面合理的管控方式,提高处理bug的效率,从而为软件开发提供质量上的保障。
1.2 研究意义
研究bug的管理流程,更加完善我们对bug的管理。运用MIS系统设计的方案,对bug收集、传输、加工、储存、更新、拓展和维护,使得我们更便捷的管理bug。本系统使用Spring Boot框架,Spring Boost框架集成了大量的技术,而且使用了大量的注解的方式,减少了大量的xml配置,可以说是一步到位的,开箱即用,简化了java开发。
1.3 系统技介绍
Spring框架Java平台是一个开源的全栈(Full-stack)应用程序和控制反转容器实现。最初由 Rod Johnson 以及 Juergen Hoeller 等人开发。拓展至今已经到了5.x,其核心内容控制反转容器(Inversion Of Control/Ioc),就是把本来有类的实例创建交由Spring来控制,Spring创建了类所依赖的对象,然后再把他们注入给类,这个动作叫做依赖注入(Dependency Injection / DI)。Ioc容器执行的主要任务包括,创建bean实例,根据配置文件装配bean,为bean初始化参数,管理bean的生命周期。Bean是遵守一定约定的java类,简而言之就是普通java类。Ioc会根据配置文件xml、java注释等信息帮我们Spirng声明并管理我们需要的bean。 如下图所示:
SpringBoot是一个基于“约定优于配置”的原则,快速搭建应用的框架。由Pivotal团队在2013年开始研发、2014年4月发布第一个版本。其继承了Spring框架原有的优秀特性,并简化了Spring的配置,从而达到了新的一个高峰。SpringBoot开箱即用,支持自定义设置参数,内置tomcat等使得项目部署更快。同时还集成了大量的框架是的依赖包的版本冲突得到很好的解决。基于其Maven或Gradle插件。
Mybatis是优秀的持久层框架,MyBatis使用xml映射文件或者注解的方式,去映射数据库。尤其是xml映射文件极大的解决了sql入参的问题,安全性得了提供,同时还支持返回结果集map这类较特殊的查询。
Redis是一个开源的非关系数据库,它是内存数据库,读写速度快。因为它支持key-value类型的数据,因此常用于做系统的一些简单数据读写,经常使用在登录认证设计。
分布式文件系统fastDFS是一个开源的文件系统,它是轻量级且分布式的,其包括文件存储、文件同步、文件上传、文件下载等功能。具备线性扩容、负载均衡、冗余备份等机制。FastDFS服务端配备跟踪器(tracker)和存储节点(storage),其集群模式下有多个存储节点(storage)。
1.4 bug 管理系统概述
B/S模式是当下MIS系统设计的首选,利用浏览器做载体,不需要做大量的原生开发,通过Tomcat部署,就可以搞出一个复用性高的系统,因此本系统选用 web应用开发模式。为帮助测试人员提供更为方便的工作环境,日常工作中需要用到的文本文件都归纳到本系统中,测试需求、测试任务、测试用例都可直接查看到,不再需要去指定路径找寻这些文件。主要功能为 bug 管理模块,其基本功能:增加bug、修改bug、搜索bug、修改bug状态等。并且会对所有bug有状态的区分,等级,不同用户人员的划分等非常完整的功能实现。为用户提供更方便,更合理的bug管理系统。软件测试bug管理系统每个软件公司都需要使用,而对于小型的软件公司则需要一个价格低廉,齐全的管理系统,本系统希望实现的目标。 为开发更完善的bug管理系统,我们需要更关注bug的生命周期,我们需要设计完善的bug的工作流,比如说bug 状态、处理人等这些,一切都是为了更人性化的设计和具有较高的适用性。
第二章 bug 管理系统分析
2.1系统需求分析
bug管理系统用户分为三类,一个项目经理、测试、开发,项目经理和测试负责创建任务和收集项目资源,开发负责处理任务,查阅项目资源。
普通用户通过系统输入bug信息,bug管理系统处理后并输出对应的bug信息,且输出的信息是指定的用户才可见。bug的处理主要是测试人员收集,并由开发人员处理。因此bug管理的普通用户就是面向测试、开发人员。因为测试人员和开发人员的资源是有限的,所以会出现测试人员和开发人员的变动。因此要做到bug流程处理是随时可改的,无论其bug流程状态进行中,还是bug流程状态处理中。
目前收集到的bug信息包含项目名、模块名、需求附件、缺陷详情、缺陷严重程度、缺陷优先级、普通用户之间沟通内容、缺陷版本、处理人等。由此可拓展出项目管理功能、任务管理功能、消息管理功能、附件管理功能。一般情况下现有项目资源不是所有用户都能查看的,项目资源是有划分的给某些用户组看的,因而需要考虑到设计一个组织管理功能。
2.2 系统可行性分析
2.2.1 社会环境可行性
本系统使用的都是开源的框架,在遵守社会主义核心价值观前提下,整个开发工程将不会侵犯任何个人、集团、国家的利益、也不会违法国家的法律和规章制度。bug管理系统是MIS系统,MIS系统就是帮助人类利用计算机收集、传输、加工、储存、更新、拓展和维护信息。在当下越来越强调管理、强调信息的社会,有很大的普及机会。
2.2.2 技术可行性
本系统的开发后端使用的是SpringBoot框架,大量简化了以往繁琐复杂的工序,一体式的开发,加上优秀的Mybatis持久层框架,将业务层和数据层有效的分离,实现低耦合、高复用性。从而使得整个系统开发上布局合理、条理清晰,可见设计上是完全可行的。
2.2.3 经济可行性
简单的说一下bug的支出,如果bug出现在开发过程中,那就消耗的就是开发人员的基本工资。如果bug出现在测试过程,那就是消耗测试人员的基本工资。如果出现在客户验收环节,那就相当费劲,涉及到的成本是整个项目的开销。
利用MIS系统来管控bug,使管理人员利用互联网资源及时了解bug。不需要消耗大量的人力资源去收集和处理,只需要部分人员处理,维护成本大大降低,其得到的bug管控信息比人工维护更直观。因为效果比线下处理更好,且消耗成本比线下更低。所以具备一定的经济效效益。