4.1 信息化需求分析
需求分析是信息系统开发的基础,只有通过需求分析,才能将系统功能和性能的总体概念描述为具体的软件需求说明,从而奠定开发的基础。需求分析工作是一个不断认识和逐步细化的过程,它将总体规划阶段确定的软件工作域逐步细化到可详细定义的程度。
需求分析不只是开发人员的任务,用户也起着至关重要的作用。用户必须对系统功能和性能提出初步要求,系统分析人员在认真了解用户要求的基础上,细致地进行调查分析,把用户要求转换成系统逻辑模型,并准确地用系统需求说明书表达出来。
4.1.1 需求分析的目的
需求分析所要做的工作是描述目标系统的功能和性能,确定系统设计的限制和本系统同其他系统的接口细节,并定义系统的其他有效性需求。
系统分析员通过需求分析,细化对系统的要求,为系统开发提供—种可转化为数据设计、结构设计和过程设计的数据与功能表示。系统开发完成后,系统需求说明书将作为评价软件质量的依据。
信息系统开发的最终目的是要实现目标系统的物理模型,即解决如何做的问题,物理模型由逻辑模型经实例化得到。与物理模型不同,逻辑模型不考虑实现的机制与细节,只描述系统要完成的功能和处理的数据。需求分析的任务就是借助于现行系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。从现行系统获得目标系统的步骤可以用图4-1表示,其中分析现行系统并获得目标系统逻辑模型的过程即为需求分析。
图4-1 系统开发过程
1.获得现行系统的物理模型
现行系统可能是需要改进的计算机处理系统,也可能是手工系统,或者部分手工处理和部分计算机处理的系统。在这一步首先分析并理解现行系统是如何运行的,了解现行系统的组织机构、输入输出、资源利用情况和日常数据处理过程,然后用一个具体模型来反映系统分析员对现行系统的理解。现行系统的物理模型应客观地反映实际情况。
2.抽象出现行系统的逻辑模型
在理解现行系统“如何做”的基础上,抽取其“做什么”的本质,即从现行系统的物理模型抽象出现行系统的逻辑模型。抽象的过程就是区分物理模型的本质因素和非本质因素,并去掉非本质因素,从而获得反映系统本质的逻辑模型的过程。
3.建立目标系统的逻辑模型
分析目标系统与现行系统逻辑上的差别,明确目标系统到底要“做什么”,从而从现行系统的逻辑模型导出目标系统的逻辑模型。具体做法有如下几点。
(1)决定变化的范围,即决定目标系统与现行系统在逻辑上的差别。
(2)将变化的部分看成新的处理步骤,调整功能图和数据流图等。
(3)由外向里分析变化的部分,推断其结构,获得目标系统的逻辑模型。
(4)为了完整地描述目标系统,补充与完善得到的逻辑模型。
4.1.2 需求分析的过程和内容
需求分析工作可以分成4个方面,即对问题的识别、分析与综合、形成需求说明书和评审。
1.问题识别
系统分析人员要研究可行性分析阶段产生的可行性分析报告和系统开发项目实施计划,从系统的角度理解和确定系统范围,确定对目标系统的综合要求,即系统需求,并提出这些需求实现的条件,以及需求应达到的标准。也就是解决目标系统做什么,做到什么程度的问题。系统需求主要从以下几方面表述。
(1)功能需求:列举出所开发系统在职能上应做什么,这是信息系统需求分析中最主要的内容。
(2)性能需求:给出所开发系统的技术性能指标,包括存储容量限制、运行时间限制及安全保密性等。
(3)环境需求:这是对系统运行时所处环境的要求,如硬件方面采用的机型、外部设备的类型及数量,以及构建何种网络及数据通信接口等;软件方面采用的系统软件(操作系统和数据库管理系统等);在使用方面,需要使用部门在制度和操作人员的技术水平上应具备的条件等。
(4)可靠性需求:对要求目标系统实际投入运行后在不同的运行环境下不发生故障的概率,及目标系统对运行环境的要求等做出估计。重要系统或是运行失效会造成严重后果的系统,应当提出较高的可靠性要求。
(5)安全保密要求:对系统在不同环境下安全及保密的要求做出规定,通过对目标系统进行特殊的设计,使其安全保密性能得到保证。
(6)用户界面需求:用户界面是用户与系统交互的直接渠道,通过对用户交互界面需求的定义详细规定用户界面应该达到的要求,使用户界面更友好、更方便,有助于提高系统的使用效率。
(7)资源使用需求:定义目标系统运行时所需的数据、基础软件和内存空间等各项资源。
此外,对于自行开发系统或二次开发系统来说,项目立项后还要提出系统开发成本与进度需求,根据合同规定对系统开发的进度和各阶段费用提出的要求作为信息系统工程项目管理的依据。
2.分析与综合
需求分析的第二步是问题分析和方案综合。
(1)确定功能需求:分析人员要从数据流和数据结构出发,逐步细化所有的系统功能。并且要找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求,是否合理、详细地明确功能需求。
(2)确定其他需求:在确定功能需求的基础上,对问题识别阶段提出的除功能需求外的其他需求进行分析、完善,剔除不合理的部分,增加需要的内容,最终形成系统的需求方案,即逻辑模型。并用一定的分析方法工具,如结构化分析方法、面向数据结构的Jackson方法或面向对象的分析方法等直观地描述逻辑模型。
3.编制需求分析文档
系统需求应该用图文组成的格式化文档清晰、准确并完整地描述出来,作为下一步系统设计和未来目标系统评价的依据。通常把描述系统需求的文档称为“系统需求说明书”。
4.需求分析评审
作为需求分析阶段工作的复查手段,在需求分析的最后一步,应该由专门人员组成的评审组按照严格的规程对功能的正确性、完整性和清晰性,以及其他需求给予评价。评审结束应有评审负责人的结论意见及签字,需求分析评审的主要内容如表4-1所示。
表4-1 需求分析评审的主要内容
4.1.3 会计人员在需求分析中的职责
对于自行或二次开发的系统来说,业务人员的参与和配合是非常重要的。系统需求分析的过程,也是系统开发人员与用户密切配合、充分沟通和交换意见的过程。系统需求分析阶段的开发人员是系统分析员,他们是用户与程序员之间的桥梁。而会计人员熟悉企业的财务业务,同时又是目标系统的直接使用者,他们在会计信息系统的需求分析中也起着至关重要的作用。
1.会计人员在需求分析中的职责
会计人员对数据处理工作的考虑、对软件的意见和要求应该看做是需求分析中十分宝贵的原始资料。会计人员在需求分析中担负着如下几项职责。
(1)积极配合系统分析员的工作,包括按照要求提供系统分析员需要的各种证、账、表业务资料和文档材料,并根据需要为系统分析员讲解业务处理过程,以及各种证、账、表和文档材料等的作用。
(2)准确、完整并清晰地描述现行系统(手工系统或信息系统)。
(3)准确并充分地阐明对目标系统的要求。
2.参与需求分析的会计人员应该具备的素质
为完成上述职责,参与需求分析的会计人员应当具备如下素质。
(1)具有熟练的会计业务知识和经验,全面深入地了解本单位现行系统存在的问题和优点。
(2)全面深入地了解目标系统应该达到的目标,了解本单位目标系统运行的环境条件。
(3)能够具有一定的计算机硬件、软件的专业知识,尤其是软件工程和数据库管理系统方面的专业知识。
(4)具有良好的书面和口头交流表达能力。
(5)善于与他人合作,能够倾听他人的意见,注意发挥其他人员的作用。
(6)具有一定的从相互冲突或混淆的原始资料和现象中找出问题的能力。