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