第一篇 基 础 篇 本篇共包含3章,主要介绍计算机数据审计的特点、流程,计算机数据审计的基础知识以及审计接口和数据库访问技术。 第1章 计算机数据审计概述 本章要点  计算机数据审计的特点 计算机数据审计的理论基础 计算机数据审计与计算机信息系统审计的关系  计算机数据审计的基本流程 “七步流程法”的主要内容 调查阶段的主要工作计算机数据审计是指运用计算机审计技术对被审计单位与财政收支、财务收支有关的计算机信息系统所存储和处理的电子数据进行的审计。通过对被审计单位的电子数据进行采集、转换、清理、验证和分析,帮助审计人员掌握总体情况,发现审计线索,搜集审计证据,形成审计结论,实现审计目标。 利用计算机对被审计单位信息系统存储和处理的电子数据进行审计,是信息化环境下审计机关履行审计职责、发挥审计“免疫系统”功能的重要内容。计算机审计与手工审计相比,虽然审计目标相同,但审计的技术、方法和审计的作业方式都发生了根本性的改变。计算机数据审计将审计的视线由传统的账目转向了电子数据,是审计观念和审计方式的进步。 1.1 计算机数据审计的特点 1.1.1 计算机数据审计的理论基础 计算机数据审计的理论基础是数据式审计模式。 数据式审计是在信息化环境下对电子数据的直接利用,而无须先将其转换成电子账套,然后再实施审计程序。数据式审计模式扩大了审计人员的视野,丰富了审计人员的可用信息。 在数据式审计模式下,审计人员可以摆脱传统的电子账套及其所反映的财务信息,深入计算机信息系统的底层数据库,获取更多、更广泛的数据,然后通过对底层数据的分析处理,获得大量的多种类型的有用信息,尤其是大量的业务数据和外部数据。这些信息在传统账套中是无法轻易取得的。 由于运用了先进的信息化手段,数据式审计可以非常快速、便捷地处理海量数据,解决了在纸质和手工条件下,审计人员想做而不可能做到的事情。 根据数据式审计模式理论,可以将数据式审计模式分为两种: 一种是数据基础审计模式,即以数据为直接对象的审计方式;另一种是数据式系统基础审计模式,即以系统内部控制测评为基础,通过对电子数据的收集、转换、整理、分析和验证,实现审计目标的审计方式。无论哪种审计方式,都需要对电子数据进行采集、转换、清理、验证和分析,这些内容都是计算机数据审计的主要内容。 计算机数据审计也是数据式审计模式的重要组成部分。一方面,数据基础审计模式唯一的对象就是电子数据,是以电子数据为直接对象的审计方式,即计算机数据审计;另一方面,系统基础审计的对象有两个,一是系统内部控制,二是电子数据,系统内部控制测评是电子数据审计的基础。我们也可以将数据式系统基础审计简单表述为: 系统内部控制测评+数据审计。 1.1.2 计算机数据审计与计算机信息系统审计 计算机数据审计与计算机信息系统审计之间存在一定的区别和联系。 首先是审计对象不同。计算机数据审计的对象是信息系统存储和处理的电子数据,计算机信息系统审计的对象是存储和处理电子数据的计算机信息系统。 其次是工作的侧重点不同。计算机数据审计是通过对电子数据的采集、转换、清理、验证和分析,帮助审计人员掌握总体情况,发现审计线索,搜集审计证据,从而形成审计结论,实现审计目标。计算机数据审计虽然也需要验证被审计单位提供电子数据的真实性、准确性和完整性,但这种验证具有一定的局限性。计算机信息系统审计是通过对信息系统的调查与了解,对系统控制及系统功能的分析与测评,综合评价一个计算机信息系统是否能够满足安全性、有效性与经济性目标,是否能够提供真实、准确、完整的电子数据。 再次是使用的技术方法不同。计算机数据审计主要使用与数据采集、转换、清理、验证和分析相关的技术方法,包括审计数据采集转换技术、审计中间表技术、审计模型构建技术以及能够对数据进行有效分析的各种数据分析方法。计算机信息系统审计主要采用系统调查、系统分析、系统测试和系统评价的技术方法。为了了解被审计单位的信息系统情况,需要采用调查的方法;为了确定重点,需要采用分析的方法;为了获取审计证据,需要采用测试的方法。在调查、分析和测试的基础上,综合运用系统评价的方法得出信息系统审计的结论。 虽然计算机数据审计和计算机信息系统审计存在以上差别,但是它们是同一事物的两个方面,不能将它们人为割裂开来。首先,信息系统是电子数据存储和处理的环境,电子数据不能独立于信息系统存在,信息系统中存在的问题必然会反映到电子数据中,有什么样的信息系统,就有什么样的电子数据。因此,计算机数据审计发现的问题可以作为计算机信息系统审计的参考和线索。其次,电子数据是信息系统功能的重要体现。信息系统的功能众多,但是实现这些功能的载体都是电子数据,离开了电子数据,信息系统的功能便无从谈起。从这个角度看,不同的电子数据在信息系统中具有不同的地位和作用,有的是完成业务运行的,一般称为业务数据,有的是完成系统控制的,一般称为控制数据,有的是描述系统本身的,一般称为元数据。因此,在信息系统审计中要特别注意对不同类型电子数据的分析和处理,由此来获取审计证据。此外,在信息系统审计中使用测试方法时,也经常要构造一些虚拟的业务数据。 1.2 计算机数据审计的流程 信息化条件下的审计流程较传统的审计流程有显著的不同。计算机数据审计过程中,审计人员经常要采集和转换被审计单位的原始数据以建立某种业务的审计中间表或审计分析模型,并进行某种类型的数据分析。这些在传统的手工审计流程中都不存在,因此有必要研究计算机数据审计的一般流程。根据目前的研究,可以将计算机数据审计的流程归纳为7个阶段(简称为“七步流程法”) ,分别是: (1) 调查阶段; (2) 数据采集; (3) 数据验证、清理和转换; (4) 建立审计中间表; (5) 把握总体,选择重点; (6) 建模分析; (7) 延伸、落实与取证。 这7个阶段之间相互联系,没有严格的界限。例如,在调查阶段需要考虑数据采集的需求,在数据采集阶段也要进行一部分的数据验证工作。 1.2.1 调查阶段 在调查阶段,应当了解被审计单位的组织结构,掌握计算机系统在组织内部的总体应用情况。根据审计目标,选择那些对实现审计目标有重要影响的计算机信息系统(即信息系统对被审计单位业务支持程度高,被审计单位业务对信息系统的依赖程度高)及其功能作为深入调查的对象,进行全面、详细的调查了解。调查了解的内容应包括软硬件情况、系统的开发情况和有关技术文档,系统的运行、维护、配置、管理情况,系统的功能、数据情况等。对计算机数据审计而言,数据情况调查是重点。 数据情况调查的主要任务是搞清楚被审计单位各业务系统存储和处理电子数据的基本情况。调查工作的一般思路是: “审计目标→审计内容与重点→审计内容所涉及的信息系统→与信息系统相关的电子数据”. 数据情况调查的过程是对信息系统产生的电子数据进行全面、深入的认识和了解的过程,因此必须首先调查了解被审计单位的业务流程。在理解业务流程的基础上,还应进一步理解数据流程,从而了解系统应该输入、处理和生成哪些数据,数据的处理过程,数据的来源、去向等情况,为提出数据需求和下一步的数据分析工作打下基础。 在数据情况调查过程中,审计人员应尽量收集齐全相关的技术文档,以便详细了解系统的数据库和数据情况。数据库及数据的说明信息都包含在这些技术文档中。审计人员应当首先阅读各种设计说明书,了解数据库总体结构,包括数据库总体布局、各级服务器上的数据库内容、各数据库之间的关系等。在此基础上进一步了解数据库中数据表的具体内容,以便根据审计需求确定从哪一层次采集数据、采集哪一个数据库的数据,甚至可以确定采集哪个表中的哪些字段。通过对表间关系和表结构描述的了解,可以为后续的数据转换和审计中间表生成创造条件。 在上述工作的基础上,应提出审计数据需求说明书交由被审计单位提供数据。在审计数据需求说明书中应指定数据采集的系统名称、数据库名称以及具体的数据表名称(必要时可指定字段名称)、数据采集的具体方式、数据传输的格式、所需数据的时间段、数据交付的方式、数据交付的期限和其他注意事项等内容。 1.2.2 数据采集 数据采集是在调查阶段提出数据需求的基础上,按照审计目标,采用一定的工具和方法对被审计单位信息系统中的电子数据进行采集的过程。数据采集是计算机数据审计的前提和基础。 数据采集可分两步实现: 第一步是在调查阶段通过掌握有效的信息来选择需要采集的电子数据;第二步是通过一定的技术和手段实现对目标数据的采集,及时获取被审计单位全面、完整的电子数据。常用的数据采集策略有3种: 一是通过数据接口采集;二是直接复制;三是通过备份文件恢复。数据采集一般需要在被审计单位技术人员的支持配合下完成。 1.2.3 数据验证、清理和转换 在实际工作中,经常需要将来源众多的被审计单位的电子数据集成到一起进行分析和处理。由于被审计单位的数据来源复杂,数据格式不统一,信息表示代码化,数据在采集和处理过程中可能失真,被审计单位可能有意更改、隐瞒数据真实情况等诸多影响因素,因此,对采集到的电子数据必须进行验证、清理和转换,使得数据能够为审计所用。验证、清理和转换工作的质量直接影响计算机数据审计工作的质量。 数据验证是指检查被审计单位所提供电子数据的真实性、准确性和完整性。数据清理是指为提高数据质量而对缺失的、不准确的、不一致的有质量问题的电子数据进行处理。数据转换包括数据库格式的转换以及数据内容的转换,后者的主要工作是识别、标识出数据表和表中字段的经济含义及关联关系。数据验证、清理和转换是交替进行的,将综合运用各种数据处理的技术和方法。 1.2.4 建立审计中间表 审计中间表是利用被审计单位数据库中的基础电子数据,按照审计人员的审计要求,由审计人员构建,可供审计人员进行数据分析的新型审计工具。它是实现数据式审计的关键技术。 通常在数据库设计的时候要对数据模式进行范式分解。范式分解这种规范化过程会将描述一个业务对象的数据分解成关系数据库中的多张逻辑表,这些表之间存在一定的关联关系。要利用被审计单位数据库中的数据实现审计分析,必须对清理、转换、验证后的电子数据按审计需求进行投影、连接等“再加工”,从电子数据中选择满足审计需要的较为精简的数据集合,生成一系列中间数据表--审计中间表。审计中间表是审计人员建立审计分析模型的基础。 建立审计中间表是一个循序渐进的过程。在对数据进行清理、转换和验证以后,应考虑设计出初步的审计中间表,此时的主要工作是帮助审计人员选定审计所需的基础性数据,例如去掉与审计无关的字段、建立表与表之间的基本连接等。这一阶段创立的中间表称为基础性中间表。在建立分析模型进行具体的数据分析时,还要建立分析性中间表,即按照审计分析模型,对基础性中间表再进行字段选择、连接等处理,以帮助审计人员实现对数据的建模分析。 1.2.5 把握总体,选择重点 对清理转换后的电子数据,首先应当根据审计目标进行总体分析,把握被审计单位的总体情况,找准薄弱环节,确定审计重点。 在总体分析时,可以从不同层次、不同角度对被审计单位的电子数据进行汇总、核对与分析,如进行账表核对、表表核对,也可以建立指标或指标体系进行分析,还可以使用多维分析工具从不同的层次和角度观察被审计单位的电子数据。这些总体分析的技术和方法有助于帮助审计人员把握被审计单位有关经济业务的总体情况,寻找薄弱环节,确定审计重点,避免审计工作的片面性和盲目性。 1.2.6 建模分析 在总体分析的基础上,审计人员需要根据确定的审计重点,利用审计分析模型方法进行具体的数据分析。审计分析模型是审计人员用于数据分析的技术工具,它是按照审计事项应该具有的时间或空间状态(例如趋势、结构、关系等),由审计人员通过设定判断和限制条件建立起来的一系列数学的或逻辑的表达式,并用于验证审计事项实际的时间或空间状态的技术方法。它是数据式审计模式的核心方法。在实际工作中,要根据不同层次的审计需求建立不同层次的审计分析模型。一般而言,有总体分析模型、类别分析模型和个体分析模型。 目前常见的审计分析模型有这样几种: 根据法律、法规和制度规定的状态和关系来建立;根据业务的逻辑关系来建立;根据不同类型数据之间的对应关系来建立;根据审计人员的符合客观实际的经验来建立;根据审计人员的合理的预测来建立等。 1.2.7 延伸、落实与取证 在这一阶段,需要根据审计分析模型的分析结果,对发现的问题进行取证,对发现的问题线索进行进一步核查、落实。 如果数据分析的结果能直接发现与核实问题,审计人员可以利用有关电子数据直接取证。这时审计人员应妥善保存被审计单位提供的原始数据、分析处理产生的中间表数据以及数据分析和处理过程的语句代码,以便作为审计证据。如果数据分析的结果仅能揭示出问题的线索,不能直接发现与核实问题,则应根据线索进行延伸审计,获取审计证据。在编制审计工作底稿时,应详细记录数据分析的过程、方法、使用的数据等情况,同时应记录审计人员对数据分析结果的判断。 思考题 1. 简述数据式审计模式的两种审计方式。 2. 为什么说对计算机数据审计而言,数据情况调查是重点? 3. 简述“七步流程法”中各步骤的主要工作。 第2章 计算机数据审计基础知识 本章要点  审计数据的分类 数据库类型数据的特点 非数据库类型数据的特点  信息系统的信息技术架构 各种信息技术架构的基本特征 针对各种技术架构的数据采集策略  信息系统开发的过程与方法 信息系统开发的主要方法 信息系统开发过程中各阶段的主要工作  数据审计常用文档 信息系统开发过程中各阶段的主要文档 数据字典、业务流程图、数据流程图和数据库表结构 常用文档对计算机数据审计的作用  常用数据库简介 常用数据库的性能与特点 常用数据库的数据采集策略  关系数据库标准语言SQL SQL的基本语法 SQL的实现环境 2.1 审计数据的分类 结构化的审计数据可以分为两大类: 一类是通过数据库管理系统(DBMS)进行管理的,称为数据库类型的数据;另一类是不通过数据库管理系统进行管理的,称为非数据库类型的数据。为了运用数据库技术进行数据分析和处理,经常需要将非数据库类型的数据采集和转换到数据库系统中,这构成了审计数据采集和转换的一项基本工作。 2.1.1 数据库类型的数据 通俗地说,数据库类型的数据指的就是通过DBMS管理的被审计单位数据,如Microsoft SQL Server数据库中的数据。这类数据的定义、存储和维护、更新都是通过DBMS完成的,确保了数据的一致性和完整性。这类数据包括数据库的数据文件(如Microsoft SQL Server 2000的MDF、NDF文件)、数据库备份文件(如Oracle的DMP文件), 但不包括由DBMS导出的各种格式的数据交换文件(如Excel格式、文本格式的文件). 由于数据库类型的数据是由DBMS存储和管理的,因此采集和转换这类数据的时候,必须采用DBMS提供的工具或功能。一般来说可以有以下3种方式。 (1) 对于Microsoft Access和Microsoft SQL Server 2000 (2005)数据库的数据文件,可以采用直接复制的方式。复制后的数据库可以在相应的数据库环境中直接打开(Microsoft Access)或通过数据库附加的方式打开[Microsoft SQL Server 2000, 2005]. (2) 对于数据库备份文件,可以采用DBMS提供的备份/恢复(或导入/导出)工具进行恢复。例如,对于在Oracle中使用Exp命令导出的dmp后缀名的数据库备份文件,可以在同样的Oracle环境中使用Imp命令重新恢复出来。 (3) 大多数情况下,还可以采用数据库连接的方式来采集和转换数据库类型的数据。利用相应的数据库访问客户端软件,在配置了恰当的参数之后,可以连接到目标数据库进行数据的采集和转换。具体的内容将在后续章节中详细介绍。 2.1.2 非数据库类型的数据 结构化的审计数据中,除了数据库类型的数据之外,还有大量的非数据库类型的数据。这些数据格式众多,情况复杂,有时成为审计数据采集工作的难点。非数据库类型的数据大致包括以下3种类型。 (1) 数据交换文件 数据交换文件是一类常见的非数据库类型的数据,包括很多种类。常用的类型有文本文件、电子表格和XML文件。对于这类文件,大多数的DBMS和审计应用系统都提供专门的工具辅助完成导入/导出工作。在Microsoft SQL Server 2000中提供了数据迁移服务(Data Transfer Service, DTS)工具,在AO(现场审计实施系统)和《审计数据采集分析3.0》软件中提供了专门的数据采集转换工具,这些都可以有效地采集数据交换文件中的数据。 (2) 文档文件 有些文档中包含了审计所需的信息,这些文档通常包括电子邮件、打印格式的输出报表、Word文档等。要从这些文档中抽取数据比较困难,往往需要采用特定的工具。在本书的“采集转换篇”中将介绍特殊格式文本文件的数据抽取原理。 (3) 其他的操作系统文件 审计工作有时需要从一些特定的数据文件中抽取数据进行分析、处理和取证。例如,需要抽取数据库日志信息来判定用户有无对数据库实施未经授权的修改。这时就需要使用特定的工具来采集和转换数据。在了解文件结构的基础上,有时也可以采用编程的方式来实现。 相对数据库类型的数据而言,非数据库类型的数据种类繁多,情况复杂。在采集和转换这类数据的时候,往往需要综合运用各种工具和软件,再辅以一定量的人工操作才能完成。 2.2 信息系统中的信息技术架构 了解信息技术架构有助于帮助审计人员确定审计数据采集的位置和具体的采集对象。信息系统中的信息技术架构有5种类型: 非集中式架构、集中式架构、分布式架构、客户机/服务器架构及浏览器/服务器架构。 2.2.1 非集中式架构 非集中式架构包括信息共享很少的或没有信息共享的系统。这种架构产生于用户或部门开发的独立系统或软件,它们之间没有任何中央控制,如图2-1所示。对于这类信息系统,需要针对各个不同的系统单独进行数据采集。 图2-1 非集中式架构 由于系统之间信息共享很少,因此数据格式之间可能会存在较大差异。将它们的数据集成到一起进行审计分析的时候,首先必须进行数据转换工作。 2.2.2 集中式架构 一个集中式架构在一个中心区域或者中心主机中共享信息。目前越来越多的商业银行采用集中式架构的系统。集中式架构的最大优点是高度集中、高度控制,有利于保持硬件、软件的标准,有利于保持信息的集中、统一。但是它缺乏灵活性,不利于满足不同部门的个性化需求。集中式架构如图2-2所示。 图2-2 集中式架构 对集中式架构来说,核心数据保存在中心主机及其备份系统中。各分支机构可能仅仅保存与本部门相关的部分业务数据,这些数据一般都不是实时的。对这类信息系统进行数据采集的时候,只要从中心主机(或者其备份系统)上下载数据即可。集中式架构的应用系统数据量一般都比较大,因此数据采集和转换工作耗时较长。如有可能,应尽量将被审计单位的数据下载为数据库类型的数据,以便降低数据采集转换工作的复杂程度。 2.2.3 分布式架构 分布式架构是指通过网络分配信息系统的信息和处理能力的一种架构。通过分布式架构将所有的信息系统连接起来,使得所有地点都能够共享信息和应用程序。这种架构的好处在于处理活动能够分配给最有效的地点。但是为了提高效率、减少网络传输,一个分布式架构经常需要将同样的应用程序或数据存储在两个或多个地点。分布式架构比集中式架构复杂。分布式架构如图2-3所示。 图2-3 分布式架构 在分布式架构中,数据往往保存有多个副本。在数据采集的过程中,需要确定这些副本数据能否满足审计需求。 2.2.4 客户机/服务器架构 一个客户机/服务器架构有一台或多台计算机作为服务器,为其他计算机(即客户机)提供服务。客户机/服务器架构是分布式架构的一种形式。这种架构的基础概念是应用程序被分配到客户机和服务器上。客户机上要安装一定的应用程序软件,称为客户端软件,服务器上安装服务器软件,如数据库服务器、应用服务器、网络服务器等。客户机/服务器架构如图2-4所示。 图2-4 客户机/服务器架构 对于客户机/服务器架构来说,为了性能的均衡,数据一般存储在数据库服务器上,由应用服务器提供前台应用,由网络服务器负责数据通信。由于资源有限,对一些简单的系统来说,有时往往将两个或两个以上的服务器集中到一台物理设备上,例如,将数据库服务器和应用服务器安装在一台PC Server上。对于这类应用系统的数据采集,一般只要采集数据库服务器上的数据即可。 2.2.5 浏览器/服务器架构 如果客户机/服务器架构中,客户机上只安装一种软件,即浏览器软件,那么这种架构又称为浏览器/服务器架构。在浏览器/服务器架构中,只需安装和维护一个服务器,而客户端采用浏览器运行软件。这种架构使得用户面对一个相对统一的浏览器界面,减少了软件升级维护的工作量,实现了客户端零维护。系统的扩展非常容易。浏览器/服务器架构如图2-5所示。对浏览器/服务器架构的数据采集,与客户机/服务器架构的数据采集类似。 图2-5 浏览器/服务器架构 2.3 信息系统的开发 信息系统的开发本身就是一项复杂的系统工程,包括系统规划、系统分析、系统设计、系统实施、系统运行与维护等步骤。信息系统开发的任务是根据业务目标、内容、规模、性质等具体情况,从系统论的观点出发,运用系统工程的方法,按照系统发展的规律,建立计算机化的信息系统。其中最核心的工作,就是设计一套适合业务运行和管理要求的应用软件系统。 对从事计算机数据审计的审计人员来说,了解和掌握一些信息系统开发的相关知识有助于理解被审计单位信息系统的结构和功能,有助于读懂被审计单位提供的各种信息系统技术文档,有助于理解信息系统中数据的含义,有助于从系统的功能、性能以及风险和控制等方面对被审计单位的信息系统作出适当的审计评价。 2.3.1 信息系统开发的方法 信息系统开发的方法有生命周期法、原型法、面向对象的方法以及计算机辅助软件工程。 1. 生命周期法 生命周期法是20世纪70年代发展起来的,已在国内外广泛被采用,并被许多组织确定为标准的系统开发方法。生命周期法将信息系统的开发过程分为系统分析、系统设计、系统实施3个阶段,每个阶段又分成若干步骤,如图2-6所示。各阶段的主要任务如下。 图2-6 生命周期法的步骤 (1) 系统分析 新系统是在原系统的基础上发展起来的。原系统的基本功能以及它与外界的信息联系,都应该在新系统中得到体现,因此,必须对原系统的状况和存在的问题进行详细的了解和分析。在系统分析阶段,先根据用户提出的建立新系统的要求,进行可行性分析,提出系统总体规划。经领导批准后,再对原系统进行深入的调查,彻底掌握原系统,并在此基础上提出新系统的逻辑模型。系统分析是使系统开发达到合理、优化的重要阶段,它是决定开发成败的关键。 (2) 系统设计 根据系统分析确定的逻辑模型,确定新系统的物理模型,继而对物理模型进行详细的设计,编写系统设计报告。 (3) 系统实施 系统实施包括: 按照物理模型实现应用软件的编写和测试、系统试运行、编写技术文件、系统转换、系统交付使用,以及运行后的系统维护和评价等工作。 生命周期法的主要优点是: 整个开发过程的阶段和步骤非常清楚,每一阶段和步骤均有明确的成果,这些成果以可行性分析报告、系统分析报告、系统设计报告等形式确定下来,并作为下一步工作的依据。但是,在实践过程中生命周期法也暴露出一些缺陷。 (1) 难以准确定义用户需求 很多企业管理人员缺乏应用计算机的基本知识和实践经验,难以提出完整、具体的需求。而当系统投入运行后,又感到不满意,不断要求修改。 (2) 开发周期长,难以适应环境变化 系统分析和设计的时间较长,对于规模较大的系统一般要花费2~3年。当系统实施时,原来提出的需求可能已经发生了变化,对系统的某些部分又要进行修改或重新设计。 (3) 整个系统开发工作是劳动密集型的 各阶段的工作从系统分析、系统设计到系统实施,绝大部分工作靠人工完成,系统开发成本高、效率低。 为了改变这种状况,在生命周期法的基础上逐渐发展了原型法、面向对象的方法以及计算机辅助软件工程。 2. 原型法 原型法的基本思想是从1977年开始提出的,它试图改进生命周期法的缺点。由用户与系统分析设计人员合作,在短期内定义出用户的基本需求,开发一个功能不十分完善的、实验性的、简易的应用软件基本框架(称为原型)。先运行这个原型,再不断评价和改进原型,使之逐步完善,直至产生用户满意的系统原型为止。其开发过程是分析、设计、编程、运行、评价多次重复、不断演进的过程。 原型法的主要优点是: ① 开发过程是一个循环往复的反馈过程,它符合用户对于计算机应用的认识逐步发展、螺旋式上升的规律。 ② 原型法很具体,使用户能很快、很直观地接触和使用系统,容易为不熟悉计算机应用的用户所接受。 ③ 原型法开发周期短,使用灵活,比较适合管理体制和组织结构不很稳定、有变化的系统。 由于原型法需要快速形成原型和不断修改演进,频繁的需求变化使开发进程难以管理,因此,使用这种方法时,最好具有形成原型和修改原型的支撑工具,这些工具的发展对原型法的推广使用起到相辅相成的作用。 3. 面向对象的方法 20世纪70年代由A. Kay在Smalltalk计算机语言中首次提出面向对象的概念,以后逐渐发展了面向对象的分析、面向对象的设计等系统开发的方法和技术。发展面向对象方法的目的是提高软件系统的可重用性、可扩展性和可维护性,使软件系统向通用性方向发展。它与传统方法相比有两项重大的思想突破。 (1) 操作与数据共同封装 所谓“对象”就是数据和操作的封装通信单元。在面向对象的方法中,系统模型的基本单元是对象,是客观事物的抽象,是相对稳定的。系统的功能是通过对象之间的消息传递实现的。因此,面向对象方法开发的系统有较强的应变能力,重用性好。 (2) 类与继承机制 所谓“类”是指一组具有相同结构、操作和约束条件的对象。一个类的上层可以有超类,下层可以有子类,形成一种层次结构。一个类可以有多个超类,也可以有多个子类。超类是下层子类的概括,因此子类可以继承超类的属性、操作和约束规则,这就是类的继承机制。继承性使面向对象的系统具有较好的可扩充性和灵活性,因而有利于软件系统的维护。 4. 计算机辅助软件工程(CASE) 系统开发工作的自动化、计算机化,是提高系统开发效率和质量的重要途径。CASE的目标就是要实现系统开发各阶段工作的自动化。 CASE基于计算机的自动化,是一个正在发展的领域。CASE工具的成熟及有效使用还需要一段时间,但它是一个很有前途的发展方向。 CASE的作用可概括为3个方面: ① 能实现一个具有快速响应、专用资源和早期查错功能的交互式开发环境。 ② 对系统开发和维护过程中的各个环节实现自动化。 ③ 通过强有力的图形接口,实现直观的程序设计。 2.3.2 信息系统开发过程 信息系统的开发要经过系统规划、系统分析、系统设计、系统实施、系统运行与维护等阶段。 1. 系统规划 信息系统规划分为战略规划和执行规划两个层次。战略规划是宏观指导性的长远计划,执行规划是对战略规划的具体化。战略规划的活动主要包括设计系统整体结构、制订资源配置计划、确定子系统的开发次序等。执行规划又称开发规划,是对战略规划的具体落实。 在制订信息系统开发规划之前,需要成立一个规划领导小组,进行有关的人员培训,明确规划工作的进度等。 信息系统战略规划常采用关键成功因素法和企业系统规划法。 关键成功因素法(critical success factors, CSF)是指使组织能够达到目标的关键因素。关键成功因素法是分析企业成功的关键因素,围绕关键因素识别企业的主要信息需求和相关工作的规划方法。 企业系统规划法(business systems planning, BSP)是根据企业目标制订信息系统规划的结构化方法。该方法根据企业目标分析企业过程、数据类等,然后从数据类分析出系统的主要功能(子系统、模块),最后建立基于目标的企业规划。 系统规划实质上是一种初步的、小型的系统分析。一般由企业主管信息的领导、系统分析师和管理专家组成可行性分析小组(或称总体规划小组)。其工作内容是进行初步调查,综合考察企业的状况、发展战略、行业发展与外部环境、企业的管理水平、信息处理状况和问题,建立系统的资源等情况;明确原系统存在的问题及系统的目标与范围,列出并初步评价解决问题的几种设想或方案;对是否有必要为建立一个新的计算机管理系统而正式开展开发工作提出建议。 系统规划的成果是系统总体规划方案以及包含经济方面、技术方面和系统运行方面在内的可行性研究报告。 2. 系统分析 当总体规划方案的可行性分析报告获得批准后,研究开发工作就进入了系统分析阶段。系统分析包括对现行系统的详细调查以及通过需求分析建立新系统的逻辑模型。 (1) 详细调查 详细调查与初步调查不同,它要了解现行系统中信息处理的具体情况,而不是系统的外部情况;要弄清现行系统的基本逻辑功能及信息流程,其重点在于调查分析系统的内部功能结构,包括组织结构、业务流程、数据流程、数据存储及其组成等。在调查中必须强调用户参与原则。 详细调查的主要内容有:  现有系统的基本情况;  企业组织结构与信息关联状况调查;  管理功能体系的调查;  业务流程的调查;  数据流程的调查;  系统的信息调查,包括信息需求、处理手段和信息资源;  信息化现状调查。 详细调查应由担负系统开发任务的项目组或系统分析组承担,并吸收富有经验的管理人员参加。详细调查的方法可以多种多样,如召开调查会、个别交谈、发放调查表收集书面意见、调查人员直接参加业务实践、请管理人员给项目组介绍情况、查阅企业的有关资料等。 针对不同的调查,应该采用相应的方法将调查结果描述出来。针对企业组织结构的现状调查,应采用组织结构图将它描绘出来。为了准确地表达系统的业务处理流程和便于以后各工作阶段能有效地研究和使用这些调查成果,一般采用业务流程图(transaction flow diagram, TFD)作为描述原系统业务的工具。 (2) 需求分析 详细调查完成了原系统实际上是“如何工作”的描述,需求分析则是对原系统的功能和信息作进一步的分析和抽象,以确定新系统应满足的要求,即明确新系统应当“做什么”的问题,从而完成新系统的逻辑设计。 需求分析要用到数据流程图(data flow diagram, DFD)这种工具。数据流程图是从“数据”和“处理”两个方面来描述系统数据处理流程的图形化工具。它既是对原系统进行分析和抽象的工具,也是用以描述新系统逻辑模型的主要工具;既是系统分析人员与用户进行交流的有效工具,也是系统设计的主要依据。反映系统全貌的数据流程图与数据、功能详细分析完成以后,为保证总的系统描述与细节情况相一致,需要进行整理和审查,这一工作由绘制数据功能格栅图来完成。 需求分析主要进行数据分析与功能分析。数据分析的任务是将数据流程图中所出现数据的内容、特征用数据字典(data dictionary, DD)的形式作出明确的定义和说明。功能分析是对数据流程图中处理过程的功能作详细的说明。从逻辑上进行分析,处理功能可归纳为3类,即数据的输入/输出处理、算术运算、逻辑判断。逻辑判断处理内容的表达比前两类要困难一些,常采用决策树、决策表及结构化语言等作为描述的工具。 对原系统的描述完成后,应该通过分析与优化得出新系统“能做什么”的具体方案。它的任务是通过对现行系统的管理模式、业务流程、数据流程、功能划分和数据关系的分析,找出存在的问题和不足,从而提出优化和改进的方法,重新认识系统目标,初步设计出新系统的逻辑模型,同时编写系统分析报告。 新系统的逻辑模型包括新系统目标、新系统的管理模式、新系统的业务流程关系、新系统的数据流程图和数据字典。 系统分析报告实际上是整个系统分析阶段的工作成果和总结,同时又是:  企业领导对系统进行设计阶段决策的依据;  开发人员进行系统设计和实施的基础;  用户和开发人员之间的协议,双方的交流和监督的基础;  目标系统验收和评价的依据。 3. 系统设计 系统分析给出了信息系统的逻辑模型,定义了系统“做什么”的问题,而系统设计则要在此基础上设计出系统的物理模型,解决“怎么做”的问题。系统设计不仅与系统分析阶段的成果密不可分,而且是系统实施阶段的蓝图和依据,是系统开发从逻辑设计到物理设计、从理论到实践的一个重要的过渡阶段。系统设计包括总体结构设计、代码设计、数据库设计、输入/输出设计和物理配置方案设计。 总体结构设计将整个系统划分为具有独立性的模块,以便于系统实施阶段的程序设计。 代码设计是实现计算机管理的一个前提条件,制定了人和机器的共同语言,使系统通过代码完成鉴别、分类、排序等功能。 数据库设计将现实问题转化为计算机世界的问题,为系统实施提供了具体依据。 物理配置方案设计构建了一个信息系统实现的物理平台。 从开发内容的角度看,系统设计可以划分为逻辑设计和物理设计两个层面。从设计任务的角度看,系统设计可以划分为总体设计和详细设计。总体设计包括系统总体结构设计、数据库设计和物理配置方案设计。详细设计包括代码设计、输入/输出设计和处理过程设计。总体设计中要使用结构化设计方法。结构化设计的基本思想是模块化和自顶向下、逐步求精,即先将整个系统划分为若干个子系统,再将子系统进一步划分为若干个子系统或模块。子系统之间的信息关联低,接口关系简单明确。 4. 系统实施和维护 系统开发工作按照信息系统的生命周期逐渐推进,经过系统设计阶段后,便进入了系统实施、维护阶段。 系统实施的主要工作包括软硬件准备、程序设计、系统测试、用户培训、系统转换等。程序设计的任务是使用选定的程序设计语言,将系统设计中关于模块详细描述和处理过程说明转换成在计算机系统上运行的源程序。系统测试是保证系统质量的关键,是对整个系统开发过程的最终审查。系统转换的任务就是保证新老系统进行平稳而可靠的交接,最后使整个新系统正式交付用户单位使用。系统转换需要系统开发人员、系统操作人员、用户单位领导以及用户通力合作、相互配合才能完成。 系统维护是信息系统生命周期的最后一个阶段,一般也是过程最长的阶段。系统维护工作包括校正性维护(修改已有系统的错误)、适应性维护(使已有系统适应新环境)和改进性维护(改进、提升原有系统功能和性能)。系统维护的成本通常在软件开发项目中占很大比重。系统维护的难易程度与软件开发过程的质量控制水平密切相关。例如,文档齐全、测试充分、开发方法得当的软件系统容易维护,反之则难以维护。 2.4 数据审计常用文档 以上简要介绍了计算机信息系统开发的一般方法、主要过程以及信息系统开发各阶段的主要文档及其作用。可以看出,在信息系统开发的各个阶段都有不同的文档,这些文档的种类、格式和作用各不相同。主要文档的名称及作用如表2-1所示。 在计算机信息系统的规划、分析、设计、实施、运行和维护过程中,文档具有重要的作用,它是系统开发过程质量控制的手段,也是系统运行和维护的重要参考。对于计算机数据审计而言,信息系统文档的作用不可忽视。为了了解被审计单位信息系统的总体情况,为了读懂信息系统中数据的含义,为了测试被审计单位信息系统中的处理过程是否正确,都需要获取和阅读被审计单位信息系统的各种文档。下面重点介绍与数据审计密切相关的几种文档。 2.4.1 数据字典和数据库表结构 数据字典是系统分析阶段的文档,是在系统设计过程中对各类基本要素进行描述的集合,是描述系统逻辑模型的重要工具。在系统的开发过程的不同阶段,开发人员需要查阅它;在计算机审计过程中,审计人员也需要查阅它。因此,数据字典是一种非常重要的文档。表2-1 信息系统开发各阶段的主要文档 阶段步 骤文 档主 要 作 用系统 规划总体规划系统总体规划方案设计系统整体结构,制订资源配置计划,确定子系统开发次序可行性研究可行性研究报告从经济方面、技术方面和系统运行方面描述新系统的可行性系统 分析系统调查需求分析组织结构图描述组织结构的现状业务流程图描述系统的业务处理流程数据流程图从“数据”和“处理”两个方面描述系统的数据处理流程数据字典系统设计过程中对各类基本要素进行描述的集合系统分析报告系统分析阶段的工作成果和总结,开发人员进行系统设计和实施的基础,目标系统验收和评价的依据系统 设计总体设计详细设计总体设计说明书描述系统的总体结构数据库概念结构文档使用E-R图等方法设计数据库的概念结构物理配置方案设计设计一个信息系统实现的物理平台系统编码手册制定系统的编码规则,设计系统使用的各种代码,便于对信息进行鉴别、分类和排序逻辑数据库设计文档由E-R图转换而成的关系数据库系统中的表结构物理数据库设计文档对索引设计、聚簇设计、分区设计、系统配置等信息进行说明处理过程设计文档利用工具描述系统的具体处理逻辑系统 实施编程实施系统源程序系统源程序代码系统测试系统测试文档包括系统测试方案、系统测试报告等,记录系统测试的过程用户培训用户培训资料提供用户使用和操作的说明书系统转换系统转换资料描述系统转换的方案及实施步骤,对系统转换总体过程的评价系统 运行运行记录运行日志记录系统运行过程中的正常、异常情况系统 维护系统维护系统维护手册描述常见问题及其解决方案,以及可用的技术支持方式 数据字典通常由数据项、数据结构、数据流、数据存储和处理过程5个部分组成。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的内容。 1. 数据项 数据项是不可再分的数据单位。对数据项的描述通常包括以下内容:  数据项编号  数据项名称  数据项含义说明  别名  数据类型  数据长度  取值范围  取值含义  与其他数据项的逻辑关系 其中,取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的基础。 2. 数据结构 一个数据结构由若干个数据项或数据结构组合而成,它反映了数据之间的组合关系。对数据结构的描述通常包括以下内容:  数据结构编号  数据结构名称  含义说明  组成 其中,数据结构的组成说明了利用数据项或其他数据结构来组成该数据结构的规则。 3. 数据流 数据流是数据结构在系统内传输的路径。数据流通常包括以下内容:  数据流编号  数据流名称  说明  数据流来源  数据流去向  组成(数据结构)  平均流量  高峰期流量  低谷期流量 其中,数据流来源是说明该数据流来自哪个过程。数据流去向是说明该数据流将到哪个过程去。平均流量是指在单位时间(每天、每周、每月等)里的传输次数。高峰期流量是指在高峰时期的数据流量。低谷期流量则是指在低谷时期的数据流量。数据流条目可使用的符号包括: =: 表示等价。 +: 表示“和”. \: 表示选择,即从括号内选取某一项。 \: 表示“或”,即选择括号内的某一项,例如,凭证类型=\. n1{}n2: 表示重复,即重复括号内的项,n1, n2为重复n1~n2次,例如2{a}6表示把a重复2~6次。如果n1不出现,表示从0次开始重复。 () : 表示任选,可全选,也可一项也不选。 4. 数据存储 数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述通常包括以下内容:  数据存储编号  数据存储名称  说明  流入的数据流  流出的数据流  组成(数据结构)  数据量  存取方式 其中,数据量是指每次存取多少数据,每天(或每小时、每周等)存取几次等信息。存取方式包括处理方式(批处理、联机处理)、处理内容(检索、更新)以及对处理内容的进一步描述。另外,流入的数据流要指出其来源,流出的数据流要指出其去向。 5. 处理过程 数据字典中一般只描述处理过程的说明性信息,通常包括以下内容:  处理过程编号  处理过程名称  输入数据流  输出数据流  处理说明  处理要求 其中,处理说明部分简要说明该处理过程的功能,即该处理过程用来“做什么”。至于“怎么做”的处理逻辑描述,可以采用专门的工具,常用的有结构化语言、判定表、判定树等。处理要求包括处理频度(单位时间里处理多少事务,多少数据量)、响应时间要求等。这些处理要求是后续设计和评价的标准。 下面以销售业务为例,简要说明数据字典的定义。 销售业务中有很多数据项,其中“科目代码”数据项可以描述如下。 数据项编号: Item001 数据项名称: KMDM 数据项含义说明: 唯一标志每个科目 别名: 科目代码