会计电算化系统分析与设计原理一、软件危机和软件工程第一节系统分析与设计概述1.软件需求猛增2.软件规模庞大、结构复杂、逻辑严密、开发难度大3.软件开发工作量大、费用高、周期长,开发过程难于控制4.系统维护工作量大并且难于进行(1)软件危机产生的原因既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。(二)解决软件危机的途径软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。二、软件工程1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计技术5.结果应能清楚地审查6.开发小组的人员应该少而精软件工程的基本原理具体来说,将系统开发过程严格划分为六个阶段:三、常见的几种软件开发方法(一)生命周期法生命周期法就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。1.可行性研究与计划2.系统分析3.系统设计4.系统实施5.系统运行与维护6.系统评价生命周期法规定,研制和开发任何一个系统都要按顺序经历上述六个阶段图4-1生命周期的瀑布图可行性研究与计划系统分析系统评价系统设计系统实施系统运行与维护原型法的思想基础是由于各种原因用户无法把自己的意图向开发人员完全表达出来,那么开发人员就根据用户的最主要要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直至得到用户满意的最终系统为止。(二)原型法采用原型法开发信息系统大致要经过下面几个工作阶段:1.可行性研究阶段2.确定用户基本需求阶段3.原型开发4.演示、评价、修改原型阶段5.最终设计并实现系统图4-2原型法确定初始需求开发创始原型用户试用原型原型评价完成系统开发并交付使用对原型进行修改及增加新功能面向对象法的基本思想是:客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同的对象之间的相互作用和联系就构成了各种不同的系统。当我们设计和实现一个客观的会计信息系统时,如果能够在满足需求的条件下,把系统设计成由一些不可变的部分组成的最小集合,这些不可变的部分就是所谓的对象。(三)面向对象法面向对象法的工作流程:面向对象方法开发的工作流程分为四个阶段:1.系统调查和需求分析2.分析问题的性质和求解问题3.整理问题4.程序实现CASE方法的基本思路是:在实际开发一个系统时,CASE的应用必须依赖于一种具体的开发方法,例如,生命周期法、原型法、00法等等,并提供支持上述各种方法的开发环境,如生命周期法中,业务流程分析---数据流程分析图绘制+功能模块设计一程序设计等,CASE都提供专门的软件工具来支持系统开发过程,实现计算机辅助开发工作。(四)计算机辅助开发方法第二节系统分析1.原系统的基本情况2.新系统的目标一、会计电算化信息系统的可行性研究(一)系统初步调查(1)技术可行性(2)经济可行性①系统开发费用②会计电算化的经济效益(3)运行可行性1.可行性分析的必要性(二)可行性分析2.可行性分析的内容(1)系统环境分析(2)系统的初步逻辑模型和规模(3)建立会计信息系统必要性与可能性论述(4)结论3.撰写可行性分析报告可行性报告主要由如下内容组成:二、系统的分析1.对现有系统进行详细调查,获得现用系统的具体模型。2.去掉具体模型中的非本质因素,抽象现行系统的逻辑模型。3.通过调查详细了解用户对新系统的种种需求,确定系统目标及及应具有的功能。4.根据用户的补充要求和反馈意见,对新系统逻辑模型进行修改和完善。5.对需求说明书进行复审,直到没有错误、文档齐全能完全满足用户的全部需求为止。系统分析的步骤:(1)系统调查表(2)访问会计人员(3)开讨论会(4)参加业务实践(1)单位的组织机构的调查(2)原系统的内部运作与业务处理的调查(3)系统的外部环境关系(4)薄弱环节调查三、现行系统的详细调查1.调查的方法2.调查的内容在系统调查过程中,除对企业的会计业务进行调查外,还要调查会计人员以及各级管理层对会计信息系统的需求。这些需求可归纳为三项内容。1.对日常事务处理能力的需求2.对管理决策功能的需求3.企业的需求需求分析的结果是需求分析报告,报告的内容应包括:需求内容、对需求内容的分析,解决问题的步骤等。四、系统的需求分析(一)手工会计业务流程分析结构化分析方法是面向数据流进行系统分析的方法,它采用“自顶向下,逐层分解”的思想来描述系统。系统分析的结果是产生新系统的逻辑模型。新系统的逻辑模型是有一组图表工具组成,包括数据流程图、数据字典等。数据分析是对系统调查过程中收集到的资料进行综合、归纳的过程。(二)数据分析形成逻辑模型五、结构化分析方法(SA)1.数据流图的基本符号(一)数据流程图数据流图(DFD)不但表达了数据在系统内部的逻辑流向,还表达了系统的逻辑功能和数据的逻辑变换过程。数据流图所采用的基本符号有加工、文件、数据流和外部项。外部项是指处于系统之外的人、机构或另一个系统,它表示进入系统的数据来源或处理后数据流出系统的最终去向,表达了系统与外界的数据接口。在数据流图中,外部项用一个正方形框表示,框内写上外部项的名称,通常把外部项画在DFD的四周,其作用是表达系统的范围和与外界的数据联系。销售处银行(1)外部项处理逻辑也称加工,表示对数据进行处理或变换的功能,即把流向它的一组数据流加工成另一组数据流。加工在DFD上用一个圆圈(泡)表示,泡中写上该加工的名称。加工名称要简洁、容易理解,能反映该加工的含义,常用“动词+名词”做加工名。工资计算材料差异计算(2)处理逻辑数据存储又叫文件,表示处理中需要暂存或永久保存的数据集合。文件用用二根平行的线段表示,在线段的上方、下方或中间写上该文件的名称。资产负债表记账凭证(3)数据存储数据流由一组固定成分的数据项组成,用带箭头的弧线标识,表示一束按特定方向流动的数据。除了表示流入或流出文件的数据流外,都应在弧线的附近注明该数据流的名字,以便理解其含义。发票银行对账单(4)数据流2.数据流图的画法新系统逻辑模型的主要表达工具是数据流图,它是在分析现有系统具体模型及用户需求的基础上去掉非本质因素抽象出来的,在分析中要考虑当前系统与目标系统的差别,进行改造和优化,以便抽象出目标系统的逻辑模型。首先:应充分考虑人与机器处理特点,合理确定人机界面。其次:要改进原系统,不能简单模仿。最后:画数据流图是一个不断试探和修改重画的过程。(1)画数据流图的原则:在分层的数据流图中,下层图是对上层图中某个加工的细化,称为它的子图,上层图称为下层图的父图。所以,父图中有多少个加工,就可以画出同样数目的子图,除非父图中某个加工已较简单,不需要再继续分解。如图4-3。①先画顶层图。②按照“自顶向下,由外到内,逐层分解”的思路,逐层画出各层次数据流图,直到底层图为止。③修改、完善数据流图并最终定稿。(2)画层次数据流图的一般步骤:P1234图4-3自顶向下,逐层分解细化示意图1.31.11.41.51.2(二)数据词典①手工方式②使用自动化的数据词典管理软件,由计算机完成这些工作(2)数据词典中使用的符号。为使定义简明,数据词典中允许使用的符号及其含义如表4—1所示。1.数据词典的编制方法数据词典是对数据流图中的数据流、文件所作的详细说明。(1)数据词典的建立有两种方式:符号含义=等于,定义为+加,还有[……]选择符,表示对[……]中的内容可以任选其一{……}3{……}6重复符,表示对{}中的内容可视需要重复使用。使用{……}表示重复时,可以在花括号的前、后或左花括号的下脚和上角分别标出重复次数的下限和上限,如“3{……}6”,表示重复3次-6次。(……)可选符,表示对()中的内容可由设计者决定取舍。表4-1数据字典中所用的符号①数据流条目②数据存储(文件)条目③数据项条目(3)数据条目的内容系统分析阶段的最后任务是收集整理分析结果,编写成系统分析报告(或称系统说明书)。系统分析报告是系统的功能、性能等需求说明书,是系统设计的基础和依据,也是用户验收系统的标准。它相当于用户与开发人员达成的协议,因此表述应尽量确切。六、系统分析报告(1)原系统的概况(2)原系统的数据流程图(3)新系统的目标与需求(4)新系统的数据流程图、数据词典等系统分析报告的内容包括:第三节系统设计系统设计的任务就是建立新系统的物理模型,也就是在系统分析的基础上,根据系统分析报告提出的逻辑模型,确定出系统在物理上可以实现的技术实施方案。最终完成系统设计报告。通常把系统的设计工作分为总体设计和详细设计两部分。一、系统设计的任务总体设计的任务是确定系统的总体结构,也就是确定出系统的多层次的模块化结构以及各个模块之间相互关系。最终,要把由数据流程图表达的处理功能转化成由不同模块完成的功能。1.总体设计详细设计是在系统总体设计的基础上,对每个功能模块处理步骤和细节的设计。详细设计的任务是为每个模块选择合理的处理方法和技术手段。2.详细设计(1)文件设计包括:要建立文件的种类和文件结构的设计(2)输入设(3)输出设计包括:输出设计包括输出方式和输出格式的设计(4)代码设计(5)人机对话设计系统的详细设计的内容二、系统的总体设计(一)结构化设计方法的基本内容模块结构图是系统设计阶段描述系统结构的主要工具,作为一种文档,它不仅严格地定义了模块的名字、功能和接口,而且还集中地反映了设计思想。模块结构图主要由以下成分组成:(3)数据(2)调用(1)模块(4)转接符号(5)绘制系统结构图的要求1.模块结构图(二)系统设计的策略系统设计的策略是系统结构设计工作为实现系统设计的目标而采取的手段。它可以帮助系统设计人员运用系统的观点从数据流程图中导出初始的系统结构,以供进一步优化和改进。系统设计有两个基本策略:变换中心设计策略和事务中心设计策略。1.数据流程图的典型结构2.变换中心设计策略数据流程图的典型结构通常有:变换型结构事务型结构(1)确定变换中心(2)设计顶层模块和第一层模块(3)设计第一层模块的下层模块3.事务中心设计策略所谓事务中心设计策略,就是根据事务型数据流程图导出初始模块结构图的设计。它先分析数据流程图,确定事务中心,然后再设计模块结构。事务中心设计策略的步骤:(1)确定事务中心(2)按类划分事务(3)为每一个事务处理模块建立全部的下层操作模块(4)必要时规定操作模块的全部细节模块变换中心设计策略和事务中心设计策略是系统结构设计的两种最基本的策略。(1)巧合内聚:模块内各成分之间没有任何联系(2)逻辑内聚:模块内各成分的逻辑功能相似(3)瞬时内聚:将需要同时执行的成分放在一个模块中(三)系统设计的原则1.提高模块的内聚度模块内聚度的类型主要有六种,内聚度从小到大排列如下:(4)通信内聚:模块中各成分所处理的输人数据相同或产生的输出数据相同(5)顺序内聚:模块中一个成分的输出是下一个成分的输入(6)功能内聚:将完成一个功能所必须的全部成分组成一个模块2.降低模块间的耦合度模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系等。降低模块间耦合度能减少模块间的影响,防止对某一模块修改听引起的“牵一发动全身”的水波效应,保证系统设计顺利进行。模块之间的耦合度主要受两个因素的影响:一是接口的复杂性,二是耦合的方式。接口的复杂性与调用语句中所包含的参数个数有关,模块间接口的参数个数越少,块间耦合度越低;耦合方式是影响模块之间耦合度的最主要因素.两个模块之间的耦合方式主要有以下四种:(1)数据耦合(2)特征耦合(3)控制耦合(4)公共耦合(四)会计电算化信息系统的功能模块设计功能设计是指如何根据传统的会计核算工作的特点、方式,结合计算机处理的特点,把系统的总体功能分解成若干个基本的具体的子功能,