基于net的个人理财系统本科毕业设计论文.docx
- 文档编号:24695708
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:42
- 大小:375.53KB
基于net的个人理财系统本科毕业设计论文.docx
《基于net的个人理财系统本科毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于net的个人理财系统本科毕业设计论文.docx(42页珍藏版)》请在冰豆网上搜索。
基于net的个人理财系统本科毕业设计论文
泰山学院
本科毕业论文
基于.NET的个人理财系统
所在学院信息科学技术学院
专业名称计算机科学与技术
申请学士学位所属学科工学
年级
学生姓名、学号
指导教师姓名、职称
完成日期
摘要
当今世界,人们处在信息爆炸的时代,通过计算机处理工作以及生活上的事情已经成为人们生活之中不可或缺的一部分。
方便、快捷、清晰的处理自己的事情成为人们对计算机应用服务的基本要求。
在高节奏的工作及生活之下,人们对自身财务的管理及分配便有着更高的期望和需求,因此在当今社会人们工作生活中普遍使用微软的操作系统的情况下,在.NET平台上开发一款财务管理系统显得恰逢其时。
该系统可以提供最简单的财务登记方式,最直观的财务走向以及最方便的财务分配手段。
本系统的实现用到了计算机程序领域的相关技术,其中包括C#语言、SQLServer数据库、XML数据集,使用到了VisualStudio2010、SQLServerManagementStudio等工具。
关键词:
C#;XML;SQLserver数据库;VisualStudio;SQLServerManagementStudio
ABSTRACT
Intoday'sworld, people areintheeraofinformationexplosion, processing bycomputer andthingsinlife hasbecome anindispensablepartofpeople's lives. Conv. Convenient, fastown things becomethebasic requirementforcomputerapplication service. Underthe highpaceof lifeandwork, managementanddistribution of theirfinancial people havehigherexpectations anddemands, sothe commonlyused operatingsystem Microsoft intoday'ssociety inpeople'slife situation, thedevelopmentofa financialmanagement system was therighttime onthe.NETplatform. Thesystemcan provide toregistration, themostintuitive and mostconvenient meansof financial allocation. Thissystem makeuseofthe computerprogram inthefieldof relatedtechnology, includingC#,SQL, XML language Serverdatabase dataset, usetheVisual Studio2010, SQL ServerManagement Studioandothertools.
Keywords:
C#;XML;SQLserverdatabase;VisualStudio;SQLServerManagementStudio
1引言
当今人们所处时代是一个科技、经济、人文高速发展以及信息量几何级数的增长与传递的时代,计算机的应用在短短的十几年间便已覆盖到全社会的方方面面。
随着人们对生活越来越快捷、越来越方便的极致追求,人们越来越习惯于使用计算机来帮助人们达到工作、生活以及精神上的需求。
人们善于利用计算机作为人际交流的平台,也善于利用计算机作为处理工作及生活上的琐事,使自身的生活更加方便和优质。
计算机作为信息处理终端,最大的优点便在于它对数据处理的高效及精确。
该系统为人们提供方便的财务管理办法,提供了最直观的财务走向及趋势。
该系统能够快捷的登记人们的平时的花销与收入,能够直观的查看财务走向与收支情况。
该平台拥有账户系统,可以区分财务登记人,可以申请账户,注销账户等功能;同时拥有管理员权限的人可以对账户进行管理,可以对后台数据库进行相关的维护和升级。
2系统分析
2.1需求分析
在系统开发之前,用户的需求是系统开发的主要目标。
通过用户的调查结果显示,我们要求的财务管理系统必须要求以下的基本功能:
(1)支持财务登记、删除、查询;
(2)支持财务的收入分类及开销分类;
(3)支持财务数据的日期性存储;
(4)支持数据按时间要求做出的收支计算。
另外,为增强用户对系统的体验及对系统的功能性要求,需要对本系统的发展功能为:
(1)支持将数据以折线图的形式显示出来;
(2)支持数据按照日期进行查询;
(3)支持财务数据按照分类进行查询显示;
(4)添加账号系统,方便不同人使用;
(5)添加日记系统,方便于做日常性总结;
2.2可行性分析
财务管理系统对使用者的财务进行登记、处理、存储、查询,应用端以应用程序的方式进行前台的登记、管理和查询,方便用户的使用;服务端存储处理完毕后的分类数据;中间端采用XML数据集的方式存储处理中的数据,以加快程序的运行速度同时减少终端与服务器端过多的容错处理。
3总体设计
3.1项目规划
财务管理系统是一个功能全面并且方便快捷的应用程序,由前台应用程序、中间数据集及后台数据库胆大部分组成。
(1)前台应用程序
前台应用程序主要包括财务登记、财务删除、财务更新、收支查询、时间段查询、分类项目查询、折线图等功能及模块。
(2)中间数据集
中间数据集主要功能是实现数据的快速插入、删除、修改的存储中继。
(3)后台数据库
后台数据库主要对前台处理的数据进行远程端的存储与备份,拥有简单的数据管理功能。
3.2系统窗体功能结构图
财务管理系统前台窗体功能结构,如图1所示。
图3-1财务管理系统前台窗体功能结构图
3.3设计目标
本系统是针对用户自身的财务进行有效的、直观的管理为原则进行设计开发的,其需要达到的目标如下:
(1)通过登记的财务信息,能够直观的查看收入支出。
(2)可以管理财务数据。
(3)能够直观的查看消费及收支费用的走势。
(4)提供财务情况的记录功能。
(5)能够按照时间段进行精确查询。
3.4开发工具及运行环境
开发工具:
C#编译器:
MicrosoftVisualStudio2010
XML文档编写器:
SublimeText_2.0.2.2221_XiaZaiBa
数据库管理工具:
SQLServerManagementStudio
运行环境:
CPU:
P41.8GHz;
内存:
256MB以上。
操作系统:
WindowsXP/7操作系统;
数据库:
SQLServer2008;
4财务管理系统总体架构
4.1系统各功能窗体的运行结果
4.1.1财务管理系统导航窗体。
图4-1财务管理系统导航窗体运行结果(ZhuTi.cs)
导航说明如下:
表4-1财务管理系统导航窗体说明
区域
名称
说明
对应文件
1
主功能窗体
财务管理系统的主要功能窗体
MoneyMake.cs
2
日记功能窗体
添加的其他功能窗体,主要应对用户对一些平常事情的记事
formNoteBook.cs
4.1.2财务管理系统主功能窗体-财务收支页面。
图4-2财务管理系统主功能窗体-财务收支页面(MoneyMake.cs)
财务管理系统主功能窗体-财务收支页面功能如表2所示。
表4-2财务管理系统主功能窗体-财务收支页面功能展示
区域
名称
说明
对应文件
1
财务详细条目
展示已登记财务的大体预览
information.xml
2
财务入账模块
是财务收入或支出的登记模块
3
财务收支状况的时间段查询
主要对指定时间段内进行财务总收入的大体查询
4
财务查询结果
显示查询后总体的结果
5
财务记事及账目删除模块
1、显示指定登记条目的财务记事;
2、对指定登记条目执行删除命令
4.1.3财务管理系统主功能窗体-财务走势页面。
图4-3财务管理系统主功能窗体-财务走势页面(MoneyMake.cs)
财务管理系统主功能窗体-财务走势页面功能如表2所示。
表4-3财务管理系统主功能窗体-财务收支页面功能展示
区域
名称
说明
对应文件
1
折线图区域
展示财务收支总走势
information.xml
2
设定时间单位
为需要展示的财务设定展示单位
3
实时数据
显示鼠标所处位置的金钱数据
4
设定时间段
显示查询后总体的结果
4.1.4财务管理系统主功能窗体-消费走势页面。
图4-4财务管理系统主功能窗体-消费走势页面(MoneyMake.cs)
4.1.5财务记事主功能窗体。
图4-5财务管理系统主功能窗体-消费走势页面(formNoteBook.cs)
4.1.6财务记事新增窗体。
图4-6财务管理系统新增记事窗体(formNoteAdd.cs)
4.1.7财务记事展开页窗体。
图4-7财务记事展开页窗体(formNoteRead.cs)
4.2系统数据集及数据库设计
4.2.1XML数据集设计(实例):
xmlversion="1.0"encoding="gb2312"?
>//声明,标示版本及标准
<编号>1编号>//记录当前数目编号
<收支>支出收支>//记录当前信息是收入还是支出
<金额>-35金额>//记录金额
<类别>杂项类别>//记录本条信息属于什么类别
<日期>2014/3/4日期>//记录日期
<备注/>//简单笔记
<支出>35支出>//隐藏元素,做数据统计
<收入>0收入>//隐藏元素,做数据统计
//本条信息结束
<编号>2编号>
<收支>支出收支>
<金额>-132金额>
<类别>杂项类别>
<日期>2014/3/6日期>
<备注>das备注>
<支出>132支出>
<收入>0收入>
4.2.2数据库架构设计
表Strip_HaveMake设计如图(详细见附录)。
图4-8Strip_HaveMake表的表头及数据类型
表UserInfo(详细见附录)。
图4-9UserInfo表的表头及数据类型
5系统前台各功能模块的实现
5.1导航窗体功能及实现
作为导航窗体,其肩负的主要功能就是负责为用户提供一个快捷的功能通道,使用户能够快速的进入所需的功能窗体。
本系统的设计实在财务统计和财务记事上做了导航,其跳转的实现如下:
MoneyMakerofm=newMoneyMake();//实例化财务管理窗体MoneyMake
rofm.Show();//使窗体显现
this.Hide();//隐藏导航窗体
财务记事窗体的跳转同上。
退出功能是退出程序,各个主功能窗体都有添加(以下略过不再赘述),其实现如下:
Application.Exit();
5.2财务管理窗体主窗体
在本功能窗体之上,使用了TabControl容器组件,分别设计了财务收支页(tabPage1)、财务走势页(tabPage2)以及消费走势页(tabPage3)。
其他公共区域有实时日期时间显示区域(DateTimeShow)、返回(btnBack)及退出,其详细实现如下代码显示:
实时时间(添加计时控件Timer命名为TimeNow):
TimeNow.Enabled=true;//开启控件
TimeNow.Interval=1000;//设定时间间隔为1秒
DateTimetime=DateTime.Now;//定义时间函数time
DateTimeShow.Text=time.ToString("yyyy-M-dHH:
mm:
ss");//对获取的系统时间进行格式化并将实时时间显示在控件DateTimeShow上。
返回(btnBack)功能是返回导航窗体,其实现如下:
//设置返回按钮的事件
privatevoidbtnBack_Click(objectsender,EventArgse)
{
this.Close();//关闭当前窗体
}
//添加窗体关闭事件,默认返回导航窗体(当单击窗体右上角小叉号时同样触发此事件)。
privatevoidMoneyMake_FormClosed(objectsender,FormClosedEventArgse)
{
ZhuTirofm=newZhuTi();
rofm.Show();
}
5.2.1财务收支页面
作为财务收支页面,主要的工作是管理个人的财务信息,这里不仅有对数据的增、删、改、查,还有简单的预览和时间划分功能。
数据条目功能区(dgvStrip_HaveMake)是作为已登记的财务信息的一览表,它首先绑定了一个数据集(information.xml),从中提取信息并显示在本控件中,其实现如下:
//在窗体载入事件中定义并加载数据集。
//数据源绑定
xDataDoc.DataSet.ReadXml(@"..\File\information.xml");
dgvStrip_HaveMake.DataSource=xDataDoc.DataSet;
dgvStrip_HaveMake.DataMember="Inf";
//定义数据表
DataTabledTable=xDataDoc.DataSet.Tables[0];
//时间段查询起始时间
dtp1_tab3.Value=dtp1.Value=startTime.Value=Convert.ToDateTime(dTable.Rows[0][4].ToString());
dtp2_tab3.Value=dtp2.Value=Convert.ToDateTime(dTable.Rows[dTable.Rows.Count-1][4].ToString());
labXianShi();//调用方法,在空间中显示信息
//定义的方法
privatevoidlabXianShi()//显示财务,总
{
DataTabledTable=xDataDoc.DataSet.Tables[0];
intcount=dTable.Rows.Count;
//调用类FangFa中的方法getMoney()。
doublehaveMoney=FangFa.getMoney(xDataDoc,7,Convert.ToDateTime(dTable.Rows[0][4]),Convert.ToDateTime(dTable.Rows[count-1][4]));
doublemakeMoney=FangFa.getMoney(xDataDoc,6,Convert.ToDateTime(dTable.Rows[0][4]),Convert.ToDateTime(dTable.Rows[count-1][4]));
//显示大略的财务收支情况
labAllHave.Text=haveMoney.ToString();
labAllMake.Text=makeMoney.ToString();
labHaveMake.Text=(haveMoney-makeMoney).ToString();
labDataTime.Text=dTable.Rows[0][4].ToString()+"--"+dTable.Rows[count-1][4].ToString();
}
财务登记功能区是财务管理系统的重要组成部分,它负责将用户的财务信息登记入系统之中,其设计如下:
图5-1财务入账功能
其中,金额(txtMoney)限定最长字符5位,收支(cbxHaveMake)填写“收入”、“支出”两项,默认选定“支出”。
入账(btnIn)按钮的功能实现比较复杂,它需要判断数据条目功能区(dgvStrip_HaveMake)中的数据序号是多少,需要依据写入的日期判断插入的数据应是在哪两条数据的之前、之中或之后?
同时重新书写编号并刷新显示出来,之后清空入账区的数据,其具体的代码实现如下:
privatevoidbtnIn_Click(objectsender,EventArgse)//添加数据
{
Regexre=newRegex(@"^[0-9]*$");
if(re.IsMatch(txtMoney.Text))
{
//该方法是修改数据集中的数据表(会同时刷新datagridview),然后更新xml。
//查找有没有相同日期的数据,有的话合并计算,没有的话加入新行。
DataTabledTable=xDataDoc.DataSet.Tables[0];
boolbol=true;//指示是否要在最后添加行
intcount=dTable.Rows.Count;
if(txtMoney.Text==""){txtMoney.Text="0";}
stringnumMoney=cbxHaveMake.Text=="收入"?
txtMoney.Text.Trim():
"-"+txtMoney.Text.Trim();
DateTimedt=Convert.ToDateTime(dateTimePicker1.Value.ToShortDateString());
for(inti=0;i { if(dt { DataRowdr=dTable.NewRow();//新建行,下同。 if(dateTimePicker1.Value.ToShortDateString()==dTable.Rows[i][4].ToString())//合并相同的日期金额 { if(dTable.Rows[i][5].ToString().Trim()=="")//备注的情况处理 { if(txtBeiZhuIn.Text.Trim()==""){dTable.Rows[i][5]=dTable.Rows[i][3]+": "+dTable.Rows[i][2]+""+cbxType.Text.Trim()+": "+numMoney;} else{dTable.Rows[i][5]=dTable.Rows[i][3]+": "+dTable.Rows[i][2]+""+cbxType.Text.Trim()+": "+numMoney+"("+txtBeiZhuIn.Text.Trim()+")";} } else { if(dTable.Rows[i][5].ToString().Trim().IndexOf(": ",0)! =-1)//第三次及以上数据合并 { if(txtBeiZhuIn.Text.Trim()==""){dTable.Rows[i][5]+=""+cbxType.Text.Trim()+": "+numMoney;} } } 时间段功能区主要负责设定查询时的时间段并使得数据条目功能区(dgvStrip_HaveMake)中处在时间段内的数据高亮。 同时该功能区划定的时间段将作为一个默认数据传送到财务走势页和消费走势页,其功能实现如下: 图5-2时间段查询功能 privatevoidsearchTime_Click(objectsender,EventArgse)//时间段查询 { //时间段内的数据高亮 DataTabledTable=xDataDoc.DataSet.Tables[0]; intcount=dTable.Rows.Count; //清除原活动单元格的高亮 for(inti=0;i for(inti=0;i { if(startTime.Value<=Convert.ToDateTime(dTable.Rows[i][4])&&finshTime.Value>=Convert.ToDateTime(dTable.Rows[i][4])) { dgvStrip_HaveMake.Rows[i].Selected=true; } } //财务显示,调用类FangFa中的getMoney()方法。 doublehaveMoney=FangFa.getMoney(xDataDoc,7,startTime.Value,finshTime.Value); doublemakeMoney=FangFa.getMoney(xDataDoc,6,startTime.Value,finshTime.Value); labAllHave.Text=haveMoney.ToString(); labAllMake.Text=makeMoney.ToString(); labHaveMake.Text=(haveMoney-makeMoney).ToString(); labDataTime.Text=startTime.Value.ToShortDateString()+"--"+finshTime.Value.ToShortDateString(); } 账目细则显示区是各个查询操作后产生数据显示的地方。 图5-3财务显示功能区 账目管理区块是对选定的数据条目显示备注和对选定的条目执行删除的地方。 当所有条目都删除掉时,将自动添加最后一行示例行,这中设定同时避免了在“入账”时产生的判断错误。 其实现删除功能的代码如下: privatevoidbtnDelect_Click(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 net 个人 理财 系统 本科 毕业设计 论文