财务管理系统毕业论文

财务管理系统毕业论文

FINANCIAL MANAGEMENT SYSTEM

[摘 要] 随着社会经济快速发展,财务部门已经成为企业经营管理的核心部门.而财务管理系统也变的越来越重要。一个好的、合理的财务管理系统对企业的长远发展有着极为重要的意义。

由于本人能力有限,本设计主要实现了财务管理系统的基本管理功能.主要功能包括:用户登录、权限管理、基本数据管理(包含科目设置、帐户设置)、凭证管理(包括凭证输入、凭证过帐)、帐簿查询(包含总分类帐、明细帐)、结帐及报表(包含试算平衡表、资产负债表、期末结帐)等功能。这些功能是最基本的部分。也反映企业的经济业务活动。
本设计所运用的Delphi开发工具是美国Borland Software Corporation公司新开发的产品功能强大,易用性以及在开发数据库和网络应用程序上有极大优势。在Delphi的开发环境中,用户可以设计程序代码、自动完成代码、运行程序、进行程序错误的调试等。Delphi的可视化的开发方法降低了应用程序开发的难度。
关键词:财务管理  会计科目  会计凭证  试算平衡表。
























[ABSTRACT] With rapid economic development, financial sector has become the core business management departments. and the financial management system has become increasingly important. A good, sound financial management system for the long-term development has a very important significance.
These design mainly realize the basic financial management functions  according to the limited capacity of myself. Main features include : User login and competence of management, and basic data management (including subject setup, account settings). document management (including the importation of documents and evidence over accounts), account inquiries (including general ledger and details) billing and statements (including Shisuanpingheng tables, balance sheets, billing period), and other functions. These functions are the most basic part. Also reflects the economics action of the business operations.
the application development tools of this design is Delphi 7.0 which is new powerful products developed by Borland Software Corporation companies , it have great advantages in developing  databases management  system and network applications. The Delphi development environment, users can design code, automatic code completion, operating procedures, procedural error debugging, and so on. Delphi visualization of the development of ways to reduce application development more difficult.     
Keywords : financial management, accounts, accounting documents, Shisuanbengheng table.
















目  录
前  言        5
第1章   运行环境与项目背景        6
1.1  Delphi 7简介        6
1.2  Delphi开发窗体的功能介绍        6
1.3  项目背景        8
第2章   财务管理        9
2.1  财务管理概述        9
2.2  会计的理论基础        9
2.2.1  会计对象        9
2.2.2  会计的职能        9
2.2.3  会计核算方法        10
2.2.4  会计科目        11
2.2.5  账户        11
2.2.6  会计科目与账户的关系        12
2.2.7  试算表与试算平衡        12
2.2.8  结算与会计报表        12
第3章   财务管理系统的需求分析        13
3.1  用户登录与权限管理        14
3.2  基础资料维护        14
3.3  凭证管理        14
3.4  帐簿管理        15
3.5  报表管理        15
3.6  期末处理        16
3.7  工资管理        16
3.8  固定资产管理        16
3.9  财务管理系统数据库的分析、连接        17
3.10 财务管理的E-R图        18
第4章  本设计主要实现的功能        19
4.1  程序开发        19
4.1.1  程序开发主界面        19
4.1.2  系统登录框        21
4.1.3  权限管理        23
4.1.4  科目设置        24
4.1.5  帐户设置        29
4.1.6  会计凭证输入        31
4.1.7  凭证过帐        32
4.1.8  总分类帐        33
4.1.9  明细帐        33
4.1.10  试算平衡表        34
4.1.11  结帐及报表        35
4.2  系统的扩展        36
总  结        37
致谢词        38
[参考文献]        39
附录        40









































前  言
随着科学技术的不断发展,计算机科学日渐成熟,其强大的功能已得到人们的充分认可,在社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对企业或事业单位的各项事务进行科学化的管理有着无法比拟的优点。如:查找方便、迅速、可靠性高、存储量大、保密性好、寿命长、成本低等等。这些优点不仅提高了公司的工作效率,也提高公司科学化管理、正规化并逐渐与世界接轨。
在当今飞速发展的信息时代,在各种行业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,既提高了工作效率,又提高了其安全性。
    尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好财务信息而设计的。
    财务部门作为企业的经营管理的核心部门,其会计电算化的应用决定着一个企业信息系统实施成败的关键。传统的会计档案包括原始凭证、记帐凭证、日记帐、明细帐、总帐以及报表等,一个单位每个会计期间的会计档案都要按一定的要求排列,连同各种附件定期加具封面,装订成册,耗费了大量的时间和空间,查找十分不便,又易于毁坏。会计电算化是以计算机为工具,运用会计所特有的方法,对企业的经营活动情况进行反映和监督,所以它既是提供以财务信息为主的信息系统,同时又是参与管理的一种管理活动。会计电算化的职能是反映和监督,它的内容是核算和管理,因此会计电算化一般分为会计电算化核算子系统和会计电算化管理子系统,目前又出现了更高层次的会计决策支持子系统。通过会计核算来反映企业的经营活动情况,通过会计管理来监督企业的经营活动情况,通过会计决策来参与企业管理。
通过上述的内容,我们了解到了一些财务管理遇到的困难,还有哪些因素决定着企业的经营活动。为了解决所遇到的困难,因此特意设计本财务管理系统。













第1章    运行环境与项目背景
1.1  Delphi 7简介
Delphi是美国Borland Software Corporation公司的编程工具产品。Borland公司的创始人Philippe持旅游证和2000美元从法国到美国硅谷开办了这个公司,开发出了Turbo Pascal,从而发迹成了百万富翁。
   Object Pascal的下一代就是Delphi。1995年出的Borland Delphi 1.0 果然不负所望,他最大的特点之一是全面更新了OWL,取而代之的是全新的Visual Component Library,简称VCL.从此开始了构件的时代,其意义十分深远,Delphi宣扬的RAD就是基于VCL的。可以这么说:Delphi的精华在于VCL,基础则是Object Pascal。
Delphi凭借其强大的功能,易用性以及在开发数据库和网络应用程序上的极大优势,先后在底端战胜了VB,在高端战胜了PowerBuilder,成为了Windows平台下最好的开发工具之一。
Delphi之所以为Windows下的快速应用程序开发工具,是和它的集成开发环境分不开的。这一环境为应用程序设计人员提供了一系列灵活的工具,可以广泛的应用到程序设计。
在Delphi 7 的集成开发环境中,用户可以设计程序代码、自动完成代码、运行程序、进行程序错误的调试等,可视化的开发方法降低了应用程序开发的难度。
1.2  Delphi开发窗体的功能介绍
   现在我们对Delphi 7企业版的可视化集成开发环境和它的重要开发窗体进行简单的介绍:
(1)Delphi 7的安装和启动
Delphi的安装和其他软件的安装一样,把安装盘放入光盘驱动器,根据安装向导一步一步的点击下一步就可以了。安装完后就可以启动Delphi了。
(2)Delphi 7中常见的文件格式
在Delphi中我们经常看到不同的文件格式,其中最常见的文件格式有几种:
代码文件(.pas) 代码文件记录了程序代码的逻辑实现部分,一个程序包括一个或多个代码文件,是程序的主体。代码文件时已pas为文件的后缀名。
窗体信息文件(.dfm) 窗体信息文件就是用来记录组成应用程序的窗体以及各种控件的属性信息的,是以dfm为文件的后缀名的。
项目文件(.dpr) 一个应用程序可以有多个代码文件、窗体信息文件或自愿文件,但只会有一个工程文件,它是该应用程序的标志。项目文件时在设计时创建的,他的扩展名是.dpr。这个文件是主窗体文件。项目文件是主窗体以及其他自动创建的窗体实例化的地方。一般不需要编辑项目文件,除非要执行程序初始化例程、显示启动画面或执行其他必须在程序启动时运行的例程。
资源文件(.res)资源文件中包含了二进制数据,这些资源将连接到应用程序的可执行文件中。资源文件一般是由Delphi自动创建的,包含应用程序的图标、应用程序的版本信息及其他信息。
包文件(.dpk&.dpl)包类似于动态连接库,它的代码可以被多个应用程序共享。不过,包是Delphi特有的,用于共享组件、类、数据和代码。把组件放到包中,而不是连接到应用程序中可以大大减少应用程序的长度。包的资源文件的扩展名为.pdk,编译后就会生成一个.dpl文件。这个.dpl文件有若干个单元或.dcu文件组成。
(3)Delphi 7的帮助系统
在Delphi 7安装目录下有一个Delphi 7帮助文件(Demos目录),里面的实例程序涵盖了Delphi 7的绝大部分功能。
(4)菜单栏
Delphi 7的功能几乎全体现在菜单上。通过菜单可以执行集成开发环境中的绝大部分命令,如创建、打开、或保存,挑用向导,查看其他窗口,修改选项等。Delphi 7在主菜单栏中将Component(组件)和Database(数据库)作为独立的菜单项列出来。可以看出来,利用Delphi 进行程序开发,组件和数据库将是两个重要的工具。
(5)工具栏
Delphi 7工具栏位于主窗口内,实际上是提取了Delphi 7最常用的菜单选项构成的利用这些工具栏,用户可以快速访问经常用的操作和命令。
(6)组件板
VCL是Delphi 的精华所在,而组件板是存放这些VCL组件的地方。组件板提供了开发应用程序的常用组件,在利用Delphi 开发应用程序的过程中,正确、合理、恰当地使用组件是非常重要的。
(6)对象目录树
对象目录树是用来显示窗体中的所有对象,它还可以层次方式表达组件之间拥有者的关系。它实际上是和对象查看器相关联的,我们可以通过它快速的找到某一个组件及相关组件,然后在对象查看器中进行对象属性的修改。
(7)对象查看器
      对象查看器位于窗体的左下侧,是由对象下拉列表框、属性选项卡和事件选项组成。下拉列表框显示了窗体中的可供选择的控件,属性选项卡显示了窗体中当前所选对象的属性,事件选项卡显示了窗体中当前所选对象可以响应的事件。
(8)窗体设计器
窗口是开展大部分设计的工作区域。窗体设计器位于工作区,覆盖在代码编辑窗口的上面。窗体包括用户在运行时将见到的内容和界面。启动新项目时,窗体的标题默认为“Form1”。当启动Delphi 7时,窗体窗口和它的可视对象成为应用程序的焦点,出现在最前面。
    我们可以把组件放到窗体中,通过移动位置、改变尺寸等操作随心所欲的安排它们,以此来开发应用程序的用户界面。。
(9)代码窗口
代码编辑器窗口是一个多选项卡窗口。默认时,窗口包含主代码单元的单个选项卡,如果当前项目含有多个代码单元,代码编辑器将包含多个选项卡,可以分别单独访问这些代码单元。
代码窗口一开始处于窗体窗口之下。因为在Delphi 中,设计用户界面直接在窗体中进行,运行结果和设计样板完全一致。当部件放到窗体上时,Delphi 会自动生成大部分的用户界面代码。你应做的只是在它为你生成的框架中输入完成所需功能的程序而已。
   当代码出现错误时,在代码编辑器窗口底部的状态栏提供有关的当前文件光标位置、修改、保存状态和插入模式等信息。
1.3  项目背景
山东荣庆汽车服务有限公司成立于1991年,有最初从事汽车运输及汽车配件贸易,发展成现有拥有3家汽车用品直营连锁店,一家汽车修理厂,两家快修店,一家二手交易公司,一个汽车培训学校。近些年有又引见了国外的连锁经营方式,借鉴了仓储超市的经营理念及国内大型民用超市的管理经验。开办了汽车连锁店。连续开办了两家连锁店。公司计划在2015年再发展四家连锁店。逐渐打开鲁南地区的汽车服务市场。


第2章   财务管理
2.1  财务管理概述
随着社会经济的快速发展,财务管理已经成为企业管理的重要的一部分,因为财务管理与经济或财富的保值增值有关,是企业财富的决策,企业生存、发展、获利的总目标离不开财务的筹资、投资以及对资金的运用管理。其次,财务管理目标是制定生产目标、销售目标等一系列目标的基础和前提,这使得财务管理在企业管理中处于一个核心地位,财务管理目标将从根本上反映企业的总目标。所以确定一个合理的财务管理目标对企业的长远发展有着极为重要的意义。
   在电视与报纸上我们经常会看国外的一些著名企业财务出现作假事件。这样事件发生后对企业经济都有很大的打击甚至是致命性的一击,让企业瞬间破产或倒闭。在全球经济一体化的今天,也警示着中国企业的决策者们,要让更多的职业经理人具有一双能够识别伪装的慧眼,使企业能够防患于未然,将风险降的最小。目前在我国有许多的企业面临着许多的问题,最普遍的是企业的经营决策仅凭经验感性判断,缺乏必要的理论指导和定量分析,财务会计信息资源没有得到充分的利用。
   财务管理是为实现企业的目标服务的,并受财务管理内容的制约。基本任务是依法合理筹资并有效的利用企业的各项资产,最终提高效益。企业财务管理的任务有以下几个方面:
   1 依法合理的筹集资金,满足企业资金需要量。
   2 有效地分配和使用企业资金,提高资金利用效率。
   3 分配企业的收益,协调各方面的经济关系。
   4 实行财务监督,维护财经法规。
2.2  会计的理论基础

2.2.1  会计对象  
会计是以货币的形式对经济活动进行反映。而会计对象就是会计核算和监督的内容,就是说,会计对象是扩大再生产过程中的资金运动,企业的会计对象是企业经营活动中的资金运动。企业的资金运动在经营活动中表现为各种经济业务,企业会计对象又具体表现为反映企业资金运动的企业经营活动中的经济业务。会计对象的经济业务,按性质分类,就形成了会计对象的要素。会计对象的要素包括资产、负债、所有者权益、收入、费用、利益等。
2.2.2  会计的职能
会计职能是会计应发挥的作用或应有的功能。会计的职能有两项,即会计核算职能和会计监督职能。会计核算的内容是会计对象要素,具体表现为经济活动中的各中经济业务,包括
(1)        款项和有价证券的收付
(2)        财务的收发、增减和使用
(3)        债权债务的发生和结算
(4)        资本、基金的增减和经费的收支
(5)        财务成果的计算和处理
(6)        其他需要办理会计手续、进行会计核算的事项
会计核算要做到真实、准确、完整和及时。会计核算是一个过程,在企业中,经济业务发生后,要填写原始证件,编制记帐凭证,根据记帐凭证登记会计帐簿,根据会计帐簿和有关资料编制会计报表。
    会计监督是指依据监督标准,对企业、事业等单位的资金运动进行的指导、控制和检查。
会计监督的对象是资金运动,而资金运动在企业中主要负责筹集资金、使用资金和收回资金。会计对资金运动的监督有以下表现:
(1)        监督经济业务的真实性
(2)        监督财务收支的合法性
(3)        监督公共财产的完整性
2.2.3  会计核算方法
   (1)设计会计科目和账户
会计科目就是对会计对象的具体内容进行分类核算的项目,而设计会计科目就是在设计会计制度时事先规定这些项目,然后根据它在账目中开立账户,分类、连续地记录各项经济业务,反映由于各经济业务的发生而引起的各会计要素的增减变动情况和结果,为经营管理提供各种类型的会计指标。
(2)复式记帐
复式记帐是与单式记帐相对应的一种记帐方式,这种记帐方法的特点是对每一项经济业务都要以相等的金额同时记入两个或两个以上的有关帐户,这种方式的优点是通过帐户的对应关系,可以了解有关经济业务的内容的来龙去脉,通过帐户的平衡关系,可以检查有关业务的记录是否正确。
(3)填制和审核会计凭证
   会计凭证是记录经济业务,明确经济责任的书面证明,也是登记帐簿的依据。业务发生后,首先要取得凭证,凭证必须要经过会计部门或有关部门的审核,只有经过审核并认为正确无误的会计凭证才能作为记帐的依据,而作为会计核算的方法,填制和审核凭证不仅为经济管理提供真实可靠的数据资料,也是实行会计监督的一个重要的方面。
(4)登记会计帐簿
帐簿是用来全面、连续、系统的记录各项业务的簿籍,是保存会计数据资料的重要工具。而登记帐簿就是将会计凭证记录的经济业务,序时分类的记入有关簿籍中设置的各个帐户。登记帐簿必须要以凭证为根据并定期进行结帐、对帐以便为编制会计报表提供完整而系统的会计数据。
(5)成本计算
成本计算就是指在生产经营过程中按照一定的对象归集和分发的各种费用支出,以确定对象的总成本的单位成本的一种专门方法。通过成本计算可以确定材料的采购成本、产品的生产成本和销售成本,也就是说,在这种生产经营过程当中,既要计算材料的采购成本,也要计算产品的生产成本和销售成本。通过成本计算,可以反映和监督生产过程中发生的各项费用是否节约或超支,并裾此确定企业的经营盈亏。
(6)财产消息
    财产清查是指通过盘点实物、核对帐目、保持帐实相符的一种方法。在清查过程中发现财产物资与货币资金的实有数与帐面结存数额不一致,应该及时查明原因,通过一定的审批手续进行处理,并调整帐簿记录,是帐面数额与结存数额保持一致从而保证会计核算资料的正确性和真实性。
   (7)编制会计报表
会计报表是根据帐簿记录定期编制的。它是一种总括并反映了企业或行政事业单位在特定时点和一定时期的财务状况、经营成果以及成本费用等的书面文件。会计报表提供的资料不仅是分析考核财务成本计划和预算执行情况,以及编制下期财务成本计划和预算的重要依据,也是经营决策必要的参考资料。
    这些方法反映了会计核算的过程。在会计核算过程中,填制和审核会计凭证是开始环节。登记会计帐簿是中间环节,编制会计报表是终结环节。在一个会计期间所发生的所有经济业务都要经过这三个环节进行处理,将大量的经济业务转换为系统的会计信息,这个转换过程就是从填制和审核凭证到登记帐簿,直到编制出会计报表,。经济业务发生后,经办人员要添置或取得原始凭证,经会计人员审核整理后,按照设置的会计科目,运用复式记帐法编制记帐凭证并登记帐簿,要依据凭证和帐簿记录对生产经营过程中发生的各项费用进行成本计算,并依据财产清查对帐簿记录进行核对,在保证帐实相符的基础上定期编制会计报表。
2.2.4  会计科目
我国的企业会计准则将会计要素划分为资产、负债、所有者权益、收入、费用和利润六个要素,这些要素对应不同的会计科目。会计科目是对会计对象具体内容及会计要素进一步分类核算的项目。为了全面系统地反映和监督各项会计要素的增减变动情况,分门类别地为经济管理提供会计核算资料,就需要设置会计科目。设置会计科目就是通过会计制度预先规定这些项目的名称,并限定其核算的内容范围,它是设置账户、处理帐务所必须遵守的规则和依据,是正确组织会计核算的一个重要条件。如为反映和监督各项资产的增减变动,设置了现金、材料、长期投资、固定资产等科目;为反映和监督负债的所有者权益的增减变动,设置了短期借款、应付账款、长期借款和资本公积、盈余公积等科目。为反映和监督收入费用和利润的增减变动设置了产品销售收入、生产成本,本年利润和利润分配等科目。
2.2.5  账户
设置会计科目只是规定了对会计对象具体内容进行分类核算的项目,而为了及时、连续、系统地纪录由于经营业务的发生而引起的会计要素的增减变动,提供各种会计信息,还必须根据规定的会计科目在账簿中开设账户。账户是对会计要素进行分类核算的工具,它应该以会计科目作为它的名称并具有一定的格式。账户的设置也与账户的次级有关,也是说根据总分类科目开设总分类账户,根据明细科目开设明细账户。由于总分类账户提供的是总括核算指标,因而一般的用货币计量。而明细账户提供的是明细分类核算指标,因而除了用货币量度外,有的还用实物量度,进行辅助计量。
    账户是用来分类记录经营业务的,具有一定的结构。由于经济业务发生所引起的各项会计要素的变动,从数量上来看,不外乎是增加和减少两种情况。因此账户结构也相应地分为两个基本部分,一是登记增加额,二是登记减少额。如银行存款和应付款的账户,账户要依附于账簿开设,每一个账户只表现为账簿中的某些帐页,它们应该包括账户的名称、日期和摘要、增加和减少的金额及余额、凭证号数等。
2.2.6  会计科目与账户的关系
会计账户和会计科目是两个既有区别又相互联系的概念,她们的关系是:账户是根据会计科目设置的。会计科目就是账户的名称,设置会计科目和开设账户的目的都是为了分类提供信息,两者反映的经济内容是一致的。区别是:会计科目仅是分类核算的项目,而账户既有名称又有具体结构;会计科目是进行分类核算的依据,而账户则是纪录经济业务的载体。在实际工作中,会计科目和账户是相互通用,不加区别的。
2.2.7  试算表与试算平衡
把整个会计期间的会计分录,从会计凭证全部过入分类帐后,个分类帐就已经记录和反映了当期的经济业务。为了验证各分类帐登记和过帐的会计处理的正确性,根据“有借必有贷,借贷必相等”的平衡原理,编制“试算表”进行试算平衡,同时也为编制财务报表作好了。
2.2.8  结算与会计报表
为了总结一定时期财务状况和经营成果的大小,企业一般在会计期末进行结帐。结帐是一项将帐簿记录定期结算清楚的财务工作。结帐后会形成该会计期间的会计报表,常用的会计报表有损益表和资产负债表。

















第3章 财务管理系统的需求分析

通过第二章对财务管理内容的分析和会计基础知识的介绍,一个标准的财务管理系统应该包括如图3-1所示的几大功能。除此之外系统还应包括信息系统具备的通用功能,如系统管理、权限设置等。











图3-1 系统功能结构图

财务管理系统基本流程图是图3-2
                                   


















图3-2 系统基本流程图

3.1  用户登录与权限管理
“用户登录”是财务系统安全的第一步,也是所有系统都必须具备的一个功能。也是企业为了财务管理而指定一些财务管理人员。以确保企业财务的安全,避免出现假帐现象。
“权限管理”是企业为财务管理人员而设计的一项权限功能。在企业中,不同的财务管理人员有不同的财务管理权限,比如在企业中,系统管理人员与普通管理人员就有不同的管理权限。
3.2  基础资料维护
“基础资料维护”用于对会计科目、核算项目以及凭证、帐簿、固定资产等项目进行初始化设置,这些设置一般不轻易改动,包括的功能模块如图图3-3。










图3-3 基础资料维护结构图
其中“会计科目”是基础资料的重点,财务软件的使用离不开科目的正确设置,其内容包括科目代码、科目名称、助记码、科目类别、是否存货科目、余额方向、数量单位等。也是设计的重要对象。
3.3  凭证管理
  “凭证管理”用于完成凭证制定、审核、记帐、查询等功能,自动生成各种会计帐,包含的功能模块如图3-4










图3-4 凭证管理结构图
其中“凭证输入”是凭证管理的重点,在凭证输入模块中将实际业务的分录输入到计算机,内容包括凭证状态、会计期间、凭证字号、凭证编号、顺序号、日期、附单据、审核、过帐、制单、借方合计、贷方合计、过帐状态、顺序号码等。一张凭证对应多个分录,分录包括分录编号、会计期间、凭证字号、凭证编号、摘要、科目代码、借方、贷方、数量、单价、结算方式、结算号、结算日期等。“凭证输入”是本设计的重点设计对象。
3.4  帐簿管理
“帐簿管理”用于提供各种帐务处理查询筛选的功能,功能模块如图3-5。总帐可按科目级别、币别、科目范围等查询:明细帐可按期间范围、币别、科目范围查询:还提供多栏帐、数量金额明细帐、核算项目分类等帐簿报表。本设计主要对总分类帐和明细帐进行设计。













图3-5 账簿管理结构图
3.5  报表管理
“报表管理”用于报表的定义、编制和输出。企业会计核算的结果最后需要用报表的形式反映出来,一般包括帐务报表处理、汇总报表处理、合并报表处理等。一般财务系统预设资产负债表、损益表、利润分配等各种报表。在本设计中我们主要对资产负债表和损益表进行设计。如图3-6











图3-6 报表管理结构图
3.6  期末处理
“期末处理”是系统总结某一会计期间的经营活动情况,转至下一期的必须做事项。同时该模块在结帐前,按企业财务管理和成本计算的要求,必须进行制造费用、产成品成本的结转、其摸期末调汇及损益结转等工作,功能模块如图3-7
3.7  工资管理
“工资管理”用于进行企业工资的发放和核算,工资动态变动管理,工资费用计提与分配、银行代发等:一般包括几基础设置、工资结构设置、工资变动管理、工资数据处理、工资报表管理等功能,功能模块如图3-8。










图3-7期末处理结构图












图3-8工资管理结构图
3.8  固定资产管理
“固定资产管理”用于管理、核算固定资产增减变化、变动、以及折旧的计提、转帐等,一般包括如图3-9所示的功能模块。允许不同的固定资产采用不同的折旧方法,提供固定资产卡片自定义设置功能和灵活的报表查询系统。














图3-9固定资产管理结构图
3.9  财务管理系统数据库的分析、连接
一个基本的财务管理系统数据库中大致包括一百多张表,分别存放相应字功能的数据信息,其中“科目表”是关键表,用于存放科目的信息。其他涉及科目的信息的数据表,都记录科目的代码,作为外键的“科目代码”字段相对应。因此“科目表”和其他数据表间的关系是1:N的关系。
数据库的连接:在运行我们的程序时会涉及到数据的调用和表与表之间的连接,因此我们要连接数据库。在我们的系统程序中都有建库脚本。“开始”    “程序”   “SQL Server” 点击“企业管理器”就打开SQL数据库,点击左边的“SQL Server组”然后出现“LOCAL”再点击它就出现“数据库”。再点击右键建立数据库命名为“caiwubook”点击“确定”,然后再右键点击“数据库”在所有任务中左键单击“还原数据库”出现还原数据库窗体,输入“caiwubook”在还原栏中点击“从设备”在出现的框中点击“添加”选择数据库脚本所在的路径(caiwubook.bak),一直单击“确定”。会出现“数据库caiwubook顺利还原成功”。此时你的数据库就在本机建立了连接。
由于在进入我所设计的系统时有合法用户的验证,因此,我们要在“caiwubook”加入一个用户表。在系统设计过程中调用该表,判断输入的是否是合法的用户。













3.10 财务管理的E-R图




































第4章  本设计主要实现的功能

  由于本人能力有限,只实现如图4-1所示的功能:
























图4-1系统功能实现结构图

在进行系统开发之前首先要创建数据库,前面我们已经讲叙了是怎么样实现的。在数据库中要创建数据表有科目表、凭证表、分录表和其他关键数据表。还涉及到主键与外键等表约束,存储过程等。
4.1  程序开发

4.1.1  程序开发主界面
本设计在程序结构上采用了MDI模式,这种方式模式结构比较清晰简单,每一个功能都对应一个子窗体。主界面如图4-2
图4-2 程序开发的主窗体图
在创建主窗体时,要在窗体中加入几个重要的控件如TADOCommand、TADOQuery等。主窗体程序要判断它的子窗体是否存在和系统参数的保存程序如下:
在public中加入   
    //para用于保存系统参数,FindForm用于寻找MDI子窗体,setpara用于更新para的值
    para:Ttable;
    function FindForm(caption:string):bool;
    procedure setpara();
//通过用户定义的函数,判断窗体是否已存在
function Tmain.FindForm(caption: string): bool;
var
i:integer;
begin
   for i:=0 to main.MDIChildCount do
    begin
    // 通过对窗体标题判断窗体是否存在
     if main.MDIChildren
.Caption=caption then
      begin
      //如果窗体已存在,则恢复窗体,并返回true
      SendMessage(mdichildren
.Handle, WM_SYSCOMMAND, SC_restore, 0);
      mdichildren
.Enabled:=true;
      mdichildren
.Show;
      mdichildren
.SetFocus;
      result:=true;
      break;
     end
    else
     //如窗体不存在,则返回false,程序将创建窗体
      result:=false;
  end
end;
//----该函数的作用是保存系统参数表中的参数,并在调用前更新
procedure Tmain.setpara;
var
i:integer;
begin
   adoquery3.Active:=false;
   adoquery3.Active:=true;
   i:=0;
while not adoquery3.Eof do
  begin
   //保存系统参数
   para
:=adoquery3.FieldByName('取值').AsString;
   i:=i+1;
   adoquery3.Next;
end;
end;
窗体的显示的程序如下:
//显示会计科目设置窗体
procedure Tmain.N2Click(Sender: TObject);
var
newform:TSecSetting;
begin
if findForm('会计科目设置')=false then
   begin
    //若窗体不存在,则创建窗体
    newform:=Tsecsetting.Create(application);
    newform.Caption:='会计科目设置';
  end;
end;
其他的窗体显示与上面的程序相似,只是newform后的窗体名不同。就不在一一列举。

4.1.2  系统登录框
通过主窗体我们可以看到,并不是所有的菜单都可用,只有“用户登录”与“退出系统”才可用。如果想进入系统必须要通过用户的合法性验证,除非用户输入正确的用户编号与密码,否则将无法使用进一步的程序功能。当用户点击用户登录时将出现如图4-3所示



















图4-3 系统登录框图
输入正确的用户编号与密码点击“确定”。在所有的系统中权限管理都是必不可少的。在设计用户登录时就加权限设置,在财务管理系统中,把用户分为“系统管理员”与“普通管理员”如果登录的是“系统管理员”则所有的菜单选项都可用,如是“普通管理员”只能有一部分功能键可用。实现功能的程序如下:
procedure Tlogin.Button1Click(Sender: TObject);
begin
  with datamodule1.ADOQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add('select * from 用户表 where 用户编号='''+edit1.text+'''');
      open;
      if IsEmpty then
        messagedlg('用户不存在,请与管理员联系',mterror,[mbOK],0)
      else
        if edit2.Text=trim(FieldByName('密码').AsString) then
          begin
            button2.Click;
            if FieldByName('用户类型').AsString='系统管理员' then
              begin
                main.n14.Enabled:=true; //功能键不可用
                main.n1.Enabled:=true;
                main.n4.Enabled:=true;
                main.n10.Enabled:=true;
                main.n7.Enabled:=true;
             end;
           if FieldByName('用户类型').AsString='普通管理员'  then
             begin
               main.n14.Enabled:=false;
               main.n1.Enabled:=false;
               main.n4.Enabled:=false;
               main.n10.Enabled:=true;
               main.n7.Enabled:=true;
            end;
         end
       else
         begin
          messagedlg('密码输入错误,请重新输入!',mterror,[mbOK],0);
          edit2.Clear;
         end;
      end;
end;
4.1.3  权限管理
我们以系统管理员的身份登录到系统中,点击“权限管理”在设计中规定只有经“系统
管理人员”同意“普通管理员”才可修改密码。“系统管理人员”可用授权“普通管理人员”为系统管理的权限。因此在财务管理中一定要有严格的控制管理。程序实现代码如下:
procedure Tpasschange.Button1Click(Sender: TObject);//修改键的功能
begin
  with datamodule1.ADOQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add('select * from 用户表 where 用户编号='''+edit1.text+'''');
      open;
      if IsEmpty then
        messagedlg('用户不存在,请与管理员联系',mterror,[mbOK],0)
      else
        if edit4.Text=trim(FieldByName('密码').AsString) then
          if edit2.Text<>edit3.Text then
            begin
              messagedlg('密码输入不一致,请重新输入!',mterror,[mbOK],0);
              edit2.Clear;
              edit3.Clear;
            end
          else
            begin
              edit;
              FieldByName('密码').AsString:=edit2.Text;
              FieldByName('用户类型').AsString:=combobox1.text;
              post;
              if messagedlg('设置修改成功!',mtinformation,[mbOK],0)=mrok then
                button2.Click;
            end
         else
            begin
              messagedlg('密码输入错误,请重新输入!',mterror,[mbOK],0);
              edit4.Clear;
            end;
      end;
end;
“取消”只要把输入的内容清空就可用了。如edit1.clear等。
4.1.4  科目设置
选择“基础数据管理”   “科目设置”菜单命令,将打开如图4-4的窗体,在窗体中,
可以对对会计科目的各项基础信息进行管理。其中“科目类别”选项组表示该科目所属的类别,有资产、负债、权益、损益和成本选项。一般资产类科目余额方向为借方,负债和权益科目余额方向为贷方,但也不是绝对的,其中也有一些例外的情况,如“坏帐准备”的科目余额方向则为贷方。















图4–4 科目设置框图
该窗体还设有搜索功能,在窗体中的文本框内输入科目代码,科目名称或类别中的任何一项或几项,再单击“搜索”,在窗体左边的表格中得到与设定的搜索条件相符的结果。同时窗体中显示当前表格中的数据总数。除搜索一栏的文本框外,窗体中的表格,数据文本都是不可用的,只有当“新增”与“修改”按钮按下时才可用,当单击“保存”或“取消”按钮后,它们又恢复只读状态。需要对数据表中的数据进行修改或新增数据时,单击相应的按钮,输入新的信息后单击“保存”即可,需要删除一条信息时,单击“删除”按钮。
在此窗体以后的设计中要涉及到表与表之间的连接。在这里我们详细的介绍设计过程:



















                          图4-5 会计科目设置控件添加框图
新建一个窗体,将窗体的Name属性设置为“SecSeting”,Caption属性设置为“会计科目设计”。把“Project”   “Option…”菜单命令,将SecSeting窗体从自动创建的窗体列表中删除,将窗体保存为“SecSetingForm.pas”。为窗体填加如图4-4所示的控件。其中除了搜索栏的编辑框属性Edit控件外。其他的编辑都属于DBEdit控件。所有数据控件的DataSet都设置为DataSource1各控件属性如下表所示。

控件类型        对象名        属性        取植
TForm        SetSeting        Name        SecSeting
                Caption        会计科目设置
                FormStyle        fsMDIChild
                Position        poDesktopCenter
DataSouce        DataSource1        DataSource        ADOQuery1
TADOQuery        ADOQuery1        ConnectionString        连接数据库名为caiwubook
                SQL        Select*form 科目表
                Active        True
TADOQuery        ADOQuery3        ConnectionString        连接数据库名为caiwubook
TDBRadioGroup        DBRadioGroup1        Items        资产负债权益成本
TDBRadioGroup        TDBRadioGroup2        Items        借方贷方
在这里说明窗体中ImageList和ToolBar中ToolButton的设置方法:
首先双击这个控件,弹出下图所示对话框,单击Add..按钮,将我们准备好的图标一一添加,在对话框中可以看到我们添加的图标。然后将ToolBar的Images的属性设为ImageLest1后,在ToolBar上再右击,在弹出的菜单中选择New Button或New Separator可以在工具栏上添加按钮或分隔符,按钮图标就是在刚才的ImageList中加入的图标。当我们把所有是图标和控件全加上以后我们就要实现它们的各个功能,实现程序如图4-6下所示:









图4-6 菜单图标添加对话框
由于篇幅限制,有系统自动生成的代码,我们在这里就不一一列出,只把主要的程序内容显示出来:
  在public中加入 procedure SetToolBar(isEnable:bool); //设置函数作用
var
  SecSetting: TSecSetting;
implementation
   uses datamodule;
{$R *.dfm}
//设置关闭窗体的模式
procedure TSecSetting.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure TSecSetting.DataSource1DataChange(Sender: TObject;Field: TField);
begin
   //显示数据数量
   label2.Caption:=inttostr(adoquery1.RecordCount);
   //设置数据表宽度
   dbgrid1.Columns[0].Width:=60;
   dbgrid1.Columns[1].Width:=90;
end;
//专门写一个函数来实现工具栏按钮的设置。
procedure TSecSetting.SetToolBar(isEnable: bool);
begin
    if isEnable=true then
   begin
   //将首记录等记录移动按钮设置为不可用
   toolbutton1.Enabled:=false;
   toolbutton2.Enabled:=false;
   toolbutton3.Enabled:=false;
   toolbutton4.Enabled:=false;
   //将新增修改等按钮设置为不可用
   toolbutton6.Enabled:=false;
   toolbutton7.Enabled:=false;
   toolbutton8.Enabled:=false;
   //将保存和取消按钮设置为可用
   toolbutton10.Enabled:=true;
   toolbutton11.Enabled:=true;
   //将窗体内的数据显示控件设为可读
   dbedit1.ReadOnly:=false;
   dbedit2.ReadOnly:=false;
   dbedit3.ReadOnly:=false;
   dbradiogroup1.ReadOnly:=false;
   dbradiogroup2.ReadOnly:=false;
   end;
if isEnable=false then
  begin
   //将首记录等记录移动按钮设置为可用
   toolbutton1.Enabled:=true;
   toolbutton2.Enabled:=true;
   toolbutton3.Enabled:=true;
   toolbutton4.Enabled:=true;
   //将新增修改等按钮设置为可用
   toolbutton6.Enabled:=true;
   toolbutton7.Enabled:=true;
   toolbutton8.Enabled:=true;
   //将保存和取消按钮设置为不可用
   toolbutton10.Enabled:=false;
   toolbutton11.Enabled:=false;
   //将窗体内的数据显示控件设为只读
   dbedit1.ReadOnly:=true;
   dbedit2.ReadOnly:=true;
   dbedit3.ReadOnly:=true;
   dbradiogroup1.ReadOnly:=true;
   dbradiogroup2.ReadOnly:=true;
  end;
end;
// 新增记录
procedure TSecSetting.ToolButton6Click(Sender: TObject);
begin
SetToolBar(true);
datasource1.DataSet.Insert;
end;

//修改记录
procedure TSecSetting.ToolButton7Click(Sender: TObject);
begin
SetToolBar(true);
datasource1.DataSet.Edit;
end;
//删除记录
procedure TSecSetting.ToolButton8Click(Sender: TObject);
begin
   if application.MessageBox('删除该条记录?','财务管理系统',MB_OKCANCEL)=IDOK then
   datasource1.DataSet.Delete;
end;
//首记录
procedure TSecSetting.ToolButton1Click(Sender: TObject);
begin
   datasource1.DataSet.First;
end;
//上记录
procedure TSecSetting.ToolButton2Click(Sender: TObject);
begin
datasource1.DataSet.Prior;
end;
//下记录
procedure TSecSetting.ToolButton3Click(Sender: TObject);
begin
   datasource1.DataSet.Next;
end;

//尾记录
procedure TSecSetting.ToolButton4Click(Sender: TObject);
begin
datasource1.DataSet.Last;
end;
//关闭窗体
procedure TSecSetting.ToolButton13Click(Sender: TObject);
begin
close;
end;
//保存记录
procedure TSecSetting.ToolButton10Click(Sender: TObject);
begin
  //检查科目代码是否已输入
   if dbedit2.Text='' then
    begin
     showmessage('科目代码不允许为空值');
     exit;
    end;
   datasource1.DataSet.Post;
   SetToolBar(false);
end;
//取消操作
procedure TSecSetting.ToolButton11Click(Sender: TObject);
begin
   datasource1.DataSet.Cancel;
   SetToolBar(false);
end;
//查询数据并显示
procedure TSecSetting.BitBtn1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 科目表 where (科目代码 like ''%'+edit1.Text+'%'')and');
adoquery1.SQL.Add('(科目名称 like ''%'+edit2.Text+'%'')and(科目类别 like ''%'+edit3.Text+'%'')');
adoquery1.Open;
end;
end.
4.1.5  帐户设置
科目设置完后,选择“基础数据管理”     “帐户设置”菜单命令,进入“帐户设置(起
初数据录入)”功能窗体,如图4-7















图4–7帐户设置框图
该功能模块有“建立新帐簿”、“启动帐簿”和“试算平衡”3个按钮。“建立新帐簿”用来建立一个新的初始帐簿,单击该按钮,系统会调用“初始化帐户”的存储过程,删除原“帐簿初始化表”原有的信息,根据“科目表”重新创建“帐簿初始化表”并在窗体中显示。在表格中输入各科目的初始化信息和系统参数信息,完成后通过“启用帐户”启用新的帐簿。“启用帐簿”先检查当前帐簿是否平衡,如果平衡在后台调用“启用帐户”存储过程,启用新定义的帐簿,如不平衡会提示用户查阅试算平衡表,检查输入的初始化信息并修改,直到试算平衡才能启用新定义的帐簿。启用新定义的帐簿会删除系统中历史的所有数据。帐户设置窗体中的各个控件属性的设置如下表所示:
控件类型        对象名        属性        取值
TADOTable        ADOTable1        TableName        帐簿初始化表
                Active        true
TADOTable        ADOTable1        TableName        系统参数表
                Active        true
Datasouce        Datasouce1        DataSet        Adotable1
Datasouce        Datasouce2        DataSet        Adotable2
tbitbtn        Bitbtn1        Caption        建立新帐簿
tbitbtn        Bitbtn2        Caption        启用帐簿
tbitbtn        Bitbtn3        Caption        试算平衡
TDBGrid        DBGrid1        DataSource        DataSource1
TDBGrid        DBGrid2        DataSource        DataSource2
新建和保存窗体和4.1.4节的一样,在这里我们就不在说明了。在这里我们要设置“科目名称”、“科目代码”、“余额方向”、“编号”、“参数名称”字段的ReadOnly属性设置为“True”,因为这些字段不允许用户修改的。各个控件的功能实现由于篇幅限制就不在列举。
“试算平衡”按钮可以随时查看当前的帐簿信息是否平衡,当试算不平衡时,窗体下方表格将变红,向用户发出试算不平衡的警告,在窗体下方的合计金额中可以看出不平衡的原因。如图4-8:















         

图4-8试算平衡表框图
试算平衡表在设计过程中涉及到一些会计专业的知识,而且还用到数据库的查询可以说是设计的一个难点。试算平衡表中的控件的属性设置如下表所示:

控件类型        对象名        属性        取值
TForm        SunAccount        Name        SunAccount
TForm        SunAccount        Caption        试算平衡表
TADOQuery        ADOQuery1        SQL        Select科目代码,科目名称,(case when 余额方向=‘借方’then期初余额else 0 end-累计借方)as 期初借方,(case when 余额方向=‘贷方’then期初余额 else 0 end- 累计贷方)as期初贷方 ,累计借方as本期发生借方,累计贷方as本期发生贷方,case when余额方向=“借方”then 期初余额else 0 end as 期末贷方,case when余额方向=“贷方”then 期初余额 else 0 end as 期末贷方from 帐簿初始化表where 累计借方<>0 or 累计贷方<>0 or 期初余额<>0
                Active        True
DataSource        DataSource1        DataSet        ADOQuery1
DBGrid        DBGrid1        DataSource        DataSource1
StringGrid        StringGrid1        ColCcount        8
                RowCount        2

4.1.6  会计凭证输入
启用帐簿后可以进行凭证录入。选择“凭证管理”    “凭证输入”菜单命令,进入“会
计凭证输入”功能框,如图4-7在其中输入凭证和会计分录信息。若单击“新增”按钮系统自动新建一个凭证,凭证号和会计期间等信息自动生成,其中的会计期间是“系统参数表”中的“当前会计期间”,日期是系统的当前的日期,窗体后台程序对凭证编号自动进行计算保证新输入的凭证号不和以前已有的凭证编号相冲突。在下方的StrigGrid 中,双击“科目名称”列,将弹出一个包括科目设置的的基本信息窗体,在该窗体表格中的任意一栏双击,将选中的科目名称和科目代码自动输入到“会计凭证输入”窗体中的StringGrid中并关闭该选择窗体,如添加多条分录信息,则可以再次双击“科目名称”列,重复前面的操作逐渐输入分录的信息,完成后单击“保存”,系统先检查是否平衡,如果平衡则保存。若需要修改某个凭证信息,选择相应的凭证,单击“修改”,修改完毕后单击“保存”即可。
贷双方合计不等,将提示用户进行修改,直到平衡。这样就完成了会计凭证输入。需要对凭证进行过帐。凭证过帐就是确认输入的会计凭证,过帐后的凭证不能在进行修改。


















图4-9会计凭证输入框图
在前面我们都已经介绍了如何新建和保存等,在以后的章节中有类似操作的就不在说明。
在会计凭证输入窗体中各个控件的属性设置如下表:
控件类型        对象名        属性        取值
TForm        DocuInput        Name        DocuInput
                Caption        会计凭证输入
TADOQuery        ADOQuery1        SQL        Select * form 凭证表 order by分录表
                Active        True
TADOQuery        ADOQuery2        SQL        Select distinct * form 分录表
                Active        True
TDataSource        TdataSource1        DataSet        ADOQuery1
TDataSource        TdataSource2        DataSet        ADOQuery2
TADOQuery        ADOQuery3        SQL        Select distinct * form 分录表 a,凭证表 b where a.凭证编号=‘000001’
                Active        True
TDBGrid        DBGrid1        DataSource        DataSource1
                ReadOnly        True
该窗体在本设计是比较重要也是比较复杂的窗体。由于每个凭证项可对应多个分录数据,因此,用StringGrid来输入和编辑各个凭证项下属的分录数据。当工具栏中的的“修改”、“保存”等按钮按下是,实际是对两个表进行操作,由于凭证表和分录表之间存在约束关系,因此要多注意。
4.1.7  凭证过帐
选择“凭证管理”      “凭证过帐”命令,系统提示是否过帐,系统在后台调用“凭
证过帐”存储过程,对凭证进行过帐,计算本期汇总帐簿和明细帐簿。过帐完成后将提示过帐成功。并显示过帐的凭证数及借贷方金额等信息。
4.1.8  总分类帐
选择“帐簿查询”     “总分类帐”和“明细帐”命令,进入本期“总分类帐查询”和
“明细帐查询”功能。在“总分类帐查询”窗体中,可以通过选中“无发生金额不显示”单选框是否对表格中的数据进行过滤,只显示发生金额的项目。如图4-10






















                             图4-10总分类帐框图
窗体中各个控件的属性设置大部分都相似,只是个别的属性和查询语句不同。如控件ADOQuery1的属性SQL的取值是“select a.*,b.科目名称form 本期汇总帐簿 a,科目表 b where a.科目表=b.科目代码”;控件ADOQuery3属性SQL的取值为“select distinct a.form 分录表 a.凭证表 b where a.凭证编号=‘000001’”其他控件在这里就不在一一说明了。

4.1.9  明细帐
“明细帐查询”窗体的表中显示的是所有的明细帐单,用户可以将左边的列表框中现有
所有明细帐单的科目名称逐个添加到右边的列表框中,从而控制显示那些明细帐单。如图4-10,当前会计期间内的所有凭证过帐完毕后,就可以进入月末结帐了。转入下一个会计期间,结帐前一定要进行检查试算平衡。
















图4-11明细帐框图
在明细帐窗体中控件设置基本与上面的相同,在这里我们只对ADOQuery1属性SQL的取值进行说明:SQL取值为“select a.*,b.科目名称form 本期明细帐簿 a,科目表 b where a.科目代码=b.科目代码”。
4.1.10  试算平衡表
选择“结帐与报表”      “试算平衡表”命令,可以看到当月帐目的平衡信息,如图4-11所示,这里的试算平衡表与前面初始化帐簿中的试算平衡表是有所区别的。初始化帐簿的试算平衡,需要根据初始化的信息反算期初信息,而结帐阶段的试算平衡表主要反映在凭证过帐之后结帐时的统计信息。如图4-12:
     在这里的试算平衡表与前面所说的试算平衡表是一样的,只是在使用时间上不一样。















图4-12试算平衡表框图
4.1.11  结帐及报表
结帐后可以查询当月的资产负债表,选择“结帐及报表”     “资产负债表”命令,系
统先提示输入统计的会计期间,默认的是当前的会计期间,确定后调用“计算资产负债表”存储过程计算资产负债表,然后在报表窗体中显示出来。如图4-13、4-14



                   图4-12









                        




图4-13打印报表框图








图4-14会计期间登录框
结算与报表窗体中的控件很少,因为它主要是生成报表。主要用到的控件就是QuickRep,属性设置如下表

控件对象名        属性        取值
QuickRep1        Dataset        ADOTable
        Bands        HasDetail、HasTitle
        ReporTitle        打印


4.2  系统的扩展
财务管理系统可以作为一个独立的系统运行,也可以和其他的应用系统结合起来,实现数据共享,如可以与进销存管理系统相结合等。如图4-13

图4-15

总  结
财务管理系统的开发是复杂而且庞大的工作,在选题之后,才意识到过程的艰难,因为我以前从来没有接触过系统开发,刚开始时很迷茫和彷徨。后来通过看书和在网上查找资料,依照资料阅读了简单经典的功能模块的程序。
这次毕业设计过程中我查阅了很多相关资料,不但有图书馆的期刊、杂志、馆藏图书,还有网络中的电子文档、电子书籍、网页及下载的视频教学课程;不但有中文资料还有英文资料。这些资料,使我的眼界更开阔,对课题的认识更加深刻,编写程序的时候思路更加清楚,少走了很多弯路。
但如果真的要从事系统开发的工作,需要走的路还很长,即便是对于国际的大公司,也是在不断的探索和实践中前进。但这并不表明前途就是渺茫的,通过这次实践,进行了一次从底而上和自上而下的归纳和演绎的过程,在变化多端的系统开发面前,总算领悟了一点它的奥妙。内容繁复、采用的表现手段多姿多彩的系统开发世界,即便是再复杂,也可以通过一定程度的归纳演绎得出适应其规则和表现的契合点。
    通过本财务管理系统的开发,我对软件开发过程有了更清晰的了解,首先是问题定义、需求分析,然后是功能设计、详细设计等,并对软件测试的方法、手段有了较深的理解,同时对软件开发的流程有了一个系统的认识。在开发过程还认真学习了与系统相关的知识,极大地拓宽了我的知识面,我感到收获不小。
在系统的开发初期,必须要熟悉财务管理系统的操作流程,了解财务管理和会计基础知识的相关知识,这样才能进入到设计的过程中去。从开始熟悉这些知识到对整体设计有了解,再从概要设计、详细设计到开始编码,以及最后的测试,整个过程感觉很充实,虽然遇到了不少困难,但当我通过自己查资料、或是向指导老师请教以及向同学请教,而设计出解决方案并成功实现时,那种成就感和满足感足以鼓励自己加班加点的辛苦。
经过这次毕业设计实习,确实学到了不少的东西,同时也深感自己知识的欠缺。虽然即将毕业,但在以后的学习工作中,一定要继续坚持不断地学习新兴的专业知识及相关的非专业知识,只有这样才能紧跟时代的潮流。
致谢词
这次课程设计能够顺利的完成,要感谢很多人无私的帮助。首先是我的论文导师,每当我遇到难题时,他都能给我解答,而且在精神上不断地给我支持。这次的课程设计得以顺利完成,得益于我的论文指导老师。另外还有我的同学,正是由于他们的帮助,很多很难解决的难题都得到了很好的解决,并且设计期间也给了我许多的建议和看法;在调试期间也帮我一起测试。
在此,我再一次地衷心地感谢我的指导老师,为我的指导老师对工作对学生耐心表示敬佩。最后我祝我们的杨老师工作顺利、身体健康!


[参考文献]
[1]黄文钰编著.Delphi 程序设计经典解析[M].北京:清华大学出版社,2006年
[2]王晟  万科编著.Delphi 数据库开发经典案例解析[M].北京:清华大学出版社,2005年
[3]何鹏飞 编著.Delphi 程序设计教程[M].北京:清华大学出版社,2000年
[4]黄卓 刘祯祥编著.Delphi 7精彩编程百例[M].北京:中国水利水电出版社.2003年

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有