个人财务管理系统设计开发项目可行性研究报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
个人财务管理系统设计开发项目可行性
研究报告
摘要
当前社会,很大一部分年轻人对理财意识相对薄弱,知识匮乏。
与此同时,市场上的财务管理系统软件大多数是面向企业或特定用户的需求,面向普通用户的个人财务管理软件极为稀少。
为了满足普通用户的需求,开发了此软件。
个人财务管理系统的主要功能是实现财务管理的系统化,规范化,自动化。
此财务管理系统分为用户管理模块、系统管理模块、收支管理模块、接待管理模块、待购管理模块、资金管理模块、财务统计模块七个模块,实现账务提醒、用户管理、财务查询、统计分析等功能,帮助用户更好的管理个人财务。
个人财务管理系统基于, 以SQL Server 2012作为数据库工具,以Visual Studio 2012进行界面设计、系统设计与开发,设计完成的。
本报告采用生命周期法,“自顶向下”地完成对开发系统的了需求分析,得到系统的功能需求,随后对系统进行概要设计和详细设计,确定系统功能模块、基本流程、存储结构、基本界面等。
随后应用开发工具对系统进行设计、编码、调试等操作,最终实现个人财务管理系统的各个功能。
目录
摘要I Abstract 错误!未定义书签。
引言3 1 开发目的和核心技术介绍4
1.1 系统目的和目标4
1.2 开发工具简介5
1.2.1 Microsoft Visual Studio简介5
1.2.2 C#简介6
1.2.3 简介7
1.2.4 SQL Server 10
2 系统分析11
2.1 可行性分析11
2.2 用户需求分析12
2.3 业务流程分析13
2.4 数据流程分析14
3 系统总体设计15
3.1 系统总体结构设计16
3.2 功能模块设计16
3.3 数据类的设计18
3.4 数据库设计26
3.4.1 概念结构设计27
3.4.2 逻辑结构设计28
4 系统详细设计34
4.1 用户管理模块34
4.2 系统管理模块36
4.3 收支管理模块40
4.4 借贷管理模块41
4.5 待购管理模块43
4.6 资金管理模块45
4.7 财务统计模块46
5 系统实现47
5.1 界面实现47
5.2 功能实现49
6 系统测试52
6.1 测试目的和意义52
6.2 测试原则53
6.3 测试用例54结论57参考文献错误!未定义书签。
致谢错误!未定义书签。
引言
在平时的生活中,我们很多人缺乏财务管理的意识。
我们有多少钱,我们的钱都存在哪儿,我们把钱花在了哪儿,花的值不值,这些问题,只有一个模糊的认识。
由此常常会出现钱不够花的状况。
所谓开源节流,科学的财务管理对于我们来说非常重要。
如今社会高速发展,个人财务管理的重要性日益突出,
当今社会越来越朝着信息化数字化发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们每个人的生活都离不开计算机的帮助了。
越来越多的个人应用软件成为人们重要的助手,也在潜移默化的改变着我们的生活。
许多软件研发人员开始着手于财务管理系统的开发。
个人的财务管理也向着系统化、电子化发展。
但现今市场上个人的财务管理软件确很少且不完善,实际生活中经常要对个人的各项财务收支进行管理,本课题的目的就是利用计算机对各项财务进行电子化的管理,使我们的理财更加方便和理性化,提高我们生活的质量和品质。
我在在大学学到的编程方面的基本知识,加上实习过程中掌握的网络方面、,C#等新知识,使得开发一款能实现基本功能的个人财务管理系统成为可能。
这样可以帮助我们可以在之后利用计算机来管理日常开支、借贷等个人财务方面的工作。
在减轻个人财务管理的压力的同时,使财务管理更加专业化,自动化,理性化,以提升个人的生活态度、生活质量等。
1 开发目的和核心技术介绍
1.1 系统目的和目标
企业财务管理很重要,同样,个人的理财也占据同等甚至更高的地位。
日子就是靠过出来的,得精打细算。
因此,设计一款简单使用的个人财务管理系统来管理日常开支、借入借出、收支统计等十分有必要性。
个人财务管理系统主要解决的问题,及设计此款软件的目的由以下所述:
(1)计算机记录个人日常财务支出、借入借出、收入等相关信息,可以节省许多人力和物力,方便管理,由此可以减少纸笔等不必要的开支。
(2)系统生成财务统计相关信息,能够准确的统计用户在特定时间财务方面的相关信息。
个人财务的管理包括收入、支出、统计、预算等各个方面。
我通过对同事、同学调查问卷的方式调查身边人对财务管理方面的相关信息发现,身边大部分人没有严格的个人财务管理的概念,而其他部分人也仅仅是流水账的形式,对工资、支出等做统计,数据相对比较混乱,不易统计,由此,以年轻人为对象,设计一款能够科学地记账、财务统计、预算的软件来满足用户个人理财的需要。
此系统提供用户信息管理、开支收入记录、借入借出统计、账务查询、预算管理等功能,实现以下几个目标:(1)系统界面简洁美观,易使用、易维护,能够适用于非计算机人员使用。
能够完成对用户基本财务状况的存储和查询,并提供数据备份等系统维护功能,可以查找、修改、添加和删除用户个人财务信息。
从而使用户面对一个庞大的用户财务数据库,可以全面、准确、有效的处理财务管理的各种信息,及时掌握财务信息的动态变化,更方便地管理个人财务。
(2)可扩展性和包容性强。
系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的投资,特别是在应用需求变化时,有一个较好的应用平台,能容易地加以调整。
系统易于扩充升级,既能满足当前业务的需求,又能为今后的扩充留有空间。
(3)为用户提供良好方便的信息服务。
在财务信息标准化、规范化的基础上,对信息进行合理的布局,在提供优质、高效的业务管理和事务处理的同时,能够按照用户要求进行高效率的计算统计任务,使用户可以在这个平台上了解个人财务信息,自主的按分类查找信息,并且可以提供统计信息,使用户及时真实的了解自己的收入、支出和债务情况。
(4)可靠运行,安全保密。
可以使用网络加密保护,用来帮助尽可能地减少在公用网络和专用网络上传输敏感信息所带有的风险和权限限制等。
因此系统建设应具有安全高效的通信机制、身份认证、权限检查,以解决财务管理系统的安全性、保密性问题,防止非法侵入和信息泄密。
1.2 开发工具简介
本次毕业设计个人财务管理系统基于,以C#作为编程语言,以SQL Server 2012作为数据库工具,以Visual Studio 2012作为开发平台。
1.2.1 Microsoft Visual Studio简介
Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建Windows 平台下的Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office 插件。
Visual Studio是目前最流行的Windows平台应用程序开发环境。
最新版本为Visual Studio 2012 版本,基于.NET Framework4.5。
1.2.2 C#简介
C#是Microsoft在2000年七月推出.NET Framework 的第1版时提供的一种全新语言[1],是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。
它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。
使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。
C#使得C++程序员可以高效的开发程序,且因可调用由C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。
因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
1.2.3 简介
(Active Server )是微软公司基于.NET 4.0框架的新一代网络编程语言,也是目前最新的web技术之一。
[3]是的一部分,作为战略产品,不仅仅是Active Server Page (ASP) 的下一个版本;它还提供了一个统一的Web 开发模型,其中包括开发人员生成企业级Web 应用程序所需的各种服务。
的语法在很大程度上与ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
可以通过在现有ASP 应用程序中逐渐添加 功能,随时增强ASP 应用程序的功能。
是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括Visual Basic .NET、C# 和)创作应用程序。
另外,任何 应用程序都可以使用整个 .NET Framework。
开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
可以无缝地与WYSIWYG HTML 编辑器和其他编程工具(包括Microsoft Visual Studio .NET)一起工作。
这不仅使得Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web 页的GUI 和完全集成的调试支持。
微软为设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
1.2.3.1 简介
本系统数据存储在数据库中。
利用我们学过的SQL语法可以直接操纵数据库的数据,但系统页面也必须提供一个接口,以便连接数据库并执行SQL指令。
在.NET技术中协助我们连接数据库并执行SQL指令的机制就是。
[4]
在web的系统开发中,数据的操作占据了开发大量的工作,要操作的数据包括几个方面:存储在数据库中的数据、存储在文件中的数据以及XML数据,这其中最普遍的是操作存储在数据库中的数据。
提供了技术,是一组面向.NET 编程人员公开的数据访问服务的类。
提供了对关系数据、XML和应用程序数据的访问,是.NET Framework 不可缺少的一部分。
支持多种开发需求,包括创建由应用程序、工具、语言和Internet浏览器使用的前端数据库客户端和中间层业务对象。
组件是将数据访问与数据处理进行分离。
它通过两个主要的组件:.NET 数据提供程序(data provider)和Dataset 来完成。
下图1.1说明了数据访问与数据处理分离的概念。
图1.1 的组件结构图
图1.1是 的组件结构图,除了可以很清楚的看到其内部组成,还可以看到数据访问一般有两种方式:一是通过DataReader对象来直接访问的,另一种则是通过DataSet和DataAdapter来访问的。
体系结构的一个核心元素是. NET数据提供程序,它是专门为数据处理以及快速地只进、只读访问数据而设计的组件,包括Connection、Command、DataReader和DataAdapter 对象的组件。
具体如表1.1所示。
表1.1 数据提供者的对象
对象名称描述
Connection 提供与数据源的连接
Commander 用于返回数据、修改数据、运行存储过程以及发送或检索参
数信息的数据库命令
DataReader 从数据源中提供高性能的数据流
DataAdapter 提供连接DataSet对象和数据源的桥梁,使用Command 对
象在数据库中执行SQL命令,以便将数据加载到DataSet中,
并对DataSet中数据的更改与数据源保持一致
DataSet是 体系的另一个核心组件,它专门为各种数据源的数据访问独立性而设计的,所以它可以用于多个不同的数据源、XML数据或管理应用程序的本地数据、如内存中的数据高速缓存。
DataSet包含一个或多个DataTable 对象的集合,这些对象由数据行、数据列以及有关DataTable对象中数据的主键、外键、约束、关系信息组成。
它本质上是一个内存中的数据库,但从不关系它的数据是从数据库、XML 文件中、还是从这两者中或从其他什么地方获得。
1.2.4 SQL Server
SQL Server 是一个关系数据库管理系统。
它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。
[5]在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。
Sybase 则较专注于SQL Server在UNIX操作系统上的应用。
SQL Server 2012主要版本包括新的商务智能版本,增加Power View数据查找工具和数据质量服务,企业版本则提高安全性可用性,以及从大数据到StreamInsight
复杂事件处理,再到新的可视化数据和分析工具等,都将成为SQL Server 2012最终版本的一部分
2 系统分析
2.1 可行性分析
通过对个人财务管理系统的开发具有一定了解之后,现对开发此系统的可行性进行分析。
(1)技术的可行性分析
主要从事项目实施的技术角度,合理设计技术方案,并进行比选和评价;本系统主要采用数据库管理技术,SQL Server支持SQL Server 2000及之后各个版本,有相应操作系统与之匹配。
SQL Server能够处理相对大量的数据,它具备的灵活性、安全性、易用性等为数据库编程提供条件;硬件方面,该个人财务管理系统的运行功能相对比较简单,编码简洁,对内存、CPU占用都很小,对操作系统没有特殊要求,Window XP、Vista、Windows Server 各个版本都支持。
根据对个人财务管理系统基本需求分析,设计出系统基本功能,之后进行数据库相关设计,对其进行E-R图设计,得到几个基本实体,实体间关系及实体的基本属性,然后建立基本数据库及表。
系统设计平台选择visual studio,基于,用C#编程语言进行编程,设计个人财务管理系统各个界面,及其功能实现,如用户注册,登陆,功能主界面等。
所以,从技术的可行性上分析,本个人财务管理系统的设计是完全可行的。
(2)经济可行性分析
经济可行性分析需要估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用;估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
该个人财务管理系统是课程设计,所以无需考虑成本及运行后维护费用等投入,而本系统完成后,通过个人财务管理系统管理个人收入、消费、借入借出等财务信息,可以节省很多人力物力,且方便管理、备份及保存,提高管理效率,与此同时,应用该系统后,可以使得个人财务管理更加系统后、自动化,所以从经济可行性上分析是完全可行的
(3)法律及社会可行性分析
由于本系统应用正版软件开发,且不存在剽窃,在图书馆查询相关资料,因此不存在侵权等相关的法律问题。
个人财务管理系统是简单的财务管理方面的小程序,操作简洁、灵活,只需有基本计算机操作能力的用户就可以简单上手,界面友好,社会可行性高
综上所述,我开发的个人财务管理系统,技术、经济、技术和法律社会可行性都具备,可以进行设计与开发。
2.2 用户需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。
需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。
"唯一不变的是变化本身。
",同样需求也是在整个软件开发过程中不断
变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。
软件需求定义是软件设计开发阶段的输入,为需求被翻译成为可以使软件建构功能的代码发挥作用。
2.3 业务流程分析
用户首次使用个人财务管理系统,首先进入注册页面注册新用户,成功注册后,用注册用户登陆到系统主界面。
进入主界面后需首先到系统管理里面去添加账户类型,消费类型,收入类型,然后添加账户,之后再进入系统主界面去选择需要的功能。
如果要添加用户或修改密码进入用户管理模块进行相应操作;如果要记录及统计收支情况,进入收支管理模块,输入收入及消费支出的条目,及其所对应的账户名,系统会生成相应表格并自动同步账户中余额;如果要进行借贷管理,首先要进入联系人管理模块加入联系人相关信息,之后进入借贷管理模块,根据需求加入借入或借出条目,同样会生成表格及同步账户余额,待还款或收款后更改条目状态,账户余额会及时同步;如果最近有什么想要买的东西,可进入待购管理模块,加入相应记录,等资金允许进行购买后,可修改记录状态,同样会自动更新账户余额信息;如果要进行自己账户内部
完成上述记录输入后,在首页会有相应提醒,如某联系人要过生日了,准备礼物、催还款或收款等
2.4 数据流程分析
数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。
通过上述业务流程的分析来画个人财务管理系统的数据流程图,来确定系统数据的具体流入及流出,确定外部实体,划分个人财务管理系统具体模块及功能,主要模块分为资金管理模块、收支管理模块、借贷管理模块、待购管理模块、财务统计模块、系统管理模块、用户管理模块,其中用户管理及系统管理是其他模块的前提,经过分析绘制出出如下个人财务管理系统的数据流程图。
(1)个人理财管理系统的顶层数据流图,如图2.1所示,
是否已注册
输入用户名及
密码
是否匹配
进入系统主界
面点击注册进入注册界面
输入用户名及
密码
用户名已存
在
注册成功
是否
否
否
是
开始
结束
图2.1 个人财务管理系统顶层DFD
(2)个人财务管理系统数据流图第一层如图2.2所示。
是否已注册
输入用户名及
密码
是否匹配
进入系统主界
面点击注册进入注册界面
输入用户名及
密码
用户名已存
在
注册成功
是否
否
否
是
开始
结束
图2.2 个人财务管理系统第一层
3 系统总体设计
个人理财管理系统主要的工作流程就是输入相关记录信息,经过系统处理得到处理后的相关信息。
系统总体设计这一节就是来说明个人财务管理系统具体是用来做什么的,是如何实现其相关功能的。
即通过给出该系统的物理模型的方式来描述个人财务管理系统如何实现在系统分析中设计的各个功能。
系统总体设计阶段的主要内容包
括:结构设计、数据库设计等
3.1 系统总体结构设计
系统总体分为资金管理,收支管理,接待管理,代购管理,财务统计,系统管理,用户管理,七个主模块。
图3.1为其功能模式图,
是否已注册
输入用户名及
密码
是否匹配
进入系统主界
面点击注册进入注册界面
输入用户名及
密码
用户名已存
在
注册成功
是否
否
否
是
开始
结束
图3.1功能模式图
3.2 功能模块设计
根据系统分析中个人财务管理系统包含的功能,个人财务管理系统分为7个主模块,7个模块又可以分为多个子模块。
系统管理模块分为类别管理模块,账户管理模块,联系人管理模块。
类别管理模块是用来添加消费类型,收入类型,以及账户类型的,在使用此个人财务管理系统,
这一模块必须要提前设置。
账户管理系统是添加目前资金分布所在的账户信息的,此项跟类型管理模块一样,必须提前设置。
联系人管理系统是用来存储与登录用户相关的人员信息的,其中包含姓名,手机号,E-mail ,生日等信息,若要使用借贷管理模块功能,此项必须提前设置,若要使用首页的生日信息提醒功能,联系人中需要添加生日项纪录
用户管理模块分为注册模块,登陆模块,以及密码修改模块,在使用本系统是首先要注册一个用户,否则不能登陆到本系统。
注册完成后可以选择登陆,信息正确,登陆成功。
密码修改模块是用来修改当前登陆用户的密码的。
收支管理模块分为收入管理模块跟支出管理模块,分别记录收入跟支出的相关信息。
记录信息后,可以根据信息的id修改记录的相关信息。
并可以根据时间、类型、账户等信息来检索所需条目的信息。
借贷管理模块分为借入管理模块跟借出管理模块,分别记录借入跟借出的相关信息,如金额,取自账户或存入账户、借贷状态等信息,并可以时间、对象、状态来检索条目。
待购模块是用来记录当前未买而想要在之后购买或支出的条目信息,类似于购物网站的收藏夹,条目记录有金额、类型等信息,可以进行修改及删除,当购买后,信息会存入到支出模块,账户余额随之变化。
财务统计模块分为收支年度统计模块。
收支年度统计模块是以柱状图的方式来统计所选年份,收支的情况,方便之后更好的进行财务的管理。
资金管理模块分为资金分布模块和资金转账模块。
资金分布模块是以饼图的方式来显示当前自己拥有金钱的具体分布情况及比例,能让用户准确的知道自己到底有多
少钱,自己的钱在哪。
资金转账模块是用来管理各账户间资金的转账。
系统的总体功能结构图如图3.2所示,
是否已注册
输入用户名及
密码
是否匹配
进入系统主界
面点击注册进入注册界面
输入用户名及
密码
用户名已存
在
注册成功
是否
否
否
是
开始
结束
图3.2 总体功能结构图
3.3 数据类的设计
在系统分析阶段已经得出了个人财务管理系统数据的流程,现在具体对数据进行设计,得到如下的数据字典
表3.1为用户信息的数据字典,包括用户名,密码两个属性
表3.1用户信息的数据字典
数据项名内容举例类型取值范围备注
用户名Kira Char 最多50个字
符唯一
密码123 char 最多50个字
符
表3.2为消费类型的数据字典,包括,类型名,用户名,类型编号三个属性
表3.2 消费类型的数据字典
数据项名内容举例类型取值范围备注
类型名衣服char 最多50个字
符唯一
用户名kira char 最多50个字
符
类型编号 2 int 自动生成表3.3为收入类型的数据字典,包括类型名,用户名,类型编号三个属性
表3.3收入类型的数据字典
数据项名内容举例类型取值范围备注
类型名基本工资char 最多50个字
符唯一
用户名kira char 最多50个字
符
类型编号 2 int 自动生成表3.4为账户类型的数据字典,包括类型名、用户名、类型编号三个属性。
表3.4账户类型的数据字典。