还剩56页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
小型制造业财务管理信息系统设计与开发[摘要]21世纪的全球经济一体化是不可避免的趋势Internet逐渐成为人们生活不可缺少的一部分据统计,中国网民数量以每半年翻一番的速度攀升到了现在的约2000万,去年底已有300余个各级政府部门在国际互联网上建立自己的站点在这个以信息高速公路为主要特征的Internet时代,财务管理信息系统必须跟上时代的步伐,实现对财务活动有效、科学的监督和管理在制造业中,由于日常资金的流动十分频繁,依靠手工处理来记录或统计各种凭证数据,既难做到及时性,也难保证数据的准确性,因而有必要建立一个计算机财务管理信息系统基于此,前台采用VB,后台采用Access技术开发了一个财务管理信息系统,实现了财务管理中基础数据管理、凭证管理、账簿查询和结账及报表生成的功能,有效地提高了小型制造业财务管理的工作效率[关键字]财务;信息管理;VB;Access[Abstract]The21stcenturyglobaleconomicintegrationisinevitabletrend.Internetgraduallybecomesanindispensablepartoflife.AccordingtostatisticsthenumberofInternetusersinChinaisdoublinginspeedeverysixmonthsrosetoabout20millionnowtheendoflastyearmorethan300governmentdepartmentsatalllevelsontheInternettoestablishtheirownsite.InthisinformationsuperhighwayasthemainfeatureoftheInterneterafinancialmanagementinformationsystemmustkeepupwiththepaceofthetimesandrealizethefinancialactivitytobevalidscientificsupervisionandmanagement.Inthemanufacturingsectorbecauseofday-to-dayflowofcapitalarefrequentrelyingonthemanualprocessingtorecordorstatisticaldataofvariousdocumentsbothhardtodoinatimelymannerbutalsodifficulttoguaranteetheaccuracyofthedataitwasnecessarytoestablishacomputerizedfinancialmanagementinformationsystems.BasedonthistheprospectsofusingVBAccesstechnologydevelopmentbackgrounduseofafinancialmanagementinformationsystemforthefinancialmanagementofthebasicdatamanagementdocumentmanagementqueryandcheckoutbooksandreportgenerationfunctionseffectivelyimprovingthesmallmanufacturingsectorfinancialmanagementefficiency.[Keywords]financial;informationmanagement;VB;Access
1.引言
1.1项目来源21世纪的全球经济一体化是不可避免的趋势如果说过去20年电脑业的高速发展证实了著名“摩尔定律”的正确性,即中央处理器速度每18个月翻一倍,那么过去6年Internet产业以令人目眩的迅速成长,则验证了目前还不那么著名,但注定将名垂IT产业发展青史的METCALF’SLAW(麦特克夫定律)的正确性,即Internet价值等于连在网上用户数量的平方Internet逐渐成为人们生活不可缺少的一部分据统计,中国网民数量以每半年翻一番的速度攀升到了现在的约2000万,去年底已有300余个各级政府部门在国际互联网上建立自己的站点在这个以信息高速公路为主要特征的Internet时代,财务管理信息系统必须跟上时代的步伐,实现对财务活动有效、科学的监督和管理在制造业中,企业的财务管理是一项日常性的工作,企业的各级管理人员需要及时了解、掌握企业的运营状况,以便心中有数,合理安排企业的经营策略,因而财务管理是制造业的一项非常重要的工作在该企业中,由于日常资金的流动十分频繁,依靠手工处理来记录或统计各种凭证数据,既难做到及时性,也难保证数据的准确性,因而有必要建立一个计算机财务管理信息系统
1.2任务目标“小型制造业财务管理信息系统”是自行调研、设计、开发并成功实施,为提高财务业务处理的准确性、时效性,从而为财务管理活动提供准确、及时的信息的管理信息系统系统要求界面设计人性化,便于财务人员的操作要求系统维护性强对相关子系统不同的硬件平台、操作系统、实现技术、数据库数据格式等要求要有兼容性,能进行统一用户管理与权限集中管理,并且提供详细的系统技术手册开发良好的扩展性,为以后进一步提升系统的服务层次提供相应的平台总的来说,本系统的总体目标就是便捷、安全、美观、实用、可扩展性
1.3应用价值该小型制造业财务管理信息系统,是以电脑为基础,采用现代的科学技术和先进的管理方法,对财务工作的原始数据进行处理,为各级财务部门领导和财务管理人员提供完整、准确、及时、适用的财务管理信息,为决策机关决策提供信息支持,以实现对财务活动进行有效的科学的组织、计划、分配、调节、控制和监督,提高经费使用效益为目标的辅助管理决策支持系统
2.项目规划
2.1项目资源
2.
1.1硬件设备
(1)服务器端处理器:IntelPentiumIV
1.6GHz或更高;内存:256MB;硬盘空间:80GB;显卡:SVGA显示适配器
(2)客户端处理器:IntelPentium166MX或更高;内存:32MB;硬盘空间:10GB;显卡:SVGA显示适配器
2.
1.2软件环境
(1)服务器端操作系统:WindowsNTServer
4.0或WindowsXP/Windows2000;网络协议:TCP/IP;Web服务器:InternetInformationServer
5.0;数据库:Access;浏览器:InternetExplore
5.0
(2)客户端操作系统:Windows98/ME/2000/XP;网络协议:TCP/IP;浏览器:MicrosoftInternetExplore
5.
02.
1.3软件工具本系统以Window操作系统为平台,以VisualBasic
6.0为界面开发工具,Access作为数据库采用B/S结构,辅以VBScript技术以期带来良好的用户体验
2.2项目进程
2.
2.1任务描述本系统采用至上而下的项目开发步骤,整个开发周期由项目研究、项目规划到方案实施到最后完成整个解决方案组成,具体步骤如图1所示图1系统开发步骤图
2.
2.2进度安排项目进度安排甘特图如图2所示图2项目进度安排甘特图系统分析阶段查阅相关资料和项目构思方案,包括系统的业务需求的详细分析与系统的总体规划、设计,做出系统需求分析说明书;需求规格说明书;概要设计说明书;详细设计说明书;项目实施计划书系统开发阶段包括对于以下内容进行的详细设计以及编码实现系统初始化模块、凭证模块、账簿模块、报表模块及结转模块系统测试阶段数据准备、数据初始化;单元测试、系统集成测试、用户确认测试安装调试阶段系统安装实施;用常用的方法进行系统调试系统运行与维护阶段系统的维护是一个长期性的工作,其目的是提供一个可靠、稳定的系统,使信息与内容更加完整、统一,并使内容更加丰富,不断满足用户更高的要求
2.3项目可行性评估
2.
3.1技术可行性拟开发的财务管理系统准备用VisualBasic语言联合数据库来实现VisualBasic语言是一个应用非常广泛的语言,并且也很容易掌握该系统连接的数据库语言是Access所以,利用现有的技术,在大多数的计算机上该程序都可以进行该系统的编写从这方面考虑,该软件是可行的
2.
3.2计划可行性将系统的开发过程分为分析、开发、测试、运行与维护、安装调试等5个阶段,系统开发人员在每个阶段都完成相应的任务,任务强度与时间分配合理,且能使他们在有限的时间内能高效地完成各部分的任务因此,本系统得开发在计划上是可行的
2.
3.3应用可行性财务管理是企业经营战略的一个重要组成部分,在企业中处于十分重要的地位伴随着现代电子技术的飞速发展,财务管理工作也发生了深刻的变革目前,各企业普遍采用管理信息系统对有关业务进行处理,提供管理信息并辅助管理人员进行预测、分析、计划、控制和决策管理信息系统的发展对企业的管理方式、组织构成、企业的生存发展等各方面都产生了深远的影响许多单位具有资金结算中心的性质,主要业务是管理企业各项经费,提供资金结算服务,并监督开户单位资金收支活动,是银行机制与企业财务控制相结合的机构,每年数一万计的项目报表、账簿的编制和打印,日常业务工作量十分巨大此外,由于所保存的数据涉及企业核心机密,因此,保密性要求很高,容不得半点马虎以上这些情况,决定了迫切需要开发一个能辅助人工完成日常审核、拨款、记账等工作的且具有速度快、效率高、数据准确、保密性强等特点的财务管理信息系统所以说,本系统的开发在应用上也完全可行
3.系统需求分析
3.1业务需求
3.
1.1业务组织通过对企业管理业务的调查分析,弄清了该企业的组织机构设置(如图3所示)图3企业组织机构设置图
3.
1.2业务定义该企业的财务管理工作是财务部汇总企业各部门的财务原始凭证,对其进行财务处理并生成会计报表的过程该企业财务管理顶层数据流程图如图4所示图4企业财务管理顶层数据流程图
3.
1.3业务流程该企业财务管理业务处理流程图如图5所示图5企业财务管理业务处理流程图从上述业务处理流程图可以看出该企业的财务管理主要有以下七个处理步骤
①根据各种原始凭证和原始凭证汇总表填制收款凭证、付款凭证和转账凭证
②根据收款凭证和付款凭证登记现金日记账和银行存款日记账
③根据原始凭证、原始凭证汇总表和记账凭证登记各种明细分类账
④根据各种记账凭证编制科目发生额余额表
⑤根据科目发生额余额表登记总分类账
⑥月末,现金、银行存款日记账和明细分类账分别与总分类账相核对
⑦根据总分类账和明细账的资料编制会计报表
3.2功能需求
3.
2.1功能组成由上可知,该财务管理信息系统必须具备如下功能1能够记录每天发生的业务具备凭证输入功能2可以提供过账结账功能能够查询公司总账明细账3可以生成资产负债表、利润及利润分配表4可以进行财务分析能够对公司的经营状况有个大体的了解图6为本系统的功能需求示意图图6系统功能需求示意图
3.
2.2功能逻辑该财务管理信息系统的数据流程图如图7所示图7系统数据流程图
3.
2.3功能定义
(1)输入凭证系统能使财务部及时地保存企业各部门的财务原始凭证数据
(2)登记账簿系统能根据财务部输入的财务原始凭证登记总账、明细账、现金日记账和银行存款日记账等
(3)结账系统能对登记的总账、明细账、现金日记账和银行存款日记账等进行结算,生成资产负债表和损益表
(4)输出会计报表系统能将资产负债表和损益表制成会计报表并输出
3.
2.4动态数据定义该系统数据流描述如表1所示表1系统数据流描述数据流说明数据流来源数据流去向组成原始凭证记录原始凭证的信息操作员用户输入记账凭证库凭证编号、会计期间、凭证字号、日期、附单据、制单、借方合计、贷方合计、过账状态、凭证状态总账、明细账、现金日记账、银行存款日记账记录账簿的基本信息记账凭证库账簿文件内部编号、分录编号、会计期间、凭证字号、凭证编号、摘要、科目代码、借方、贷方、余额方向、余额、数量、单价、结算方式、结算号、结算日期、余额标记资产负债表、损益表记录结账的基本信息账簿文件结账文件会计期间、现金及现金等价物、应收账款、坏账准备、应收账款净值、流动资产总计、固定资产原值、累计折旧、固定资产总计、其他资产、资产总计、应付账款、预收账款、应付工资、其他负债、负债总计、实收资本、资本公积、赢余公积会计报表记录会计报表的基本信息结账文件会计报表文件科目代码、期初余额、余额方向、本期借方合计、本期贷方合计、本年借方累计、本年贷方累计、余额
3.3数据需求
3.
3.1数据关系该企业财务管理数据实体关系图如图8所示图8企业财务管理数据实体关系图
3.
3.2静态数据定义该系统中部分数据项描述如表2所示表2凭证数据项描述数据项含义说明类型长度取值范围取值含义与其他数据项逻辑关系凭证编号唯一标识文本10标识凭证关联凭证字号会计期间数字16凭证字号文本2收/付/转区分凭证类别日期日期/时间10记录会计日期附单据数字16单据编号制单文本20制单人姓名借方合计货币8贷方合计货币8过账状态文本4已过/未过辨别凭证是否过账关联凭证状态凭证状态文本10辨别凭证关联过账状态表3分录数据项描述数据项含义说明类型长度取值范围取值含义与其他数据项逻辑关系编号唯一标识数字16标识分录关联凭证编号凭证编号文本10标识凭证关联分录编号摘要文本40描述分录科目代码文本20借方货币8贷方货币8数量数字16单价货币8结算方式文本10结算号数字16结算日期日期/时间10表4会计科目数据项描述数据项含义说明类型长度取值范围取值含义与其他数据项逻辑关系科目代码唯一标识文本20标识科目关联科目名称科目名称文本20关联科目代码、助记码、科目类别助记码文本20便于记住科目名称关联科目名称科目类别文本20关联科目名称是否存货科目文本20余额方向文本4借/贷数量单位文本10表5本期明细账簿数据项描述数据项含义说明类型长度取值范围取值含义与其他数据项逻辑关系内部编号唯一标识数字16标识本期明细账簿分录编号数字16标识分录会计期间数字16凭证字号文本2收/付/转区分凭证类别关联凭证编号凭证编号文本10关联凭证字号摘要文本40描述本期明细账簿科目代码文本20借方货币8贷方货币8余额方向文本4借方/贷方余额货币8数量数字16单价货币8结算方式文本10结算号数字16结算日期日期/时间10余额标记是/否2是/否表6本期汇总账簿数据项含义说明类型长度取值范围取值含义与其他数据项逻辑关系科目代码唯一标识文本20标识科目期初余额货币8余额方向文本4借方/贷方本期借方合计货币8关联本年借方合计本期贷方合计货币8关联本年贷方合计本年借方累计货币8关联本期借方合计本年贷方累计货币8关联本期贷方合计余额货币8本年资金余额
3.4其他需求
3.
4.1性能需求1合法性合法性是指系统应符合现行会计制度及其他财经法规的有关规定,应能提供企业、事业单位现代化管理所需的财会信息一方面,要在核算工作中体现现行会计制度及其他财经法规的要求;另一方面要求财务系统能够提供准确可靠的财务信息,满足管理的需求2安全可靠性安全性指系统防止财务信息被泄漏和破坏的能力可靠性是指财务系统防错、查错、纠错的能力,防止产生不正确财务信息的能力财务系统应能有效地防止差错的发生,在发生时能及时查出并能进行修改,最重要的是能有效地防止财务信息的泄漏和破坏为了达到安全可靠性指标,系统本身应设有多种控制措施、如权限设置、复核功能设置、各种校验功能设置、处理顺序控制、采用信息加密技术和存取控制技术、设立备份和恢复功能等3易用性易用性是指系统易学、易用、易懂的性能系统应具备如下性能一是界面友好系统的界面应简洁明了,提示清楚丰富,所用语言符合财会人员的习惯,输入输出的格式规范二是系统应提供其使用资料特别是培训资料,其内容要完整,内容易学易懂,各种叙述清楚明了,手册中的范例恰当实用三是系统便于操作系统操作简单,各种自定义功能及控制措施的使用简捷实用,自动化程度很高,辅助功能及服务功能丰富实用等4适应性适应性是指系统能很好地适应企业财务处理的具体情况,并在企业财务工作内容发生变化时,系统也能方便地适应这些变化的程度,比如,科目的变化、报表格式及内容的变化、各种比率的变化以及核算内容的变化等5可审计性可审计性指财务系统提供的功能应预留审计线索,增强可查询项目为提高财务数据的可用性,财务系统在查询上应提供更为方便的功能,如复合条件查询、模糊查询等,使财务人员能够更灵活地利用财务数据进行分析和灵活的界面切换,使会计凭证、明细账、总账以及报表之间的数据运用更加自如6可恢复性可恢复性指系统必须提供可恢复保护功能,预防不利因素对财务数据的侵害系统对存储在磁性介质或其他介质上的程序文件和相应的数据文件应有必要的保护措施,应能在发生故障引起内外存财务数据被破坏的情况下,利用现有数据恢复到最近状态
3.
4.2安全需求为了实现系统功能最大化的目标,给目标用户提供方便、实用的信息服务,利用对经济数学模型的运算,把定性方法和定量方法有机地结合起来,模拟经费运行及变化规律,预测未来发展趋势,优选投资分配决策方案,为财务管理宏观决策服务,也是在未来内向更高层次的财务管理信息系统过渡的重要保证对于一个良好的系统,从软件到硬件上为了保证良好的安全性,都应做到以下几点要求1对数据库合法用户进行分组,不同的用户具有不同的权限对于进行数据修改的合法用户只能通过应用系统登陆进行修改服务器内部可以通过端口限定等方法,限制第三方攻击2对于非常敏感的信息,则采用加密和追踪相结合的方法,通过日志追踪合法用户对这些信息的修改、插入、删除操作3应用系统安全措施审核过程采用应用程序的方式,应用程序的获得严格采用用户身份类别应用系统采用用户组与用户二级管理,对用户组中的不同用户分别作权限控制
4.系统结构设计
4.1总体框架在系统架构方面,基于系统的访问速度,便捷性、可行性等要求,本系统采用了目前流行的B/S三层结构它包括用户界面层、业务逻辑层、数据库服务器层用户界面层(UI层)负责处理用户数据的输入和向用户的输出数据,但是一般来说,并不负责解释其含义(在某些时候,出于对效率的考虑,它可能在向上传输用户输入前进行合法性验证在本系统中采用的是VBScript脚本语言实现系统数据的合法性验证业务逻辑层作为联系上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端浏览器,这一层通常以动态链接库的形式存在,它与客户端浏览器通信的接口符合某一特定的组件标准数据库层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据、存储数据和操作数据等如执行SQL语句和存储过程等,并向业务逻辑层返回处理结果其系统架构方面组成如图9所示图9B/S结构示意图
4.2软件结构
4.
2.1软件模型该系统的软件结构图如图10所示图10软件结构图
4.
2.2模块定义
(1)会计科目(系统初始化)模块实现功能
①科目查询(顺序查询、定制查询)
②科目修改
③科目删除
④科目添加
⑤设置修改科目的期初
(2)凭证模块实现功能
①凭证输入(按照主细表结构)
②凭证查询(顺序查询,制定查询)
③凭证分录的修改,删除和插入
④凭证删除
⑤凭证审核
⑥凭证登记账簿(总账、明细账、现金日记账、银行存款日记账)
(3)账簿模块实现功能为
①对总账和明细账按照会计期间和会计科目查询浏览;
②对现金日记账和银行日记账按照会计期间或者具体日期查询浏览;
③实现总账,明细账,现金日记账和银行存款日记账的打印输出
(4)报表模块实现功能
①根据某一月份的总账生成当期的资产负债表供浏览和打印;
②根据某一月份的总账生成当期的损益表供浏览和打印
(5)结转模块实现功能
①期末结转对当期所有登帐完毕的凭证登入科目每期发生额表,提供下一期的期初余额;
②年末结转对当年对当期所有登帐完毕的凭证结转,余额作为下一年的年初余额图11为本系统的系统功能模块示意图图11系统功能模块图
4.3数据结构
4.
3.1数据库模型根据上文的数据需求可以看出,本系统主要包括会计科目、凭证、分录、科目余额、本期明细账簿、本期汇总账簿等实体,各实体关系如下文所述
(1)凭证历史实际上是对凭证记录的备份保存,因此凭证历史表和凭证表间存在一对一的关系
(2)分录历史实际上是对分录记录的备份保存,因此分录历史表和分录表间存在一对一的关系
(3)一张凭证可以被包含在多个分录中,多个分录可以同时对应一张凭证,因此凭证表和分录表间存在一对多的关系
(4)一个科目被包含在多个分录中,多个分录可以同时对应同一科目,因此科目表和分录表间存在一对多的关系
(5)账簿初始化实际上是对科目表中每个科目进行初始化操作,因此账簿初始化表和科目表间存在一对一的关系
(6)本期汇总实际上是对期间发生的每个科目进行汇总操作,因此本期汇总账簿和科目表间存在一对一的关系
(7)一个会计科目可以被包含在多张本期明细中,多张本期明细可以对应同一会计科目,因此科目表和本期明细账簿间存在一对多的关系
(8)科目余额实际上是对每个会计科目的余额的计算,因此科目余额表和科目表间存在一对一的关系
(9)一个会计期间的资产负债是对多个科目余额的统计,多个科目余额可以生成一张资产负债,因此资产负债表和科目余额表间存在一对多的关系数据库中表间E-R图如图12所示图12数据库表间E-R图
4.
3.2数据定义由上述分析可知,该系统共需要12张表,用途分别如表7所示表7系统数据表及其用途数据表名称数据表用途科目表保存企业财务的科目设置信息账簿初始化表正式使用系统前初始化科目的期初余额凭证表输入会计凭证,分录表的主表分录表输入会计凭证,分录表的从表科目余额表保存各个会计期间的科目借、贷、余额情况凭证表历史保存过账后的凭证历史分录表历史保存过账后的分录历史本期明细账簿保存当前会计期间的明细账簿数据本期汇总账簿保存当前会计期间的明细账簿数据,期末结账后期末变成新会计期间的期初资产负债表统计用表,用于计算资产负债表系统参数表系统运行所需的参数信息用户清单保存系统用户登录信息
5.系统详细设计
5.1功能模块详细设计
5.
1.1会计科目(系统初始化)模块算法设计和代码实现该模块的算法根据会计科目(系统初始化)模块的模块定义来设计会计科目(系统初始化)模块算法设计要求如下
(1)新增科目时对于科目编号的输入控制
①首位必须为1/2/3/4/5
②编号符合编码规则(也就说限制长度为3/5/7/9)
③编码不准出现重复
④编码不准越级,不准只有下级科目而不存在上级科目
⑤对于已经在输入凭证中使用的科目编码,不能再赋予其下级科目
(2)新增科目时对于科目名称的输入控制不准出现空值
(3)修改删除会计科目时的控制条件
①不准修改科目编号
②科目若存在下级科目,将不准删除
③科目若已经输入余额或发生额,不准修改和删除
④科目已经在凭证中使用的,不允许修改和删除该模块的主要代码为新增科目函数PublicOverridesSubsaveforaddDimdrdataAsDataRow=dataset
11.tables科目表.newrowTrydrdata科目代码=txbcode.text.trimdrdata科目名称=txbname.text.trimdrdata助记码=txbhelpcode.text.trimdrdata科目类别=cbbkind.text.trimdrdata余额方向=cbbdirection.text.trimCatchexAsExceptionmessagebox.show数据格式不正确!ExitSubEndTryTrydataset
11.tables科目表.rows.adddrdataIfMe.dataset
11.haschanges=TrueThensqldataadapter
1.updatadataset11EndIfCatchexAsExceptionmessagebox.show数据添加失败!EndTryEndSub更新科目函数PublicOverridesSubsaveforupdateTryDimrowAsIntegerrow=dgdlist.currentcell.rownumberdgdlist.currentcell=Newdatagirdcellrow+1Modbmdata.count0判断是否有更新的数据IfMe.dataset
11.haschanges=TrueThensqldataadapter
1.updatedataset11EndIfCatchexAsExceptionmessagebox.show数据修改失败!EndTryEndSub删除科目函数PublicOverridesSubdeletedataTry删除当前行的数据dataset
11.tables科目表.rowsbmdata.position.deleteIfMe.dataset
11.haschanges=TrueThen更新dataset11sqldataadapter
1.updatadataset11EndIfCatchexAsExceptionmessagebox.show数据删除失败!EndTryEndSub
5.
1.2凭证模块算法设计和代码实现该模块的算法根据凭证模块的模块定义来设计凭证模块算法设计要求如下
(1)输入凭证分录时的输入控制
①凭证分录的发生科目必须已经在科目表中存在
②凭证分录的借贷方发生额必须相等,否则会提示用户
(2)修改/删除凭证分录时的输入控制
①对于已经审核完毕的凭证不准修改/删除分录
②修改之后的凭证依旧要保证借贷方发生额必须相等
(3)审核凭证时的输入控制
①要求审核凭证的用户和凭证制单的用户不能为同一人
②审核凭证时若凭证借贷不平衡或者发生额为零则不能审核
(4)凭证登帐时的输入控制凭证登帐的前提是已经审核完毕的凭证该模块主要实现代码为添加凭证函数PrivateSubbtnadd_clickByValsenderAsSystem.ObjectByValeAsSystem.EventArgsHandlesbtnadd.click判断数据格式Ifvalidatedata=FalseThenmessagebox.show数据格式不正确!ReturnEndIfTryDimdrAsDataRow=dtdetail.newrowdr摘要=txbsummary.text.trimdr科目代码=txbsubjectcode.text.trimdr科目名称=txbsubjectname.text.trimdr借方=txbdebit.text.trimdr贷方=txblender.text.trim添加一行数据dtdetail.rows.adddrdgddetail.datasource=dtdetaildgddetail.currentrowindex=dtdetail.rows.count-1更新钱的总数updatemoneyCatchexAsExceptionmessagebox.show数据格式不正确!EndTrycleartextboxEndSub修改凭证函数PrivateSubbtnsave_clickByValsenderAsSystem.ObjectByValeAsSystem.EventArgsHandlesbtnsave.clickIfvalidatedata=FalseThenmessagebox.show数据格式不正确!ReturnEndIfIfdgddetail.currentrowindex=-1ThenReturnEndIfTry更新当前行的数据DimirowAsInteger=dgddetail.currentrowindexdtdetail.rowsirow摘要=txbsummary.text.trimdtdetail.rowsirow科目代码=txbsubjectcode.text.trimdtdetail.rowsirow科目名称=txbsubjectname.text.trimdtdetail.rowsirow借方=txbdebit.text.trimdtdetail.rowsirow贷方=txblender.text.trimupdatemoneyCatchexAsExceptionmessagebox.show数据格式不正确!EndTrycleartextboxEndSub删除凭证函数PrivateSubbtndel_clickByValsenderAsSystem.ObjectByValeAsSystem.EventArgsHandlesbtndel.clickTry获得datagird当前被选中的行号Dimirow=dgddetail.currentrowindex弹出对话框让用户确认要删除记录如果用户确认要删除记录Ifmessagebox.show确认要删除此记录吗?confirmmessageboxbuttons.yesno=dialogresult.yesThen从凭证表中删除当前被选中记录cleartextboxdtdetail.rows.removeatirowElseExitSubEndIfCatchexAsExceptionmessagebox.show删除数据出错!EndTryupdatemoneycleartextboxEndSub
5.
1.3账簿模块算法设计和代码实现该模块的算法根据账簿模块的模块定义来设计总分类账查询函数PrivateSubloaddataDimstrfilterAsStringIfMe.txbone.text.trim.length=0ThenIfMe.cbbcheck.checked=TrueThenstrfilter=where本期借方合计0or本期贷方合计0EndIfElsestrfilter=where科目代码=+Me.txbone.text.trimIfMe.cbbcheck.checked=TrueThenstrfilter+=and本期借方合计0or本期贷方合计0EndIfEndIf清空dataset11dataset
11.clearsqlconnection
1.connectionstring=database.sconnsqldataadapter
1.selectcommand.commandtext=select*from本期汇总帐簿+strfilter根据查询条件重新填充dataset11sqldataadapter
1.filldataset11dtdata=dataset
11.tables本期汇总帐簿bmdata=Me.bindingcontextdataset11本期汇总帐簿lblcount.text=记录数+dtdata.rows.count.tostringEndSub试算平衡函数PrivateSubmnpingheng_clickByValsenderAsSystem.ObjectByValeAsSystem.EventArgsHandlesmnpingheng.clickIfgetinstancestatefrmpinghengThenExitSubEndIfDimchildfrmAsfrmpingheng=Newfrmpinghengchildfrm.mdiparent=Mechildfrm.showchildfrm.calpingheng1EndSub
5.
1.4报表模块算法设计和代码实现该模块的算法根据报表模块的模块定义来设计资产负债函数PrivateSubmnfuzhai_clickByValsenderAsSystem.ObjectByValeAsSystem.EventArgsHandlesmnfuzhai.clickIfgetinstancestatefrmreportThenExitSubEndIfDimmessagetitledefaultvalueAsStringDimmuvalueAsObjectmessage=请输入统计的会计区间title=输入settitle.输入统计的会计区间DimdbAsdatabase=NewdatabaseDimstrsqlAsStringstrsql=select取值from系统参数表where参数名称=strsql+=当前会计期间DimdvAsDataView=db.runselectsqlstrsqldefaultvalue=CIntdv
00.ToString.Trim-
1.ToStringmyvalue=InputBoxmessagetitledefaultvalueDimstrtempAsStringTrystrtemp=CIntmyvalue.tostring.trimCatchexAsExceptionmessagebox.show请输入合法的会计区间!ReturnEndTry计算db.rundelorinssqlexecsf_计算资产负债表+strtempdb.dispose显示DimchildfrmAsfrmreport=NewfrmreportCIntmyvalue.tostring.trimchildfrm.mdiparent=Mechildfrm.showEndSub
5.
1.5结转模块算法设计和代码实现该模块的算法根据结转模块的模块定义来设计期末结账函数PrivateSubmnqimo_clickByValsenderAsSystem.ObjectByValeAsSystem.EventArgsHandlesmnqimo.click期末结帐DimdlgresultAsdialogresult=messagebox.show结帐后将进入下一会计期间,是否结帐?确定messageboxbuttons.yesnoIfdlgresultdialogresult.yesThenReturnEndIfDimdbAsdatabase=NewdatabaseTrydb.rundelorinssqlbegintranexecsf_期末结帐CatchexAsExceptionmessagebox.show期末结帐失败!db.rundelorinssqlrollbackReturnEndTrydb.rundelorinssqlcommitmessagebox.show结帐成功!EndSub
5.2数据库详细设计
5.
2.1数据库环境配置打开MicrosoftOfficeAccess选择窗口“文件”菜单中的“新建”菜单项,在窗口右边的“新建文件”活动栏中选择“空数据库…”,再在弹出的“文件新建数据库”窗口中,输入数据库名并选择保存路径完成数据库的创建在数据库中创建表、关系等要素
5.
2.2表设计及其关系设置使用设计器创建这个系统需要的所有表结构,如表8~表19所示表8科目表表9账簿初始化表表10凭证表表11分录表表12科目余额表表13凭证表历史表14分录表历史表15本期明细账簿表16本期汇总账簿表17资产负债表表18系统参数表表19用户清单表数据库中表间关系如图13所示图13数据库中表间关系
5.
2.3数据访问方式及其代码分析与说明利用Access数据库名创建Access数据库的连接:PublicFunctionAccess_ConnectconnectPathAsStringAsIntegerOnErrorGoToConnect_ErrSetAccessCn=NewADODB.ConnectionAccessCn.ConnectionString=Provider=Microsoft.Jet.OLEDB.
4.0;DataSource=+connectPathAccessCn.OpenAccess_Connect=TrueExitFunctionConnect_Err:Access_Connect=FalseEndFunction采用如下的相应方法结束连接:PublicSubAccess_DisConnectAccessCn.CloseEndSub
5.3界面设计
5.
3.1用户登录窗体用户登陆是信息系统最常采用的安全手段,由此可防止非用户进入系统安全机制的最终实现则考虑在系统启动过程中设置用户登录窗体中获得,通过验证用户名和密码,由此确定用户是否合法用户打开系统可执行文件后,进入系统“登录”窗体用户可以通过在登录窗体中输入正确的用户名称和密码,单击“确定”按钮进入企业财务管理信息系统的启动窗体如用户不想登录,则可单击“取消”按钮退出系统在开发时,该系统登录的用户名称设置为“任欢”,密码设为050310065图14系统“登录”窗体
5.
3.2系统欢迎窗体用户在系统“登录”窗体中输入正确的用户名称和密码登录后,即可打开系统欢迎窗体在欢迎窗体中单击“ENTER…”标签,就可进入“系统主窗体”,单击“EXIT…”标签退出系统图15系统欢迎窗体
5.
3.3系统主窗体在“系统欢迎窗体”中单击“ENTER…”标签后,打开“系统主窗体”在“系统主窗体”上方设置有一个主菜单,其中包含有“基础数据管理”、“凭证管理”、“账簿查询”、“结账及报表”、“用户管理”和“退出系统”六个主菜单项图16系统主窗体对“系统主窗体”界面主菜单项可进行如下操作:
(1)单击“基础数据管理”打开一个子菜单,其中包含有“科目设置”和“账户设置”两个子菜单项,单击它们可分别进入“会计科目设置”窗体和“账户设置(期初数据录入)窗体”;图17“基础数据管理”子菜单
(2)单击“凭证管理”打开一个子菜单,其中包含有“凭证输入”和“凭证过账”两个子菜单项,单击“凭证输入”进入“会计凭证输入”窗体,单击“凭证过账”进行凭证过账;图18“凭证管理”子菜单
(3)单击“账簿查询”打开一个子菜单,其中包含有“总分类账”和“明细账”两个子菜单项,单击它们分别进入“总分类账查询”和“明细账查询”窗体;图19“账簿查询”子菜单
(4)单击“结账及报表”打开一个子菜单,其中包含有“试算平衡表”、“期末结账”和“资产负债表”三个子菜单项,单击“试算平衡表”打开“试算平衡表”窗体,单击“期末结账”调用内部过程,进入期末结账操作,单击“资产负债表”可查看资产负债;图20“结账及报表”子菜单
(5)单击“用户管理”打开一个子菜单,其中包含有“修改密码”和“添加用户”两个子菜单项,单击它们可分别打开“修改密码”和“添加用户”窗体;图21“用户管理”子菜单
(6)单击“退出系统”退出整个系统操作;图22“退出系统”子菜单
(7)在“系统主窗体”中心有一个自动更新日历,它可以自动更新日期,方便用户查看当天的日期图23“系统主窗体”中心自动更新日历
5.
3.4会计科目设置窗体在“系统主窗体”中,单击“基础数据管理”/“科目设置”,进入“会计科目设置”窗体图24“会计科目设置”窗体“会计科目设置”窗体界面上设计有如下控件
(1)在“会计科目设置”窗体的上方有10个按钮,分别为“首记录”、“上记录”、“下记录”、“尾记录”、“新增”、“修改”、“删除”、“保存”、“取消”和“退出”“首记录”、“上记录”、“下记录”、“尾记录”四个按钮对数据库中的会计科目数据记录进行查看;“新增”、“修改”、“删除”、“保存”、“取消”五个按钮对数据库中的数据进行相应的操作;“退出”按钮用于关闭该窗体图25“会计科目设置”窗体上方按钮
(2)在“会计科目设置”窗体上方10个按钮的下方有一个搜索栏可以通过在其中相应位置分别输入“科目代码”、“科目名称”和“科目类别”,再点击“搜索”按钮进行会计科目相关信息的查看;在最左边则会自动统计数据库中该会计科目的记录数图26“会计科目设置”窗体搜索栏
(3)在“会计科目设置”窗体的左下角有一个显示区,用于显示窗体执行操作后相应结果图27“会计科目设置”窗体数据显示区
(4)在“会计科目设置”窗体的右下角有一个板块,可以在其中输入相应内容,并通过窗体上方的按钮来执行相应操作图28“会计科目设置”窗体数据输入区
5.
3.5账户录入(期初数据录入)窗体在“系统主窗体”中,单击“基础数据管理”/“账户设置”,进入“账户录入(期初数据录入)”窗体图29“账户录入(期初数据录入)”窗体“账户录入(期初数据录入)”窗体界面上设计有如下控件
(1)在“账户录入(期初数据录入)”窗体的上方有三个按钮,分别为“建立新账簿”、“启用账簿”和“试算平衡”点击后分别调用系统内部相应的过程执行操作图30“账户录入(期初数据录入)”窗体操作按钮
(2)在“账户录入(期初数据录入)”窗体中点击窗体操作按钮调用相应过程执行操作后,结果将会显示在窗体下方的显示区中图31“账户录入(期初数据录入)”窗体数据显示区
5.
3.6会计凭证输入窗体在“系统主窗体”中,单击“凭证管理”/“凭证输入”,进入“会计凭证输入”窗体图32“会计凭证输入”窗体“会计凭证输入”窗体界面上设计有如下控件
(1)在“会计凭证输入”窗体的上方的10个按钮与“会计科目设置”窗体上方的10个按钮相同其中“首记录”、“上记录”、“下记录”、“尾记录”、“新增”、“修改”和“删除”七个按钮在该窗体中不能使用“保存”、“取消”和“退出”三个按钮对会计凭证输入数据进行相应操作图33“会计凭证输入”窗体上方按钮
(2)在“会计凭证输入”窗体中的“凭证表”栏中可以输入相应数据,并结合窗体上方的按钮执行相应操作图34“会计凭证输入”窗体“凭证表”栏
(3)在“会计凭证输入”窗体中的“分录表”栏中可以输入相应数据,通过下方的“添加”、“修改”和“删除”三个按钮对数据库中的记录进行更新,并将结果显示在下方的显示区中图35“会计凭证输入”窗体“分录表”栏
(4)在“会计凭证输入”窗体中的其他部分的功能与“会计科目设置”窗体中的相应部分的功能相同
5.
3.7“总分类账查询”窗体在“系统主窗体”中,单击“账簿管理”/“总分类账”,进入“总分类账查询”窗体图36“总分类账查询”窗体“总分类账查询”窗体界面上设计有如下控件
(1)在“总分类账查询”窗体的最上方有五个按钮,分别为“首记录”、“上记录”、“下记录”、“尾记录”和“退出”其中“首记录”、“上记录”、“下记录”、“尾记录”四个按钮可以总分类账中的记录;“退出”按钮关闭该窗体图37“总分类账查询”窗体上方按钮
(2)在“总分类账查询”窗体中间有个搜索板用户可以在该区中输入要查询的“科目代码”,再点击“搜索”键来查询该科目的“总分类账”;选中该区下方的“无发生金额的不显示”单选框可以过滤掉那些无发生金额的科目的“总分类账”数据记录,不选则全部显示图38“总分类账查询”窗体搜索板
(3)在“总分类账查询”窗体下方的显示区与前面的窗体中的显示区功能相同,用于显示查询的记录
5.
3.8“明细账查询”窗体在“系统主窗体”中,单击“账簿管理”/“明细账”,进入“明细账查询”窗体“明细账查询”窗体的界面设置及操作与“总分类账查询”窗体的相同,只是该窗体的作用是用于对数据库中科目“明细账”的查询图39“明细账查询”窗体
5.
3.9“试算平衡表”窗体在“系统的主窗体”中,单击“结账及报表”/“试算平衡表”,进入“试算平衡表”窗体“试算平衡表”窗体中只包含两个显示区,上方显示区用于显示科目期间的发生情况,下方显示区用于显示科目期间发生金额是否平衡图40“试算平衡表”窗体
5.
3.10“修改密码”窗体在“系统的主窗体”中,单击“用户管理”/“修改密码”,进入“修改密码”窗体在“修改密码”窗体中输入旧密码、新密码,并确认后单击“确认”按钮就可以修改当前用户的登录密码图41用户密码修改窗体
5.
3.11“添加用户”窗体在“系统的主窗体”中,单击“用户管理”/“添加用户”,进入“添加用户”窗体在“添加用户”窗体中,输入新用户名称和密码,并确认后就可以添加一个新用户图42系统添加用户窗体
6.系统测试与使用
6.1系统测试情况
6.
1.1测试“登录”窗体
(1)在“登录”窗体中输入错误的用户名称“张三”后,窗体会弹出“用户名不存在,请重新确认!”提示框图43在“登录”窗体中输入错误用户名称弹出的提示框
(2)在“登录”窗体中输入正确的用户名称“任欢”后,输入错误的密码会弹出“无效的密码,请重试!”提示框图44在“登录”窗体中输入错误密码弹出的提示框
6.
1.2测试“修改密码”窗体
(1)用户“任欢”登录进入财务管理信息系统后,想要修改密码在“修改密码”窗体中输入正确的旧密码,而没有输入新密码后,则弹出“请输入新密码!”的警告提示框图45在“修改密码”窗体中输入旧密码而没输入新密码弹出的提示框
(2)在“修改密码”窗体中输入的新密码和确认密码不相同时,窗体会弹出“两次密码不同!”的警告提示框图46在“修改密码”窗体中输入的新密码和确认密码不相同时弹出的提示框
(3)在“修改密码”窗体中输入用户正确的旧密码,而且输入的新密码和确认密码相同,单击“确定”按钮,窗体会弹出“密码已经修改”的提示框图47在“修改密码”窗体中成功修改密码后弹出的提示框
(4)在“添加用户”窗体中添加新用户,输入的密码和确认密码不一致时,单击“确定”按钮,则该窗体会弹出“两次输入密码不一致,请重新输入密码!”的警告提示框图48在“添加用户”窗体中添加新用户输入的密码和确认不一致弹出的警告提示框
(5)在“添加用户”窗体中,输入添加的新用户名和密码,且密码和确认密码一致时,单击“确定”按钮则会弹出“添加成功!“的提示框图49在“添加用户”窗体中添加新用户成功后弹出的提示框
6.2系统使用说明双击“企业财务管理信息系统”应用程序,在弹出的“登录”窗体中输入用户名“任欢”和密码“050310065”,进入财务管理信息系统在弹出的系统欢迎窗体中单击“ENTER…”标签,就可进入“系统主窗体”,单击“EXIT…”标签退出系统其余系统内各窗体中控件的功能及其使用情况在界面设计中已进行详细说明,这里不再重复
7.项目总结
7.1工作总结经过一个多月的课题关键技术研究、功能需求分析、系统模块设计、代码实现及最后的功能设计,现已完成了财务管理信息系统的设计与开发任务通过本次专业课程系统设计能很好地测试了专业理论知识和实践相结合的能力从选定题目到收集资料,再进入系统设计和系统开发过程,几乎应用了所学过的所有知识,每一步都要付出艰辛的汗水,但是也从中也学习到很多通过这次学期课程系统设计,我发现了自己以前专业学习中的许多不足自己以前在理论学习的过程中没有很好地将理论知识和实践相结合,致使这次系统开发初期经常感到手足无措但这次系统设计几乎应用了以前学过的所有知识,让我加深了对于所学专业知识的掌握程度,提高了解决实际问题的能力,开阔了视野,更为了以后的专业学习奠定了坚实的基础该系统基本上实现了需求分析中所设计的各项功能
(1)基础数据管理功能通过系统中的“会计科目设置”和“账户设置”命令,可以对会计科目和账户等基础数据进行管理
(2)凭证管理功能通过系统中的“凭证输入”和“凭证过账”命令,可以对会计凭证进行管理
(3)账簿查询功能通过系统中的“总分类账”和“明细账”命令,可以对财务管理中的总分类账和明细账进行查询
(4)结账及报表生成功能通过系统中的“试算平衡表”、“期末结账”和“资产负债表”,可以对财务中的会计科目金额进行试算平衡、期末结账和生成资产负债表操作
7.2工作展望系统的开发工作到目前已告一段落了,已基本达到了既定的系统开发目标和实现了设计功能但由于开发时间较短加上本身技术水平的局限,本系统还有许多需要完善和扩展的部分具体表现在如下几个方面
(1)划分系统登录用户的具体权限在该系统中,只设置了系统登录用户的权限,而并未为其划分具体的权限功能操作可以为每个用户设定具体可操作的功能权限
(2)美化窗体该系统的各个窗体界面设计不是很美观,可以把窗体的界面设计得更加美观、人性化
(3)完善系统的结构功能在不断完善“财务管理系统”的过程中,还将应用其他的一些关键技术,如多级专家系统技术、多库协同软件技术、多媒体智能接口及网络技术等,通过不断的技术更新,使该“财务管理系统”的系统结构功能日渐完善
(4)扩展系统的功能该系统对手工流程的依赖性太强,基于核算的部分占绝大部分,而真正提供管理和决策的部分却很少,同时审计系统的不完善可以设计存货管理、往来账管理、固定资产管理等系统模块同时借助其内置的VBA编程可以满足更高级用户的管理需求进行更加复杂的操作以上这些方面将是我今后继续工作的主要方向参考文献
[1]黄梯云主编.管理信息系统第三版[M].北京:高等教育出版社
2005.3
[2]朱顺泉.理财信息化[M].北京清华大学出版社,
2006.6
[3]王正伟.企业财务信息化管理[M].北京中国广播电视出版社[],
2002.1
[4]杨密.杨乐.葛莹明.Access在财务中的作用[M].北京电子工业出版社,
2006.9
[5]高智勇.中文版VisualBasic
6.0实例教程[M].北京航空工业出版社,
1999.11
[6]求是科技.Visualbasic企业办公系统开发实例导航[M].北京人民邮电出版社,
2003.5
[7]王晟.Visualbasic.NET数据库开发经典按例解析[M].北京清华大学出版社,
2005.3
[8]姚巍.Visualbasic数据库开发从入门到精通[M].北京人民邮电出版社,
2006.10
[9]孙万军.财务软件应用技术(用友财务通版)[M].北京清华大学出版社,
2005.8界面设计程序设计程序集成元件测试工作总结工作展望用例测试界面设计的确定系统功能的确定系统结构的确定数据结构的确定总体框架设计软件结构设计数据结构设计功能模块设计数据库设计业务需求功能需求数据需求其他需求项目资源规划项目进程规划项目可行性评估项目来源研究任务目标研究应用价值研究项目研究项目规划需求分析项目设计方案确定方案实施集成测试系统评估成功完成全方位解决方案总经理行政部财务部营销部技术部销售采购市场库管会计报表原始凭证财务部财务处理
⑤⑦⑥⑥③④①②收款凭证付款凭证转账凭证现金日记账银行存款日记账原始凭证汇总原始凭证记账凭证科目发生额余额表总分类账明细分类账会计报表财务管理信息系统输入凭证登记账簿结账输出会计报表原始凭证输入记账凭证库登记总账明细账现金日记账银行存款日记账结账资产负债表损益表输出会计报表∞1111∞∞1凭证分录会计科目本期汇总账簿本期明细账簿UI层客户端浏览器输入数据输出数据请求返回业务逻辑层初始化模块凭证模块帐簿模块报表模块结转模块数据库层Access数据处理(添加、删除、修改等操作)HTTPhtml请求返回SQLDATA财务管理信息系统初始化模块凭证模块账簿模块报表模块结转模块财务管理信息系统会计科目(科目初始化)凭证账簿报表结账用户管理科目添加科目修改,查询科目删除科目余额设置凭证输入/维护凭证审核凭证登帐(四个帐)查看并打印总账,明细账,现金日记账,银行存款日记账输出和打印资产负债表,损益表期末结转年末结转修改密码添加用户∞M11∞M1111∞M111∞M11111科目表凭证表资产负债表分录表本期汇总账簿本期明细账簿凭证表历史分录表历史科目余额表账簿初始化表。