生活质量系统课程设计.doc_第1页
生活质量系统课程设计.doc_第2页
生活质量系统课程设计.doc_第3页
生活质量系统课程设计.doc_第4页
生活质量系统课程设计.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软 件 学 院课程设计报告书课程名称 JAVA EE与中间件 设计题目 生活质量衡量系统 专业班级 软件10-5班 学 号 1020010503 姓 名 崔鹏 指导教师 郭鹏飞 2013 年 1 月目录1 设计时间1月21日-1月27日2 设计目的利用所学知识,设计出衡量生活质量的软件系统对日常生活的开销,收入以及支出进行统计。而生活质量分为小康、温饱、贫困。通过该系统能够确定一个人的生活质量。3设计任务必备功能说明:(1)衡量标准说明:消费有两种支出:吃饭支出和其它支出,如果在一段时间内,吃饭支出占总支出的比例超过50%,生活质量为贫困;如果在20-50%之间,为温饱;如果低于20%,生活质量为小康。(2)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除支出情况(支出类型(有两种:吃饭支出和其它支出)、额度(人民币)、日期)。(3)添加支出情况(4)查看支出情况(5)删除支出情况(6)统计在某个时间段内,生活质量属于哪个层次开发语言与开发环境:MyEclipse、Java、数据库(sqlserver2000、mysql、oracle等任选一种)4设计说明书 4.1 需求分析4.1.1系统设计的目标需求查看用户的支入支出情况及用户的生活质量用户所做的事填写或修改用户的消费信息用户需求查看用户消费信息修改用户的消费信息添加用户的消费信息查看用户的生活质量等级解决方案MyEclipse、Java、数据库sqlserver2000生活质量衡量系统主要管理用户日常的消费支出,如用户消费信息的添加,删除,查询,以及计算用户的生活质量。该系统包括三个基本信息:支出类型(有两种:吃饭支出和其它支出)、额度(人民币)、日期)。4.1.2用户特点用户为非专业技术人员,对计算机系统没有详细了解,必须尽可能的提供良好的用户操作界面和使用提示。4.1.3数据需求用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除支出情况(支出类型(有两种:吃饭支出和其它支出)、额度(人民币)、日期)。4.1.4功能需求(1)用户以合法身份登录系统,才能进行操作。(2)用户添加支出情况(3)用户查看支出情况(4)用户删除支出情况4.2 概要设计4.2.1各个子系统的设计生活质量衡量系统包括五个子系统:登录管理子系统,查询子系统,删除子系统,添加子系统,用户生活质量等级子系统。五个子系统关系如下:登录管理子系统查询子系统删除子系统添加子系统生活质量等级子系统图1 系统总体结构系统中各个子系统都能够分别满足功能的要求,以下是各个系统的功能说明:(1)登录管理子系统:用户登录自己的信息,若为合法用户,则可以进入生活质量管理系统。(2)查询子系统:显示用户支出信息(3)删除子系统:删除用户不需要的支出信息(4)添加子系统:添加用户的支出信息(5)生活质量等级子系统:通过计算,查看用户所处的生活质量等级。(生活质量等级分为:小康,温饱,贫困)。4.2.2 数据库设计支出1 E-R图额度支出类型支出编号日期 图2 支出E-R图2.数据库表设计 在数据库中建立cp表包括:(列名,数据类型,长度,是否为空,含义)。表1 cp表列名数据类型长度是否为空含义idbigint8N支出编码,主键,自动增长Typevarchar50Y支出类型moneydouble10Y额度datadatatimeY日期 3关系模式支出信息(支出编码,支出类型,额度,日期)其中支出编码,为主键。4.3 详细设计4.3.1系统流程图 开始登录合法用户户查询信息删除添加信息结束删除信息添加生活质量等级否是是否是否 图3系统流程图4.3.3各子系统的详细设计1.登陆管理子系统“login.jsp”用于用户登录,输入用户名和密码。登录失败时跳转到“error.jsp”页面,然后超链接到登录页面;登录成功进入“index.jsp”页面,点击显示所有支出情况进入查询子系统。2.查询子系统“showAllCost.jsp”用于显示所有支出信息包括:支出类型, 额度, 日期。建立超链接与其他三个子系统的页面。3.删除子系统“deletecost.jsp”用于删除支出,输入要删除的序号点击删除。将删除结果返回到“showAllCost.jsp”页面。4.添加子系统“savecost.jsp”用于填加支出,输入要添加的数据,点击添加,将添加结果返回到“showAllCost.jsp”页面。5.生活质量等级子系统 “tongji.jsp”用于输入计算生活质量等级时间段,点击进入所对应的servlet进行处理,并用“xianshi.jsp”显示生活质量等级:您所处的生活等级为小康,温饱,贫困。4.3.2 抽象数据类型的定义所需要导入的包及建立的包表2 包定义表包名类名功能com.cost.daoCostDao.java增加信息显示信息删除信息生活质量信息com.cost.domainCost.java图书属性User.java用户属性com.cost.serviceCostService.javaUserService.javacom.cost.servletsaveCostServlet.javaDeleteCostServlet.javaListAllCostServlet.javaLoginServlet.javaTongjiServlet.java表3页面定义表页面名称作用savecost.jsp添加页面deletecost.jsp删除页面Tongji,jsp填写时间段页面error.jsp登陆失败页面,返回登录界面index.jsp用户界面login.jsp登录页面ShowAllCost.jsp显示页面success.jsp登陆成功页面,跳转至用户界面xianshi.jsp显示生活质量等级页面 5设计成果5.1运行界面及测试结果1.用户登录界面2登录失败页面3.登录成功界面4.进入查询子系统5.添加支出信息界面及结果6.删除支出系统及结果7查询生活质量等级及结果5.2主要代码1.页面的实现“login.jsp”用于用户登录,它的关键代码如下: 用户名 密 码 登录失败时跳转到“error.jsp”页面,然后超链接到登录页面,它的关键代码如下: 用户名密码错误。重新登陆 登录成功进入“index.jsp”页面,它的关键代码如下: 欢迎进入:生活质量系统 显示所有支出情况 “showAllCost.jsp”用于显示所有支出信息,它的关键代码如下: id 支出类型 额度 日期 添加支出情况 删除支出情况 生活质量等级 “deletecost.jsp”用于删除支出,它的关键代码如下: 请输入要删除的序号: “tongji.jsp”页面用于填写填写时间段 请输入序号范围: “xianshi.jsp” 用于显示生活质量等级: 您所处的生活等级为: 2.工具类的实现工具的类名为“DBConnection”,该类用于获得数据库的连接,它的实现代码如下:public class DBConnection public static Connection getConnection()final String driverName=com.microsoft.jdbc.sqlserver.SQLServerDriver;final String url=jdbc:microsoft:sqlserver:/localhost:1433;databasename=mydb;tryClass.forName(driverName);catch(ClassNotFoundException e)e.printStackTrace();tryConnection con=DriverManager.getConnection(url, sa, sa);con.setAutoCommit(false);return con;catch(SQLException e)e.printStackTrace();return null;3.实体类的实现实体类的类名有“User”和“Book”,“User”类拥有用户名称和用户密码的私有属性及各个属性的set、get方法,它的实现代码如下:public class User private String username;private String password;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;“Cost”类拥有一些代表课程信息的私有属性以及各个属性的set、get方法,它的实现代码如下:public class Cost private int id;private String type;private float money;private String date;public int getId() return id;public void setId(int id) this.id = id;public String getType() return type;public void setType(String type) this.type = type;public float getMoney() return money;public void setMoney(float money) this.money = money;public String getDate() return date;public void setDate(String date) this.date = date;4.DAO类的实现DAO类的类名为“CostDao”,该类使用JDBC技术实现,用于和数据库交互,进行相关的增、删、改、查操作,它的实现代码如下:public class CostDAO public List getAllCost()Connection con=DBConnection.getConnection();List list=new ArrayList();tryPreparedStatement ps=con.prepareStatement(select * from i_cost);ResultSet rs=ps.executeQuery();while(rs.next()Cost cost=new Cost();cost.setId(rs.getLong(id);cost.setType(rs.getString(type);cost.setMoney(rs.getDouble(money);cost.setData(rs.getString(data);list.add(cost);con.close();return list;catch(SQLException e)e.printStackTrace();return null;public boolean saveCost(Cost cost) throws ExceptionConnection conn=DBConnection.getConnection();String listSQL=insert into i_cost values(?,?,?);PreparedStatement pstmt=conn.prepareStatement(listSQL);try pstmt.setString(1,cost.getType(); pstmt.setDouble(2,cost.getMoney(); pstmt.setString(3,cost.getData(); pstmt.executeUpdate(); mit(); return true;catch(SQLException e)conn.rollback();e.printStackTrace();finally conn.close();return false;public boolean deleteCost(int id) throws ExceptionConnection conn=DBConnection.getConnection();String listSQL=delete from i_cost where id=?;PreparedStatement pstmt=conn.prepareStatement(listSQL);trypstmt.setInt(1,id); pstmt.executeUpdate(); mit(); return true;catch(SQLException e)conn.rollback();e.printStackTrace();finallyconn.close();return false; public String tongJi(int firstid,int endid) throws Exceptiondouble sumEating = 0;double sumOthers=0;Connection conn=DBConnection.getConnection();String listSQL=select * from eca where + id =+firstid+ +and id+endid+;PreparedStatement pstmt=conn.prepareStatement(listSQL);ResultSet rs=pstmt.executeQuery();Cost cost=new Cost();while(rs.next()if(cost.getType().equals(吃饭支出)sumEating=sumEating+cost.getMoney(); if(cost.getType().equals(其他支出) sumOthers=sumOthers+cost.getMoney(); double result = sumEating/(sumEating+sumOthers); String state = null;if(result 0.5)state = 贫困;return state;elsestate = 温饱;return state;5.控制器类的实现public class LoginServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException User user=new User();user.setUsername(request.getParameter(username);user.setPassword(request.getParameter(password);UserService userService=new UserService();if(userService.checkLogin(user)HttpSession session=request.getSession();session.setAttribute(username, user.getUsername();request.getRequestDispatcher(/index.jsp).forward(request, response);elserequest.getRequestDispatcher(/error.jsp).forward(request, response);public class ListAllCostServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException CostService costService=new CostService();List list=costService.getAllCost();request.setAttribute(allCost, list);request.getRequestDispatcher(/showAllCost.jsp).forward(request, response);public class SaveCostServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String type=request.getParameter(type); Double money=Double.parseDouble(request.getParameter(money); String data=(String)request.getParameter(data); Cost cost=new Cost(); cost.setType(type); cost.setMoney(money); cost.setData(data); CostDAO costdao= new CostDAO(); try costdao.saveCost(cost); catch(Exception e) e.printStackTrace(); ListAllCostServlet g=new ListAllCostServlet();public class DeleteCostServlet extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String idd=(String)request.getParameter(id);int id = Integer.parseInt(idd);CostDAO costdao= new CostDAO(); try costdao.deleteCost(id); catch(Exception e) e.printStackTrace(); ListAllCostServlet b=new ListAllCostServlet(); b.doGet(request, response);public class TongJiServlet extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String idd1=(String)request.getParameter(firstid);int firstid = Integer.parseInt(idd1);String idd2=(String)request.getParameter(endid);int endid = Integer.parseInt(idd2);CostDAO costdao= new CostDAO(); try String www= costdao.tongJi(firstid,endid); catch(Exception e) e.printStackTrace(); request.setAttribute(allCost, www); request.getRequestDispatcher(/xianshi.jsp).forward(request, response);6.Service类的实现public class UserService public static boolean CheckLogin(User user)if(user.getUsername().equals(admin)&user.getPassword().equals(123456)return true;else return false;public classCostService public List getAllCost()Cost

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论