个人财务管理系统说明书.docx
《个人财务管理系统说明书.docx》由会员分享,可在线阅读,更多相关《个人财务管理系统说明书.docx(12页珍藏版)》请在冰豆网上搜索。
个人财务管理系统说明书
课程设计说明书
课程名称:
软件工程
设计题目:
个人财务管理系统
学院:
计算机科学与信息工程
学号姓名:
14031010257吴伟
14031010105阮珂
14031010114赵秉轩
14031010226冯壮壮
专业班级:
14-计科应用班
指导教师:
高原
2016年12月23日
课程设计任务书
设计题目
个人财务管理系统
学生姓名
所在学院
专业、年级、班
设计要求:
完成个人财务管理系统:
能够实现管理个人用户账户的收入、支出、借贷等账户管理。
学生应完成的工作:
1.实现个人财务管理系统的代码编写
2.书写课程设计说明书和设计文档
参考文献阅读:
[1]郑人杰,软件工程概论(第2版).机械工业出版社,2016
[2]龚炳江文志诚,java程序设计(慕课版).人民邮电出版社
[3]王珊萨师煊,数据库系统概论(第五版).高等教育出版社
工作计划:
2016/12/14:
完成课题需求分析和组员分工
2016/12/15:
实现软件界面的设计
2016/12/15-2016/12/19:
实现软件功能按钮的代码填充和数据库的链接。
2016/12/20:
检查软件的功能和代码的完善
2016/12/21-2016/12/22:
根据完成的软件书写课程设计说明书和设计文档
任务下达日期:
2016年12月12日
任务完成日期:
2016年12月23日
指导教师(签名):
学生(签名):
个人财务管理系统
摘要:
Windows 平台上,分析设计了 “个人财务管理信息系统”。
系统软件和对数据库的操作和管理只需在计算机使用相应的软件完成。
如今计算机已走进千家万户,极大的便利了人们的生活。
传统的在纸上记录个人收入支出的方式不仅耗时耗料,同时缺乏科学有效的管理。
并且存放在纸质的信息安全性不好,一旦获得该纸质信息便可获得所有记录。
纸质信息的另一大坏处在于纸质一旦丢失,想要还原长时间以来的信息十分困难。
人们需要一种简洁方便安全可备份以记录并管理个人收入支出信息的软件,可是市场上的财务管理软件大多数都十面向企业,或是有专门用途,面向普通用户的个人财务管理系统很难找到,在者免费的软件更是少之又少,为了满足普通用户的需求,特开发此软件。
本系统功能简单,只适合对个人财务管理要求不高的用户,可以完成收入支出金钱及物品的记录与查询操纵,本系统操作简单,用户无需记录复杂的命令,打开主机面就可以很容易看出系统的功能,在者,本软件为免费产品,对于不愿花很多钱购买软件的用户来说是个很好的选择,本软件无需很高的硬件配置,一般的配置均可运行,占用系统资源少。
本报告中首先说明了该系统的特点与业务需求,之后详细说明了系统的业务流程和系统开发流程,重点介绍了系统各模块的功能及相关功能的具体实现。
该系统功能简洁完善、用户界面友好、运行稳定,可完成日常个人财务信息的管理和维护。
本报告中首先说明了该系统的业务需求,之后介绍了系统的总体设计思路以及着重介绍了数据库表的设计过程及说明可供研究此系统的人员提供参考
关键词:
java、个人财务管理、eclipse
1.设计背景…………………………………………………1
1.1背景………………………………………………………1
1.2可行性分析………………………………………………1
2.设计方案…………………………………………………1
2.1用户需求…………………………………………………1
2.2功能模块设计……………………………………………2
3.方案实施…………………………………………………3
3.1功能模块编写…………………………………………3
3.2细节调整以及链接……………………………………7
4.结果与结论………………………………………………7
4.1运行结果………………………………………………7
4.2结论……………………………………………………8
5.收获与致谢………………………………………………9
6.参考文献…………………………………………………9
7.附件………………………………………………………9
1.设计背景
1.1背景
随着计算机技术飞速发展及其应用领域的扩大,特别是计算机软件和硬件的飞速发展,极大地便利了人们的生活和传统的经营和管理模式。
软件应用的突出表现能够为客户提供更为方便、快捷、安全、科学的服务,人们开始意识到科技改变方法的手段。
发现通过编写功能强大的软件以实现并替代传统的经营和管理模式能有效降低各领域管理方面的运营成本。
于软件市场和需求不断扩大,这也是一个又一个软件管理系统相继出现的原因。
越来越多的面向多领域的功能强大的管理软件在市面上喷涌出现。
在掌握了部分软件知识后,我们也尝试着运用知识实现一款个人财务管理系统。
1.2可行性分析
当接受一个软件开发任务,就进入软件生命的第一个阶段,即进行可行性的研究。
并不是所有问题都具有简单的解决办法,许多问题不能在预定的规模之内解决。
由于该系统是有个人运用编译软件实现的简洁、方便。
只要有相应的运行软件即可使用。
所以不存在经济成本的问题,在讨论了将需求模拆分后认为该这些模块是能够在知识范围内实现的。
2.设计方案
2.1用户需求
本系统是针对用户要求:
a.账户管理:
管理用户的账户信息。
接受用户账户信息的提交,进行处理后用表单的形式进行显示。
b.收支管理:
处理用户的收入和支出的信息,进行处理后用表单的形式进行显示,同时提供时间段的收支情况查询功能。
c.借贷管理:
用户提交借贷信息,进行处理后显示借贷的详细信息,同时提供时间段的借贷情况的查询。
d.统计功能:
统计功能提供用户财务信息的查询和统计的功能,可以统计账户信息,收支信息,借贷信息,并以时间段作为标准,显示统计结果。
e.基础设置:
通过基础设置,进行整个系统的初始化设置,包括添加各个管理项目的属性分类。
经过分析,本系统需要具有以下功能:
1、能够实现个人财务管理方面各项功能,能成功的对用户各种信息进行管理。
2、实现查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。
3、拥简洁明了的人机交互界面。
2.2功能模块设计
下文针对用户需求对具体模块功能的内容进行阐述
交互界面(软件主页):
软件主页的风格是标准的Windows窗口界面风格,由于是个人用户使用,将具体的收支管理、借贷管理、统计功能、基础设置功能模块以水平排版的方式罗列在主页。
账户管理模块:
当用户点击该功能模块后。
实现对软件账户的管理。
若当前已有用户在使用会显示当前账号用户的信息。
收支管理模块:
当用户点击该功能模块后,有三个可编辑文本框和一个查询按钮。
可实现对现有账户的资金的支出、收入以及日期的管理和编辑。
当用户输入相应的数据时,个人账户的资金对做相应并显示当前的账户详情。
同时将该变化同步到数据库。
点击查询按钮可根据日期显示出该日期下个人资金的所有变动情况
借贷管理:
当用户点击该功能模块后,有三个可编辑文本框和一个查询按钮。
可实现对现有账户的资金的借出、归还情况以及日期的管理和编辑。
当用户输入相应的数据时,个人账户的资金对做相应变化点击查询还可根据日前显示该日期下的账户详情。
同时将该变化同步到数据库。
统计管理:
在该模块下会提供近期将数据库的变化对用户财务信息统计以日期为分组将具体内容显示在文本显示框内,包括账户信息,收支信息,借贷信息,并以时间段作为分组,显示统计结果。
基础设置:
该模块要实现对当前用户账户信息的以及所对应的数据库表的初始化。
3.方案实施
3.1功能模块编写
交互界面:
采用标准的Windows经典的界面风格,根据模块设计将所需要的按扭以水平排列的风格布置到主页和模块页如下:
模块页
账户管理模块:
首先在已经建好数据库表有基础数据基础上,获取用户在收入编辑框和支出编辑框的输入的数据,做相应的加减处理并根据输入的时间保存到数据库,部分代码如下。
JFramejiedai=newJFrame("借贷管理");
jiedai.setBounds(400,200,700,500);
jiedai.setLayout(newFlowLayout());
jiedai.dispose();
JLabelzujie=newJLabel("租借");
JLabelguihuan=newJLabel("归还");
JLabelshijian=newJLabel("时间");
TextFieldzujie_1=newTextField(20);
TextFieldguihuan_1=newTextField(20);
TextFieldshijian_1=newTextField(20);
Buttonchaxun=newButton("查询");
Buttonbaocun=newButton("保存");
Buttontuichu=newButton("退出");
jiedai.add(zujie);
jiedai.add(zujie_1);
jiedai.add(guihuan);
jiedai.add(guihuan_1);
jiedai.add(shijian);
jiedai.add(shijian_1);
jiedai.add(chaxun);
jiedai.add(baocun);
jiedai.add(tuichu);
此部分代码为页面设计,只是简单的工具添加在窗口上。
baocun.addActionListener(newActionListener()//保存按钮
{
publicvoidactionPerformed(ActionEvente)
{
Stringsjie=zujie_1.getText();
Stringshuan=guihuan_1.getText();
Stringriqi=shijian_1.getText();
if(sjie=="")
{
sjie="0";
}
if(shuan=="0")
{
shuan="0";
}
intjie=Integer.valueOf(sjie).intValue();
inthuan=Integer.valueOf(shuan).intValue();
Connectionconn=GetConnection.getConnection();
try{
Statementstatement=(Statement)conn.createStatement();
booleanrs=statement.execute("insertintoxiaoming(shouru,zhichu,zujie,guihuan,riqi)values(0,0,"+jie+","+huan+","+riqi+");");
}catch(SQLExceptione1){