胡廷聪软件工程课设大学生理财助手Word文档下载推荐.docx
- 文档编号:22498758
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:27
- 大小:371.39KB
胡廷聪软件工程课设大学生理财助手Word文档下载推荐.docx
《胡廷聪软件工程课设大学生理财助手Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《胡廷聪软件工程课设大学生理财助手Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
b.Microsoft鼠标或其它兼容鼠标;
c.最少15MB的硬盘空间,常规安装需要100MB硬盘空间,完全安装需要
240MB硬盘空间(包括数据文件空间)。
d.最少512MB的RAM存储器。
e.VGA显示器或更高。
f.Windows95中文版或WindowsNT中文版或更高。
g.SQLserver数据库2005版本以上。
h.Microsoftvisualstudio2008版本以上。
2.可行性研究
2.1编写目的
目前,绝大部分的大学生缺乏理财意识,无法有效的管理自己的手中的金钱,致使生活消费经常超出预计的消费金额。
因此,我们小组设计一款大学生钱财管理工具---大学生理财助手来帮助消费意识的大学生来管理自己的金钱,以达到理性消费。
这款产品可以帮大学生管理自己的金钱,培养学生的理财观,在学生消费的同时对消费行为进行监督,如果学生的某次消费国语铺张,系统将会进行温馨提示,时时刻刻监督学生的消费行为,促使形成理性消费。
2.2可行性研究的前提
2.2.1要求
A.软件功能:
a)实时监控学生所拥有的金钱,并记录每笔消费情况;
b)设定每月的最高消费额,一旦消费额达到一定风险,立即对用户做出相应的反馈;
c)在每月初对上个月做出消费统计,将各类消费进行对比;
d)能随时查询到各笔历史消费记录;
B.性能:
占用较少的系统内存,对计算机的内存,显卡性能一般,对网速没有要求
C.本系统没有其他外接系统,可独立运行于任何一款windows系统
D.完成期限:
2016-3-9
2.2.2目标
系统可自动为用户计算出每月的可调用最高金额,可自动调整最高使用金额,提高金钱利用率。
可提供不同的方式查询历史消费记录,通过图表来显示历史消费趋向,以及消费额度。
通过对比历史消费记录来提醒未来消费行为是否需要改善。
当系统检测到用户消费观有所改善的时候,系统将对用户进行友情提示,当用户消费有点铺张时,系统将对用户提出警告!
2.2.3条件、假定和限制
本次项目工程为完全自费,所用工具小组成员自配。
系统最晚投入使用时间为2016年3月10号。
2.3对现有系统进行分析
2.3.1工作负荷
现阶段很多系统都是使用TXT文本来保存用户资料,能保存的记录量不高,而且安全性较差,且只能简单的记录查询信息,不能对信息进行预处理,加工
2.3.2费用开支
现阶段该类型产品都是需要付费才能完整使用
2.3.3人员
该类型软件容错率很高,基本不需要专门人员来进行维护
2.3.4设备
本系统只需windowsXP以上版本即可完美运行,不依赖其他设备
2.3.5局限性
现有的系统绝大多数需要接入宽带才能运行,而且很多开发商为了谋取暴利,只为用户开放了部分基本功能,其他较为高级的功能需要注册付费才能使用。
而且绝大部分产品需要接入网络才能使用,一旦脱离网络则无法正常运行。
2.4所建议的系统
2.4.1改进之处
本系统采用SQLserver数据对用户数据进行本地保存,数据保存安全性高,存档容量大,不依赖网络,可随时查看用户的信息。
本系统可对用户消费记录进行预处理,对信息进行加工,通过分析用户的历史消费情况来做出相应的决策,反馈并提示给用户历史消费是否达到理想效果。
在系统在历史消费记录分析出用户有高消费倾向的时候,系统将对用户做出警告提醒,并提示是否修改每月最高消费额来保障用户的资金能够正常的维持未来的消费。
2.4.2影响
本系统可以培养大学生的理性消费观,使得学生可以合理的支配自己的可用财产,不会出现月初大鱼大肉,月底忍饥挨饿的窘境。
2.4.3局限性
本系统不能直接有效的管理金钱,只能间接的通过账本记录反映给用户,并做出相应的提示来克制用户的非理性消费,同比市场上各种理财工具而言,理财能力较为差一点。
无法达到强制帮助用户理财的效果。
由于设计时间较短,本系统的UI界面设计不是十分完美,相比较其他理财工具而言,界面设计较为粗简。
2.5经济可行性分析
本次项目实施为完全自费,所有所需设备将由校方提供,所以经济方面可行。
2.6社会可行性分析
本次项目将开发的程序为公益产品,目的为提高大学生的理性消费观,帮助大学生理财,所以本项目成果不会引发任何社会以及法律纠纷。
2.7技术可行性分析
本次项目的开发规模及小,对专业性要求不是特别高,一般的程序员便可以胜任,所以技术方面我们小组可以胜任。
2.8操作可行性分析
本程序和其他现有程序功能大致相仿,但功能开放较多,操作极其简单,绝大多数用户可以轻松上手,不会出现使用方面的问题。
2.9结论
通过以上对现有程序和建议的系统的对比分析,以及对于社会、经济、操作、技术各方面的可行性研究,最终决定,该项目可以正常进入实施阶段。
3.需求分析
3.1需求规定
3.1.1对功能的规定
系统分为查询模块,个人信息管理模块和账户金额管理三大模块,查询模块用户可以查看任意时间段的历史账单,可查看详细的消费记录;
个人信息管理模块,使用者可以通过注册用户,并修改个人的信息,登陆密码等。
还可以修改用户的登陆密码和密码保护;
账户金额管理模块用户记录下每一笔流动资金的去向来源,并提示用户做出一定的理财操作,包括购买股票基金等等。
根据以上分析,一个完整的系统应该包括一下几个功能,如图3.1所示
图3.1系统功能模块图
功能实现为:
“账单管理系统”可以在账单数据库里面随时添加账单,随时读取账单信息并且反馈给用户。
根据用户的不同查询指令,可按照日期,消费类型查询所有相关类型的账单。
可以对年度或者月度历史账单进行分析,指出各类消费所占总消费的百分比,并以图表的形式展现给用户。
“个人信息管理系统”可以随时读取账户可用余额,自动计算每月可用余额并与系统设定的月度最高可用余额相对比,如果差异较大,则立即对用户做出警告并提示用户修改月度最高可用余额。
用户还可以修改自己的个人信息,包括修改登录密码等等。
“理财产品系统”,用户购买一定量的理财产品来达到资金扩充的目的。
3.1.2对数据处理的规定
系统涉及的数据源有用户个人信息数据,账户金额数据和各项设定标准,系统0层数据流图如图3.1所示。
图3.1系统0层数据流图
账单管理模块数据1层数据流图,如下如图3.1所示:
图3.2账单管理数据流图
3.1.3数据字典
(1)数据项:
账单编号
含义说明:
唯一地标识每条消费记录
别名:
无
类型:
字符型
长度:
50
取值范围:
1~999
取值含义:
表示账单的代号
(2)数据流:
账单信息
说明:
某次消费的具体信息,包括消费时间,消费类型以及消费金额
数据流来源:
用户
数据流去向:
账单文件
组成:
账单编号、学号、消费类型、消费金额、备注
平均流量:
不限
高峰期流量:
(3)过程名:
添加账单
输入数据流:
账单信息
输出数据流:
添加结果
处理过程简要说明:
将用户的消费记录添加到数据库中。
(4)过程名:
查看历史账单
将用户的消费记录从数据库中读取并反馈给用户。
(5)数据结构:
是本系统的使用者
学号、姓名、性别、登录密码、联系方式、金额、最高消费额、密保问题
(6)数据存储:
账单文件
记录账单的基本信息
流入数据流:
流出数据流:
数据量:
存取方式:
随机存取
(7)数据项:
学号
唯一地标识每个用户
学生编号
11
1~255
入学年份+学历+学院+班级
(8)数据项:
姓名
用户的名称
无
表示学生的代称
(9)数据项:
登录密码
用户进入系统的通行证
用户自行定义
(10)数据项:
密保问题
用户的密码问题
密保
文本类型
密码保护问题的答案
(11)数据项:
消费类型
用户消费的类型
10
用户自选消费类型
(12)数据项:
消费金额
用户消费的金额
money
用户字填
3.1.4对性能的规定
A.精度
B.时间精度要求
C.灵活性
3.1.5输入输出要求
要求正确输入
3.1.6故障处理要求
软件故障:
处理软件异常不能丢失数据
硬件故障:
可更换硬件,不可丢失数据或恶意篡改数据,
3.1.7其他专门要求
本系统必须在带有SQLserver2008数据库的系统中使用。
3.2运行环境规定
3.2.1设备
3.2.2支持软件
a.SQLserver数据库2005版本以上。
b.Microsoftvisualstudio2008版本以上。
3.2.3控制
通过电脑键盘输入数据信号,来达到数据的录入、修改等操作,系统将处理的数据输出在显示器上。
3.2.4接口
软件接口:
硬件接口:
4.数据库设计
4.1数据库概念设计
系统主要实体有用户和账单,理财产品三个,它们通过“消费”活动建立联系,分析定义各实体的属性,建立实体联系模型的E-R图如下图:
图4.1总体E-R图
账单管理模块,用户通过账单的编号来确定账单,用户可以添加账单,也可以根据账单的编号或者是某个消费行为的时间来索引一条账单或多条账单,下面图4.2是账单管理模块的E-R图:
图4.2账单管理
4.2数据库逻辑设计
将数据库的概念模式图转化为如下俩个基本关系模式:
用户(学号,姓名,性别,密码,密保问题,联系方式,余额,限定额)
账单(编号,时间,消费金额,类型,备注)
4.3数据库物理设计
下面给出SQLServer下的系统数据库物理设计的关系模型设计、完整性约束设计和索引选择:
(1).Login用户表:
存储用户的基本资料
字段名称
字段说明
类型定义
属性限定
关系(外键)
StuNo
Varchar(50)
PrimaryKey
Name
Varchar(50)
NotNull
Password
varChar(50)
Answer1
密保答案
Text
Notnull
Sex
性别
varcharChar(10)
"
男"
或"
女"
Money
可用余额
Max
最高消费额
Default”1000”
Iphone
联系方式
(2).Bill账单表:
存储账单信息
No
Login:
Money
Type
类型
Char(10)
Time
消费时间
date
Remark
备注
数据库的关系图如下图4.3:
图
4.3数据库部分关系图
4.4数据库维护设计
(1)制定数据库备份计划,在数据库崩溃的时候,能第一时间将数据库恢复到正常状态,确保本程序的正常运行;
(2)数据库仅设置一个登陆账户,确保数据资料的安全性。
5.详细设计
5.1模块设计
5.1.1账单管理模块:
该模块大致分为两个方面,分别是新建账单和查询历史账单。
下图5.1-a为新建账单界面,系统使用label控件来自动生成账单号,label的初始值设定为001,该账单号仅代表账单的序号,无其他含义。
分别使用两个textBox控件来获取用户键入的金额和备注信息,其中备注为mulLine,可编辑多行。
使用comboBox控件来录入消费类型信息,该控件DropDownStyle属性设置为DropDownList,不可修改其中内容,只能选择。
图5.1-a新建账单
账单查询可根据消费的日期或者是消费的类型两个方式来查询所有账单,下图5.1-b为按消费日期查询账单,该form中使用monthcalendar控件来获取用户需要查询的时间,使用DateGripView控件来显示对应的账单信息。
图5.1-b按消费时间查询
下图5.1-c为按消费类型查询,该form中使用combobox控件来供用户选择输入消费类型,该控件DropDownStyle属性设置为DropDownList,不可修改其中内容,只能选择。
使用DateGripView控件来显示对应的账单信息。
图5.1-c按消费类型查询
5.1.2余额管理模块
本模块能查询用户可用余额以及新增用户的可用余额。
下图5.12-a为系统为余额管理模块,本form使用form来传达信息,通过button控件来进行各项操作。
系统为根据计算每月可用最高消费额对比用户的预设值来设定建议消费额,当建议消费额大于设定消费额时,建议消费额字体为绿色,此时该控件为隐藏状态,否则为红色bottom控件为可见。
用户可通过button1(即前往修改预设值)来修改每月最高消费额,也可通过button1(修改)来修改可用余额。
图5.12-a余额管理模块
图5.12-b为修改余额,通过textBox获取金额,通过新怎或者修改来重新设定用户的可用金额。
图5.12-b修改余额
图5.12-c为修改预设值,通过textBox获取需要修改的预设值
图5.12-c修改预设值
5.1.3消费统计
该模块可以根据月度或者年度来分析用户的最近消费情况,用折线统计图来表现用户的年度消费情况,用条形统计图来分析用户指定月份的各类消费情况,本form用panel控件来画统计图,用monthcalender控件来获取统计的时间。
界面设计如下图5.1.3
图5.1.3消费统计
5.2算法
(1)自动计算可用余额函数privatevoidAnlalyze(),本函数运用在新建账本窗体,当用户新建完账单后,系统便调用此函数来重新计算用户的可用余额
(2)账单号自动生成函数,每当新建账单时,系统自动统计数据库里面的账单数目并生成新的账单号。
(3)画条形统计图函数privatevoidDrowPict(),该函数可对指定月份的消费情况进行统计,计算出该月有多少种消费类型,并用Date_Type[]数组来存储所有的消费类型,用Date_Money[]数组来存储消费金额,消费类型与消费金额一一对应。
用count局部变量来存储该月份的消费类型总数,用sum变量存储当前月的总消费额。
(4)画折现统计图函数privatevoidDrowPic(),该函数可从数据库中调取指定年份每月的消费总额。
(5)判断函数privateintJudge(),运用在新建账单窗体,用来判断用户新建账单的时候是否缺少关键字。
(6)构造函数窗口传值,传递用户的学号StuNo
例如:
form修改余额值中的代码为
privatestringStuNo;
public修改余额值(stringStu)
{
InitializeComponent();
this.StuNo=Stu;
}
Form余额中的代码为:
this.Hide();
修改余额值fm=new修改余额值(StuNo);
fm.ShowDialog();
6.测试
本次测试采用黑盒法测试
(1)余额测试:
输入:
多次打开余额查询
实际输出:
程序报错
理论输出:
输出账户余额等信息
错误原因:
关闭余额窗口的时候没有将用户的StuNo学号信息传回主页窗体。
图6.1设定消费额正常
(2)修改预设消费额:
输入修改值为:
1000
修改成功
图6.2设定消费额超标
(3)修改可用余额:
输入值:
5000
图6.3-a修改成功
空
系统提示输入关键字
图6.3-b没有输入关键字
(4)新建账单:
用户1310400114,吃火锅消费100元
添加成功
图6.4-a新建账单成功
用户1310400114,消费金额为空,
系统提示没有输入消费金额
图6.4-b新建失败
(5)按日期查询账单:
查询日期2016-3-8号
返回账单信息
图6.5-a查询成功
查询日期2016-3-9
账单信息为空
图6.5-b未找到相应的账单
(6)按消费类型查询:
饮食
返回所有饮食类消费账单信息
图6.6查询成功
(7)按月度统计消费情况:
时间2016-3
返回2016年3月份消费情况的统计图
图6.7月度统计
(8)按年度统计消费情况:
2016年
返回2016年消费情况的统计图
图6.8按年度统计消费情况
7.操作说明
由于本系统设计较为简单,操作较为便捷,用户通过登录界面登录本系统后,用户在主页进行功能选择,进行相应的操作,在账单管理栏里面可以新建账单,和进行理财操作;
在查询账单里面可以根据需要按消费时间,消费类型来查询账单,该功能栏里面还能查询用户可用余额和对历史消费情况进行的统计,系统设置里面可以修改用户的预设值和用户的登录密码。
8.结论
通过近两个星期的课程设计,我对实际意义上的编程有了新的理解。
开发一个应用程序,最重要的不是编程功底如何如何的强硬,对文档的撰写功底也有相当高的要求。
从项目开发计划,可行性调研到需求分析以及数据库和软件的详细设计,都需要缜密的心思。
虽然我学习编程已经有两年多了,但是感觉自己的编程功底过于薄弱,虽不说掌握的编程语言种类单一,就连仅仅已掌握的C#编程语言功底也十分的浅显。
所以,我以后要加强编写程序能力的锻炼,同时还要注重文档编写的能力,如果一份完整的文档都编写不出来,我觉得想开发出一个完整的程序基本上是不可能的。
9.参考文献
[1].C#开发实战1200例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 胡廷聪 软件工程 大学生 理财 助手