第四章 电算会计4.docx
- 文档编号:26449785
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:16
- 大小:50.25KB
第四章 电算会计4.docx
《第四章 电算会计4.docx》由会员分享,可在线阅读,更多相关《第四章 电算会计4.docx(16页珍藏版)》请在冰豆网上搜索。
第四章电算会计4
第四章电算会计系统设计(浙江大学)
电算会计系统设计是在系统调查研究、可行性论证以及系统分析的基础上,根据系统分析报告所提出的系统逻辑模型,确定出系统的物理模型的过程。
是系统开发的第三阶段。
第一节电算会计系统设计概述
系统设计就其实质内容来说就是根据系统分析所描述的系统总业务流程图,子业务流程图及其相互关系,并依据系统目标和功能要求,构造出一个系统总体结构的过程。
一、系统设计的目标
二、系统设计的原则
三、系统设计的功能
(一)电算会计系统的核算功能
(二)电算会计系统的监督功能
(三)电算会计的帐务处理功能
这部分工作的主要内容是对单位的财务帐目进行各种帐务操作。
主要有以下工作内容:
1.记帐凭证的输入与校核。
2.登帐操作。
3.查询操作。
4.修改操作。
5.帐薄的输出。
电算会计系统的核算、监督和帐务处理功能三者间是相辅相成的。
核算是基础,监督是管理,帐务处理是条件和手段。
在核算中进行监督,同时通过帐务处理在监督中进行核算。
四、系统设计的内容与步骤
系统设计的内容可分为总体结构设计和详细设计两大部分。
总体结构设计指的是系统的模块结构设计,它说明系统中模块的组成,并需明确模块的功能,及模块间相互关系。
详细设计描述了系统设计中各部分的详细内容,包括编码设计、输入、输出设计、数据库设计、模块处理功能设计等。
系统设计中各个部分的工作安排按一定的逻辑次序进行,具体步骤如下:
1.系统配置设计
2.系统代码设计
3.数据库文件设计
4.系统模块结构设计
5.输入/输出设计
6.查询系统
7.系统维护设计
8.其他子系统模块设计
以上八个步骤之间是互相联系又互相区别的,前一步设计要考虑和顾及到以后步骤的影响,后面的设计中有可能要调整和修改以前步骤的内容。
五、电算会计系统的总体设计
电算会计系统包括会计核算系统,会计分析系统、会计控制系统和预测、决策系统。
目前在我国企事业中,开发并投入应用的主要是电算会计核算系统,因此,这里着重阐述电算会计核算系统的设计:
电算会计系统数据多,处理流程复杂,规模较大,而且不同部分在数据处理上各有特点,因此建立电算会计系统需要再划分成若干个子系统,即若干个功能模块.每个企业单位子系统的划分,即功能模块的划分可根据本身业务特点,规模大小、管理要求以及原有工作组织基础的不同来决定,不是固定不变的;通常在一个中型工业企业里,可将电算会计系统划分为帐务处理子系统、会计报表子系统、工资核算子系统、材料核算子系统、固定资产核算子系统、成本计算子系统、成品销售核算子系统,有些子系统可能与其他管理信息系统(如物料管理、设备管理,人事管理等等)内部又有些交叉,可能出现数据的重复输入,这是单独建立电算会计系统难以避免的,应当结合各单位的具体情况,恰当地加以处理.
第二节电算会计系统代码设计
电算会计系统代码设计主要给会计科目、业务摘要编制代码。
整个会计系统都是以会计科目体系为标志而构造的。
会计代码是用一种符号来代替科目名称,反映某一类经济活动内容。
为了便于计算机对数据的识别和处理,要对电算会计系统中的所有会计科目、材料物资、设备、产品、职工、以及往来单位等名称及其属性进行编码。
设计出一套好的代码能够使用计算机处理,如排序、分类、合并、校对和查询等,变得十分方便;还可把有些计算机很难处理的工作变成简单处理。
一、电算会计系统代码设计的目的
编制代码就是编制各种客观事物名称、属性、状态的符号和记号,简称编码,编码的目的在于:
(一)唯一化
(二)规范化
(三)可识别化
二、电算会计系统代码的种类
在电算会计系统中代码的使用不仅限于会计科目的标记,而是可以用在多方面,因此种类是多种多样的。
通常电算会计系统有三种编码划分方式。
(一)按代码反映的内容分类
1.会计科目代码是系统中数量最多的代码内容,每个会计科目都对应一个代码。
它是编码的主要内容。
2.业务辅助代码指对某些有规律性指标的文字说明。
例如,固定资产的增加来源有几种可能,如上级拨入、自行购置、外部捐赠、融资租赁等。
这些业务是相关的,用编码方式可以方便地表示。
3.经济业务摘要代码由于经济业务摘要输入过程中很费时,因此可将企业主要经济业务整理成规范形式,一种业务摘要赋于一个代码,存入摘要文件。
待输入凭证数据时,只需输入代码即可调出所需摘要。
4.口令码指进入电算会计系统时或进入系统中某个功能模块时所使用的关键字,由系统总负责人按照不相容职责划分原则对不同功能模块设置不同级别的口令代码,交给各个系统运行人员使用。
5.职工代码给本单位职工编制代码,便于利用计算机进行工资管理及考核奖励。
6.业务单位代码给经常与本单位有业务往来的客户单位编制代码,便于利用计算机加强业务管理。
(二)、按系统编码的形式分类
(三)按编码的级别分类
三、电算会计系统编码的原则
代码设计的科学性和合理性,不仅影响系统运行效率,而且将直接影响到系统的正确性和实现性。
因此,在设计编制代码时要遵循以下原则。
1.代码的单义性每个代码只代表一个确定的会计科目,每个会计科目有唯一的编码。
2.代码的系统性在电算会计系统内,所有项目的编码的规划和标准必须是统一的;编码要成系列,便于识别和处理;否则将会出现重复和混乱,以致无法进行统一处理。
3.代码的简明性代码结构要简单明了,代码长度尽可能简短,以便减少输入工作量,降低出错率,减少存储空间,提高运行效率。
4.代码的可塑性编码时既要满足当前需要,又要考虑今后发展,注意今后的追加、修改和删除方便。
不要由于代码的原因而影响整个系统运行,造成代码的混乱。
5.代码的稳定性和可靠性代码一经编好,尽量保持稳定,少作变动,以便于有关人员熟练使用、减少差错。
为了减少使用差错,某些代码中应有校验位,增加代码的可靠性。
6.代码的标准编制设计代码时应尽量利用国际、国内和行业颁布和惯用的标准代码。
7.代码的高效性代码必须满足系统使用需要,在结构上能与处理方法相一致。
代码要容易记忆,适宜计算机进行各种处理,能提高系统运行效率。
四、电算会计系统编码的方法
五、校验码。
第三节电算会计系统文件设计
文件是具有相关性质的数据记录的集合。
电算会计系统文件就是记载着大量会计信息的数据文件。
会计数据具有数据量大,动态性强,结构复杂的特点。
因此处理会计数据应符合严格制度、安全保密、真实准确的要求。
一、电算会计数据文件的设计原则和要求
二、原始数据库文件设计
(一)凭证库设计
凭证库用来存放电算会计的记帐凭证数据,这类数据是电算会计的原始数据之一,其库文件的设计方法是:
(1)设计一个凭证日库PZRK.DBF,用来存放当天或一次输入的凭证数据;
(2)分月设计凭证月库,用文件名称标识不同月份的数据。
如PZYK.DBF,反映月凭证的记录,以备存放下次或明天的凭证数据.月终结帐时,不存在大量数据转移问题,因此提高结帐效率。
(3)凭证结构可以采用简单和复合法两种不同的方法设计
仅以简单法为例,亦称分录法,这种凭证库结构如下:
.USEPZ
.LISTSTRU
C:
\ZW\PZ.DBF
最新更改日期:
01/31/2004
字段字段名类型宽度小数
1日期日期8
2凭证类型字符4
3凭证编号字符4
4摘要字符20
5借方科目字符10
6贷方科目字符10
7借方金额数值102
8贷方金额数值122
9附件张数字符4
从以上库结构可看出,一条记录就是一笔简单分录,可反映逐笔业务的帐户对应关系,适合简单分录较多的单位采用。
对于复合分录,要化作若干笔简单分录输入,这有利于凭证数据的成批高速处理,尤其是有利于加工出帐户对应关系的数据;由于借贷记帐法是自动平衡的,所以接受数据输入时,不必进行平衡校验。
凭证库结构对记帐凭证编制的要求较严格,反映的帐户对应关系要延伸到已经编码的明细科目。
否则,不利于凭证数据的输入。
(二)编码库设计
三、再生数据库文件设计
(一)总分类核算库文件设计
1、科目汇总库设计(KMHZ.DBF)
科目汇总库存放科目汇总表上的数据。
可以反映任一个月全月科目汇总数据,也可以动态反映按随机逻辑条件进行汇总的科目汇总数据。
其库结构如下:
字段字段名类型宽度小数
1会计科目字符9
2期初余额数值122
3借方发生额数值122
4贷方发生额数值122
5期末余额数值122
余额两个字段不分借贷,用正数表示借方余额,用负数表示贷方余额,合计为零则反映平衡,不同性质帐户计算余额的两个公式可以合并为一个公式,更方便于电算数据处理:
期末余额=期初余额+借方发生额-贷方发生额
由于FOXpro有专门命令,可以高速生成这类数据,所以科目汇总库不必分会计期间设库,可以临时加工,快速生成。
2.三栏式总帐库设计(SLZZ.DBF)
三栏式帐薄是会计核算中一种固定格式的帐薄,该帐薄采用逐笔、序时登记方法,适用于采用记帐凭证会计核算形式的单位,也适用于只有价值量的明细核算和货币资金方面的序时核算。
三栏式总帐库结构如下:
字段字段名类型宽度小数
1会计科目字符9
2日期日期8
3凭证类型字符4
4凭证编号字符4
5摘要字符20
6对应科目字符9
7借方金额数值122
8贷方金额数值122
9借或贷字符4
10余额数值122
会计科目字段是一个标识性字段,说明记录的科目属性。
所有总帐科目三栏式记录全在这一个库中,它不分科目设库,但要分月设库,以反映不同会计期间的三栏式记录。
(二)明细分类核算库文件设计
1.三栏式明细核算库设计(SLMX.DBF)
行三栏式明细核算。
2.数量金额栏式明细核算库设计(SJMX.DBF)
3.多栏式明细核算库设计(DLMX.DBF)
4.专用格式明细核算库设计(ZYMX.DBF)
(三)序时核算库文件设计
1.三栏式日记帐和汇总日记帐库设计
2.凭单日记帐库设计(PD.DBF)
3.多栏式日记帐库设计(DLRJ.DBF)
(四)综合余额库文件设计
它把总分类核算与明细分类核算综合起来,用一个综合余额库(以下简称余额库)反映各级帐户的余额和借、贷发生额合计及累计。
显然,这个库要分月设库。
凭证日库的数据要向余额库动态汇总累加,以便利用余额库进行实时、动态地核算。
综合余额库结构如下:
字段字段名类型宽度小数
1会计科目字符9
2期初余额数值122
3借方发生额数值122
4借方累计数值122
5贷方发生额数值122
6贷方累计数值122
7期末余额数值122
会计科目字段反映各级科目的数位码全称;两个余额字段用正、负数区别借、贷;两个发生额字段是指本月发生额:
两个累计字段是指本处累计发生额。
综合余额库在会计软件中处于十分重要的地位,是软件正常运行必不可少的文件,属支柱性数据库。
其余众多的再生数据库都是附加性数据库,只是为了提供多种核算指标才设计和使用的。
(五)会计报表库文件设计
第四节会计信息系统功能设计
本章所介绍的系统设计是以结构化系统设计为基础的。
所谓结构化系统设计是将一个信息系统设计成有层次关系的、相对独立的、单一功能的各模块组成结构。
即一方面,使各模块满足块间联系弱、块内联系强的要求;另一方面,使各模块之间又具有简单的层次结构关系。
在这种层次化的模块结构中,模块之间的调用关系非常明确与简单,每个模块可以单独地被理解、编写、查错与修改,一个模块的错误不易向其他模块扩散。
这种层次化的模块结构具有较高的正确性、可靠性、可理解性与可维护性。
一、模块的基本概念
1.模块
模块是构成系统、实现系统功能的基本单位,是一般意义上的子程序。
模块具有输入输出、逻辑功能、内部数据和程序代码4大特征。
其中,输入输出反映了模块的需要和产生的信息,逻辑功能是模块要做的工作,这两者反映了模块的外部特征;而内部数据是供模块引用的,程序代码是完成模块功能的,这两条反映了模块的内部特征。
除这4个属性外,模块还有其他特征:
例如,它有一个名称,它可以使用别的模块,也可以被别的模块使用,称为“调用”/“被调用”。
另外,一个模块在运行时总要占据一定的内存区域。
2.模块化设计。
模块化是把系统分解为若干模块,每个模块完成一个特定的功能,然后将这些系统汇集起来组成一个系统,完成指定的功能,满足用户需求。
模块化是20世纪60年代提出的,其目的是将系统分块求解,以减少整个系统的复杂性。
为什么会简化呢?
设有两个问题P1、P2,用C(Pl)、C(P2)表示复杂度,用E(Pl)和E(P2)表示解决问题所需要的工作量,那么,
如果C(Pl)>C(P2),则E(Pl)>E(P2)这是显而易见的。
但是存在一个有趣的规律是:
C(P1+P2)>C(P1)+C(P2)
即:
如果一个问题由P1、P2两个问题组合而成,那么客观存在的复杂程度大于分别考虑每个问题的复杂程度之和,于是有:
E(P1十P2)>E(P1)+E(P2)
说明把复杂问题分解为若干容易解决的子问题,原问题也就容易解决了,这就是模块化的依据。
既然模块化可以简化问题,那么,能否将系统无限地分解下去,最终将导致最基本的模块设计非常简易,而使系统设计的工作量非常小呢?
事实上是不可能的,因为当模块数目增加时,开发单个模块所需的工作量或成本降低了,但相应的接口成本或工作量增加了。
因此,不但要考虑系统的模块化,还要考虑模块之间的结构和模块的数量,使得系统的开发成本最低。
3.结构化模块设计。
20世纪70年代我们提出了结构化设计,最初仅仅是对程序设计而言,但随着模块化设计中模块的不断增加,系统不但没有简化,反而又复杂了,原因就是接口更复杂了。
因此,人们提出不但要模块化,还要结构化。
所谓结构化设计是指:
系统是由模块组成的,这些模块自顶向下具有一定的层次结构,每一层上的模块只能具有规定的有限结构形式(如顺序、选择、重复等),上层模块只能控制它的下一层模块。
从模块化设计到结构化设计见图4–1所示。
图4–1从模块化设计到结构化设计
4.结构图。
结构图中的主要成份有:
(1)模块。
用长方形表示,方框只写上模块的名称。
(2)模块调用。
从一个模块指向另一个模块的箭头表示前一个模块调用后一个模块。
箭尾的菱形表示有条件地调用,弧形箭头表示循环调用,见图4–3。
图4–3模块的三种调用关系
(3)数据。
用带圆圈的小箭头表示从一个模块传递给另一个模块的数据,箭头旁写上信息的名称。
(4)控制信息。
带涂黑圆圈的小箭头表示一个模块传递给另一个模块的控制信息,箭头旁写上控制信息的名称。
结构图的层次称为深度。
一个层次上的模块总数称为宽度。
深度和宽度反映了系统的大小和复杂程度。
结构图是系统设计阶段最主要的表达和交流工具。
这种图应当简明易懂,既要便于设计人员表达自己的设想,又要便于编写程序的人员了解实现要求,还要便于同管理人员商讨。
二、模块设计的基本原则
模块设计可遵守以下原则:
1.模块的联结原则。
两模块间的联结又称为模块间的耦合,其耦合度(Coupling)表明模块之间相互依赖的程度。
降低模块之间的耦合度是设计和评价模块的一个重要原则。
也就是耦合度越松散越好,因为这样可以减少模块间的共用信息,降低系统的复杂性。
根据模块间信息传递的方式不同,可以将两个模块之间联结形式按耦合度由低到高顺序分为5种:
(1)简单耦合。
指模块之间只有调用与被调用关系,除此之外,在它们之间没有任何信息传递。
(2)数据耦合:
指模块之间不仅存在调用与被调用关系,而且存在着数据通信,即数据的传递与交换。
要将模块之间的参数的个数控制在最少,以便降低信息通信的复杂程度。
(3)控制耦合。
类似于数据耦合,只是模块之间传递的是控制信息,而不是数据参数。
控制信息可以是一种标识,或一种状态,或一种开头等。
这种耦合是一种中等程度的耦合,在系统中可能会出现,但要尽可能减少。
(4)公共耦合。
如果两个或多个模块与同一全程变量或公共环境联系在一起,那么,这两个模块之间存在着公共耦合。
这是一种较强程度的耦合,因为若修改全程变量或公共环境,所有与此相关的模块均须修改。
在系统设计时应避免公共耦合。
(5)内容耦合。
如果一个模块与另一个模块的内部数据有关,另一个模块称之为内容耦合。
这是一种最强程度的耦合关系,极大地增加了系统的复杂性,给予系统维护带来严重的困难,应尽量完全避免。
总之,尽可能采用较低的耦合形式,即尽可能采用简单耦合和数据耦合;减少控制耦合;
必要时才能使用公共耦合,但一定要将数据控制在最少:
绝对不可采用内容耦合形式,见图4–4所示。
图4–4模块间的耦合程度
2.模块的内聚性原则。
内聚性是指一个模块内部的各个组成部分,其处理动作的组合强度,是系统设计中的一个重要因素。
所谓模块的内部“组成部分”是指该模块运行程序中的一条指令、一组指令或一个调用其他模块的语句。
一般来说,模块的内聚度应该是越紧密越好,这样的模块才能功能单一、独立性好,使模块真正形成一个“暗盒”,系统设计阶段只需考虑其外部属性,用他的名称就可表达其功能。
模块的组合形式按强度由高到低排列如下:
(见图4–5所示)。
图4–5模块内的聚合程度
(1)功能组合。
如果一个模块内部的各个组成部分的处理动作全都为执行同一个功能而存在,并且只执行了一个功能,那么这种组合称为功能组合。
功能组合的模块其内聚性最高,它是一个“暗盒”模块。
例如,“登账”、“结账”等模块都属功能组合模块。
一般来讲,如果一个模块的名称只由一个动词和名词组成,该模块任务明确且只有一个,
则是功能组合。
(2)顺序组合。
对一个模块内部的各个组成部分,如果前一部分处理动作的输出量是后一部分处理动作的输入,则称为顺序组合。
顺序组合模块的内聚性比较高,但包括若干功能,其组合强度要低于功能组合。
(3)通信组合。
如果一个模块内部的各个组成部分的处理动作都使用相同的输入数据或产生相同的输出数据,则称通信组合。
例如,“显示并打印文件”,因为,“显示”和“打印”均针对同一文件名的文件。
通信组合的内聚性低于顺序组合,在某些情况下还是可以接受的,而且与其他模块之间的联结形式也比较简单。
通信组合看起来与顺序组合相似,但实际上有本质的区别,后者在内部处理动作之间有特定的先后顺序,而前者对动作的执行顺序是不重要的。
(4)过程组合。
如果一个模块内部各组成部分的处理动作各不相同,彼此也无关系,但它们都受同一个控制流的支配,决定它们的执行顺序,则称为过程组合。
例如,“查询账簿”模块,其输入的是查账申请数据,而输出的是日记账、明细账、总账等账簿,这些动作之间彼此没有关系,应分解为查日记账、查明细账、查总账等功能模块。
过程组合内聚度较低。
应尽量避免。
(5)暂时组合。
如果一个模块的各组成部分,它们的处理动作和时间有关,则称之为暂时组合,也称时间组合。
例如“系统初始化”模块。
暂时组合的模块各处理动作虽然彼此无关,但必须在特定的限制内完成。
一般其模块内部各个组成部分的处理动作只执行一次,但它可能影响到其他许多模块的运行。
因此,与其他模块的耦合度比较高,且联结范围也较广,其内聚性很低。
(6)逻辑组合。
如果一个模块的各个组成部分在逻辑上具有相似的处理动作,但在功能上、用途上彼此无关,则称之为逻辑组合。
这种组合方式的内聚度很低,模块的维护非常困难。
(7)偶然组合。
如果一个模块内部各个组成部分的处理动作彼此没有任何关系,或者即使是有某种关系,也非常松散,则称偶然组合。
常常是由于设计人员的个人喜好不同,为了某种方便而随意将一些程序混合在一起,没有内聚性。
一般很难从它的外部属性上理解它的功能。
如果要修改、维护,必须把客观存在的外部属性完全了解清楚,才能知道它到底做什么事情。
这类组合内聚性最差,应绝对避免。
3.模块的分解原则。
分解是将一个较大的模块分解成若干个较小的从属模块。
若某一个模块太大、其内部组成较复杂,则内部聚合程度可能较低,而与其他模块间的耦合度又可能较高,这就需要进行模块分解。
模块自顶向下分解,应主要按功能来进行,直到分解到无法说明功能定义为止;同时要考虑分解中模块间的接口关系尽可能简单。
总之,要保证分解模块的有效性,使其功能单一,易于编写、理解和维护。
4.模块的扇入和扇出原则。
模块的扇出(Fan–Out)表达了一个模块对它直属下级模块的控制范围,通常用扇出系数表示模块的直属下级模块的个数。
例如,图4–6(a)所示的结构中模块A的扇出系数为3。
模块的直属下级越多,它控制的模块多所要做的工作也越多,它的内聚性可能越低。
应将扇出系数控制在较小的范围。
通常,一个模块的扇出系数控制在3~7个。
如果超出7个则出错的可能性会加大。
但如果一个模块较大,而它的扇出系数却很小(比如1、2)也不合适。
模块的扇入(Fan-In)表达了一个模块与其直属上级模块的关系。
通常用扇入系数表示模块的直属上级模块的个数。
例如,图4–6(b)所示的结构中模块A的扇入系数为3。
在系统设计中,应尽可能增大模块的扇入系统。
因为扇入系数越大,说明模块分解得越好,通用性强,冗余度低,维护时能够减少对同一功能的重复修改。
三、结构图的设计
结构化系统设计与结构化系统分析有着密切的联系,因为设计阶段是以系统分析阶段得到的数据流程图为基础设计系统的模块结构的。
DFD有两种典型的结构:
变换型(transform)结构和事务型(transaction)结构,因此可以分别通过变换分析和事务分析两种不同的设计策略导出标准形式的结构图。
详细方法可参见有关的MIS教材,限于篇幅,这里不作介绍。
在此我们仅介绍一种简单易行的设计策略。
众所周知,一个系统主要由3部分组成:
输入、处理和输出。
通过分析新系统的逻辑模型,按下述步骤就可设计出模块结构图(以账务处理系统为例):
”
1.确定系统的输入。
在账务处理系统中,输入的数据是记账凭证,经校验产生记账凭证文件。
2.确定系统的处理。
在账务处理系统中,主要的处理就是记账、结账。
3.确定系统的输出。
在账务处理系统中,输出的信息有账册、凭证、报表、查询信息等。
4.模块结构优化。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 电算会计4 第四 电算 会计