随着计算机技术的飞速发展,计算机在系统管理中的应用越来越普及,利用计算机实现各个系统的管理显得越来越重要。随着人们消费水平的提高,消费量一直在加大 ,可是如何能够合理的管理和记录自己的消费方向是一个很大的问题,尤其是在校大学生,大学生是一个特殊的群体,他们主要目的是学习,他们的消费来源主要是来源于家庭部分,收入可能来源于自己的勤工俭学。所以如何能够更好的让大学生去管理自己的收支平衡,从而养成勤俭节约的好习惯是一个很重要的社会问题,这不仅关系到一个大学生家庭情况,而且很可能影响未来的社会收支问题。大学生收支管理系统,能够让大学生尽量去平衡自己的收入和支出,从而有计划的去,消费而不是去盲目的随波逐流。所以建立一个高效的,合理的大学生个人收支系统是很有必要的。
大学生个人收支管理系统的开发目的是使个人收支综合管理模式从手工记录转变成信息管理,为个人收支综合管理人员提供方便条件。对实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。随着个人收支信息管理信息系统的不断完善,个人收支信息管理的管理将越来越依赖于信息化的管理。所以系统开发将围绕大学生收支的实际情况,使之能迅速适应需要并养成良好的收支平衡习惯。
本系统分为大学生注册用户和管理员两部分具体功能如下所述
注册用户部分功能描述
1:用户注册:大学生可以通过注册成为本系统的用户,然后可以管理自己的收入支出情况,如果不注册是不能够使用本系统进行收支管理的。注册信息包括用户名,密码,姓名,性别,所在年级,联系电话和地址等信息
2:支出类目管理:为了更加方便的管理支出的类型,用户可以对支出的类目进行管理,例如购物,餐饮,日常用品,还贷等类型,这样方便了解自己对各种类型的支出项目的统计查询,方便自己做的支出的项目去向
3:收入类目管理:为了更加方便的让学生管理自己的收入类型,用户可以管理自己的收入类目信息,包括父母打款,兼职所得,像同学借钱等收入情况的类目管理,这样方便对后面的收入情况根据类目进行管理,方便了解收入的来源分析
4:支出管理:系统用户可以管理自己日程的支出信息,具体支出信息要归属到不同的支出类目中,,例如某年某月某日某个时间购买了一件东西,可以支出管理的购物类目加添加一条对应的信息,这样在以后的统计查询中不仅可以知道具体的消费内容还可以根据类目进行统计查询。
5:收入管理,系统用户可以根据自己日程的收入信息登记到不同类目的收入信息中去,例如某年某月某日父母打款多少钱用于做生活费,这个时候就在收入管理里面添加一条对应的收入记录,该收入的类目就是父母打款,这样以后再查询统计的时候就可以知道具体的收入来源了,而且通过一定时间段的收入和支出统计还可以了解到自己的收支是否平衡,让学生能够更好的把握自己的经济情况。
6:支出查询统计,系统用户可以根据时间段和支出类目对支出信息进行查询统计,例如学生在自己的管理界面中选择了一个时间段,2017-11-01至2017-11-30然后就可以点击查询按钮,这个时候就可以统计出自己在这段时间段的支出情况,另外还可以在加上类目和时间进行综合查询,这样就知道了这个时间段的该类目下的支付情况的集合。
7:收入查询统计,系统用户可以根据时间段和收入类目进行收入信息的查询统计,例如学生在自己的收入查询统计界面中选择了一个时间段,2017-11-01至2017-11-30然后就可以点击查询按钮,这个时候就可以统计出自己在这段时间段的收入情况,另外还可以在加上类目和时间进行综合查询,这样就知道了这个时间段的该类目下的所有收入金额的总和。
8:修改密码,为了保证自己账号的安全,用户可以修改自己的个人密码,这样防止被人盗取自己的密码进行非法操作
管理员部分功能描述
1:注册用户管理,管理员用户可以管理注册用户信息,包括对注册用的查询和删除等操作
2:收入查询统计,因为本系统是一个严谨的收入支出系统,所以管理员不可以直接查看用户的这些收入和支出信息,并可以根据条件统计用户的收入信息
3:支出查询统计,因为本系统是一个严谨的收入支出系统,所以管理员不可以直接查看用户的这些收入和支出信息,并可以根据条件统计用户的支出信息
4:修改密码,管理员用户可以修改自己的个人密码,这样防止被人盗取自己的密码进行非法操作
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";
}
}
}
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37