会计信息系统的开发方法和步骤.ppt
主讲:张晓琼,会计信息系统开发方法和步骤,第二章,中南林业大学商学院会计教研室,第一节 会计信息系统开发概述第二节 会计信息系统的调查与分析第三节 会计信息系统的设计第四节 会计信息系统程序设计及系统测试第五节 会计信息系统的运行与维护,会计信息系统开发方法和步骤,第一节 会计信息系统开发概述,会计信息系统在开发过程中需要采用科学系统的开发方法和工程化的开发步骤。人们在实践中不断总结和归纳,逐渐形成了一些基本的开发方法。,一、生命周期法,根据软件的生命周期将开发过程分为几个阶段,进行软件的分析和设计的方法。,将软件工程学和系统工程的理论与方法引入计算机会计信息系统的研制开发中,采用结构化、模块化、自顶向下地对系统进行分析和设计。,(二)基本思想,(一)定义,系统分析,系统设计,程序设计,系统测试,运行和维护,系统评估,(三)六个阶段:,生命周期各阶段及其文挡,由于会计信息系统开发没有阶段,人为规定的阶段造成文档书面的反复;开发顺序是线性的,各个阶段的工作不能同时进行,前阶段所犯错误必然带入后一阶段,而且越是前面犯的错误对后面工作的影响越大,更正错误所花的工作量就越大,导致开发周期长。,第一节 会计信息系统开发概述,(四)优点,强调系统开发过程的整体性和全局性,强调在整体优化的前提下来考虑具体的分析设计问题,即自顶向下的观点;阶段划分明确,各个阶段应完成的文档都有明确的规定,软件的开发易于控制,开发成功后的软件易于维护。,(五)缺点,二、原型法,第一节 会计信息系统开发概述,从一个初始信息需求的集合出发,在发展中初步完善信息系统的方法。,1.基本思想,在获得用户基本需求的基础上,快速的构造系统工程模型,然后演示这个原型系统,在用户参与的情况下按用户合理而又可行的要求不断地修改这一原型系统。,2.特点,见效快,3.缺点,整个软件系统没有一个完整地概念,各子系统之间地接口不明确,系统开发文档无法统一,易给以后地维护工作带来隐患。,4.工作流程,第一节 会计信息系统开发概述,三、面向对象法,从全新的角度看问题:从系统的构成入手,希望将系统的最基本结构搞清楚,从现实世界中抽象出系统组成的基本实体对象。对象是构成所要开发的信息系统的最基本要素。如果将这些对象描述清楚了,就可以以比较大的自由度来构建信息系统,当外界环境发生变化后,就可以通过重新组合对象来应对环境的变化。,第一节 会计信息系统开发概述,面向对象的局限性在于对计算机工具要求高,在没有进行全面的系统性调查分析之前,把握系统的结构有困难。因此,目前该方法需要与其他方法结合应用。,四、计算机辅助软件工程(CASE),一种先进的软件开发技术 强调的是解决整个系统开发过程效率问题 它为系统开发人员提供一组优化的、集成的、能够大量节省人力的系统开发工具 着眼于系统分析和系统设计以及程序实现和维护等各环节的自动化,并使之成为一个整体,第一节 会计信息系统开发概述,思考:会计信息系统基本开发方法有哪些?这些方法各自优缺点是什么?有何区别与联系?,第一节 会计信息系统开发概述,结构化的系统开发方法是经典的开发方法,强调从系统出发,自顶向下、逐步求精地开发系统。原型法强调开发方与用户的交流,从动态的角度看待系统变化,采用的是以变应变的思路,思路上比结构化的系统开发方法要先进。原型法对于中小型的信息系统开发应该说效果很好,但对于大型、复杂的系统在原型的制作上有相当的困难;在实际应用中,通常与结构化方法结合起来一起使用。,总结,第一节 会计信息系统开发概述,面向对象的方法从另外一个全新的角度来看问题,即从系统的基本构成入手,从现实世界中抽象出系统组成的基本实体(对象)。其局限性在于对计算机工具要求高:在没有进行全面的系统性调查分析之前,把握这个系统的结构有困难。因此,目前该方法的应用也是需要与其他方法相结合的。CASE方法是一种除系统调查外全面支持系统开发过程的方法,也是一种自动化的系统开发方法。从方法学的特点来看,它具有其他方法的各种特点,同时又有其自身的独特之处高度自动化的特点。但是,CASE方法必须依赖于一种具体的开发方法。,综上所述,只有结构化系统开发方法是真正能较全面支持整个系统开发过程的方法。其他几种方法尽管有很多优点,但都只能作为结构化系统开发方法在局部开发环节上的补充,暂时都还不能替代其在系统开发过程中的主导地位,尤其是在目前系统开发工作量最大的系统调查和分析这两个重要环节。会计信息系统的开发是一项庞大复杂的工程,通常应采用以生命周期法为主,其他方法为辅的开发方法。,返回,第一节 会计信息系统开发概述,一、会计信息系统的可行性研究,第二节 会计信息系统的系统分析,返回,二、系统的需求分析,(一)初步系统调查:1.内容:对企业的组织机构、管理体制、经济环境、会计业务、系统的开发条件等进行初步调查,掌握与系统有关的基本情况,作为可行性研究和制定开发计划的基础。,一、会计信息系统的可行性研究,又称会计信息系统调查,旨在了解和初步评估待开发信息系统的可行性,并且为系统开发做出规划准备。,三个基本步骤:1.初步调查2.可行性分析3.编写可行性报告,2.调查方法:查阅、收集账表等文档召开座谈会,与有关人员面谈,填写各种调查表。,3.描述调查结果工具:(1)组织结构图和功能结构图(2)调查表,第二节 会计信息系统的系统分析,(一)初步系统调查,1.内容,对企业的组织机构、管理体制、经济环境、会计业务、系统的开发条件等进行初步调查,掌握与系统有关的基本情况,作为可行性研究和制定开发计划的基础。,2.调查方法,3.描述调查结果工具,查阅、收集账表、有关制度等文档,召开座谈会,与有关人员面谈,填写各种调查表。,(1)组织结构图和功能结构图(2)调查表,返回,(二)可行性分析,1.经济上可行性,费用估计、效益估计,2.技术的可行性,设备条件、技术力量,3.环境可行性,第二节 会计信息系统的系统分析,新系统的建立是否与内外环境协调,返回,(三)编写可行性报告,可行性报告包括系统研制和开发人员调查的资料、所需资金、工作量、开发计划、开发进度等内容。,第二节 会计信息系统的系统分析,了解用户要求 按用户的要求建立逻辑模型,完成系统分析报告。,系统分析主要是研究系统的详细用户需求,又称需求分析。,二、系统的需求分析,(一)需求分析,又称逻辑设计,建立新系统的逻辑模型,在逻辑上规定新系统的功能,但不干涉其物理设计。,(二)任务,第二节 会计信息系统的系统分析,1、数据流图(DFD):用图形方式刻画各种业务数据处理过程的工具。,返回,二、系统的需求分析,(三)结构化分析方法(SA方法),采用数据流图和数据词典,自上而下、逐层分解的思路来描述系统,面向数据进行系统分析。,2、数据词典:对流程图中的文件数据流进行详细的描述和解释的词典。,第二节 会计信息系统的系统分析,例:手工会计处理银行对账流程图,数据流的流向有以下几种:,起点 加工;加工 文件;文件 加工;加工 终点;加工 加工,指向文件的数据流:数据写入文件从文件中引出的数据流:文件中读出数据,加工,一个数据流图中至少有一个加工,任何一个加工至少有一个输入数据和一个输出数据。,文件,是相关数据的集合,在数据流图中起着暂存、永久保存数据的作用。,数据流图的起点和终点,数据的始发点和终止点。可省略。,第二节 会计信息系统的系统分析,I1 O1 顶层数据流图 I2 I1 O1中间层数据图 I2 I1 底层数据流图 I2 O1,系统S,1,2,1.1,1.2,2.1,2.2,数据流图的画法,自顶向下、逐步求精,顶层数据流图,不,抄不变栏目名称,写新栏目名称,写新工资额,抄不变工资,上月数据,计算个人实发工资,计算各栏合计,不变栏目名称,本月变动栏目,新栏目名称,本月变动,本月工资数据,返回,数据词典的内容应包含以下4 种类型的词典条目:数据流、文件、数据项和加工。加工类条目又称小说明,主要涉及算法描述,描述特点有所不同。,数据词典(Data Dictionary,DD),是对数据流图包含的所有元素的定义集合,也就是对数据流图中各文件及数据流进行详细地描述和确切地解释。其作用是为系统人员在系统分析、系统设计和系统维护过程中提供关于数据的描述信息。,第二节 会计信息系统的系统分析,“银行对账文件”的数据词典:数据词典文件:银行对账文件 制表日期:,返回,第三节 会计信息系统的设计,(一)概要设计应完成的工作 1.系统总体结构设计 2.代码和数据库文件设计 3.子系统功能模块设计 4.概要设计说明书的编写及评审,一、系统设计的任务,设计计算机会计信息系统的总体结构和一些细节处理。,分为两步:概要设计和详细设计,(二)详细设计应完成的工作1.采用某表达方式对各模块功能实现进行详细描述。2.编写详细设计说明书及评审。(三)系统设计流程图 不合格,概要设计,总体结构设计及子系统设计,数据库设计,编写说明书,评审,详细设计,确定算法,详细描述各模块的算法,编写说明书,评审,系统分析说明书,不合格,合格,二、概要设计,根据系统分析的要求和组织的实际情况来对新系统进行总体结构设计和代码设计、数据库设计等。,第三节 会计信息系统的设计,系统的总体结构设计方法:SD方法用于从系统分层数据流图导出系统模块结构图,以低耦合度、高内聚度作为模块划分的原则。基本思想:由大到小、自顶向下、层层分解,直到最底层模块都是功能单一,不能再分为止。,(一)系统的总体结构设计,指的是对会计信息系统进行子系统和模块的划分。,结构图:SD方法中用来精确表达系统结构和系统模块间的层次关系和联系的图形。组成部分:模块:模块的功能或模块的简称模块的调用关系:模块间调用和被调用关系。调用模块 被调用模块,名字,A,B,模块间的通讯:在调用模块和被调用模块之间中会由信息传递,有两种:a.二值控制信号:控制信号只表明“是/否”b.一般数据:字符、数值,银行对账,手工对账,自动对账,工资查询,按职工编号查询,按职工姓名查询,按工资项目查询,编号,是,否,姓名,项目,(二)代码设计1.代码设计的编码有三种顺序码:按一定标准依次排列组码:用若干连续数组区段表示不同类别事物的编码。群码:每一个代码由固定的几个区段组成每一个区段表示一种特征并可以按顺序码或组码进行编码。2、原则:唯一性 系统性 简明性 稳定性 扩展性 合法合规性,(三)数据库文件设计1.确定系统要建立的文件种类账务数据库文件辅助性数据库文件临时性数据库文件2.数据库文件的组织形式:记录的排列方式顺序组织方式:记录按建立时间先后顺序进行排列和处理。索引组织方式:按对先后顺序排列的文件按索引关键字自动建立索引的文件。,3.数据库文件结构设计:依据数据词典4.确定数据库文件的属性 保密性 读写性 共享性5.编写概要说明书,三、详细设计 建立在概要设计说明书上,描述各个模块如何实现,并编制详细设计说明书以备程序设计所需。(一)PDL语言 介于自然语言和程序语言之间,用简单的语法和自然语言来描述模块的算法,遵循自上向下、逐步求精的原则。例示 if 应收账款余额2000元 and 应收账款账龄2个月 then 给与折扣率为5%endif,(二)主要内容:1.由一些能够表明程序结构的关键字2.将简单语法和自然语言相结合a.procedureb.顺序结构:c.选择结构:if.else.endifd.分支结构:do case.endcasee.循环结构:do while.enddo3.逐步细化写出下一级的PDL程序,(三)过程设计语言(PDL)编程实例PROCEDURE 银行对账模块DOWHILE.T.显示菜单 1录入对账单 2对账 3输出对账结果 4删除已达账 0返回,DO CASECASE 选择“1录入对账单”调用“录入对账单”处理模块CASE 选择“2对账”调用“对账”处理模块CASE 选择“3输出对账结果”调用“输出对账结果”CASE 选择“4删除已达账”调用“删除已达账”处理模块OTHERWISE 返回调用模块ENDCASE,返回,第四节 会计信息系统程序设计及系统测试,程序设计的基本任务,程序设计是在详细设计的基础上进行的。其主要任务是根据详细设计阶段给出的程序逻辑结构的描述,选择某种语言,按照编程规范,编写出具有一致性、可移植性、可维护性的高质量的、高效率的程序代码。,程序语言的选择,编程语言的选择应遵循以下原则:最少技巧性原则。最好无须培训或很少使用就能编制程序。最少错误原则。对第三代计算机语言来说,要提供结构化控制、类型检查、描述抽象能力,易于检验测试等机制。最少工作量原则。即使用最小代价让系统工作,这要求使用高级语言。最少维护原则。对于第三代高级语言来说,要提供软件包结构和独立编译能力。减少记忆原则。,程序的设计风格,一个好的程序在能工作的前提下应具备以下条件:(1)易于测试和调试,即花在这方面的代价要低。(2)易于维护。(3)易于修改。(4)设计简单。为使程序易于理解、易于调试、维护和修改。(5)代码执行效率高。,程序的设计风格,程序内部文档(1)程序的注释序言性注释出现在模块的首部,一般包括模块的全名、模块的功能和性能、调用格式(包括参数名及参数顺序)等以及界面描述(包括上级调用模块、本模块调用的下级模块、输入输出参数的含义和类型、工作区说明以及作者、审查者、日期、修改的日期和修改的叙述等。)功能性注释是为了增强程序的可读性,在程序体中每个具有独立性功能的程序段之前用功能性注释来说明该程序的功能。,程序的设计风格,程序内部文档(2)程序与书写格式在程序书写格式上要注意以下方面:程序的格式要有助于读者理解程序;不要一行书写多条语句,这将会掩盖程序的逻辑结构;用缩排格式限定语句群的边界;缩排书写要显示程序的逻辑结构;在程序段之间,程序段和注释之间用空行和空格来分隔;,下面是用FoxPro命令语句书写的“银行对账”主控程序清单。PROCEDURE YHDZ*程序名:银行对账*程序员:张三*程序设计日期:2003/07/18*SET TALK OFFDO WHILE.T.CLEAR TEXT录入对账单对账输出对账结果删除已达账0返回ENDTEXTWAIT“请选择菜单功能号:”TO GNHDO CASE CASE GNH=”1”DO LRDZD&调用“录入对账单”处理子程序,CASE GNH=”2”DO DZ&调用“对账”处理子程序 CASE GNH=”3”DO SCDZJG&调用“输出对账结果”处理子程序 CASE GNH=”4”DO SCYDZ&调用“删除已达账”处理子程序 CASE GNH=”0”CLOSE DATA CLEAR EXITENDCASEENDDORETURN,测试的基本概念,软件测试的内容(1)单元测试 单元测试又称模块测试,是对程序的最小单位模块进行的测试。单元测试很重要,经验表明,单元测试发现的错误占错误的65%。各模块的单元测试可一起进行。单元测试一般要进行两个方面的测试:一是程序的语法测试,另一个是程序的逻辑测试。程序的语法测试主要是检查程序对指定的机器语言在语法上是否有错误,一般语法错误机器能够自检并反馈给程序调试者,同时指出错误的原因。逻辑测试主要是检查程序在完成某个功能模块时,运算的方法及逻辑处理是否正确,这些错误是不能自检的。,测试的基本概念,软件测试的内容(2)集成测试 集成测试的进行方法主要有非渐增式测试和渐增式测试两种:非渐增式测试方法 分别对每个模块先进行单元测试后,再把所有模块按设计要求放在一起组装成所要的程序,然后进行集成测试。渐增式测试方法 把未经过测试的每一模块逐个加到已经过测试的模块上去,进行集成测试。每加入一个新模块都进行一次集成测试,直到程序组装完成。,测试的基本概念,软件测试的内容(3)验收测试 验收测试又称有效性测试。在集成测试之后,会计信息系统已组装完成,接口错误也已发现并改正了,接着应该验证该系统软件的有效性,这就是验收测试。所谓软件的有效性是指如果软件的功能和性能与用户所要求、期待的一致,那么软件是有效的。当然这里所说的软件的功能和性能与用户的要求一致,是指与软件需求规格说明书中确定的软件的功能和性能指标相符合,所以需求规格说明书是验收测试的基础。,测试的基本概念,软件测试的内容(4)系统测试 在系统测试时,通常有以下测试:恢复测试:恢复测试时要采取各种人工干预,使软件出错而不能正常工作,进而检验系统的恢复能力;安全测试:安全测试是验证安装在系统内的保护机构能否对系统进行保护,使之不受各种异常因素的干扰。强度测试:在进行强度测试时,让系统的运行处于资源的异常数量、异常频率和异常批量的条件下,检查系统负荷能力的最高限度。性能测试:性能测试是检验安装在系统内的软件运行性能。这种测试应与强度测试结合进行。,返回,第五节 会计信息系统的运行与维护,维护的内容,1软件维护(1)纠错性维护:需求分析或系统设计中发生的错误,测试中可能没有完全排除掉,这些错误在系统运行阶段会逐渐暴露出来而影响系统的正常运行。排除软件中这种性质的错误就称为纠错性维护。(2)适应性维护:国家经常颁布新的财务法规、企业外界也可能要求企业采用新的核算方法,为适应外界环境的这类变化而必须对软件进行修改,这就是适应性维护。(3)完善性维护:这是为扩充功能或完善性能而进行的修改,如增加打印新的分析报表;扩充控制功能;改进数据组织或处理方法,以缩短某个处理的等待时间等。,维护的内容,2硬件维护 硬件维护是指对计算机主机以及外部设备的保养和发生故障时的修复,为适应会计软件的运行而进行的调整等。3使用性维护 使用性维护包括对会计信息系统中使用的各种代码进行增、删、改的代码维护;在正常条件下对操作人员未能掌握的技术性处理进行的环境维护;为解决由于意外事故发生会计数据混乱或丢失而进行的意外事故维护等。,维护的管理,系统维护是一项经常性的工作,同时它又是一项技术性很强的工作。计算机会计信息系统是一个有机整体,各个部分的联系错综复杂,对每一部分进行的修改都将牵一发而动全身,不采用正确的方法进行维护就会使系统漏洞百出,越改越乱,而且,系统的各项工作名目繁多,因此,对系统的维护必须谨慎,并且要有计划、有步骤地进行。系统维护的步骤如下:提出修改要求领导批准分配维护任务验收工作成果,作业,1.什么是原型法?什么是生命周期法?两者有什么不同?2.系统开发生命周期分为几个阶段?各阶段的主要任务和文档是什么?2.如何理解结构化分析(SA)的基本思想?3.什么是数据流图?其中有哪些常用的符号?简述分层的数据流图绘制方法,并结合实际业务绘制分层数据流图。4.如何理解结构化系统设计(SD)的基本思想?5.什么是PDL语言?它包含哪些内容?6.计算机会计信息系统如何维护和管理?,返回,下一步,返回,下一步,原始凭证,记账凭证,机制凭证,填制录入,临时凭证文件,审核,登记账簿,汇总文件,历史凭证文件,单位银行对账文件,输出报表,输出总账,输出明细账日记账,报表,总账,明细账日记账,对账单,输入或接收,对账单文件,银行对账,余额调节表,自动传入,下一步,计算机会计系统的构成,账务处理子系统,工资子系统,固定资产子系统,采购子系统,销售子系统,成本子系统,下一步,账务处理子系统,系统初始化,凭证处理,记账结账,账表输出,银行对账,系统服务,科目设置,人员权限,初始余额录入,凭证类别,其他设置,制单,审核,汇总,打印,转账生成,记账,结账,日记账输出,明细账输出,总账输出,报表输出,修改口令,系统维护,数据恢复,数据备分,删除已达账,输出对账单,手工对账,自动对账,对账单录入,初始化调节表,综合查询,返回,系统分析阶段建立的需求模型,就是系统的 逻辑模型。逻辑模型重点在于解决系统要“做什么”,或者说具有哪些功能。逻辑模型独立于具体实现技术。“逻辑”特指业务处理中的数据内容和处理过程。,逻辑模型,重点解决系统“如何做”问题。与具体实现技术有关,并受制于技术条件(约束条件)。完成技术设计方面的工作。,物理模型,