软件需求分析产生软件操作特征的规格说明,指明软件和其他系统元素的接口,建立软件必须满足的约束。以下对于软件需求分析的描述中,错误的是______。
A.软件工程师研究系统规约和软件项目计划,并在系统语境内理解软件和复审,从而生成计划软件范围的估算
B.需求分析使得系统工程师能够刻画出软件的功能和性能,指明软件和其他系统元素的接口,并建立软件必须满足的约束
C.经过仔细的需求分析活动,软件工程师能够得到详细的系统规约
D.需求分析能够为软件设计者提供可被翻译成数据、体系结构、界面和过程设计的模型
参考答案:C
解析: 需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用。需求分析使得系统工程师能够刻画出软件的功能和性能,指明软件和其他系统元素的接口,并建立软件必须满足的约束。
需求分析允许软件工程师(在这种角色中经常称为软件工程师)精化软件分解模块,并建造将被软件处理的数据、功能和行为模型。需求分析为软件设计者提供了可被翻译成数据、体系结构、界面和过程设计的模型,最后,需求规约为开发者和客户提供了软件建造完后质量评估的依据。
软件需求分析可被划分成:①问题分析;②问题评估和方案综合;③建模;④规约;⑤复审等工作阶段。
初始时,软件工程师研究系统规约(如果存在的话)和软件项目计划,并在系统语境内理解软件和复审,从而生成计划软件范围的估算。接着,必须建立针对分析的相互通信方式,以使得问题分析得到保证。软件工程师的目标是对用户或客户认识到的基本问题要素进行识别。
问题评估和方案综合是分析工作的下一个主要关注点,软件工程师必须定义所有外部可观察到的数据对象,评估信息流和内容;定义并详细阐述所有软件功能;在影响系统事件的语境内理解软件行为;建立系统界面特征;以及揭示其他设计约束。这些任务中的每一个都旨在描述问题,以便可以综合出全面的方法或解决方案。
通过对当前问题和希望的信息(输入和输出)进行的评估,软件工程师开始综合一个或多个解决方案。为了便于开始,必须详细地定义系统的数据、处理功能和行为。一旦已经建立这些信息,就该考虑针对实现的基本体系结构。客户/服务器方法似乎是合适的,但是,它确实属于在软件计划中概括的范围吗似乎需要一个数据库管理系统,但是,该数据库系统真的是用户/客户需要的吗继续评估和综合的过程,直至软件工程师和客户均确信针对后面的开发步骤软件确实已被适当地刻画了。
贯穿整个评估和综合过程,软件工程师的主要焦点是“什么(what)”,而不是“怎么做(how)”、“系统会产生和使用什么数据系统必须完成什么功能将定义什么界面会应用什么约束”等。
在问题评估和综合解决方案的活动中,软件工程师创建系统模型,以便可以更好地理解数据和控制流,处理功能和操作行为,以及信息内容。模型是软件设计的基础,也是创建软件规约的基础。