单选题
需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起着桥梁的作用。需求分析使得系统工程师能够刻画出软件的______,指明软件和其他系统元素的接口,并建立软件必须满足的约束。需求分析是发现、求精、建模和规约的过程。包括详细地精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据、信息和______以及操作行为的模型,此外还有分析可选择的解决方案,并将它们分配到各软件元素中去。
单选题
- A.功能和性能
- B.数据和操作
- C.实体和对象
- D.操作和对象
【正确答案】
D
【答案解析】[解析] 需求分析使得系统工程师能够刻画出软件的功能需求(明确所开发的软件必须具备什么样的功能)、性能需求(明确待开发的软件的技术性能指标)、环境需求(明确软件运行时所需要的软硬件的要求)、用户界面需求(明确人机交互方式、输入/输出数据格式)。需求分析要指明软件和其他系统元素的接口,并建立软件必须满足的约束。需求分析是发现、求精、建模和规约的过程。包括详细地精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据、信息和控制流及操作行为的模型。
单选题
黑盒测试注重于测试软件的功能性需求,主要用于软件的后期测试。______不能用黑盒测试检查出来。
- A.功能不对或遗漏错误
- B.界面错误
- C.外部数据库访问错误
- D.程序控制结构错误
【正确答案】
D
【答案解析】[解析] 黑盒测试注重于测试软件的功能性需求,把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部控制结构和处理过程,只在软件的接口(界面)处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
单选题
软件需求分析产生软件操作特征的规格说明,指明软件和其他系统元素的接口,建立软件必须满足的约束。下面对于软件需求分析的描述,不正确的是______。
- A.分析员研究系统规约和软件项目计划,并在系统语境内理解软件和复审,从而生成计划软件范围的估算
- B.需求分析使得系统工程师能够刻画出软件的功能和性能,指明软件和其他系统元素的接口,并建立软件必须满足的约束
- C.经过仔细的需求分析活动,分析员能够得到详细的系统规约
- D.需求分析能够为软件设计者提供可被翻译成数据、体系结构、界面和过程设计的模型
【正确答案】
C
【答案解析】[解析] 需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用,需求分析使得系统工程师能够刻画出软件的功能和性能,指明软件和其他系统元素的接口,并建立软件必须满足的约束。需求分析允许系统分析师细化软件的分解,并建立将被软件处理的数据、功能和行为模型。需求分析为软件设计师提供了可被翻译成数据、架构、界面和过程设计的模型。最后,需求规约为开发者和客户提供了软件开发完成后质量评估的依据。需求分析的任务是发现、求精、建模和规约的过程,包括详细地细化由系统工程师建立并在软件项目计划中明确的软件范围,创建所需数据、信息和控制流及操作行为的模型,此外,还要分析可选择的解决方案,并将它们分配到各软件元素中去。
需要注意的是,在需求分析阶段要得到详细的规约是不可能的。客户可能并不能精确地肯定需要什么,开发者可能不能肯定可用什么特定的方法来适当地完成功能和性能。
单选题
希赛教育软件开发团队欲开发一套管理信息系统,在项目初期,用户提出了软件的一些基本功能,但是没有详细定义输入、处理和输出需求。在这种情况下,该团队在开发过程应采用______。
- A.瀑布模型
- B.增量模型
- C.原型开发模型
- D.快速应用程序开发(RAD)
【正确答案】
C
【答案解析】[解析] 瀑布模型也称为生命周期法,是生命周期法中最常用的开发模型,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。瀑布模型主要用于需求明确或很少变更的项目。
原型法适合于用户没有肯定其需求的明确内容的时候。它是先根据已给的和分析的需求,建立一个原始模型,这是一个可以修改的模型(在生命周期法中,需求分析成文档后一般不再多修改)。在软件开发的各个阶段都把有关信息相互反馈,直至模型的修改,使模型渐趋完善。在这个过程中,用户的参与和决策加强了,最终的结果更适合用户的要求。原型法的成败及效率的高低,关键在于模型的建立及建模的速度。
增量模型融合了瀑布模型的基本成分(重复地应用)和原型的迭代特征。采用随着日程时间的进展而交错的线性序列。每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第一个增量往往是核心的产品,即实现了基本的需求,但很多补充的特性还没有发布。核心产品交用户使用,使用和/或评估的结果是下一个增量的开发计划。该计划包括对核心产品的修改,使其能更好地满足用户的需要,并发布一些新增的特点和功能。这个过程在每一个增量发布后不断重复,直到产生最终的完善产品。
RAD是一个线性顺序的软件开发模型,强调极短的开发周期和可复用程序构件的开发。RAD模型是瀑布模型的一个高速变种,通过使用基于构件的建造方法获得快速开发。如果需求理解得很好,且约束了项目范围,RAD模型可使一个开发组能够在很短时间内创建出功能完善的系统。RAD方法主要用于信息系统应用软件的开发,它包含业务建模、数据建模、处理建模、应用生成、测试及反复5个阶段。