会计软件分析与设计第一章帐务处理程序分析学习目的与要求:帐务核算系统是会计核算软件中使用最为广泛、最为重要的一个子系统。本章以系统开发过程为主线,简要介绍各过程的任务、要求及注意事项。通过本章的学习,要求读者对帐务处理系统的开发过程及每个过程所涉及的原理有一个初步的了解,明白各个过程完成的内容及任务对以后工作的重要性。内容提要第一节会计工作现状调查一、系统工作状况调查的主要内容1、数据方面的调查。2、处理内容方面的调查。3、特殊事务方面的调查。4、处理方式方面的调查。5、代码方面的调查。二、企业通常采用的帐务处理程序1、记帐凭证帐务处理程序2、科目汇总表帐务处理程序3、汇总记帐凭证帐务处理程序4、多栏式日记帐务处理程序三、会计工作状况调查的意义会计工作现状调查是进行系统初步设计的基础,如果会计工作现状没有调查清楚就进行系统设计,则可能出现许多问题,满足不了用户的需要和功能不全的问题就要使设计人员从头再来进行系统的调查,因此,设计人员应认真对待调查工作。第二节系统规划一、系统规划的任务根据现状调查所获得的资料,首先应归纳出用户的基本需求,除满足用户提出的要求外,应说明还有哪些附加功能,对于不能满足的用户要求要说明原因,所有的系统功能要清楚,在计算机系统的配置,会计数据处理方法,系统开发的初步安排等方面进行规划,编写需求分析说明书。二、系统规划的内容1、计算机系统的配置方面。2、在信息的处理方式方面。3、在软件开发计划方面。第三节概要设计一、概要设计的任务及意义概要设计是在系统可行性分析之后,为实现系统进行的技术设计,概要设计工作的好坏,直接影响到费用的多少,开发进度的快慢。二、概要设计的内容1、系统要求。2、系统目标的确定。3、环境设计。4、通用性设计。5、保密性设计。6、可维护性设计。7、外部设计。8、文件设计及其应考虑的因素数据的使用频度;数据的基本内容;记录格式;数据的流量;在某些时刻下,是否有两个及以上的程序使用数据;占用文件时,是对文件的全部记录进行处理,还是处理其中某一部分;文件及数据的保密度,允许哪些人存取数据,允许哪些人只读或禁止访问;文件名。第四节详细设计一、详细设计的任务1、对概要设计的功能模块进行过程描述,开发一个可以直接转换成程序语言代码的软件表示,这种表示应当是无歧义且高度结构化的。2.为每个模块建立一个“软件开发卷宗”文件。二、详细设计阶段的实施步骤1、将概要设计产生的构成软件系统的各个功能模块逐步细化,形成若干个程序模块。2、采用详细设计工具对程序模块进行过程描述。3、确定各个模块间的详细接口信息。4、编写“程序设计说明书”。5、按完成标志进行评审,如未发现异常问题,则处理结束,否则而进行修改,修改后再次评审,直至通过为止。三、详细设计的完成标志1、详细地规定了各模块之间的接口,包括参数的形式和传递方式,上下层调用关系。2、确定了模块内的算法及数据结构。四、过程的结构化构造1、过程的结构化与非结构化2、过程的结构化应遵循的原则使用有限数量的基本逻辑结构;利用基本结构将过程组成容易识别的“块”;每块都有且只能有一个入口和一个出口;易于转换成程序代码;容易修改设计五、详细设计工具1、图形工具,以图示方法描述模块处理过程。2、语言工具,有伪代码或结构化英语来描述数据和处理过程。3、表格工具,用表格来表示详细处理过程,这类工具适于处理逻辑十分复杂的条件和活动间的关联。4、几种常用的详细设计工具:流程图;框图;判定树第五节详细设计交付的文件一、程序设计说明书程序设计说明书又称详细设计说明书。编制目的是说明一个软件系统各层次中的每一个模块的设计考虑,其应考虑如下内容:1.编写目的;2.程序系统的结构;3.程序设计说明(程序描述;功能;性能;输入项;输出项;算法;流程逻辑;接口;存贮分配;注释设计;限制条件;测试计划;尚未解决的问题)二、模块开发说明书模块开发说明书是在详细设计说明书经评审和批准后建立的,并在模块开发过程中逐步编写出来,它是管理人员监督开发进度并为以后的维护人员使用的技术文件,其主要内容如下:标题;模块开发情况(时间安排);功能说明;设计说明;源代码清单;测试说明;评审的结论第二章用户界面程序设计学习目的与要求:用户界面就是用户与计算机系统进行相互交流数据与信息的一些接口规范,用户界面的友好性直接关系到软件系统的质量。本章通过介绍数据输入界面、菜单等有关内容,说明在进行系统友好界面设计时应遵循的一些基本规则及常用惯例,通过学习,要求读者掌握菜单概念及菜单选择的程序实现。内容提要第一节数据输入界面设计一、用户界面及其设计要求1、用户界面这一术语指的是用户和程序如何相互沟通,屏幕上的任何信息、文档资料以及键盘输入的命令都是用户界面的一部分,对屏幕设置,提示、菜单和联机帮助信息设计的好坏决定着用户界面是否高效、友好,也决定着软件是否能为用户接受,最佳的用户界面强调良好的屏幕设计,易于使用和用户友好。2、用户界面设计时应考虑的一般原则:必须集成于系统设计之中,而不最后加上;减少击键次数来提高用户效率;预测用户的下一步动作;提供错误信息来帮助纠正错误;提供文档来减少培训时间;带有帮助信息;支持其它的输入装置。二、输入数据程序设计要遵循如下原则:1、简明性2、一致性3、完整性4、使用颜色的原则5、输入格式第二节菜单和命令设计一、菜单及其功能1、菜单系统将当前允许用户选择操作的功能名称在屏幕上显示出来,让用户选择并完成该功能的一种用户界面形式。2、菜单的功能·使不熟练的的用户熟练软件,即表述其功能和特性·提供可选项的清单·简化选择,从而防止产生错误·降低训练费用,因为菜单一步步引导用户完成任务·减少用户的记忆负担二、菜单式样1、水平上托式菜单。2、竖直上托式。3、下拉菜单。4、全屏幕菜单。5、图标式菜单(类WINDOWS风格)。三、菜单设计的考虑及权衡1、设计按下ESC键将控制返回到上一级菜单。2、同时提供亮条选择菜单及字母菜单选择。3、考虑用户拥有使用过的其它软件的菜单风格。4、提供快捷选择。四、菜单设计原则1、菜单设计所使用的名称要前后一致。2、减少选项的数目,一般不要超过8项。3、减少菜单级数的数目,一般不要超过4级。4、提供快速返回键。5、菜单选项的选项内容易于理解,一般不要使用技术性强的术语。第四第用户界面程序设计举例一、下拉式菜单设计举例CLEARDOWHILE.T.@1,1PROMPT凭证输入”@1,10PROMPT“查询”@1,20PROMPT“记帐”@1,30PROMPT“打印”@1,40PROMPT“系统设置”@1,50PROMPT“月末结转”@1,60PROMPT“数据库维护”@1,70PROMPT“退出”MENUTOCHODOCASECASECHO=1SELECT10USEGQCW1APPENDBLANKREPLACEBHWITHMXM,RRWITH凭证输入”;RQWITHMA1,SJ1WITHTIME()SETCOLORTOGB@4,2CLEARTO11,22DOUBLESETCOLORTOWIB@3,1CLEARTO10,21DOUBLE@5,3PROMPT“1,采购单输入”@6,3PROMPT“2,领料单输入”@7,3PROMPT“3,修改采购单”@8,3PROMPT“4,修改领料单”@9,3PROMPT“0,退出”MENUTOCHO1DOCASE······ENDCASE······ENDCASEENDDO二、全屏幕菜单设计举例三、全屏幕菜单设计举例2第三章系统设置程序程序分析与设计学习目的与要求:本章介绍系统设置模块中的系统人员管理、科目设置与管理、自动转帐设置、银行对账设置等功能模块的有关内容。通过本章的学习,要求读者对口令设置及校验、科目代码设置的意义、科目代码增删的有关原则、自动转帐设置的原理、银行对账设制的原理及实现要有一定的理解。内容提要第一节系统人员管理及口令设置一、系统人员管理1、系统人员管理的意义2、在帐务处理系统可设立如下一些岗位,各自具有一定的权限范围:(1)系统管理:可进行科目代码设置,系统人员管理、结帐、数据管理等功能的操作。(2)制单:可进行会计凭证的录入操作。(3)复核:可进行会计凭证的复核操作。(4)修改:可进行会计凭证的修改操作;(5)处理:可进行记帐、对帐等操作;(6)打印:可进行打印输出各种帐、证、表的操作。3、人员设置数据库中应设置的数据项。二、口令的设置与修改。*口令修改模块SETTALKOFFCLEARIFFILE(“KL.DBF”)RESTOREFROMKL.DBFADDIENDTFJX=YDOWHILEJXKL=KL+LTRIM(STR(K,3))KLM=KLM+LTRIM(STR(K,3))IFTYPE(&KLM)=UPPER(C)STOREUPPER(AAA)TO&KLSTORESPACE(30)TO&KLMELSESTORE&KLM+SPAC(30-LFN(&KLM))TO&KLMENDIFSTORECHR(ASC(SUBS(&KL、1、1))+50)+CHR(ASC(SUBS(&KL、2、1))+45);+CHP(ASC(SUBS(&KL、3、1))+40)TO&KLCLEAR@1,30SAY“修改口令”+STR(K,2)@3,5SAY“原口令名为:”+&KLM@3,50SAY“原口令为”+&KL@5,5SAY“口令名改为:”GET&KLM@5,50SAY“改口令为:”GET&KL@8,32SAY“继续修改?”GETJXPICTUREYREADSTORETRIM(&KLM)TO&KLMSTORECHR(ASC(SUBS(&KL,1,1))-50)+CHR(ASC(SUBS(&KL2.1))-45);+CHR(ASC(SUBS(&KL3.1))-40)TO&KLK=K+1ENDDOSAVETOKL.DBFALLLIKEKL*RETURN三、口令校验程序的设计应注意以下一些问题:1、口令明码不能显示。2、口令输入允许一定的出错次数。3、口令密码的检验可以采用通用模块完成。4、口令明码长度有一定的要求。5、口令输入出错时的处理要恰当。第二节科目设置与管理一、设置科目代码的意义1、便于反映会计科目间的逻辑关系,便于分类、检索、加快计算机处理速度,利用会计科目代码的不同位数,可以反映会计科目间的逻辑关系。2、减少数据含义的不确定性。3、可以节省存储单元、提高运算速度和正确性。4、便于输入。二、科目代码的设置要求和编码方式1、科目代码设置要求适合计算机处理;简明实用;要有系统性(一级科目代码位长3位,代码首位为1表示资产类科目;2表示负债类科目;3表示所有者权益类科目;4表示成本类科目;5表示损益类科目);要有扩展性;单义性。2、编码方式会计科目的编码方式,通常采用群码,组码和顺序码等相结合的编码方式。三、科目代码设置1、科目代码设置主控模块该模块是科目代码设置的主控模块,用户可以根据需求分别选择科目代码的增、删、改、查询、打印等功能,退出模块前,应根据总分类帐户与明细帐户平行登记的原理,将各明细科目自下向上逐级汇总,进行核对,判断总分类帐户的金额与其所属各明细分类帐户金额的合计数是否相等;还应根据资产等于负债加所有者权益的平衡关系,核对所有科目的借方余额是否等于贷方余额,以确保输入数据的正确性。2、增加科目的内容及注意事项应包括的内容主要有:科目代码、科目名称、科目级别、科目类别、余额方向,年初余额、期初余额、借方发生额、贷方发生额、借方累计发生额、贷方累计发生额。系统正常运行时,如果某科目已记帐,在该科目下级增加新的明细科目,应考虑该科目下级各明细科目金额的合计数是否与该科目的金额相等。3、科目代码设置主控模块DEFIWINDZWSZ2FROM4,28TO15,50SHADCOLOSCHE14DOWHILE.T.ACTIWINDZWSZ2@0,2SAY科目维护控制模块@2,5PROMPT1:增加科目@3,5PROMPT2:单项查询@4,5PROMPT3:删除科目@5,5PROMPT4:修改科目@6,5PROMPT5