电算化会计信息系统的分析和设计1系统的开发方法一、传统生命周期法生命周期法开发阶段项目定义系统研究设计编程安装后期运行项目建议书系统能力测试详细设计 说明书程序详细说明 ——编码后期运行审计系统建议书时间管理信息系统生命周期系统研究设计安装后期运行项目定义编程系统分析系统设计系统安装运行维护系统规划系统实施项目定义阶段•决定组织是否存在问题,以及问题是否可以利用建设新系统或改造原有系统的方法加以解决•主要回答以下问题:–为什么需要一个新系统项目?–需要怎样去实现?系统研究阶段•分析现有系统存在的问题,定义解决方案所达到的目标,评价各种可能的选择方案•回答以下问题:–原有系统如何运行?–原有系统的优势、劣势、困难及问题?–新系统或修改过的系统怎样解决这些问题?–解决方案需要哪些用户信息需求支持?–有哪些可行的替代方案?–它们的费用和收益如何?设计阶段与编程阶段•设计阶段–通过逻辑设计和物理设计详细描述系统的解决方案•编程阶段–将设计结果转换成为软件程序语句–进行系统调试安装阶段与运行/维护阶段•安装阶段–包括系统初始化、系统培训、系统转换•运行/维护阶段–不断维护系统保证正常运行–不断修改满足新的需要–评价系统运行效果生命周期法的特点•开发过程工程化•严格划分工作阶段•自顶向下分析和设计•自下向上编程•充分预料变化•重视用户及用户需求•开发周期长生命周期法的局限性•不适于小型系统•相当耗费资源•不灵活、限制变化•开发周期长•不适用于面向决策的应用二、原型法原型法的主要思路•根据用户的需求迅速构造一个低成本的用于演示及评价的试验系统(原型)•由用户对原型进行评价•在用户评价的基础上对原型进行修改或重构•目标:用户对所用的原型满意原型法的条件•有原型法开发经验的系统分析设计人员•有必要的软件环境支持–方便灵活的数据库管理系统–方便快速的界面生成工具–方便的报表生成工具–方便的逻辑处理工具原型法开发阶段建立目标定义功能开发原型评价原型原型评价报告可执行原型用户需求定义原型开发计划原型法的开发方法•方法一:直接开发可用系统–利用开发可用的原型,利用原型逐步向实际应用系统靠拢,直到用户满意为止•方法二:利用原型确定系统的定义–利用开发的原型不断补充和确认用户需求,然后从可用的原型出发重新建立实际的系统原型法开发步骤(方法一)定义目标需求确定原型开发原型评价原型修改系统运行满意部分满意不满意原型法开发步骤(方法二)定义目标需求确定原型开发原型评价原型修改系统运行满意部分满意不满意系统重构方法一的特点•原型将构成未来可运行的系统•开发周期相对较短•用户需求(系统定义)不规范•原型中存在一定的隐患•无法划分系统的开发与维护阶段方法二的特点•在原型基础上重构可运行的系统•原型系统部分可重用•开发周期较前一种方法长•可以用来明确和规范用户需求•系统中将不存在因为多次修改而产生的隐患•用户需求可能变化原型法的特点•有直观的系统开发过程•用户参与系统开发的全过程•可以逐步明确用户需求•用户直接掌握系统的开发进度•用户接受程度高原型法的适应性•适用于解决有不确定因素的问题•适用于对用户界面要求高的系统•适用于决策支持方面的应用原型法的劣势•不适用于拥有大量计算或控制功能的系统•不适用于大型或复杂的系统•容易掩盖需求、分析、设计等方面的问题•结果不确定——随原型构造评价过程而定•整体考虑较少2系统开发的基本要求3系统的分析3.1系统分析的任务系统分析的任务详细调查企业所有业务情况进行分析,弄清问题提出新系统的逻辑方案系统分析的任务•现行系统的详细调查(包括工作程序、信息流以及工作的组织与控制方法)•系统化分析(分析系统业务流程及数据流程)•制定新系统的逻辑模型(数据流程图、数据字典、处理小说明、E-R图)解决系统“能做什么(Whattodo)”的问题。3.2现行系统的详细调查(一)系统调查概述1系统调查的原则•自顶向下•弄清存在的道理再分析有无改进的可能性•调查相关的局部系统2详细调查的范围及内容•系统界限和运行状态•组织机构和人员分工•业务流程全面细致地了解整个系统各方面的业务流程,以及商流、物流和信息流的流通状况以及各种输入、输出、处理、处理速度、处理量和处理过程的逻辑关系。2详细调查的范围及内容•各种计划、单据和报表调查中要收集各类计划、单据和报表,了解它们的来龙去脉及其各项内容的填写方法,时间要求,以便得到完整的信息流程。•决策方式和决策过程•资源情况2详细调查的范围及内容•约束条件•薄弱环节和用户要求用户要求,是指系统必须满足的所有性质和限制。它通常包括:功能要求、性能要求、时间要求、可靠性要求、安全保密要求,以及开发费用、开发周期、可使用资源等各方面的要求和限制。3.2组织机构与功能分析组织机构与功能结构调查了解系统的界限,了解组织关系和系统的构成,它反映的是系统的综合情况。包括三部分:•组织机构调查•业务过程与组织结构之间的联系分析•业务功能结构调查与分析1、组织结构图企业管理处计划统计处供应处财务处销售处职工食堂第一生产车间服务公司厂办厂长办公室包装车间生产调度处设备管理处技术质量处第九生产车间厂医务室小车队企管科质检科计算中心综合计划处统计科销售管理科成品库业务联系部市场分析部甲班组丙班组乙班组丁班组党委办公室团委工会职教处人事处图书资料室厂长工厂管理委员会厂长工作部经营部生产部后勤部宣教部........................2业务功能一览表销售系统管理销售计划管理成品库管理销售合同管理销售核算管理市场预测销售历史资料管理编制年度销售大纲编制销售计划合同有效性审查合同执行情况分析合同登记和变更销售利润核算销售统计分析出入库管理库存统计市场预测市场分析3.3业务流程调查业务流程调查主要采用业务流程图(transactionflowdiagram,简称TFD)。•对每一业务弄清其输入、处理、存贮、输出、立即存取要求,收集相应资料。•理顺各个岗位、各个业务流程之间的关系。•除去不必要的环节,对重复的环节进行合并,对新的环节进行增补。•确定哪些是今后计算机系统要处理的环节。业务流程图业务流程图:用一些规定的符号及连线来表示某个具体业务处理过程。业务流程图易于阅读和理解,是分析业务流程的重要步骤。业务流程图•业务流程图的基本符号业务处理单位业务处理功能描述表格/报表制作数据/文件存档收集/处理数据信息传递过程3.4数据流程图DataFlowDiagram1.数据流程图的四个基本成分数据存储或数据流或外部项或数据处理(加工)1)数据流•表示数据和数据流向,由一组固定成分的数据组成如“选课单”由“学号、姓名、课程编号、课程名”等成分组成•数据流可从加工流向加工,也可在加工与数据存储或外部项之间流动;两个加工之间可有多股数据流•数据流的命名用名词,不要使用意义空洞的名词尽量使用现实系统已有名字数据流(图示)**++ABCAAABBBCCC储户检查合理性帐户取款单合理取款单*与+或画数据流时需注意的问题•不要把控制流作为数据流如:下图中读下张卡属于控制流,不应画出。•不要标出激发条件合法卡片卡片信息读入卡片卡片校验读下张卡工资单工资率计算工资每月1号职工档案2)加工•表示对数据进行的操作,如“处理选课单”、“产生发票”等•加工的编号,说明这个加工在层次分解中的位置(分层DFD)•加工的命名顶层的加工名就是整个系统项目的名字尽量最好使用动宾词组,也可用主谓词组不要使用空洞的动词加工的命名储户处理1帐户数据1数据2储户检查合理性帐户取款单合理取款单无意义的名字:较好的命名:3)数据存储•表示需要保存的数据流向,如“学生档案”、“课程设置”等•数据存储与加工的方向“读出”、“写入”•分层数据流程图中,数据存储一般局限在某一层或某几层•命名方法与数据流相似修改库存商品库存检索商品信息商品目录4)外部项•位于系统之外的信息提供者或使用者,称为外部项。即存在于系统之外的人员或组织。如“学务科”等•说明数据输入的源点(数据源)或数据输出的终点(数据终点)•起到更好的理解作用,但不是系统中的事物数据源数据终点没有输出!加工没有输入!加工每个加工至少有一个输入数据流和一个输出数据流几种错误(1)数据源数据终点数据源数据存储数据终点数据存储数据存储数据存储数据流必须要么从某个加工流出、要么流入某个加工,而不能直接从外部项流向数据存储等等。图示的几种流动都是不合理的几种错误(2)2怎样画DFD•了解DFD的特性•画分层DFD1)DFD的特性•与程序流程图不同,DFD不表示程序的控制结构,只描述数据的流动•DFD分成多层(子图、父图概念)表示,从而逐步展开数据流和功能的细节。S2132.22.12.33.13.2顶层0层1层(基本系统模型)(系统的子功能)DFD的分层表示2)画分层DFD(1)先画出顶层DFD。(2)自顶向下画出各层DFD分解原则:分解后的软件成分有相对独立功能一次分解不要加入细节过多由外向里画DFD报名单合格报名单检验报名单2)画分层DFD(3)先考虑稳定状态,忽略系统的工作条件,即怎么开始、怎么结束的。(4)忽略琐碎的枝节,如出错处理等。(5)随时准备重画报名单合格报名单检验报名单错误的报名单3)画分层DFD的指导原则(1)父图-子图平衡(2)局部数据存储(3)编号(4)分解的程度父图-子图平衡父图-子图平衡:模型分解时必须保持父图的输入输出数据流和子图输入输出数据流相同。父图-子图平衡A1423BFEGCD父图-子图平衡缺少C3.1ED3.33.2对加工3细化的子图:加工33.5数据字典4系统设计系统设计是新系统的物理设计阶段,根据系统分析阶段所确定的新系统的逻辑模型,综合考虑各种约束,利用一切可用的技术手段和方法,进行各种具体设计,提出一个能在计算机上实现的新系统的实施方案,解决“系统怎样做”的问题。4.1系统设计概述系统设计概述•目标和任务•系统设计模型•设计方法•主要内容解决系统“怎样做(Howtodo)”的问题。1系统设计的目标系统分析:解决“做什么”系统设计:解决“怎么做”一、系统设计的目标和任务2系统设计的任务问题结构(系统需求)系统结构从系统分析说明书出发,形成系统的具体设计方案。一、系统设计的目标和任务(续)映射数据字典数据流图E-R图加工小说明流程描述处理描述数据对描述象数据设计模块结构设计接口设计过程设计分析模型设计模型平台设计二、系统设计模型二、系统设计模型(续)上图中通过数据、功能模型展示的系统需求被传送给设计阶段,运用某种设计方法,设计阶段产生出:•数据设计:将分析时创建的数据模型变换成实现系统所需的数据结构。•平台设计:将性能要求变换成对系统软硬件环境的配置•模块结构设计:定义系统模块元素之间的关系。•接口设计:描述了系统内部、系统和协作系统之间的以及系统同人之间如何通信。•过程设计:将加工说明变换为对系统模块内部算法的具体描述。三系统设计方法•结构化设计方法(SD)•面向数据结构的设计方法(JSD方法)•面向对象的设计方法(OOD)四系统设计主要内容•系统总体设计•系统详细设计‒系统平台设计‒代码设计‒输入输出设计‒对话设计‒数据库或数据文件设计‒模块内部的算法设计•写出系统设计报告总体设计:告诉用户系统具体将要做什么。一旦用户同意了这个总体设计,我们会将这个总体设计转换为更加详细的文档。1系统总体设计总体设计包括:•工具—如何描述系统的总体结构•方法—用什么方法把问题结构导出系统结构•评价准则—什么样的系统结构是“最优的”1系统总体设计(续)1系统总体设计(续)总体结构:•系统的组成部分,即有哪些模块组成•系统的层次及调用关系•模块的处理功能•模块之间的界面,即模块间传递的数据优秀的总体设计应该包含以下特征•不包括用户不熟悉的专业词汇•它描述系统功能•独立于实现过程•与系统分析文档相一致2系统详细设计详细设计:让系统建设者了解要解决用户的问题所需要的硬件和系统。主要描述系统的硬件配置、系统代码、人机界面、输入和输出、数据库和网络体系结构等。也就是说,详细设计是系统说明的一个技术层面