资源描述
武 夷 学 院
课程设计汇报
课程名称:
.NET课程设计
设计题目:
理财管理系统
学生班级:
11计科班
学生姓名:
王立基 林培聪 张俊彪 杨菲菲
指导老师:
潘俊虹
完成日期:
-01-06
数学和计算机学院
课程设计工程研究汇报
目录
1.1 工程名称1
1.2 开发人员1
1.3 指导老师1
第 2 章工程研究意义1
2.1 课程设计概述1
2.2 需求分析及研究意义1
2.3 研究意义2
第 3 章采取技术2
3.1 课程设计方案设计论证2
3.2 关键算法设计、步骤描述或伪代码描述3
第4 章课程设计工程进度表4
第5 章课程设计任务分配表4
第6 章达成效果4
6.1 程序设计思想4
第7 章源程序9
7.1 源代码9
第8 章设计心得16
第9 章参考文件17
第 1 章 工程介绍
1.1 工程名称
理财管理系统
1.2 开发人员
11计科班 王立基<组长) 林培聪 张俊彪 杨菲菲
1.3 指导老师
潘俊虹
第 2 章 工程研究意义
2.1课程设计概述
家庭财务中心内容账务管理。大家几乎每一天全部会经过许数次货币活动。其中包含了买入卖出实物,娱乐消费,起居饮食消费,还有发放工资,收缴保费等。假如能把各类不一样活动进行分类,建立不一样账户,分别对活动进行管理,那么不管现在还是未来,你账务就会清楚明白了。
天天,我们对自己账务操作有以下几类:添加新数据项,比现在天我卖出了多少股票,生活中,我们就要对自己还有多少钱,今天所得利润进行统计。现在我们把这些工作放到程序里去实现,就是这么操作。某账户今天是添加还是降低,比如对RMB操作就是降低,假如和这个操作相关账户是现金,然后依据货币兑换率提供值计算现金账户今天该录入数值。再如变卖全部古董收藏,再存入银行,在软件实现就为把古董变卖值转入存款账户。日常生活中,当我们要对一周来,外汇交易情况进行了解,就很困难,而观察外汇30天里利率走势就愈加是问题。做到程序里,把它存放到一个数据表里就能够了。归结后,账户操作通常以下:新添,删除,增加,降低,查找,转账,统计。
2.2 需求分析及研究意义
由现代社会家庭理财观念深入提升,理财手段变得愈加丰富。伴随生活水平和文化水平提升,家庭购置电脑能力和应用电脑能力开始提升。电脑及其应用普及化,大家应用电脑进行家庭财务管理观念增强,所以,开发一个通用性家庭理财软件已经成为社会需求。本系统是一个家庭通用型理财软件,系统目标是把适合家庭化管理多种理财手段及家庭日常收支管理实现计算机化管理,使对家庭及家庭组员收支活动愈加好地进行统计并加以统计分析成为可能,也使家庭理财变得方便,快捷,全方面。
2.3 研究意义
现在,大家生活水平和文化素质普遍提升,而且开始重视生活质量。伴随市场经济快速发展,观念不停更新,个人理财意识普遍增强,尤其是家庭理财意识得到很大发展,在意识上,首先,大家对家庭和个人各方面消费有想进行统计和分析愿望,方便愈加好地做好家庭收支计划,和家庭财务管理。其次,多种理财手段不停丰富,怎样把多种理财手段统一起来,而且能愈加方便操作成为要求。在物质基础上,计算机应用开始普及,大家购置计算机和使用计算机能力增强,人均计算机拥有量将快速提升。这些条件说明,大家有购置一个家庭化财务软件要求,在一个可接收价格范围内,将购置这种软件。使用这种软件学要家庭有一定经济基础,所以这种软件适适用于家庭收入在中下层或中下层以上家庭。
第 3 章 采取技术
3.1课程设计方案设计论证
采取Studio 应用,利用SQL数据库和C#进行结合。才用C#windows窗口创建对应控件。
该系统采取了窗口继承方法,使窗口统一界面风格。能够同时进行数据错误提醒。重新输收入。
(1>数据定义:用于创建,删除,修改数据库中各类对象,如CREATE,DROP,ALTER。
(2>数据查询:对数据库查询检索,命令含有SELECT。
(3>数据更新:插入,更新,删除数据库,如INSERT,UPDATE,DELETE。
(4>数据控制:数据控制管理,如表加锁,受权,回收授权,提交事物,回滚事物。
收入支出表
收入支出帐簿
用户
设置信息
收入支出管理
备注
消费表
存款表
信息管理
统计
用户
图3-1
3.2 关键算法设计、步骤描述或伪代码描述
该系统有开始登陆界面,设有密码,用户在登录后能够查询自己信息和其它人信息,在所查询信息中,用户能够对信息进行修改,和添加新信息。同时,用户也能够在查询中修改她人信息。该系统分为储蓄界面,收支界面,借贷界面等。
用户在进入读书用户信息时,能够很直观看到自己理财信息,和家庭中其它人信息,同时,在登录用户后,用户管理自己系统,能够利用表格形式管理自己账号信息。
开始
用户登陆
失败超出三次
退出系统
读取用户类型
基础信息管理
数据统计管理
理财系统管理
管理自己用户信息
管理自己用户信息
管理一般用户信息
用户管理模块
家庭理财管理模块
重试
是
否
失败
成功
图3-2
第4 章 课程设计工程进度表
日期
完成工作
-1.2~1.3
工程可行性研究,研究汇报
-1.3~1.4
数据采集,确定表格,数据类型,系统开发技术,运行环境
-1.4~1.5
子模块程序设计和调试
-1.6
系统联合调试,撰写课程设计总结汇报
第5 章课程设计任务分配表
组员
座号
工程内容
序号
张俊彪
2号
1、“数据库”模块制作
2、登陆模块制作
3、编写试验心得
01
林培聪
29号
1、“添加”模块制作
2、 撰写进度表。
02
王立基
32号
1、“修改”模块制作
2、综合各模块
3、调试程序
03
杨菲菲
54号
1、页面设计
2、编写汇报
04
第6 章达成效果
6.1 程序设计思想
<1)模块编号:S1
<2)模块名称:用户登陆
<3)模块功效:用户登陆,登陆时用户添写用户编号和密码请求登陆,系统会从数据库中进行检索,假如有匹配信息,则表示登陆成功,不然登陆失败,提醒重新登陆。
<1)假如数据库中没有和输入用户编码相对应数据,则视为“用户不存在”。
<2)假如用户输入密码和数据库中内容不一致,则视为“密码错误”。
存放查询模块
<1)模块编号:S2
<2)模块名称:存放
<3)模块功效:对银行存放进行管理,并能够查询存款多少。
<4)假如数据库中没有和输入合理日期,则视为“输入无效”。
<5)假如用户输入名字和数据库中内容不一致,则视为“用户不存在”。
家庭理财系统
收入管理
通常收入信息
借入收入信息
返还收入信息
股票收入信息
支出管理
日常支出信息
支出信息
借出支出信息
还贷支出信息
存放管理
现金存放信息
存放支出信息
存放查询
设置
设置组员名称
设置消费名称
设置收入起源
设置银行名称
数据统计
日常支出
借出返还
借入还贷
综合统计
查询
返还收入
借出支出
借入收入
日常支出
通常收入
股票买入
股票卖出
开始
输入查询日期
检索库中是否存在
显示信息
结束
Y
N
图6-2
图6-1
6.2程序最终实现结果
1、登陆界面是用户需要输入自己用户名和密码才能够登录到系统,这么能够保护用户信息安全,不被其它人篡改
图6-3登陆界面
2、日常收支界面统计着家庭各个组员收入情况和开支情况,方便于对自己财务进行适宜管理和应用。
图6-4日常收支界面-收入界面
图6-5日常收支界面-支出界面
3、修改界面能够立即修改已过时信息,立即更新,提供更合时资料给用户。
图6- 6 修改界面-添加
图6-7 修改界面-删除
4、储蓄界面统计家庭存款金额,让家庭能够知道自己有多少余钱,同时作为储蓄金以应对突发情况。
图6- 8 储蓄界面-活期储蓄界面
图6-9储蓄界面-定时储蓄界面
5、借贷界面能够让用户清楚知道自己欠了多少外债和借出去多少,让用户能够合理安排自己钱财。
图6-10借贷界面-借款界面
图6-11 借贷界面-贷款界面
6、理财分析界面能够分析用户本月消费情况,使用户能够很清楚知道自己各方面消费情况,已做出合理更正。
图6-12 理财分析界面-日常收入
图6-13 理财分析界面-日常收支出
第7 章源程序
7.1 源代码
代码过多 请看程序
MainForn
using System。
using System.Drawing。
using System.Collections。
using System.ComponentModel。
using System.Windows.Forms。
using System.Data.OleDb。
public MainForm(>
{
//
// Windows 窗体设计器支持所必需
//
InitializeComponent(>。
//
// TODO: 在InitializeComponent 调用后添加任何结构函数代码
//
}
///<summary>
/// 清理全部正在使用资源。
///</summary>
protectedoverridevoid Dispose( bool disposing >
{
if( disposing >
{
if(components != null>
{
components.Dispose(>。
}
}
base.Dispose( disposing >。
}
this.Menu = this.mainMenu1。
this.Name = "MainForm"。
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen。
this.Text = "主界面"。
this.WindowState = System.Windows.Forms.FormWindowState.Maximized。
this.Load += new System.EventHandler(this.MainForm_Load>。
this.Closed += new System.EventHandler(this.MainForm_Closed>。
((System.ComponentModel.ISupportInitialize>(this.statusBarPanel1>>.EndInit(>。
((System.ComponentModel.ISupportInitialize>(this.statusBarPanel2>>.EndInit(>。
((System.ComponentModel.ISupportInitialize>(this.statusBarPanel3>>.EndInit(>。
((System.ComponentModel.ISupportInitialize>(this.statusBarPanel4>>.EndInit(>。
this.ResumeLayout(false>。
}
#endregion
privatevoid MainForm_Load(object sender, System.EventArgs e>
{
try
{
int num=this.mainMenu1.MenuItems.Count。
for ( int i=0。 i<num。i++>
{
this.mainMenu1.MenuItems[i].Visible=false。
}
login(>。
}
catch(Exception ee>
{
MessageBox.Show(this.mainMenu1.MenuItems.Count+ee.ToString(>>。
}
}
//调用登录界面
privatevoid login(>
{
user.Login login = new user.Login(>。
login.MdiParent=this。
login.Show(>。
}
publicMenu getMainMenu(>
{
returnthis.mainMenu1。
}
publicStatusBar getStatusBar(>
{
returnthis.statusBar1。
}
//取得数据库连接
publicstaticOleDbConnection getConnection(>
{
if(oleConnection1==null>
{
oleConnection1 = newOleDbConnection(WealthMIS.database.dbConnection.connection>。
oleConnection1.Open(>。
}
return oleConnection1。
}
//把数据填充到dataGrid控件中,并返回该数据
publicstaticDataSet FillDataGrid(string sql,string dname,System.Windows.Forms.DataGrid dg>
{
if (oleConnection1.State==ConnectionState.Closed>
oleConnection1.Open(>。
Console.WriteLine(sql>。
OleDbDataAdapter adapter = newOleDbDataAdapter(sql,oleConnection1>。
DataSet ds = newDataSet(dname>。
adapter.Fill(ds,dname>。
dg.SetDataBinding(ds,dname>。
return ds。
}
//主窗体被关闭时候,断开和数据库连接
privatevoid MainForm_Closed(object sender, System.EventArgs e>
{
if(oleConnection1!=null>
{
oleConnection1.Close(>。
}
}
user.ModifyCode modifyCode。
privatevoid menuItem7_Click(object sender, System.EventArgs e>
{
modifyCode = new user.ModifyCode(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
modifyCode.MdiParent = this。
modifyCode.Tag = this.statusBarPanel2.Text.ToString(>。
modifyCode.WindowState = FormWindowState.Maximized。
modifyCode.Show(>。
}
privatevoid menuItem8_Click(object sender, System.EventArgs e>
{
try
{
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
login(>。
}
catch(Exception ee>
{
MessageBox.Show(ee.ToString(>>。
}
}
privatevoid menuItem9_Click(object sender, System.EventArgs e>
{
this.Close(>。
Application.Exit(>。
}
family.Family family。
privatevoid menuItem10_Click(object sender, System.EventArgs e>
{
family = new family.Family(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
family.MdiParent = this。
family.WindowState = FormWindowState.Maximized。
family.Show(>。
}
family.Item item。
privatevoid menuItem11_Click(object sender, System.EventArgs e>
{
item = new family.Item(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
item.MdiParent = this。
item.WindowState = FormWindowState.Maximized。
item.Show(>。
}
inout.InInfo ininfo。
privatevoid menuItem12_Click(object sender, System.EventArgs e>
{
ininfo = new inout.InInfo(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
ininfo.MdiParent = this。
ininfo.WindowState = FormWindowState.Maximized。
ininfo.Show(>。
}
inout.OutInfo outinfo。
privatevoid menuItem13_Click(object sender, System.EventArgs e>
{
outinfo = new inout.OutInfo(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
outinfo.MdiParent = this。
outinfo.WindowState = FormWindowState.Maximized。
outinfo.Show(>。
}
bank.Fix fix。
privatevoid menuItem15_Click(object sender, System.EventArgs e>
{
fix = new bank.Fix(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
fix.MdiParent = this。
fix.WindowState = FormWindowState.Maximized。
fix.Show(>。
}
bank.Live live。
privatevoid menuItem14_Click(object sender, System.EventArgs e>
{
live = new bank.Live(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
live.MdiParent = this。
live.WindowState = FormWindowState.Maximized。
live.Show(>。
}
lendborr.Borrow borrow。
privatevoid menuItem16_Click(object sender, System.EventArgs e>
{
borrow = new lendborr.Borrow(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
borrow.MdiParent = this。
borrow.WindowState = FormWindowState.Maximized。
borrow.Show(>。
}
lendborr.Lend lend。
privatevoid menuItem17_Click(object sender, System.EventArgs e>
{
lend = new lendborr.Lend(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
lend.MdiParent = this。
lend.WindowState = FormWindowState.Maximized。
lend.Show(>。
}
analyse.Query query。
privatevoid menuItem18_Click(object sender, System.EventArgs e>
{
query = new analyse.Query(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
query.MdiParent = this。
query.WindowState = FormWindowState.Maximized。
query.Show(>。
}
analyse.Report report。
privatevoid menuItem19_Click(object sender, System.EventArgs e>
{
report = new analyse.Report(>。
for (int x=0。x<this.MdiChildren.Length。x++>
{
Form tempChild = (Form>this.MdiChildren[x]。
tempChild.Close(>。
}
report.MdiParent = this。
report.WindowState = FormWindowState.Maximized。
report.Show(>。
}
}
}
第8 章设计心得
在为期一周课程设计中,我们基础上完成了理财管理系统设计。我熟悉了一个管理系统设计步骤,每个阶段应该完成任务,但我认为还有很多要学习地方。
相关本系统,即使对家庭理财管理进行了系统创建,但不可忽略是这个系统并不是完美无缺,还存在着很多不完善地方,其实我们要在以后实践中去检验它可用性,尤其要考虑它实时性和安全性,这才是我们最值得考虑问题。一个系统好不好,要经过反复使用才能知道,不是光是理论中分析和设计出来。在系统设计过程中当然也出现了多种多样问题,尤其是相关系统可移植性,有很多不足之处。这时我们关键任务就是应该多查阅相关资料,反复熟练应用,才能把系统设计巧,设计好,小组组员之间交流也十分关键。
经过这次课程设计,我感想很多。首先要对软件工程思想及步骤有很一定了解,同时需要将学到软件工程思想利用到此次设计中来。以前一直认为只要程序做好了就行,有了代码系统就完善了,可这种思想却是错误。软件工程思想在做一个系统时候尤为关键,一个好文档在一个系统中占有举足轻重地位。有了一个好文档,系统就很轻易被用户读懂。在调试程序时候碰到了部分困难,但全部经过查阅资料和小组讨论处理了。此次课程设计关键就是完成汇报册,最终也根据软件工程步骤完成了此项任务。
第9 章 参考文件
[1] 张海潘软件工程导论<第五版)[M].清华大学出版社.
[2]耿祥义Java2实用教程<第三版)[M].北京:清华大学出版社.
[3]解圣庆 徐兴敏Access 数据库教程[M].北京:清华大学出版社.
展开阅读全文