Java毕业设计-基于SSM框架的软件Bug管理系统项目实战(源码+论文)

大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:Java毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 安卓app毕业设计
🌎微信小程序毕业设计

演示视频

ssm079软件bug管理系统演示

源码下载地址:

https://download.csdn.net/download/m0_46388260/87900364

一、项目简介

软件测试是经常容易被忽视一个阶段,因为大多数编程人员只注重代码的编写,而对代码的功能实现与否不管不问,其实这是一种非常荒谬的想法。只有经过严格的软件测试,程序员开发的软件才可以放心的投入到市场中使用;只有经过耐心的软件测试,用户才会感到更安心,产品的口碑才会有提升。但是通过软件测试测出来的Bug无法及时的进行记录,就会导致程序员遗漏,最终造成功能的异常。本系统使用SPRING MVC框架和MYSQL数据库制作而成,是一个专业的Bug管理系统,通过此系统负责项目的管理人员和程序员都可以有效的维护Bug信息,制作出更专业的软件。

二、系统设计

2.1软件功能模块设计

在这里插入图片描述
本系统的操作者可以通过登陆进入管理员操作的界面,可以对软件bug信息进行的,我们的管理员可以对用户提交上来的信息进行增删改查,从而实现这个系统对工作时候的作用,
1.用户注册登录模块
用户点击注册可以进入到用户注册界面,前三项用户名、密码及姓名为必填项,如果不填是无法通过验证的,其他的项是非必填项,用户可以选择输入或者不输入。所有的信息输入之后可以点击提交按钮,此时页面上的数据就会被添加到数据库中,使用自己的账户和密码就可完成登录。
2.管理员对软件信息管理模块
软件信息管理模块属于本系统的核心功能之一,用户有多种方式可以进行软件信息的查看和维护。比如可以按照软件的开发时间进行排序,还可以根据软件的项目经理进行查找,查找到具体的数据后可以对其进行删除和修改等操作。
3.用户提交bug信息模块
该功能是本系统的核心功能之一,用户点击Bug添加可以进入此界面,输入Bug名称、Bug现象、发生时间等信息后即可完成Bug信息的添加,在用户添加完数据之后,Bug信息列表中就可以看到新添加的信息。
4.用户信息管理模块
用户个人信息管理是本系统中的一个重要模块,在此功能中管理员或者用户本人可以通过个人中心对自己的信息进行修改,比如可以修改自己的昵称、修改自己的手机号、修改个人头像等。
5.统计模块
管理员可以通过统计,知道我们的软件数据统计报表,知道每款软件的缺陷率还有工程师对软件bug的修复率等。

2.2数据库设计

管理员表
在这里插入图片描述

软件详细信息表在这里插入图片描述

用户信息表如图4-5:
在这里插入图片描述

三、系统项目部分截图

3.1系统登陆界面

用户点击页面上方的登录按钮即可进入登录页面,如果没有注册为会员需要先点击下方的第三个按钮进行注册。输入用户名、密码、姓名、手机号等信息后即可完成注册,用户登录时可以通过用户名和密码进行登录,未来经过升也可以通过手机号接收验证码的形式进行登录。在这里插入图片描述

3.2系统主页面

本系统的首页使用比较简洁的设计风格,头部为蓝黑渐变的设计,左侧为黑色背景的侧边功能栏,右侧的界面显示本系统的一些基本信息。在这里插入图片描述

3.3用户管理模块

通过该此功能管理员可以查看和维护系统中所有注册成功的用户,还可以在列表的上方输入用户的姓名进行查找。除此之外,如果用户的个人信息有变更需求或者注销用户的需求,都可以在本功能中通过修改和删除实现。页面具体效果如下。在这里插入图片描述

3.4项目类别管理模块

在软件开发的过程中,各公司都有属于自己的一种软件分类方法,通过此功能可以查看所有的类别,还可以对类别进行编辑和删除,除此之外还可以导出Excel文件。在这里插入图片描述

3.5bug信息管理模块

通过在Bug添加模块的操作后可以通过Bug信息管理模块查看系统中所有产生的Bug信息,可以查看它的所属项目、项目类别、调试员等信息,还可以对其进行审核、删除等操作。在这里插入图片描述

3.6项目信息管理模块

项目信息管理主要是显示系统中所有已存在的项目信息,在列表上方可以通过项目编号或项目名称进行查询,在列表的最后一列可以对其进行删除、编辑等操作。

在这里插入图片描述

三、论文目录

摘 要 I
ABSTRACT II
第1章 绪论 1
(一) 国内外现状 1
(二) 系统开发的目标 1
(三) 论文框架 1
第2章 系统开发平台及相关技术 3
(一) JSP运行环境 3
(二) 开发介绍 3
(三) 业务流程分析 4
第3章 系统分析和设计 7
(一)系统需求分析 7
(二)可行性分析 7
(三)系统功能分析 8
第4章 数据库设计 11
(一) 数据库简介 11
(二) 重要的表结构 11
第5章 系统的实现 14
(一) 系统登陆界面 14
(二) 系统主页面 14
(三) 用户管理模块 15
(四) 软件管理模块 15
(五) bug信息管理模块 16
(六) 信息查询模块 16
第6章 程序调试 17
(一) 程序调试分析 17
(二) 程序的测试 17
第7章 结论与讨论 19
致 谢 20
参考文献 21

四、部分核心代码

4.1 用户部分

package com.controller;

import java.io.File;
import java.io.IOException;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.entity.Allusers;
//import com.chengxusheji.po.News;
import com.server.AllusersServer;
import com.util.PageBean;
import net.sf.json.JSONObject;

@Controller
public class AllusersController {
	@Resource
	private AllusersServer allusersService;


//	
   @RequestMapping("showAllusers.do")
   public String showAllusers(int id,ModelMap map,HttpSession session){
	 /*  Map<String,Object> bmap=new HashMap<String,Object>();
	   bmap.put("uid", id);*/
	  // map.put("blist", allusersService.getAll(bmap));
	   map.put("allusers", allusersService.getById(id));
	   return "read";
   }
   
	@RequestMapping("addAllusers.do")
	public String addAllusers(HttpServletRequest request,Allusers allusers,HttpSession session){
		Timestamp time=new Timestamp(System.currentTimeMillis());
		//Users u=(Users)session.getAttribute("user");
		/*if(u==null||u.equals("")){
			return "redirect:showIndex.do";
		}else{*/
			//bbs.setUid(u.getId());
			/*bbs.setPubtime(time.toString());
			bbs.setIsdel("1");*/
		    allusers.setAddtime(time.toString().substring(0, 19));
			allusersService.add(allusers);
			return "redirect:allusersList.do";
		/*}*/
		
		
	}
 
//	处理编辑
	@RequestMapping("doUpdateAllusers.do")
	public String doUpdateAllusers(int id,ModelMap map,Allusers allusers){
		allusers=allusersService.getById(id);
		map.put("allusers", allusers);
		return "allusers_updt";
	}
//	
	@RequestMapping("updateAllusers.do")
	public String updateAllusers(int id,ModelMap map,Allusers allusers){
		allusersService.update(allusers);
		return "redirect:allusersList.do";
	}
//	所有List
//	@RequestMapping("allusersList.do")
//	public String allusersList(ModelMap map,HttpSession session){
//		map.put("list", allusersService.getAll(null));
//		map.put("clist", allusersService.getAll(null));
//		return "allusers";
//	}
//	分页查询
	@RequestMapping("allusersList.do")
	public String goodList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Allusers allusers, String username, String pwd, String cx){
		/*if(session.getAttribute("user")==null){
			return "login";
		}*/
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 15);
		Map<String, Object> bmap=new HashMap<String, Object>();
		Map<String,Object> cmap=new HashMap<String,Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid", ((Users)session.getAttribute("user")).getId());*/
		if(username==null||username.equals("")){pmap.put("username", null);cmap.put("username", null);}else{pmap.put("username", username);cmap.put("username", username);}
		if(pwd==null||pwd.equals("")){pmap.put("pwd", null);cmap.put("pwd", null);}else{pmap.put("pwd", pwd);cmap.put("pwd", pwd);}
		if(cx==null||cx.equals("")){pmap.put("cx", null);cmap.put("cx", null);}else{pmap.put("cx", cx);cmap.put("cx", cx);}
		
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "allusers_list";
	}
//   分页模糊查询
	@RequestMapping("vagueAllusersList.do")
	public String vagueAllusersList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page),PageBean.PAGESIZE);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", pageBean.getPageSize());
		Map<String, Object> bmap=new HashMap<String, Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid",  ((Users)session.getAttribute("user")).getId());*/
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 2);
		return "queryallusers";
	}
	@RequestMapping("deleteAllusers.do")
	public String deleteAllusers(int id){
		allusersService.delete(id);
		return "redirect:allusersList.do";
	}
	
	@RequestMapping("quchongAllusers.do")
	public void quchongAllusers(Allusers allusers,HttpServletResponse response){
		   Map<String,Object> map=new HashMap<String,Object>();
		   map.put("username", allusers.getUsername());
		   System.out.println("username==="+allusers.getUsername());
		   System.out.println("username222==="+allusersService.quchongAllusers(map));
		   JSONObject obj=new JSONObject();
		   if(allusersService.quchongAllusers(map)!=null){
				 obj.put("info", "ng");
			   }else{
				   obj.put("info", "username可以用!");
				  
			   }
		   response.setContentType("text/html;charset=utf-8");
		   PrintWriter out=null;
		   try {
			out=response.getWriter();
			out.print(obj);
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			out.close();
		}
	}
	
	@RequestMapping("Alluserslogin.do")
	public String checkAllusersLogin(Allusers allusers, HttpSession session) {
		Map<String,Object> u=new HashMap<String,Object>();
		System.out.println("name===" + allusers.getUsername());
		u.put("username",allusers.getUsername());
		//u.put("utype", "用户");
		//Md5.MD5HexEncode(user.getPassword())
		u.put("pwd",allusers.getPwd());
		allusers = allusersService.allusersLogin(u);
		if (allusers != null) {
			session.setAttribute("username", allusers);
			System.out.println("username=" + allusers);
			session.removeAttribute("suc");
			return "redirect:index.do";
		} else {
			System.out.println("usernafwfwwme=");
			session.setAttribute("suc", "登录失败!用户名或密码错误!");
			return "login";
		}

	}
}

获取源码或论文

如需对应的论文或源码,也可以下方微信联系我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值