个人理财系统课程设计doc.docx
《个人理财系统课程设计doc.docx》由会员分享,可在线阅读,更多相关《个人理财系统课程设计doc.docx(41页珍藏版)》请在冰豆网上搜索。
个人理财系统课程设计doc
广东职业技术学院
课程设计说明书
课程题目:
个人理财系统课程设计
系别:
信息工程系
班级:
企业信息管理12
姓名:
袁利梅刘玉婷吴晓栋吴晓龙伍尚杰霍健文
起止日期:
2014.11.23~2015.1.4
指导教师:
杨伟明
一、概述
1、产品描述
本产品是针对在对个人资产、负债等数据进行分析整理的基础上,根据个人对风险的偏好和承受能力,结合预定目标运用诸如储蓄、转账等多种手段管理资产和负债,合理安排资金,从而在各个人风险可以接受范围内实现资产增值的最大化的过程。
2、产品功能
1)用户管理
在这一功能模块中,主要针对的是用户管理。
需要实现新用户的创建,用户的登陆以及删除功能。
用户只有在登陆后才能进行其他的操作。
2)账户管理
在这一功能模块中,主要是针对用户的多银行账户情况,其中可以添加、删除(注销)账户,可以实现账户间的转账,同时也可以分别查询每个账户的不同收支情况和转账情况。
3)收支管理
在这一功能模块中,主要功能有添加、修改、删除、查询记录。
6)借贷管理
在这一功能模块中,主要是针对用户的借入、借出业务,同样可以实现添加(借贷)、删除(还贷)、修改和查询贷款等功能。
7)预算管理
在这一功能模块中,主要是用于用户的每年和每月的一个收支预算,可以实现添加预算、删除预算、修改(更新)预算和根据预算得到收支分析对比功能,得到一个评估结果,通过对比显示给用户,并给出用户一些相应的建议。
8)科目管理
在这一功能模块中,主要是设置收入与支出的科目类别,可以对他们进行添加,修改,删除,查询。
二、需求分析
本系统实现了个人理财的记账管理,收支对比,预算管理等。
总体分为登录注册,账单管理,科目管理、账户管理,用户管理,预算管理,借贷管理,备忘提醒,退出系统等9个模块,如图所示。
1、业务需求
本产品面向的用户是普通个人用户,我们追求的软件应该是简单和使用。
本设计主要实现的是个人财务的管理,这里的主要功能有:
对收入支出的详细记录,制定计划表来实现监控自己的消费情况,查看当前消费情况,记录借贷状况,对借贷中应当归还的日期可在可设置的一定时间范围内对用户进行提醒和以形象化的方式展示和并分析消费历史。
2、用户需求
该系统主要包括一类用户,即为对财务管理有需求的系统使用者。
描述:
1)记录每次的收入
2)记录每次资金支出
3)记录借贷情况
4)设定周期的计划表
5)可选择借贷归还日期
6)产看资金流动历史
7)产看当前可支配余额
3、功能需求
该系统的功能需求应该分为以下几种:
1、登录注册2、账单管理3、科目管理4、预算管理5、借贷管理6、账户管理7、用户管理8、备忘提醒9、退出系统
1)登录注册
登录为用户使用个人理财系统的起始点,用户必须先有自己的账号,然后通过身份验证,方可对个人理财基本信息进行相关的操作,登录流程图如图所示:
功能主要是用于确保用户在提供正确的验证信息之后,才可以进一步的使用本系统。
2)账单管理
A.查看历史
基本功能,便于用户查看资金流动历史。
本系统支持通过输入时间段来查看资金流动历史,界面中会有时间栏,类型,账户类型,备注等组合查询出相关信息。
点击某一天记录可对该记录进行详细查看。
B.记账
新建收入/支出记录。
C.修改记录
已经记账的,如果输入有错误,用户也可以自行修改。
D.年度记账
显示当前年度的记账记录,也可根据年份查询往年的记账,这里不对其他进行任何操作,只是用来查看。
E.收支对比
收入与支出进行对比。
a.按年对比
今年的收入与今年的支出对比,得出一个结果。
b.按月对比
这个月的收入与这个月的支出对比,得出一个结果。
账单管理流程图如下:
3)科目管理
A.收入分类
该功能便于用户的输入,也便于管理、制图。
这里的收入分类指的是本次收入的来源/去向,系统默认的收入类别有工资、奖金等是可以根据用户需求自定义,用户可以自己添加或删除类别。
当你需要添加新的一条收入记录时,你需要先选择分类再输入具体数目及其他内容。
B.支出分类
支出类别有娱乐、餐饮等这些类别,其他可自行添加。
4)预算管理
收入与收入预算进行对比,支出与支出预算对比。
A.收入预算
a.按年
1.新建预算记录,根据科目类别进行添加,一年一个科目类别只能设置一条预算,不可重复,信息有误可对它进行修改,删除。
2.如果本年度有收入记账,会对收入进行结算和评估。
b.按月
1.新建预算记录,根据科目类别进行添加,一月一个科目类别只能设置一条预算,不可重复,信息有误可对它进行修改,删除。
2.如果本月有收入记账,会对收入进行结算和评估。
B.支出预算
a.按年
1.新建预算记录,根据科目类别进行添加,一年一个科目类别只能设置一条预算,不可重复,信息有误可对它进行修改,删除。
2.如果本年度有支出记账,会对支出进行结算和评估。
b.按月
1.新建预算记录,根据科目类别进行添加,一月一个科目类别只能设置一条预算,不可重复,信息有误可对它进行修改,删除。
2.如果本月有支出记账,会对支出进行结算和评估。
5)借贷管理
借贷管理中,在乎资金的流动方向,关心收入了钱还是支出了钱,
A.借入管理
该功能用于记录借入信息。
a.新建借入记录信息,包括时间,金额,归还时间,已还金额,对象,以及备注信息,备注信息可以有对方手机号码,家庭住址。
b.修改借入记录信息,包括时间,金额,归还时间,已还金额,对象,以及备注信息,备注信息可以有对方手机号码,家庭住址。
c.删除记录
d.导出Excel
B.借出管理
该功能用于记录借出信息。
a.新建借出记录信息,包括时间,金额,归还时间,已还金额,对象,以及备注信息,备注信息可以有对方手机号码,家庭住址。
b.修改借出记录信息,包括时间,金额,归还时间,已还金额,对象,以及备注信息,备注信息可以有对方手机号码,家庭住址。
c.删除记录
d.导出Excel
C.还款记录
用来记录谁什么还了多少钱,进了哪个账户;我什么时候还了别人多少钱,从哪个账户支出。
a.添加还款记录
b.修改还款记录
c.删除还款记录
d.导出excel
6)账户管理
系统有银行卡账户和现金账户,银行卡可进行添加账户。
A.添加账户
银行卡可进行添加账户
B.存取记录
用来记录存款记录和取现记录,比如什么时候从哪张卡取出了多少金额和存入哪张卡多少钱。
a.添加存取记录
b.修改存取记录
c.删除记录
d.导出EXCEL
7)用户管理
除了登陆系统前需要输入密码外,这里的账户管理包括对密码的修改当进入密码管理界面时,正确输入旧密码后,输入新密码,那么该密码修改为这个新密码。
8)备忘提醒
重要事情可添加备忘提醒,比如到了还款的时间,朋友生日到了,要送礼了,又要添加支出记录啦等等。
9)退出系统
退出则退出本系统,注销则跳转到登录界面。
三、概要设计
1、ER图
各实体属性:
1)用户
2)类别
3)账户
4)记账
5)借贷
6)预算
7、备忘记录
2、数据库表
关系模式转换:
1)登录模块:
用户(用户编号(PK)、用户名、密码、手机号码、登录次数、注册时间)
2)账户管理模块:
记账(记账编号(PK)、科目编号(FK),账户编号(FK)、发生金额,发生时间,备注)
3)科目管理模块
类别表(科目编号(PK)、类别、科目名称)
4)预算管理模块
预算记录表(预算编号(PK)、科目编号、预算金额、发生时间、备注)
5)借贷管理模块
借贷记录表(借贷编号(PK)、借贷类型、账户类型、发生金额、已还金额、未还金额、发生时间、归还时间、谁、归还情况、备注)
6)账户管理模块
账户类型(账户编号(PK)、账户类型、银行卡号、开户银行、开户时间、账户余额)
7)备忘管理模块
备忘记录(备忘编号(PK)、是否编号、提醒时间、提示音乐、备忘内容、添加时间)
四、详细设计
1、用户登录管理
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
密码
输入密码时显示”***”
忘记密码
⏹打开找回密码窗口,根据输入手机号码与数据库的相比,正确则告诉密码
tbAdminName
⏹输入“用户名”
“注册”按钮
⏹若你是新用户即第一次使用本系统,则要先注册才可登录
“登录”按钮
⏹判断该用户在数据库中是否存在,若不存在则提示“无该用户”,若存在继续以下步骤。
⏹查询输入的密码与数据库中该用户的密码是否匹配,匹配则进入主界面,否则提示错误信息
在登录界面按回车键相当于单击“登录”按钮
“取消”按钮
⏹退出此窗口
在登录界面按ESC键相当于单击“取消”按钮
用户注册
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
txtUser
⏹输入用户名
txtPassWord
⏹输入注册密码
txtPhone
⏹输入手机号码
Label“*”
⏹若txtUser或txtpassWord或txtPassWord为空是,在下面的“*”会出现提示信息
“确认”按钮
⏹所有信息填完以后,将用户名与数据库中的用户名比较,存在则提示,不存在继续。
⏹将数据插入到数据库中的用户表,新用户注册成功
找回密码
界面:
主界面
2、账单管理
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
添加
⏹弹出一个新建窗口,跳转到添加记账记录界面
修改/查看
⏹弹出修改窗口,跳转到修改记账记录界面
删除
⏹删除鼠标光标所在的datagridview的行的内容
⏹没有选中行进行提示
导出到EXCEL
⏹把Datagridview显示的内容导出到excel
编辑记账记录
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
科目类别
⏹读取科目类别名称
下拉列表框
科目名称
⏹根据科目类别名称读取科目名称
下拉列表框
账户类型
⏹读取账户类型
下拉列表框
银行卡号
⏹根据账户类型读取银行卡号
⏹如果是“现金”账户,银行卡不可用同时不可见
下拉列表框
发生金额
⏹记录记账金额
记账日期
⏹记录记账的时间
备忘
⏹记录记账的相关内容
保存
⏹如果当前状态是“添加”状态,按钮文本为“添加”,此窗体标题为“添加记账记录”
⏹如果当前状态是“修改”状态,按钮文本为“修改”,此窗体标题为“修改记账记录”
⏹“添加”状态下,根据跟控件内容将数据插入到数据库中记账表,同时更新账户表,预算表,收支对比表的数据
⏹“修改”状态下,根据跟控件内容将数据更新到数据库中记账表,同时更新账户表,预算表,收支对比表的数据
取消
⏹退出此窗口
文字信息
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
基本信息
⏹显示当前用户记录第一条记账记录的时间,以及到现在共使用了多长时间
⏹当前用户的收入信息有多少条,总计金额是多少
⏹当前用户的支出信息有多少条,总计金额是多少
分类统计
⏹收入分类有几个,总金额为多少
⏹支出分类有几个,总金额为多少
⏹收入分类中,金额最多的是哪个科目,总金额多少
⏹支出分类中,金额最多的是哪个科目,总金额多少
收支对比
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
按月对比
⏹Datatgridview显示每月的收入和支出金额以及两个类别比较的结果
按年对比
⏹Datatgridview显示每年的收入和支出金额以及两个类别比较的结果
收入报表
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
科目名称
⏹查询收入科目名称填充到列表框
下拉列表框
月份
⏹查询记账表的收入月份填充到列表框
下拉列表框
账户类型
⏹查询账户表的收入账户类型填充到列表框
下拉列表框
银行卡号
⏹当账户类型为银行卡号时,银行卡号可见并可用;当账户类型为现金时,银行卡号不可用并且不可见
⏹查询账户表的银行卡号填充到列表框
下拉列表框
查询
⏹根据前面的选择有条件地查询
ReportView
⏹显示报表里设计好的内容
⏹相应的表和图表,文本框内容
支出报表
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
科目名称
⏹查询支出科目名称填充到列表框
下拉列表框
月份
⏹查询记账表的支出月份填充到列表框
下拉列表框
账户类型
⏹查询账户表的支出账户类型填充到列表框
下拉列表框
银行卡号
⏹当账户类型为银行卡号时,银行卡号可见并可用;当账户类型为现金时,银行卡号不可用并且不可见
⏹查询账户表的银行卡号填充到列表框
下拉列表框
查询
⏹根据前面的选择有条件地查询
ReportView
⏹显示报表里设计好的内容
⏹相应的表和图表,文本框内容
3、科目管理
收入科目
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
新增
⏹弹出一个新建窗口“添加收入科目名称”
Datagridview
⏹显示类别表的内容
修改/查看
⏹弹出一个修改窗口“修改/查看科目类别”
删除
⏹删除鼠标光标所选的datagridview所在行的科目
⏹当没有选择删除时提示未选中行信息
导出到EXCEL
⏹把Datagridview显示的内容导出到excel
支出科目
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
新建
⏹弹出一个新建窗口“添加支出科目名称”
Datagridview
⏹显示类别表的内容
修改/查看
⏹弹出一个修改窗口“修改/查看科目类别”
删除
⏹删除鼠标光标所选的datagridview所在行的科目
⏹当没有选择删除时提示未选中行信息
导出到EXCEL
⏹把Datagridview显示的内容导出到excel
编辑收入科目
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
科目名称
⏹输入你要添加的收入科目名称
保存
⏹若文本框为空,提示未填写内容
⏹将填写的收入科目名称与数据库中的科目比较,存在则提示“该科目已经存在”,不存在则将该科目插入到数据库的科目表中
“取消”按钮
⏹退出此窗口
编辑支出科目
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
科目名称
⏹输入你要添加的支出科目名称
保存
⏹若文本框为空,提示未填写内容
⏹将填写的支出科目名称与数据库中的科目比较,存在则提示“该科目已经存在”,不存在则将该科目插入到数据库的科目表中
“取消”按钮
⏹退出此窗口
4、预算管理模块
收入预算
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
新增
⏹跳到新增收入预算的窗体
修改/查看
⏹跳到修改收入预算的窗体
⏹各字段显示在相应的控件上
删除
⏹删除鼠标光标所选的datagridview所在行的收入预算科目
⏹当没有选择删除时提示未选中行信息
导出EXCEL
⏹
编辑收入预算
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
科目名称
⏹将收入类别的科目填充到此控件
下拉列表框
预算金额
⏹输入预算金额
预算类型
⏹按年预算
⏹按月预算
下拉列表框
备注
⏹该预算下的备忘内容
保存
⏹如果当前状态是“添加”状态,按钮文本为“添加”,此窗体标题为“添加收入预算”
⏹如果当前状态是“修改”状态,按钮文本为“修改”,此窗体标题为“修改收入预算”
⏹“添加”状态下,根据各控件内容将数据与数据库中的数据对比,已经存在记录则提示‘该科目已经预算过了’,插入到数据库中预算表
⏹“修改”状态下,根据各控件内容将数据更新到数据库中预算表
关闭
⏹退出此窗口
支出预算
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
新增
⏹跳到新增支出预算的窗体
修改/查看
⏹跳到修改支出预算的窗体
⏹各字段显示在相应的控件上
删除
⏹删除鼠标光标所选的datagridview所在行的支出预算科目
⏹当没有选择删除时提示未选中行信息
导出EXCEL
⏹
编辑支出预算
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
科目名称
⏹将支出类别的科目填充到此控件
下拉列表框
预算金额
⏹输入预算金额
预算类型
⏹按年预算
⏹按月预算
下拉列表框
备注
⏹该预算下的备忘内容
保存
⏹如果当前状态是“添加”状态,按钮文本为“添加”,此窗体标题为“添加支出预算”
⏹如果当前状态是“修改”状态,按钮文本为“修改”,此窗体标题为“修改支出预算”
⏹“添加”状态下,根据各控件内容将数据与数据库中的数据对比,已经存在记录则提示‘该科目已经预算过了’,插入到数据库中预算表
⏹“修改”状态下,根据各控件内容将数据更新到数据库中预算表
关闭
⏹退出此窗口
5、借贷管理模块
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
Datagridview
⏹显示借贷表的内容
添加
⏹跳到添加借贷记录界面
修改/查看
⏹弹出一个修改窗口“修改/查看借贷记录”
⏹显示字段内容到相应的控件上
删除
⏹删除鼠标光标所选的datagridview所在行的借贷记录,先判断当前借贷记录是否已经发生还款,若发生还款,则不能删除记录,否则继续。
⏹当没有选择删除时提示未选中行信息
编辑借贷记录
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
借贷类型
⏹将借贷类型填充到此控件
下拉列表框
账户类型
⏹将账户类型填充到此控件
银行卡号
⏹如果当前账户状态为“现金”,不可用且不可见
⏹如果当前账户状态为“银行卡”,可用且可见
⏹将银行卡号填充到此控件
下拉列表框
借款金额
⏹借了多少
已还金额
⏹还了多少
未还金额
⏹未还多少
对方
⏹借款对象
归还时间
⏹什么时间还钱还清
归还情况
⏹当前归还状态
备忘
⏹备忘内容
“button1”按钮
⏹如果当前状态是“添加”状态,按钮文本为“添加”,此窗体标题为“添加借贷记录”
⏹如果当前状态是“修改”状态,按钮文本为“修改”,此窗体标题为“修改借贷记录”
⏹“添加”状态下,根据各控件内容将数据插入到数据库借贷记录表,同时更新账户表
⏹“修改”状态下,根据各控件内容将数据更新到数据库中借贷记录表,同时更新账户表
“取消”按钮
⏹退出此窗口
6、还款管理模块
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
“添加”按钮
⏹跳转到添加还款记录界面
编辑还款记录
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
还款类型
⏹还入,还出
借贷编号
⏹输入借贷编号
⏹由借贷界面传过来,则直接填充到此控件
账户类型
⏹填充账户类型到此
银行卡号
⏹如果当前账户状态为“现金”,不可用且不可见
⏹如果当前账户状态为“银行卡”,可用且可见
⏹将银行卡号填充到此控件
谁
⏹输入对象
金额
⏹还款金额
备注
⏹备注内容
“确定”按钮
⏹将控件输入的内容插入到数据库中的还款表,同时修改账户表,借贷表的相关数据
“取消”按钮
⏹退出此窗口
7、账户管理模块
账户
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
“添加”按钮
⏹跳到添加窗口
“修改/”查看”按钮
⏹跳到修改/查看窗口
存取记录
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
Datagridview
⏹显示存款与取款的信息
8、用户管理模块
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
密码管理
⏹跳到密码管理页面
修改手机号码
⏹跳到修改手机号码界面
修改密码
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
旧密码
⏹输入原密码
新密码
⏹输入新密码
确认密码
⏹再次输入新密码
⏹
验证两次输入的密码是否一致
“确定”按钮
⏹首先查询旧密码是否与数据库的密码一致,错误提示错误信息,否则继续以下步骤。
⏹根据用户名将新密码插入到数据库中
“取消”按钮
⏹退出此窗口
修改手机号码
界面:
软件设计规格要求:
界面对象
单击事件
其它说明
新号码
⏹输入新的手机号码
下拉列表框
“确定”按钮
⏹根据用户名更新数据库中的手机号码
“取消”按钮
⏹关闭当前窗口
五、程序设计总结
1、总结:
总的来说完成了老师的要求,当然也挺满意我们的成果,我们的个人理财系统,主要功能模块都已经完成,在这次的作业中,我们对数据库和C#语言等窗体控件进行了再次的学习和加强,已经掌握得更好了,同时各组员非常团结,我们的项目才能完成的更好,真的很感谢这个团队的付出和努力。
但是,我们的作品还有些待改善的地方,比如没有密码加密。
2、所遇到的技术难点及解决办法
1、数据库不过关:
E-R图不熟悉;数据表有点乱。
2、存储过程不会写:
自动流水线号不会生成。
解决办法:
杨伟明老师的提点和找网上资料。
3、致谢
在这一个多月的作业里,真的非常感谢我们的指导老师,杨伟明老师对我们的作品的指正和给予的意见。
同时也谢谢班上同学在我们编程有困难的时候及时给予的帮助。
这同时也说明一个问题,当我们遇到难题的时候要及时的向老师和同学求助。
今后,我们将会更加努力的。