当前位置:文档之家› 软件工程课程设计个人财务管理系统

软件工程课程设计个人财务管理系统

软件工程课程设计个人财务管理系统
软件工程课程设计个人财务管理系统

软件工程课程设计个人财务管理系统

集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

软件工程课程设计个人财务管理系统

摘要

本次课程设计在 Windows XP 平台上,以Delphi 作为界面开发工具,SQL Server 2000作为数据库工具,分析设计了“个人财务管理信息系统”。系统软件和对数据库的操作和管理都可在计算机上完成。

如今计算机已走进千家万户,传统的在纸上记录收入支出的方式已经过时,人们需要一种可以在计算机记录自己收入支出信息的软件,可是市场上的财务管理软件大多数十面向企业,或是有专门用途,面向普通用户的个人财务管理系统很难找到,在者免费的软件更是少之又少,为了满足普通用户的需求,特开发此软件。

本系统功能简单,只适合对个人财务管理要求不高的用户,可以完成收入支出金钱及物品的记录与查询操纵,但这些对普通用户还说应该够了,本系统操作简单,用户无需记录复杂的命令,打开主机面就可以很容易看出系统的功能,在者,本软件为免费产品,对于不愿花很多钱购买软件的用户来说是个很好的选择,本软件无需很高的硬件配置,一般的配置均可运行,占用系统资源少。

本报告中首先说明了该系统的特点与业务需求,之后详细说明了系统的业务流程和系统开发流程,重点介绍了系统各模块的功能及相关功能的具体

实现。该系统功能完善、用户界面友好、运行稳定,可完成日常个人财务信息的管理和维护。

本报告中首先说明了该系统的业务需求,之后介绍了系统的总体设计思路以及着重介绍了数据库表的设计过程及说明可供研究此系统的人员提供参考。

关键词管理信息系统;个人财务信息管理系统;Delphi;SQL Server 2000

第一章:绪论

课题背景

当今社会越来越着朝着信息化和数字化法发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮助了。越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。

随着市场经济的发展,我国居民对理财有着越来越高的要求。理财,是每个家庭和个人所必须面对的问题。现在,关于企业的会计制度逐渐完善,而且针对企业的财务软件以及EPR(enterprise resource planning)系统也在飞速发展,但针对个人或家庭的财务系统目前还是一段空白。

实际生活中经常要对个人的各项财务收支进行管理,本课题的目的就是利用计算机对各项财务进行电子化的管理,使我们的理财更加方便和理性化,提升我们生活的质量和品位。

课题意义

我们经常看到企业的一些财务报表,这些报表主要是关注企业的资产负债表和损益表。简单的说,前者是反映这个企业有多少钱,是存量;后者,反映了企业在一定时间能赚到多少钱,是流量。

其实,对一个人或者家庭的财务情况,也是关注这两个方面。关注家里存多少钱,关注今年赚了多少钱,花了多少,借出什么等等。

要做到这些需要对大量的数据做存储和计算,工作是相当的复杂繁琐和枯燥的,因而这些问题容易被人忽略。我们纵然可以为生活中的每一笔花销记账,但是对这样大量的数据做分类处理确实是一个会令大多数人头疼的问题,如果有一个个人理财的软件理财的软件对我们的日常财务进行那样的繁琐的数据处理和计算工作,相信可以让我们理财的效率大大提高。这样一个软件不但可以方便我们的生活,更可以使我们对自己的财务状况有一个清楚的了解。

与此同时,这样的一个软件开发和制作也是对我们大学学到各种知识进行的一次综合运用的一个好机会,是对我大学学习的一个检验和实践。

1.1.1关于MIS

管理信息系统(简称MIS)是在管理科学、系统科学、计算机科学等的基础上发展起来的综合性边缘科学。在21世纪信息高速发展的时代中,管理信息系统具有很重要的作用,它的预测和辅助决策的功能,即利用现代管理的决策和支持。

管理信息系统是一个由人、机(计算机)组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。它能观测企业或组织的各种运

动情况,利用过去的数据预测未来;从全局出发辅助决策;利用信息控制企业或组织行为,帮助其实现长远的规划目标。简言之,管理信息系统是一个以计算机为工具,具有数据处理、预测、控制和辅助决策功能的信息系统。

管理信息系统是一个人机系统,同时它又是一个一体化集成系统。管理信息系统是信息系统的一个子系统,它以计算机技术、通讯技术和软件技术为技术基础,同时将现代管理理论、现代管理方法及各级管理人员融为一体,最终为某个组织整体的管理与决策服务,是由人和计算机组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。

管理信息系统的基本结构可以概括为四大部件,即信息源、信息处理器、信息用户和信息管理者。因此,一个成功的管理信息系统应该具有可靠的硬件、实用的软件、强有力的现代化管理水平。具体讲,管理信息系统的三大支柱是:计算机网络、数据库和现代化的管理,这三打支柱称为管理信息系统的扩展部件。

第2章可行性分析

2.2.1 可行性分析

当接受一个软件开发任务,就进入软件生命的第一个阶段,即进行可行性的研究。并不是所有问题都具有简单的解决办法,许多问题不能在预定的规模之内解决。可行性分析就是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

2.1.2 技术可行性

根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标,来衡量所需的技术是否具备。本系统主要采用数据库管理方法,服务器选用微软的SQL Server2005数据库,他是它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行windows xp就可以很好的运行该软件。另外在划单操作中可用磁条来触发事件的响应,这项技术也已经很成熟。

2.1.3 操作可行性

本系统采用用户界面交互方式,并有必要的帮助信息,操作简单,用户只要具备简单的应用计算机的能力,无论学历,无论背景,均可以使用本系统,用户界面上的按钮的功能明确,用户一看就可以了解怎么使用本系统,以及本系统能够完成的功能,因此本系统在操作上是可行的。

2.1.2 经济可行性

估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一

定影响。本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得的效益等问题。

2.1.4 法律及社会效益方面的可行性

由于本系统只是一个课程设计,在图书馆查询相关资料因此不存在侵权等法律与社会影响方面的问题,不存在侵权级相应的法律问题。

关于效益方面,本系统仅仅是一个课程设计,只是为了提高自己的分析,设计能力,而非为了社会效益而编写设计,因此社会效益方面也是可行的。第3章需求分析

1.2 用户需求

本系统是针对用户要求,使用计算机对自己日常的资金和物品的收入、支出以及相关的各种信息进行记录、修改、添加、删除等操作,并实现对信息进行统计和以文档形式输出的操作而设计的一种现代化个人财务管理软件。经过分析,本系统需要具有以下功能:

1、能够实现个人财务管理方面各项功能,能成功的对用户各种信息进行管理。

2、实现查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。

3、能够实现按日期查询以及对库存数据进行按月统计和以文本形式输出。

4、拥有良好的人机交互界面。

1.3 功能需求

1.3.1系统业务需求

本系统具有以下几个功能模块:用户登录模块、系统管理模块、现金管理模块、物品管理模块、统计模块。用户登录模块为每个用户分配账号密码使得个人的财务信息具有隐私性,现金管理模块能有效的管理用户的现金,可以进行添加,查询,删除操作,物品管理模块可以添加物品借入,借出,买进,买出,和删除查询操作,统计模块使得用户能够查询用户某月的金钱和物品统计信息,能够让用户对自己每月或一段时间的收支情况,系统管理模块可以让用户修改密码,进行重要数据的备份和恢复。

登陆功能

对于个人财务管理系统,我们要求软件满足用户对个人财务的隐私性管理,确保在用户以外的其他人使用软件对其信息进行操作,所以要采用用户注册和登录制度,确保用户对自己财务信息的隐私管理。

1.3.2物品管理模块功能

物品管理模块是用户对物品进行添加、删除、修改操作的模块,提供用户对物品的收入支出进行操作的功能。

1.3.3现金管理模块功能

现金管理模块是用户对现金进行添加、删除、修改操作的模块,提供用户对现金的收入支出进行操作的功能,使得当用户的记录需要修改时,可以方便的添加和修改。

1.3.4统计管理模块

提供用户对现金收支信息和物品收支信息进行统计输出功能。

1.3.5系统管理模块

系统管理模块提供用户对用户个人信息的管理和修改以及对系统信息进行备份和恢复的功能。

1.3.6系统技术需求

稳定性:本系统为财务管理系统,多为查询、修改、删除、添加数据等操作,要求数据的稳定性好。

可靠性:用户财务数据多比较重要,要求系统具有数据备份,数据恢复等性能。

安全性:系统设计个人银行账号以及密码的保存,要求系统提供加密保存等安全措施,即要求系统有较高的安全性能。

数据流图

3.3数据字典

名称:收支信息报表

别名:

描述:描述某日收支信息

定义:收入报表=【收入|支出】+金额+原因+日期

位置:显示给用户

名称:物品信息报表

别名:

描述:描述某日物品收入/支出/借入/借出信息

定义:物品信息报表=【借入|借出|买入|卖出】+名称+数量+日期+原因

位置:显示给用户

名称:收支统计报表

别名:

描述:描述某月收支收支信息

定义:月收支信息=收入总额+支出总额+日期

位置:显示给用途

名称:物品统计报表

别名:

描述:描述某月物品借入/借出/买入/卖出信息

定义:物品统计报表:借入物品名称+数量+借出物品名称+数量+买入物品名称+数量

+卖出物品名称+数量+日期

位置:显示给用户

3.3状态转换图

状态转换图模拟系统的行为模型,把系统概括的分为几个状态,并表示触发状态转换的事件,由于该系统是医院内部使用的小型系统故不用设置登录功能,打开系统自动初始化为等待状态,接受事件,并根据事件类型进入相应状

4.2.1 ER 图

数据库的ER图如下所示:

图 ER 图

其中用户编号是用户的主键,每个用户都有唯一的编号,收入物资记录物品的收入信息,其中收入的类型物资类型包括物品和资金,支出物品资金包括物品和资金,用户与收入物资之间有收入联系,其中收入编号是收入的主

键,收入类型包括买入、借入,收入,如果是金钱,金额就是金钱的数量,备注就是对事件的详细说明,支出联系同收入联系,支出类型包括:借出、卖出、支出,备注可以填写用途或原因的说明。

第四章:总体设计

:层次结构图

把整个系统分为收支管理,物品管理,统计管理,系统管理四个模块,收支管理模块分为添加收入,添加支出,修改收入,修改支出,查询收支,删除收支6个模块,物品管理模块分为物品借入,物品借出,物品买入,物品卖出,物品查询,物品删除,统计管理模块分为物品统计信息,收支统计信息两个模块,收支管理模块分为修改密码,数据备份,数据恢复,系统说明,退出系统5个部分,每个模块完成的功能可以从名字上明显的看出。

层次从结构图如下所示:

图层次结构图

:数据库设计

表用户表

表支出信息表

表收入信息表

第五章:详细设计

界面设计:

一个好的用户界面能够给用户一个好印象,甚至能够事半功倍,有的时候,即使软件设计的很好,但用户界面不符合用户操作的习惯,也可能会让用户不满意,因此说,一个好的用户界面是至关重要的。

本系统的界面设计如下:

主界面左侧有四个选项,分别对应层次图的四个模块,分别为:用户收支管理,物品收支管理,统计查询,系统设置,每个选项下面还有相应的几个子选项,完成相应的添加、查询、修改、删除操作,右侧为正文部分,显示用户需要的信息。用表单的形式显示出来。

如下:

:数据库查询设计

输出的显示主要是对数据库的组合或单独查询得出的结果,三个表用用户的编号联系起来,在用户表中用户的编号是主键,在收入表中和支出表中则是作为外键,三个表组合查询就可以查到想要的所有信息。其中收入类型填写金钱收入,借入物品,买入物品:收入物资类型填写物品、金钱,支出类型填写金钱支出,物品借出,物品卖出;备注填写原因后用途。

登录界面数据流程图

图登录界面数据流程图

查询模块数据流程图

图查询模块数据流程图

结论

个人财务管理信息系统,本质上是对数据库的更新和检索。不知不觉一周的课程设计就结束了,我们小组有最开始的对系统的理解很模糊,我们

在网上简要了解了个人财务管理的工作流程,并经过和王老师的讨论初步了解了这个系统的功能需求和较详细的工作流程,由于我们课设时间太短不能完全实现财务管理的全部的复杂流程。

通过这一周的课程设计,我们对学过的软件工程理解的更深了,基本了解了整个软件设计的过程,对数据流图的设计过程更加清楚,进一步懂得了需求分析阶段的重要性,因为你不了解现实世界中业务流程的话,那你就不能用软件模拟这个业务流程,整个软件设计就无从下手。另一方面如果你在需求分析阶段对系统功能理解错误,那你设计的软件会完全失败。

在设计过程中我也加深了对数据库相关知识的理解,再设计数据库是提取实体联系的过程就是对整个系统的分析过程。有数据库向关系模型映射完成后,将关系模型以二维表的形式存储在计算机内部,就可以用Select语句实现检索和视图显示过程了。

整个程序虽然没有通过代码完全实现,但是整个撑血的结构已经出现在我的面前,只要通过运用一种熟练的语言就可以完全实现以上所有的功能,可见,软件工程这门课程在整个软件开发中的重要意义。

我们的整个设计过程是对系统的一点点加深理解的过程我们通过讨论,对系统实现的功能进一步清楚,对模糊的功能需求我们通过问老师,王老师,穆老师也给我们透彻的分析解释。我们每个人都通过课程设计对理论知识的理解进一步加深,也对学科间的相互联系真正做到了学以致用。另一方

面对收集资料、查阅文献、方案制定等实践能力也得到了很好的锻炼,促进了我对所学知识的应用能力;同时,发现问题、分析归纳、综合比较的逻辑分析能力、处理问题等能力也得到了很好的提高。

本课程设计不管是对软件工程的理解还是对数据库的理解都上升了一个高度,让我们体会到了真正设计软件的大体流程,也增加对数据流图,状态转换图的熟悉程度,为我们以后做毕业设计打好基础,也为今后从事软件行业打好基础,总之,软件工程课程设计收获了很多,也想了很多,很有意义。

参考文献

[1] 谢世亮.Visual C#.NET2003开发与技巧[M]. 北京:清华大学出版社,.

[2](美)内格尔,《C#高级编程(第4版)》,清华大学出版社,出版2006年10月.

[3](美)solid,《SQLServer2005从入门与精通(应用技术基础)》,清华

大学出版社,出版2006年09月.

[4] 吴晨,《+SQL Server-数据库开发与实例》,清华大学出版社,出版2006年7月.

[5]李春葆,曾慧.SQL Server 2000学习与上机指导[M]. 北京:清华大学出版社,.

[6]张曜,张青.函数实用手册[M]. 北京:冶金工业出版社,.

[7]张华.Visual C#程序设计教程与上机指导[M]. 北京:清华大学出版,.

[8](美)保罗《经典教程C#篇》人民邮电出版社,出版2007年5月.

[9]崔巍.数据库系统及应用[M]. 北京:高等教育出版社,.

[10]陈钟.C#编程语言程序设计与开发[M]. 北京:清华大学出版社,.

[11]李勇平. Web应用开发教程[M]. 北京:北京希望电子出版社,.

[12]杨帆.技术与应用[M]. 北京:高等教育出版社,.

[13]东方华人.数据库开发[M]. 北京:清华大学出版社, .

[14]田原.程序设计教程[M].北京:清华大学出版社, .

[15]明月创作室.精彩变成百例[M]. 北京:人民邮电出版社,.

相关主题
文本预览
相关文档 最新文档