个人财务管理C#1.docx
- 文档编号:7673584
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:16
- 大小:165.46KB
个人财务管理C#1.docx
《个人财务管理C#1.docx》由会员分享,可在线阅读,更多相关《个人财务管理C#1.docx(16页珍藏版)》请在冰豆网上搜索。
个人财务管理C#1
C#程序设计课程设计报告
题目个人财务管理系统
学生姓名
学号
学院
专业
指导教师
二O一六年六月十五日
1引言2
1.1开发背景和意义2
1.2课题内容2
2系统需求分析2
2.1系统需求分析2
2.1.1用户需求2
2.1.2功能需求3
2.2系统的可行性分析3
2.3开发平台和开发工具介绍3
2.3.1C#语言3
2.3.2SQLServer数据库技术4
3系统总体设计4
3.1系统模块设计4
3.1.1登录模块设计5
3.1.2个人财务数据模块设计6
3.2数据库设计6
3.2.1数据库概念设计6
3.2.2数据库逻辑结构设计8
4系统实现9
4.1登录模块实现9
4.2注册模块实现10
4.3个人财务数据模块实现12
个人财务管理系统
1引言
今社会越来越朝着信息化数字化发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们每个人的生活都离不开计算机的帮助了。
越来越多的个人应用软件成为人们重要的助手,也在潜移默化的改变着我们的生活。
为了实现个人财务管理,对个人财产收支进行管理,反映个人经济现状,按照个人实际情况改变个人消费现状。
本文将对个人财务管理系统的设计与实现进行概要性的描述。
1.1开发背景和意义
随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各个行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入数字化时代,有巨大的数据信息等待着加工处理和传输,这使得对应用软的开发和利用显得尤为迫切。
心理学家马斯洛的需求理论告诉我们,人类的需求是有层级之分的:
在安全无虞的前提下,追求温饱;当基本的生活条件获得满足之後,则要求得到社会的尊重;并进一步追求人生的最终目标自我实现。
而要依层级满足这些需求,必须建立在不虞匮乏的财务条件之上。
因此,你必须认识理财的重要,订定一套适合自己的理财计划,来达成自己的生活目标。
理财须要了解自己的财务情况,再进行投资等规划,此时就需要财务管理软件用于记录和管理个人财务情况。
个人财务管理软件是帮助实现个人财务管理的计算机应用程序。
现在常见的个人财务管理软件可以完成收支记帐、借贷管理、统计分析、帐户管理等功能,帮助用户能更好的管理个人财务!
操作简单,报表分析功能能让用户随时可以了解自己的财务状况。
我们经常看到企业的一些财务报表,这些报表主要是关注企业的资产负债表和损益表。
1.2课题内容
1.管理个人每月收支,平时收支,月平均收支以及支出将要超标提醒。
2.使用数据库存储数据,每次登录后调入数据。
2系统需求分析
2.1系统需求分析
2.1.1用户需求
随着国内居民收入水平的日益提高,理财意识的不断增强,个人理财市场规模持续扩大已成为不争的现实。
今年夏季,美林集团发布的全球财富报告显示2003年中国内地百万美元富翁约有23.6万人,比上一年的21万增长了12%,这些富豪所掌握的财富总额已经达到了9690亿美元。
若以人民币计算,即将近24万人成为了千万级别的富翁。
而根据波士顿咨询公司(BCG)的最新研究报告,在2003年亚洲理财市场(不包括日本)6.4万亿美元的管理资产中有3.29万亿来自大中华区。
而该报告更预测到2008年北京举办下界奥运会时,大中华区的财富增长率将达到27%,为4.2万亿美元,且中国大陆将超越香港和台湾成为理财市场成长趋势中的领导力量。
由以上调查结果可见,如何理好财,用好自己的钱,使之能够不断保值、增值,发挥更大的作用已经成为越来越多逐渐富裕起来的国人所共同关注的话题。
面对如此巨大的市场需求,时至今日,国内开发个人财务管理软件的脚步一直未曾停滞。
个人财务管理系统是每一个个人或家庭管理财务收入和支出的不可缺少的一个管理信息系统,它的内容对于个人来说是至关重要的,所以个人财务管理系统应该能够为每一个用户提供充足的信息和快捷的查询手段,大的方便个人用户的合理理财。
2.1.2功能需求
登录功能:
通过该功能用户能够登录进入个人财务管理系统进行操作;
注册功能:
通过该功能,新用户能够注册新的用户名,以进入系统进行操作;
添加功能:
用户通过该功能将日常收支信息更新到本月截至收支信息中;
修改功能:
通过该功能,用户能够对个人财务数据进行修改;
日常收支信息功能:
该功能能够存储用户的日常收支信息,方便用户浏览;
支出提醒功能:
通过该功能,用户能够了解到将要支出的信息。
2.2系统的可行性分析
建立数据库存储系统数据,系统读出数据后处理数据再存入数据库。
2.3开发平台和开发工具介绍
2.3.1C#语言
C#是一个语言,.net是一个平台,上面支持用C#或者VB.Net写代码。
另外,C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序,这就是区别。
.NET是Microsoft的XMLWeb服务平台。
不论操作系统或编程语言有何差别,XMLWeb服务能使应用程序在Internet上传输和共享数据。
Microsoft®.NET平台包含广泛的产品系列,它们都是基于XML和Internet行业标准构建,提供从开发、管理、使用到体验XMLWeb服务的每一方面。
XMLWeb服务将成为您今天正在使用的Microsoft的应用程序、工具和服务器的一部分—并且将要打造出全新的产品以满足您所有业务需求。
更具体地说,Microsoft正在五个方面创建.NET平台,即工具、服务器、XMLWeb服务、客户端和.NET体验。
若是单纯以概念来说,你可以把.NET当做一个工作平台一般,它是一个开发环境的基底,提供了解其运作的相关机制那是有助于你利用它来开发。
C#和.NET主要是应用在网际网路。
2.3.2SQLServer数据库技术
SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。
这篇文章详细介绍了MicrosoftSQLServer2008中的新的特性、优点和功能…… 微软的这个数据平台满足这些数据爆炸和下一代数据驱动应用程序的需求,支持数据平台愿景:
关键任务企业数据平台、动态开发、关系数据和商业智能。
许多因素致使产生了信息存储爆炸。
有了新的信息类型,例如图片和视频的数字化,和从RFID标签获得的传感器信息,公司的数字信息的数量在急剧增长。
遵守规范和全球化的发展要求信息存储的安全性和在任何时候都可用。
3系统总体设计
3.1系统模块设计
根据系统的需求分析对系统进行模块划分,基本分为登录、个人财务数据等模块。
根据模块的划分对系统进行设计,得出系统的模块划分功能如图3.1所示。
图3.1:
系统模块总体功能图
3.1.1登录模块设计
该模块用于用户登录和用户注册。
用户登录信息包括用户名和密码,用户在登录界面使用已注册的用户名和正确的密码登录才能进入系统进行操作,若用户名不存在则提示“用户名不存在”,若密码不正确则提示“密码不正确”,这两种情况下都不能进入系统使用功能。
用户注册需要填写用户名和密码,用户名重复时提示“用户名已被注册”,重复输入密码不正确时提示“两次输入密码不一致”。
填写正确的用户名和密码后完成注册。
登录后,系统会根据用户类型调用相应操作,至此完成登录。
具体流程图如图3.2所示。
图3.2系统登录模块流程图
3.1.2个人财务数据模块设计
该模块用于用户对个人财务数据的各种操作。
包括日常收支的添加,若今日支出超过平均日支出则提示“今日支出超支”,若本月截至支出超出月平均支出则提示“本月已超支”;各项数据的修改,在对数据进行更改后必须点击修改,否则数据将不会进行存储;收支记录功能,显示用户的收支记录,用户能够将收支情况添加到数据中;支出提醒,显示用户输入的支出信息。
3.2数据库设计
3.2.1数据库概念设计
通过对个人财务管理系统功能以及数据流图分析,设计如下数据项和数据结构,并得到以下系统E—R图:
1.用户信息,包括的数据项有:
用户名,密码,用户数据,实体图如图3.3所示。
图3.3用户信息实体图
2.日常收支,包括的数据项有:
编号,用户名,收入来源,收入金额,支出方向,支出金额,实体图如图3.4所示。
图3.4:
日常收支实体图
3.支出提醒,包括的数据项目有:
编号,用户名,日期,备注,实体图如图3.5所示。
图3.5:
支出提醒实体图
3.2.2数据库逻辑结构设计
根据系统的总体设计、E-R图分析,可以得到系统优化后的逻辑模型:
1.用户登录信息,包括用户名,密码,用户数据,登录用户信息表如表3.1。
表3.1登录用户信息表
字段名
描述
类型
长度
是否空
是否主键
name
用户名
Varchar
10
否
是
password
密码
Varchar
10
否
否
passinput
上月收入
Varchar
10
否
否
passoutput
上月支出
Varchar
10
否
否
avginput
平均收入
Varchar
10
否
否
avgoutput
平均支出
Varchar
10
否
否
stoinput
本月截至收入
Varchar
10
否
否
stooutput
本月截至支出
Varchar
10
否
否
2.日常收支信息,包括编号,用户名,收入来源,收入金额,支出方向,支出金额,日常收支信息如表3.2。
表3.2日常收支信息表
字段名
描述
类型
长度
是否空
是否主键
number
编号
Varchar
10
否
是
name
用户名
Varchar
10
否
否
Input
收入来源
Varchar
10
否
否
Ipnum
收入金额
Varchar
10
否
否
output
支出方向
Varchar
10
否
否
opnum
支出金额
Varchar
10
否
否
3.支出提醒信息,包括编号,用户名,日期,备注,支出提醒信息如表3.3。
表3.3支出提醒信息表
字段名
描述
类型
长度
是否空
是否主键
number
编号
Varchar
10
否
是
name
用户名
Varchar
10
否
否
date
日期
Varchar
10
否
否
point
备注
Varchar
10
否
否
4系统实现
4.1登录模块实现
个人财务管理系统使用用户名和密码登录。
打开登录界面,在点击登录按钮时,首先必须确保账号和密码不为空。
系统登录模块页面如图4.1所示。
图4.1系统登录界面
登录模块主要代码如下:
stringsql=string.Format("selectname,passwordfromdatawherename='{0}'",textBox1.Text);
SqlConnectionconn=newSqlConnection(gk);
conn.Open();
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataReaderreader=cmd.ExecuteReader();
reader.Read();
try
{
strings0=reader.GetString(0);
}
catch(Exceptionex)
{
MessageBox.Show("用户名不存在","提示");
return;
}
stringn=reader.GetString(0);
strings1=reader.GetString
(1);
if(s1==textBox2.Text)
{
usermainusermainx=newusermain(n);
usermainx.Show();
}
else
{
MessageBox.Show("密码不正确,"提示");
return;
}
4.2注册模块实现
新用户注册时需要填写用户名和密码,用户名不能重复,两次密码不能不一致。
注册模块页面图4.2所示。
图4.2注册模块页面
注册模块主要代码如下:
if(this.textBox1.Text.Length==0)
{
MessageBox.Show("用户名不能为空","提示");
return;
}
if(!
this.textBox2.Text.Equals(this.textBox3.Text))
{
MessageBox.Show("两次密码不一致","提示");
return;
}
stringsql=string.Format("insertintodata(name,password,passinput,passoutput,avginput,avgoutput,stoinput,stooutput)values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')",textBox3.Text,textBox2.Text,"0","0","0","0","0","0");
SqlConnectionconn=newSqlConnection(gk);
SqlCommandcmd=newSqlCommand(sql,conn);
conn.Open();
try
{
cmd.ExecuteNonQuery();
}
catch(Exceptionex)
{
MessageBox.Show("用户名已被注册","提示");
return;
}
conn.Close();
this.Close();
4.3个人财务数据模块实现
界面显示用户个人相关信息,具有部分功能。
个人财务数据模块界面如图4.3所示。
图4.3个人财务数据界面
个人财务数据模块主要代码如下:
stringw;
stringgk="Server=TYYTOI6VZ4YGNQ5\\SQLEXPRESS;Database=GK;Trusted_Connection=SSPI";
publicusermain(stringn)
{
w=n;
InitializeComponent();
chushihua();
}
voidchushihua()
{
stringsql=string.Format("selectpassinput,passoutput,avginput,avgoutput,stoinput,stooutputfromdatawherename='{0}'",w);
SqlConnectionconn=newSqlConnection(gk);
conn.Open();
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataReaderreader=cmd.ExecuteReader();
reader.Read();
strings2=reader.GetString(0);
strings3=reader.GetString
(1);
strings4=reader.GetString
(2);
strings5=reader.GetString(3);
strings6=reader.GetString(4);
strings7=reader.GetString(5);
this.textBox1.Text=s2;
this.textBox2.Text=s3;
this.textBox3.Text=s4;
this.textBox4.Text=s5;
this.textBox5.Text=s6;
this.textBox6.Text=s7;
conn.Close();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
floatinput=float.Parse(textBox7.Text);
floatoutput=float.Parse(textBox8.Text);
input+=float.Parse(textBox5.Text);
output+=float.Parse(textBox6.Text);
floatspo=float.Parse(textBox6.Text);
floatppo=float.Parse(textBox4.Text);
if(output>(float.Parse(textBox2.Text)/30))
{
MessageBox.Show("今日支出超过平均日支出","提示");
if(spo>ppo)
{
MessageBox.Show("没钱啦!
要吃土啦!
","提示");
}
}
this.textBox5.Text=input.ToString();
this.textBox6.Text=output.ToString();
this.textBox7.Text="0";
this.textBox8.Text="0";
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
stringsql=string.Format("updatedatasetpassinput='{0}',passoutput='{1}',avginput='{2}',avgoutput='{3}',stoinput='{4}',stooutput='{5}'wherename='{6}'",textBox1.Text,textBox2.Text,textBox3.Text,textBox4.Text,textBox5.Text,textBox6.Text,w);
SqlConnectionconn=newSqlConnection(gk);
SqlCommandcmd=newSqlCommand(sql,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 财务管理 C#