第7章需求分析 本章导读 需求是对信息系统应该具备的目标、功能、性能等要素的综合描述。需求分析是对信 息系统需求的调查、分析、描述和验证。需求分析应该包括信息系统目标分析、需求结构 分析、功能分析、性能分析、风险分析和需求验证等内容。 主要知识点 ■需求调查 ■目标分析 需求结构分析 功能分析 性能分析 ■风险分析 ■需求描述 需求验证
7.1概述 711需求分析的概念及意义 需求分析( Requirement Analysis是调查用户对信息系统的需要和要求,结合组织的目 标、现状、实力和技术等因素,通过深入细致分析,确定出合理可行的信息系统需求,并 通过规范的形式描述需求的过程。 从需求分析开始,开发人员需要把注意力转移到要开发的信息系统上来。在开发信息 系统之初,分析人员需要先了解用户希望建立怎样一个信息系统,这个系统能够为用户解 决哪些问题,信息系统应该具备哪些功能,用户与信息系统都会交互哪些信息,用户通过 怎样的方式来使用信息系统等问题 用户是站在信息系统的使用者角度提出需求的,用户一般不会细致考虑自己所提出的 需求与组织的目标是否吻合,与组织的业务模式是否一致,组织目前的经济能力是否能够 承担他所提出的系统要求,新系统给组织所带来的效益是否就一定高于所花费的成本,这 些需求,从技术上是否能够实现和便于实现,用户所提出的需求是否完全,是否存在疏漏 等问题。以上这些问题都需要系统分析员,综合组织的目标、业务现状、技术条件和投资 能力等因素进行分析,以便确定出合理、可行的信息系统需求 712需求分析的工作内容 1.需求调查 需求调査( Requirement Investigation)也被称为需求获取,是由分析人员通过座谈、走访、 问卷、召开座谈会等形式,深入了解用户对新建立信息系统的需要和要求,获取用户需求 需求分析 需求分析Reqμ uirement Analysis)是对获取的用户需求,通过综合考虑组织目标、现状、 技术条件、投资能力等因素,从信息系统目标、结构、功能、性能、风险等方面进行深入 分析,最终确定出合理、可行的信息系统需求的过程 3.需求验证 需求验证( Requirement validation)是由中介机构、用户或分析人员通过一定手段对 初步确定的信息系统需求的正确性和可行性进行检验,以确定正确和可行的需求,排除不 可行的需求。 需求描述 需求描述( Requirement Description)是建立信息系统的需求说明文档,把需求分析的结 果采用规范的形式描述出来,形成需求规格说明,作为下面开发工作的依据
713需求分析应注意的几个问题 1.充分认识需求分析的重要性和复杂性 需求是所要开发的信息系统的依据和准绳。如果需求出现缺陷和漏洞,开发出来的信 息系统肯定满足不了应用的要求。另外,信息系统开发具有错误放大效应。在前期存在的 问题如果留到后续阶段解决,所要花费的气力和代价会成数倍到数十倍増大。因此,分析 人员需要高度重视需求分析工作,把需求分析工作做细致、做扎实,保证能够得出合」 可行的需求,不要把前期能够确定的需求问题遗留给后续阶段。 需求分析是一项高度复杂的工作。它需要分析人员对信息系统的各个方面有充分地理 解,掌握大量的信息,洞悉组织管理的深层需要和关键问题,调整和梳理各方面的需求和 关系,最后才能确定出合理、可行的信息系统需求。要求分析人员具有高度责仼心和扎实、 细致的工作作风,否则将难以做好此项工作 2.充分尊重用户意见 用户是信息系统的使用者,也是信息系统的投资者,用户对信息系统需求具有决定权。 在需求分析中,开发人员应该充分了解用户的意图和想法,尽可能地满足用户的要求。如 果因为技术、环境、投资等方面的原因不能满足或不能完全满足用户要求时,必须给用户 讲清楚,征得用户的理解和认可。最后形成的信息系统需求分析结论也必须征得用户的同 7.2需求调查 721需求调查的内容 1.总体需求 总体需求是用户对所建立的信息系统的总体要求。包括信息系统应该达到的总目标, 信息系统的范围,信息系统的构成和结构,信息系统应该具备的核心功能等。 2.功能需求 功能需求是信息系统应该提供的功能和能够达到的效用。功能需求是对总体需求的分 解和细化。信息系统的功能具有层次性。有信息系统总体功能、子系统功能和明细功能: 有核心功能和辅助功能 3.性能需求 性能需求包括信息系统的效率、处理方式、可靠性、安全性、适应性等技术要求。不
同系统具有不同的性能要求。例如,联机事务处理型信息系统要求具有较快的响应速度, 而一般事务处理系统对响应速度的要求则可以相对低一些。 4.其它需求 除了以上三方面的需求之外,还应该调查用户的投资能力、开发时间、开发队伍、社 会法律等方面的非技术性需求 722需求调查的方法 需求调査的方法与现行组织系统的调查方法很类似,需要通过面谈、走访、问卷、座 谈会等形式进行。一般用户在开发之初,对所要开发的信息系统应该具有的功能和所能达 到的结果并没有清楚认识,因此,需求调査比对现行组织系统调査难度更大,除了釆用 般调查方法之外,还需要采用以下辅助方法。 1.启发法 由于用户对所要开发的信息系统应该具有的功能和能够达到的效果并不十分清楚,这 航需要调査人员在需求调査过程中,能够对用户进行引导和启发,向用户详细介绍信息技 术对人们工作和生活方式所带来的变化,信息技术的巨大能力,信息技术对现行组织管理 和业务过程能够进行的革新和改造,信息技术在本领域中的应用范例等。让用户产生信息 系统的感性认识,启发和引导用户发现现行组织管理和业务处理的所存在的问题,发现潜 在的需求。 2.观摩法 在系统开发之初,可以让用户参观同行业或同类型成功的信息系统。用户看到这些具 体系统,将会对信息系统的功能、作用、外在效果、人机交互方式等产生直观印象,这样 会引导和启发用户的联想,通过类比思维,提出对信息系统的需求。对信息系统没有直观 感觉的用户采用观摩法是一种十分有效的方法。 3.原型法 原型法是通过原型生成系统,根据用户的初步需求,构造出信息系统的初步原型。用 户和调査人员针对所生成的原型进行讨论,分析原型是否准确地反映了用户的初衷,哪些 方面还应该改进和加强。原型给用户和开发人员的交流和讨论提供了一个具体的参照物, 有原型作为基础,需求调查航有针对性,可以澄清和纠正许多模糊和矛盾的用户需求。 7.3需求分析 7.31概述 需求分析的任务是在需求调查的基础上,结合组织目标、业务现状、技术水平、投资
能力等因素,对用户提出的需求从信息系统目标、宏观结构、业务功能、技术性能、风险 等方面进行深入分析,最后确定岀全面、合理、可行的信息系统需求。 用户所提出的需求一般具有模糊、片面、脱离实际等问题。需求分析过程就是对用户 需求的合理化过程。通过对用户需求的修改、补充、绀化、删减、重整等工作,最后得出 全面、合理、可行的信息系统需求。在需求分析过程中,一定要实事求是,从用户利益出 发,根据组织业务的实际要求,进行需求分析工作。要杜绝不尊重用户利益、好大喜功、 避重就轻、不深入实际的错误态度和作风。需求分析应该有用户参加,随时与用户沟通思 想,了解情况,最终所确定的需求分析结果应该征得用户的认可。 应该准确把握需求分析工作的尺度。需求分析主要从信息系统的外在角度确定信息系 统的目标、宏观结构、系统功能和性能,不应该深入到信息系统内部,考虑信息系统的设 计方案、技术实现等具体技术问题 7.32目标分析 目标分析是对信息系统所要达到的目标的分析。信息系统的目标应该服从于组织系统 的目标,并且是组织目标的有机组成部分。按照 Kozar的观点,信息系统目标应该由组织 目标导出,并与组织使命、目标、策略构成塔型结构,见图7.1。 组织 使命和方向 总目标 子目标 组织策咯 信息系统目标 图71日标层次结构 信息系统目标分析应该首先调查高层领导和各级用户对信息系统目标的考虑,并认真 分析组织的使命、方向、目标和策略,组织的环境、技术、资金等制约条件,在此基础上, 确定出可行的组织信息系统的目标。 与组织目标相类似,信息系统目标也呈结构性,包括信息系统总目标、功能目标、性 能目标等。下面通过对一个小型书店书务系统的分析,最后确定出该系统的目标见图72 7.33需求结构分析 信息系统需求结构是根据信息系统目标、职能域和需求的相关性,从总体上把信息系 统需求划分成为多个部分,每一个部分称为一个需求单元,由这些需求单元构成的信息系 统的需求框架。信息系统需求结构是对需求的一种有效组织方法。通过需求结构对信息系
小型书店书务系统的目标 总目标 ●对书店的图书、架存、销售、出版社、会员提供全面管理 对图书业务提供全面、一致、快速处理 系统安全、友好、可靠 功能目标 (1)书日管理 编辑査询书口:提供书日的输入、修改、存储、输岀、浏览等功能 ●图书类别管理:提供图书类别的增加、删除、修改、打印、浏览功能。 (2)架存管理 ●进书处理●盘架处理●报损处理 ●架存处理●架存查询 (3)图书销售管理 ●售书处理●退书处理●售书査询 (4)会员管理 提供会员的增加、删除、修改、打印、浏览功能。 (5)出版社管理 提供岀版社的增加、删除、修改、打印、浏览功能 性能目标 (1)系统处理效率要比手工提高30%; (2)一般职工通过简单培训就可以使用系统; (3)具有较高的可靠性,不会丢失信息 (4)具有安全检查机制,非法用户不能使用。 图72小型书店书务的日标 统需求框架的展现,以便于开发人员把握、组织和管理信息系统的需求。 确定信息系统需求结构的依据是信息系统的目标、职能域和需求的相关性。信息系统 需求结构应该体现信息系统的目标,并把各部分关联比较密切的需求化归为一个需求单元, 使得需求结构具有内聚性。需求结构来源于在领域分析中确定的职能域,一个职能域可以 划分为需求结构中的一个需求单元。每一个需求单元用UML中的包来表示,这样用包图 来描述信息系统的需求结构。图7.3是经过分析确定的书务系统的需求结构 6
图73小型书店书务系统需求结构 7.34功能分析 1.功能分析的基本原理 信息系统功能是信息系统具有的效能和作用。信息系统的目标通过信息系统的功能来 体现。信息系统功能也是信息系统呈现给其用户的外观效果,用户通过信息系统所提供的 功能来认识、使用和评价信息系统,通过对信息系统功能的使用来完成自己的业务工作, 功能分析是需求分析的重要内容,需求分析除了要确定信息系统的目标、结构和性能之外, 个重要工作就是确定信息系统的功能。 信息系统目标是功能分析的依据。信息系统功能是信息系统目标的体现,信息系统中 每一个功能都直接或间接地与信息系统目标有关系。信息系统目标也是检验信息系统软件 功能设置正确与否的依据。 用户需求是信息系统功能的主要来源。用户是信息系统的使用者,用户的业务处理需 要表现为用户对信息系统的功能需求。用例是进行功能分析和功能建模的主要手段。信息 系统功能将通过用户在使用信息系统过程中表现岀来,这就给我们提供了获取信息系统功 能的一种有效方法,就是通过使用者与信息系统的交互活动来确定信息系统的功能。 功能分析的结果可以用功能用例图来描述,它通过使用者与信息系统的交互过程,反映 信息应该具有的功能。 2.功能分析过程 (1)从信息系统需求结构展开功能分析 信息系统需求结构确定了软件的需求框架,把信息系统需求从总体上划分成为多个需 求单元,需求单元内部的需求联系较为密切。可以对需求结构中的每一个需求单元展开功 能分析。例如,图7.3的书务系统划分成为书目管理、架存管理、图书销售、统计査询、 会员管理和出版社管理等需求单元,可以对每一个需求单元展开分析。 (2)用例分析 可以采用用例对需求结构中的每一个需求单元进行功能分析。例如,书务系统从总体 上可以提供书目管理、架存管理、图书销售、统计査询、会员管理和岀版社管理等功能
这些功能被作为需求结构中的需求单元。下来我们可以采用用例图对每一个需求单元进行 功能分析。例如书目管理功能可以分为编辑书目、査询书目和图书类别管理三项子功能 用用例图描述书目管理提供的这三项功能,见图7.4。图书销售可以分为售书处理、退书处 理和图书查询等子功能,见图7.5。 图74书务系统的书日管理用例图 图7.5书务系统的图书销售管理用例图 (3)用例说明 功能用例图直观地描述了信息系统的功能。但功能用例图不能反映各功能的详细內容, 以及用户在使用这个功能时与信息系统交互的信息和交互过程。而这些交互信息又是理解
功能的必要材料,所以需要对每一个用例进行说明。 用例说明是对功能用例图中的用例做出的说明。在用例说明中,需要描述用例的编号、 名称、使用者和用例的功能以及交互过程。图7.6给出书务系统中“销售管理”用例图中 “售书处理”的用例说明。 图书销售::售书处理 编号:03-01 使用者:图书销售员 图书销售员通过此功能完成图书销售工作 图书销售员把读者要购买图书的编号扫描到计算机系统中,计算机给山该图书的图书信息:图书 编号,统一编号,作者,出版社,定价,折扣等。然后,图书销售员给岀销售册数。销售员重复这个 过程,把读者要购买的图书仝部输入系统 如果读者是会员,销售员把读者的会员卡扫描进计算机,系统给山该会员的会员信忌,以及会员 的购买信息。 系统给山图书的应付金额,图书销售员收款,并按“确认收款”,一次图书销售完毕 图7.6“售书处理”的用例说明 图77“售书处理”处理流程
(4)用例的处理流程 每一个用例的执行过程可以用业务流程图描述出来。图77是售书处理用例的执行过 程 (5)用例的人机交互信息 为了完成用例的功能,人与系统需要交互一定的信息。可以用顺序图来描述一个用例 人机交互的信息。图7.8描述了图书销售”用例人和系统之间交互的信息。 图78“售书处理”用例人机交互信息 7.3.5性能分析 1.信息系统性能的含义 信息系统性能是信息系统功能实现的方式、效率和保障,它包括信息系统的效率、处 理方式、可靠性、安全性、适应性等内容。信息系统性能需求是信息系统需求的重要组成 部分。效率是信息系统的处理能力、处理速度、吞吐量、响应时间等与系统处理时间有关 的性能要素。处理方式涉及的范围比较宽,包括信息系统的结构和分布模式、交互方式、 业务处理方式等。可靠性是保证系统正常工作,抗故障、抗干扰的能力,可靠性包括保证 系统正常工作的能力;对系统故障的预防、检测以及自动纠错的能力;出现故障时,保证 系统不发生崩溃,并使系统重新恢复、重新启动的能力等。安全性是保证合法用户能够正 确使用信息系统,并防止非法用户访问信息系统的能力。适应性是信息系统对外部环境和 需求变化的适应能力 2.性能分析 10