第一节 会计电算化信息系统开发的基本要求与方法
企业实施会计电算化是一项复杂的系统工程,受企业内外众多因素的影响,不可能一蹴而就,需要循序渐进地进行。会计电算化信息系统的开发如同企业生产产品,必须经过一系列复杂的阶段,包括设计、授权和过程控制,会计人员必须关注会计电算化信息系统开发全过程。
一、开发会计电算化信息系统的基本条件
企业开发会计电算化信息系统需要一些基本条件,概括起来包含下述几个方面:
(一)企业已建立规范、标准、合理的手工会计核算体系
企业手工会计核算体系的规范化、标准化、合理化,是建立企业会计电算化信息系统的基本条件。企业规范、标准、合理的手工会计核算体系主要是指企业会计制度是否健全,核算规程是否规范,基础数据是否准确、完整。如果企业的手工会计工作具有较好的基础,会为会计电算化信息系统的设计与开发打下较好的基础。相反如果企业没有较好的会计基础,将会增加开发系统的周期和困难。
(二)企业的客观需要
在开发新的会计电算化信息系统之前,企业的手工会计信息系统也是存在的。但随着企业生产的发展以及市场竞争的日益激烈,企业经营管理对于会计工作的要求不断加强。依靠传统落后的计算工具和手工操作方式,即使不断增加会计人员,所提供的会计信息在及时性、准确性和可靠性方面,往往也难以满足企业经营管理的需要。因此建立会计电算化信息系统,从根本上摆脱这种信息供给的困境,已成为一般企业开展会计工作的共识。
(三)领导重视和支持
在现代企业中,计算机的应用几乎涉及企业的所有部门和人员,同时还会涉及企业管理体制的变动。对于自己组织人员开发会计电算化信息系统的企业来说,在系统开发过程中,尤其是在系统分析阶段,对于担负审查系统目标、实施方案和费用预算等任务,需要有关部门的负责人亲自挂帅,如企业的厂长、经理、总会计师等。这样在人员配置、培训、资金筹集、设备更新、组织机构变更以及与其他部门的协调等方面,就会顺利很多。从心理学角度讲,领导重视与支持还会影响会计电算化信息系统管理人员和开发应用人员的情绪和信心。因此,在系统的开发过程中,企业财务部门的负责人和总会计师应自始至终领导和参加系统研制及使用工作,保障会计电算化信息系统开发工作的顺利实施。
(四)具有充足的经费
会计电算化信息系统的开发需要一定的软件开发成本、硬件购置成本和人员培训费用,此外还需要支付系统运行维护费用及其他相关费用。这些费用少则十数万元,多则数十万元,上百万元。网络化会计电算化信息系统的硬件设备购置费用就可高达数十万元,因此在实施系统开发工作之前,需要对可能的系统开发费用进行预算和控制。
(五)具有合格的会计电算化人才
企业实施会计电算化以后,会计人员的结构发生了变化。一部分工作人员将会转移从事计算机处理工作,而新的职能的出现又要求企业配备新的专业人员。例如,系统分析人员、系统架构师、程序开发人员、计算机操作员、硬件软件维护人员。一般来讲,会计电算化信息系统的工作人员分为三类:第一类是电算化信息系统的开发人员,负责完成会计电算化信息系统的程序设计工作;第二类是系统的应用人员,主要负责电算化信息系统的日常使用和维护;第三类是系统管理人员,负责会计电算化工作的组织、实施、协调和管理。
为了建立会计电算化的专业队伍,要特别注意系统分析人员的选择和培训,因为他们既要研究企业整个财务系统的运行活动,同时又需要根据研究中获得的资料进行新系统的设计和实施。因此,系统分析员既要精通财务会计知识,具备丰富的实际工作经验,又要熟悉计算机硬件软件技术。经验表明,从经验丰富的财会人员中培养系统分析人员,要比从计算机专业人员中培养效果好,而且能迅速开展系统分析和设计工作。在高校中,给会计专业学生开设一部分计算机课程或计算机和会计相结合的课程,有利于他们以后成为既懂计算机又懂会计的复合型人才。
二、企业会计电算化信息系统的开发计划
为企业管理开发专用的会计电算化信息系统是一个长期的过程,因此需要制定企业会计电算化信息系统的开发目标和总体工作计划,这是会计电算化信息系统开发工作顺利进行的重要保证。制定系统开发计划的目的是将个别的系统项目或应用程序与企业的战略目标相联系。通过制定工作计划,明确系统开发的方向和目标,确定中长期会计电算化工作的主要内容,切实地推进企业信息化工作,最终实现企业信息化管理的目标。制定工作计划可以使信息系统的开发工作有条不紊,前后阶段相互协调配合。会计电算化信息系统的开发计划主要包括下述内容:
1.制定切实可行的系统开发目标。制定系统开发计划时,充分估计企业的财务经营状况,确定企业经营管理的哪些环节需要使用计算机处理,工作量有多大,需要配备哪些硬件设备,资金是否充足,人员如何进行培训,企业管理体制应作什么样的调整。
2.确定系统的结构和硬软件配置模式。根据企业需要,决定系统应采用单机多用户模式、局域网模式还是网络模式。确定系统所需的硬件和软件配置,如硬件最低配置、软件运行的操作系统平台、使用的网络服务器等,以便指导系统开发工作。
3.协调总系统与各子系统之间的关系。会计电算化信息系统由总系统和各个子模块共同组成。各个子模块具有各自独立的功能,同时又必须共同服从总系统的要求。合理分配各个子模块的功能,使其相互联系,又同整个系统保持一致是系统设计阶段的重要工作。
4.协调新旧系统的衔接问题。新的会计电算化信息系统一般是在现行的手工会计系统基础上建立起来的。当新系统建好以后,必然存在着新旧系统的交替衔接问题,如果处理不好,就会造成会计信息的丢失、企业业务的中断。
5.人员分工及培训计划。目前,企业中既懂计算机技术又懂会计业务的合格电算化人才仍然比较欠缺。新系统的引入又给会计工作组织结构带来变化,做好人员的分工配置和技术培训是保证系统目标顺利实现的重要步骤。
三、系统开发方法
会计电算化信息系统结构复杂,各个部分之间联系紧密,开发周期长、费用高,往往需要花费几人年,几十人年,甚至上百人年的工作量,必须认真研究它的特点,掌握它的规律,运用合适的系统开发方法。如果在系统开发前,不做好系统分析和系统设计,不重视系统开发文档的撰写和编辑,那么系统开发工作将难以管理和控制,开发的软件质量难以得到保证,甚至中途夭折。目前使用最多的还是软件工程学中的生命周期法和原型法。
20世纪70年代以来,西方在经历了“软件危机”以后,提出了软件工程的概念,即用工程化的思想指导软件开发,认为有计划、有纪律、有步骤地进行软件开发将会大大地提高软件生产率,并能保证软件质量。
(一)软件工程概述
1968年10月,北大西洋公约组织的科学委员会提出了软件危机问题:将大型软件开发中普遍存在的费用高、开发过程不易控制、工作量估计困难、软件质量低、软件项目失败率高、无法判断大型系统能否正常工作以及软件维护任务重等现象,归结为“软件危机”。其主要特点为:
1.软件成本逐年上升
20世纪50年代,软件成本占整个计算机系统成本的比重并不大,大约为10%~20%。但后来,计算机硬件随着生产技术的进步、生产规模的扩大,价格不断下降。著名的摩尔定律告诉我们“CPU的处理速度每18个月提高1倍,价格降低一半”。软件随着规模的扩大,复杂性提高,成本日益增长。到20世纪60年代中期,软件成本在计算机系统成本中的比重已经增长到50%左右。进入21世纪后,软件代价高的问题不仅没有缓解,反而更加严重。
2.开发过程难以控制
由于软件开发属于人的智力活动,因此难以精确度量和控制其进程。在开发大型软件系统时,会遇到各种各样的困难。有的系统开发失败了;有的系统虽然开发成功,但性能不理想,没有达到预期目的;有的系统推迟了很多年才完成,使用经费超出了预算。
3.软件工作量估计困难
软件工作量一般通过若干个人月来衡量,如10人月的工作量,理论上由1个人完成则需要10个月;由10个人完成,则需要1个月。但这种工作量估计方式只是在各部分工作互不干扰的情况下适用。软件系统结构复杂,参与的开发人员众多,这要求开发人员能进行充分有效的沟通。如果人员之间的交流沟通处理不周,则增加开发人员,不仅不会缩短时间进度,反而会延缓进度。另外软件开发中,可能会经常出现各种意想不到的情况,使得开发进程受到严重干扰。这些情况都会使软件开发的工作量难以做到准确估计。
4.软件质量低
软件质量低的问题由来已久,早在20世纪60年代,人们就发现软件质量低,可靠性差,维护费用高。面对软件规模的迅速扩大,复杂性的急剧增大,软件开发能力却远远跟不上应用需求的高速发展。计算机在工业控制、医疗、通信、航天、航空、经济、金融等领域的应用对软件质量提出了前所未有的挑战,因软件质量问题而造成的重大事故也时有发生。1996年,欧洲的阿丽亚娜火箭发射卫星时因为软件故障而爆炸。
5.软件修改维护困难
软件正式投入使用以后,仍然潜伏着一定数量的缺陷。随着时间的延伸,缺陷总会暴露出来,软件会出现故障,这时就需要对软件进行维护。由于软件本身的抽象性和复杂性,软件在维护过程中可能出现新的错误,这使得软件维护就显得更加复杂。有资料显示,在数据处理软件方面,预算的30%~80%往往用于软件维护。
为了应对“软件危机”,软件工程学的概念应运而生。软件工程学是一门工程学科,它涉及软件生产的各个方面,从初期软件系统的构思和描述到系统维护,都属于该学科的研究范畴。尽管有许多对软件工程的定义,但主要的思想都是强调在软件开发中应用工程化原则的重要性。简单地说,软件工程是指导计算机软件开发和维护的工程学科,采用工程上成熟的概念、原理、技术、方法来开发和维护以及管理软件。软件工程的基本原理包含如下几条:
1.用分阶段的生命周期计划严格管理
将整个软件开发过程视为一项工程,把整个工程分成若干个阶段,制定每个阶段的计划,逐个实施。大多数不成功的软件项目都是由于计划不周造成的,在软件开发与维护的漫长的生命周期中,需要完成许多性质各异的工作,因此应该把软件生命周期划分成若干个阶段,并相应地制定出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理。
2.坚持进行阶段评审
在传统的软件开发过程中,前一个阶段的输出结果是后一个阶段的输入。这就是说前一个阶段工作有正确的结果,后一个阶段的工作才有可能正确;如果前一个阶段工作的结果是错的,后一个阶段工作的结果就肯定是错的。或者说,后一个阶段的成功总是建立在前一个阶段正确的基础上。事实证明,大部分错误是在编码之前造成的,错误发现得越晚,则改正所付出的代价就越高。
3.实行严格的产品控制
在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价。但是,在软件开发过程中改变需求又是难免的,由于外部环境的变化,相应地改变用户需求是一种客观需要,显然不能硬性禁止客户提出改变需求的要求,而只能依靠科学的产品控制技术来顺应这种要求。也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称为基线配置,它们是经过阶段评审后的软件配置成分,即各个阶段产生的文档或程序代码。基准配置管理也称为变动控制:一切有关修改软件的建议,特别是涉及对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改,绝不能随意修改软件(包括尚在开发过程中的软件)。
4.采用现代软件开发技术
20世纪60年代开始至今,软件开发技术中很有代表性的是结构化分析和设计技术、面向对象技术等。从提出软件工程的概念开始,人们一直把主要精力用于研究各种新的程序设计技术。20世纪60年代末提出的结构程序设计技术,已经成为绝大多数人公认的先进的程序设计技术。以后又进一步发展出各种结构分析(SA)与结构设计(SD)技术。近年来,面向对象技术已经在许多领域中迅速地取代了传统的结构化开发方法。实践表明,采用先进的技术不仅可以提高软件开发和维护的效率,而且可以提高软件产品的质量。
5.结果应该能审查
从软件管理的意义上考虑,产品要进行阶段审查。产品结果的审查应该包括文档资料的审查和程序的测试等。要求生产的软件产品能审查,就要制定产品的标准和规范。软件产品不同于一般的物理产品,它是看不见摸不着的逻辑产品。软件开发人员(或开发小组)的工作进展情况可见性差,难以准确度量,从而使得软件产品的开发过程比一般产品的开发过程更难以评价和管理。为了提高软件开发过程的可见性,更好地进行管理,应该根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。
6.开发小组的人员应该少而精
软件开发小组的组成人员的素质应该高,而人数则不宜过多。开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。素质高的人员的开发效率比素质低的人员的开发效率可能高几倍至几十倍,而且素质高的人员所开发的软件中的错误明显少于素质低的人员所开发的软件中的错误。此外,随着开发小组人员数目的增加,小组内部成员之间的充分沟通和交流也会变得更加困难。
7.承认不断改进软件工程实践的必要性
不断完善和改进软件是软件工程人员的奋斗目标。依据这条原理,软件工程人员不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验,例如,收集进度和资源耗费数据,收集出错类型和问题报告数据等。这些数据不仅可以用来评价新的软件技术的效果,而且可以用来指明必须着重开发的软件工具和应该优先研究的技术。
(二)软件开发方法
1.生命周期法
生命周期法是国内外普遍采用的系统开发方法,它将信息系统开发视为一个生命周期,将整个生命周期划分为6个阶段,见表8-1。
表8-1 生命周期法开发阶段、任务与文档
生命周期法要求严格按阶段进行,每个阶段都有明确的目标与任务,每一阶段完成以后,要完成相应的文档资料,作为本阶段工作的总结,也作为下一阶段工作的依据。其主要特点为:
(1)按照系统观点和系统工程方法,自顶向下分析、设计,并自底向上实施。
(2)开发过程阶段清楚,任务明确,并有标准化的图、表、说明等组成各阶段的文档资料。
(3)吸收用户单位的管理人员和业务人员参加,每个阶段的成果都经用户审批。
(4)适用于规模较大、目标相对稳定的软件系统开发。
(5)逻辑设计与物理设计分离。逻辑设计阶段,开发人员用一定的图表工具构造新系统的逻辑模型使用户能及早看到新系统的梗概,设计人员依据系统的逻辑模型进行物理设计。
(6)开发周期长,当用户需求发生变动时,修改维护不方便。
本章主要介绍使用生命周期法开发会计电算化信息系统的相关内容。
2.原型法
原型法是20世纪80年代提出的一种新的系统开发方法,它的基本思想是系统开发者在初步了解用户需求的基础上,构造设计系统开发的初步模型——原型。原型初期可能是不完全的、粗糙的,仅满足用户最基本的要求。经过用户和开发人员的反复交流,共同探讨,提出修改方案不断对原型加以改进和完善。开发人员根据修改方案对原型进行修改,得到新的原型,再去征求用户意见,如此反复多次,直到取得满意的原型为止。其工作流程如图8-1所示。
图8-1 原型法开发流程
原型法开发系统分为确定初始需求、设计系统原型、评价原型系统和改进原型系统四个阶段。初始原型满足用户最基本的要求,然后不断修改,经过反复地试用、评价、改进和提高,最终得到满意的系统。使用原型法开发系统的特点如下:
(1)开发周期短,费用低;
(2)适合于中小型应用软件开发;
(3)对软件开发环境要求高,一般需要第四代语言支持;
(4)用户参与软件开发过程,程序人员的设计工作更容易根据用户需求进行,减少了无效劳动,降低了开发失败的风险。
原型法与生命周期法的比较如表8-2所示。
表8-2 生命周期法和原型法对比
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。