教学辅导—-需求分析一、需求分析的任务 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?"这个问题.需求分析所要做的工作是深化描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求. 通常软件开发项目是要实现目标系统的物理模型,即确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中。它是软件实现的基础。 需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清楚、具体的要求.在这个阶段结束时交出的文档中应该包括详细的数据流图(DFD),数据字典(DD)和一组简明的算法描述。 需求分析阶段的任务包括下述几方面。 1.确定对系统的综合需求 2.分析系统的数据需求 分析系统的数据需求是由系统的信息流归纳抽象出数据元素组成、数据的逻辑关系、数据字典格式和数据模型.并以输入/处理/输出(IPO)的结构方式表示。因此,必须分析系统的数据需求,这是软件需求分析的一个重要任务. 3.导出系统的逻辑模型 就是在理解当前系统“怎样做"的基础上,抽取其“做什么”的本质。 4.修正系统开发计划 5.开发原型系统二、需求分析的步骤 结构化分析方法(简称 SA 方法)就是面对数据流自顶向下逐步求精进行需求分析的方法.需求分析的步骤如下. 1. 调查讨论 2.分析与综合 应注意下述两条原则:第一,在分层细化时必须保持信息连续性,也就是说细化前后对应功能的输入/输出数据必须相同;第二,当进一步细化将涉及如何具体地实现一个功能时,也就是当把一个功能进一步分解成子功能后,并将考虑为了完成这些子功能而写出其程序代码时,就不应该再分解了。 3.书写文档 在这个阶段应该完成下述四种文档资料: (1)系统规格说明。 (2)数据要求。 (3)用户系统描述. (4)修正的开发计划。 4.需求分析评审三、需求分析的原则 1.必须能够表达和理解问题的数据域和功能域 2.按自顶向下、逐层分解问题 3.要给出系统的逻辑视图和物理视图四、需求分析方法 大多数的需求分析方法是由数据驱动的,数据域具有三种属性:数据流、数据内容和数据结构.通常,一种需求分析方法总要利用一种或几种属性。 需求分析方法具有以下的共性。 1.支持数据域分析的机制 2.功能表示的方法 3.接口的定义 4.问题分解的机制以及对抽象的支持 5.逻辑视图和物理视图 6.系统抽...