软件工程综合实习- 家庭理财管理系统.doc_第1页
软件工程综合实习- 家庭理财管理系统.doc_第2页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

软件工程综合实习任务书 系 专业 班级课程设计名称: 设计题目: 家庭理财管理系统 完成期限:自 年 月 日至 年 月 日共 周设计依据、要求及主要内容(可另加附页):一、设计依据1软件工程综合实习任务书2软件工程综合实习大纲二、设计要求程序设计综合实习内容主要运用面向对象程序设计和数据库技术等,完成一个实践性较强、综合性的程序设计课题。1、 根据题目要求,划分不同的模块来完成相应的功能。2、 用户界面要友好。3、 功能模块的设计要合理。4、 程序测试要求使用:全部合法数据;整体非法数据;局部非法数据。进行程序测试,以保证程序的稳定。5、 综合实习结束交程序设计综合实习报告。三、主要内容 (替换此段内容:用一段话,写出你要完成的系统名称、主要功能等)四、参考资料1database system concepts(fourth edition) abraham silberschatz henry f.korth s.sudarshan higher education press2王珊.数据库系统概论(第四版). 高等教育出版社,2007.3罗运模.完全掌握sql server 2000.人民邮电出版社,2001.4白尚旺等.powerdesigner软件工程技术.电子工业出版社,2004.5张海藩.软件工程概论(第五版).清华大学出版社,2007. 指导教师(签字):_ 教研室主任(签字):_ 批准日期: 2011年 12月 19 日目 录一、需求分析1.1项目背景随着社会主义的不断发展与进步,人们的生活部断完善,家庭的收入也越来越多,人们的收入再不是用来解决生计问题了,当今社会是一个讲求效率的社会,时间就是金钱。开发简单,易于操作的,管理软件不仅可以节省时间,还可以避免浪费人力,物力,提高效率。待开发系统是一个对家庭理财管理系统,简单,易学,将成为家庭理财的的好帮手。本系统为家庭理财管理系统,通过建立家庭理财系统,使家庭财产管理工作规范化、制度化和程序化,减少此方面的不必要的浪费的时间与精力,避免管理的随意性,提高财产信息处理的速度和准确性,提高决策的水平。将常规的工作交由计算机完成,提高管理家庭财产管理的效率。1.2功能本系统家庭成员共同使用,故在本系统中将设定两种用户身份,并对本系统提出以下需家庭成员功能:a. 基本信息设置 银行信息浏览。 银行信息录入 家庭成员录入。 家庭成员浏览。 收支分类信息管理。系统管理员功能:a.日常收支管理 添加日常收支信息,包括日期、收支分类、名称、收支金额等信息。 修改日常收支信息。 删除日常收支信息。 查看日常收支信息。b.资产账户信息管理 添加资产账户信息,包括资金类型、银行名称、存款类型、银行账号开户人、账户金额等信息。 修改资产账户信息。 查看资产账户信息。c.银行往来管理 添加银行往来信息,包括银行名称、交易日期、交易类型、银行账号、账户金额、储蓄类型等信息。 修改银行往来信息。 查看银行往来信息。d. 数据统计管理 日常收支统计,按月份查询日常收支的流水帐。 银行交易统计,按月份查询银行交易信息。 家庭资产统计,统计家庭的存款总数、现金总数、总收入和总支出数据。b.日常收支管理1.3用例模型系统管理员用例图家庭成员用例图 1.4 数据流图1.4.1 顶层数据流图d1 财产信息d2 财产去向信息家庭账务管理员家庭各个成员 1财产信息事务处理事务 2信息存入系统以前财产信息财产信息新财产信息财产信息1.4.2家庭理财系统功能及数据流图d1 存储财产信息家庭账务管理员 1.1接受新财产信息新财产信息事务 1.2更新财产信 息财产信息 1.3信息存入系统财产信息 2新信息存入系统d2 财产去向信息新财产信息财产信息家庭各个成员财产信息1.4.3详细数据流图二、总体设计2.1 模块划分家庭理财管理系统 2.1家庭成员管理模块 2.1.1. 系统管理员登录 2.1.2. 家庭成员信息查询 2.2日常收支信息管理模块 2.2.1. 日常收支信息添加 2.2.2. 日常收支信息删除 2.2.3. 日常收支信息修改 2.2.4. 日常收支信息浏览 2.3资产账户信息管理模块 2.3.1. 账户信息添加 2.3.2账户信息修改 2.3.3. 账户信息查询 2.3.4. 账户信息删除2.2 系统结构图三、数据库设计3.1 实体关系图手机家庭账务管理员admin管理、查看家庭各成员账务信息登陆姓名收支存取时间金额使用者1n1nn性别出生日期工作单位3.2 数据表结构accountinfo(收支表)字段名称数据类型字段含义默认值是否外键account_idint财务收支表主键自增否account_datedatetime(8)日期null否account_typevarchar(20)收支类型null否account_namevarchar(50)收支名称null否account_numberint金额null否finainfo(资产信息表)字段名称数据类型字段含义默认值是否外键idint资产信息表主键自增否finatypevarchar(80)资金类型null否bankenamevarchar(80)银行名称null否finauservarchar(20)银行开户人null否finanumberint金额null否user(用户信息表)字段名称数据类型字段含义默认值是否外键idint用户信息表主键自增否usernamevarchar(80)用户名称null否passwordvarchar(80)用户密码null否useridvarchar(20)用户idnull否四、详细设计4.1 模块设计说明4.1.1 家庭成员管理模块模块名称功能编号功能名称描述家庭成员管理模块(m01)m011家庭成员注册新加入家庭成员注册m012家庭成员删除删除不合法用户m013系统管理员登录登录系统m014家庭成员信息查询查询家庭成员信息4.1.2 日常收支信息管理模块模块名称功能编号功能名称描述日常收支信息管理模块(m02)m021日常收支信息增加日常收支信息增加m022日常收支信息查询查询日常收支信息m023日常收支信息修改日常收支信息信息修改m024日常收支信息删除删除日常收支信息4.1.3 资产账户信息管理模块模块名称功能编号功能名称描述资产信息管理模块(m03)m031资产账户信息增加资产账户信息增加m032资产账户信息查询查询资产账户信息m033资产账户信息修改资产账户信息修改m034资产账户信息删除删除资产账户信息五、系统实现 5.1 运行环境硬件环境:处理器:intel peteum 4 core 1.86ghz内存:2g操作系统:windows7 ultimate运行环境:数据库:mysql、jdk版本:1.6、服务器:tomcat6.0浏览器要求:ie6.0以上或其他非ie内核浏览器5.2 部分代码代码功能实现对数据库中增删改查的操作代码编号p1m0f0r00001 程序源码package com.bank.dao.impl;import java.io.serializable;import java.lang.reflect.parameterizedtype;import java.sql.sqlexception;import java.util.list;import org.hibernate.hibernateexception;import org.hibernate.query;import org.hibernate.session;import org.springframework.orm.hibernate3.hibernatecallback;import org.springframework.orm.hibernate3.support.hibernatedaosupport;import com.bank.dao.igenericdao;import com.bank.vo.pagebean;public abstract class agenerichibernatedao extends hibernatedaosupport implements igenericdao class persistentclass;public class getpersistentclass() return persistentclass;public void setpersistentclass(class persistentclass) this.persistentclass = persistentclass;suppresswarnings(unchecked)public agenerichibernatedao()/动态代理获得相应的实体对象 this.persistentclass=(class)(parameterizedtype) getclass().getgenericsuperclass().getactualtypearguments()0; system.out.println(ageneric:+this.getpersistentclass(); /* * 保存对象到数据库 */public void create(t entity) / todo auto-generated method stubthis.gethibernatetemplate().save(entity);/* * 通过id查询 */ public t findbyid(id id) / todo auto-generated method stubreturn this.gethibernatetemplate().get(persistentclass, id); /* * 通过id删除对象 */public void delete(t entity) / todo auto-generated method stubthis.gethibernatetemplate().delete(entity); /* * 更新操作 */public void update(t entity) / todo auto-generated method stubthis.gethibernatetemplate().update(entity); /* * return list * 获得全部数据,并存到list中 */public list findall() / todo auto-generated method stubreturn this.gethibernatetemplate().loadall(persistentclass); /* * return list * 按条件查询,并存到list中 */suppresswarnings(unchecked)public list findbyobject(string hql, object params) / todo auto-generated method stubreturn this.gethibernatetemplate().find(hql, params); /* * return pagebean * 按条件查询带分页信息的数据 */public pagebean findbypagebean(final string hql, final object params,final int currentpage, final int pagesize) / todo auto-generated method stubreturn this.gethibernatetemplate().execute(new hibernatecallback() public pagebean doinhibernate(session arg0)throws hibernateexception, sqlexception / todo auto-generated method stubpagebean bean=new pagebean();query qu=arg0.createquery(hql);for(int i=0;iparams.length;i+)qu.setparameter(i, paramsi);qu.setfirstresult(currentpage-1)*pagesize);qu.setmaxresults(pagesize);bean.setdata(qu.list();qu=arg0.createquery(select count(*) +hql.substring(hql.tolowercase().indexof(from);for(int j=0;jparams.length;j+)qu.setparameter(j, paramsj);bean.settotalrows(integer.parseint(qu.uniqueresult().tostring();bean.setcurrentpage(currentpage);bean.setpagesize(pagesize);return bean;);/* * return pagebean * 查询全部信息,带分页信息 */public pagebean findbypagebean(final string hql, final int currentpage, final int pagesize) / todo auto-generated method stubreturn this.gethibernatetemplate().execute(new hibernatecallback() public pagebean doinhibernate(session arg0)throws hibernateexception, sqlexception / todo auto-generated method stubpagebean bean=new pagebean();query qu=arg0.createquery(hql);qu.setfirstresult(currentpage-1)*pagesize);qu.setmaxresults(pagesize);bean.setdata(qu.list();qu=arg0.createquery(select count(*) +hql.substring(hql.tolowercase().indexof(from);bean.settotalrows(integer.parseint(qu.uniqueresult().tostring();bean.setcurrentpage(currentpage);bean.setpagesize(pagesize);return bean;);public void bulkupdate(string bulk, object params) / todo auto-generated method stubpublic integer countbyobject(string hql, object param) / todo auto-generated method stubreturn null;suppresswarnings(unchecked)public list find(string hql) / todo auto-generated method stubreturn this.gethibernatetemplate().find(hql);return true;return false;代码功能对常用的方法进行抽取封装代码编号p1m0f0r00002 程序源码package com.bank.dao;import java.io.serializable;import java.util.list;import com.bank.vo.pagebean;public interface igenericdao public void create(t entity);/实体存入数据库 public t findbyid(id id);/通过id查找 public void delete(final t entity); public void update(t entity); public list findall(); public list findbyobject(string hql,object params); public pagebean findbypagebean(final string hql,final object params,final int currentpage,final int pagesize); public pagebean findbypagebean(final string hql, final int currentpage, final int pagesize); public void bulkupdate(final string bulk, object params); public integer countbyobject(final string hql,final object param); public list find(string hql);5.3系统截图5.3.1用户登录界面5.3.2日常收支管理模块5.3.3资产账户信息管理模块六、系统测试6.1 测试方法本相同采用手动测试方法,主要目的为验证系统中的权限控制、程序的容错性及对非法数据的检验能力。6.2 测试环境硬件环境:处理器:intel peteum 4 core 1.86ghz内存:2g操作系统:windows7 ultimate运行环境:数据库:mysql、jdk版本:1.6、服务器:tomcat6.0浏览器要求:ie8 谷歌浏览器6.3 测试用例测试功能用户登录测试编号m01t001 用例设计用例编号预期输入预期输出实际输出case_001aa正常登录正常登录case_002cc无此用户跳转至主页登陆失败测试功能收支信息删除测试编

温馨提示

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

评论

0/150

提交评论