试题一 论软件需求验证方法及其应用在软件开发过程中,如果后期或在交付之后发现了需求问题,则修补需求错误需要投入大量的人力物力。因此,开展软件需求验证,对软件需求规格说明书(SRS)的正确性和质量进行验证,是需求分析的重要工作内容。需求验证也称为需求确认,主要内容包括:确定SRS正确地描述了预期的、满足项目干系人需求的系统行为和特征;确定软件需求是从用户需求、业务规格和其他来源中正确推导而来的;确定需求的完整性、一致性和高质量。需求验证为后续的系统设计、实现和测试提供了足够的基础。请围绕“软件需

题目

试题一 论软件需求验证方法及其应用

在软件开发过程中,如果后期或在交付之后发现了需求问题,则修补需求错误需要投入大量的人力物力。因此,开展软件需求验证,对软件需求规格说明书(SRS)的正确性和质量进行验证,是需求分析的重要工作内容。需求验证也称为需求确认,主要内容包括:确定SRS正确地描述了预期的、满足项目干系人需求的系统行为和特征;确定软件需求是从用户需求、业务规格和其他来源中正确推导而来的;确定需求的完整性、一致性和高质量。需求验证为后续的系统设计、实现和测试提供了足够的基础。

请围绕“软件需求验证方法及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.简要说明需求验证的主要方法及实施过程。 3.结合你具体参与管理和开发的实际项目,阐述所选择的验证方法及其原因,说明具体实施过程,并详细分析实施效果。


相似考题
参考答案和解析
正确答案:1、用400-600字叙述作者参与开发与管理的软件项目,包括但不仅限于,项目时间,规模,周期,背景,系统的主要功能,所采用的相关技术等。
2、需求验证方法主要包括:需求评审与需求测试。
需求评审:在软件开发的每个阶段结束前,都需要进行技术评审。所谓技术评审,是指对工作产品进行检查以发现产品中所存在的问题,其中的工作产品也称为工件,它不一定是最终的系统,也可以是一个文档、一个原型或一段代码等。例如,需求评审就是需求开发阶段结束前进行的技术评审,此时的产品就是SRS。SRS的评审是一项精益求精的技术,它可以发现那些二义性的或不确定性的需求,为项目干系人提供在需求问题上达成共识的方法。
需求测试:实际上,需求开发阶段不可能有真正意义上的测试进行,因为还没有可执行的系统,需求测试仅仅是基于文本需求进行“概念”上的测试。然而,以功能需求为基础(SA方法)或者从用例派生出来(OO方法)的测试用例,可以使项目干系人更清楚地了解系统的行为。虽然没有在系统上执行测试用例,但是涉及测试用例的简单动作可以解释需求的许多问题。这种测试用例通常称为概念测试用例,即不是真正执行的测试用例,它们可以发现SRS中的错误、二义性和遗漏,还可以进行模型分析,以及作为用户验收测试的基础。在正式的系统测试中,还可以将它们细化成测试用例。
关于需求评审与需求测试的详细资料请参看《系统分析师教程》11.7。
3、结合项目实践说明需求验证方法的应用。

更多“试题一 论软件需求验证方法及其应用 在软件开发过程中,如果后期或在交付之后发现了需 ”相关问题
  • 第1题:

    应用软件开发是软件开发的主要组成部分,下述

    Ⅰ.缺少方法论指导

    Ⅱ.没有完整的工具

    Ⅲ.用户需求的多变

    Ⅳ.系统分析员不足

    哪个是应用软件开发中存在的主要困难?

    A.只有Ⅰ

    B.只有Ⅱ

    C.只有Ⅲ

    D.只有Ⅳ


    正确答案:C

  • 第2题:

    软件方法学是以软件方法为研究对象的学科。软件工程是一门指导计算机软件(36)维护的工程学科。描述软件开发过程中各种活动如何执行的模型来看,有瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型等。其中传统的生命周期方法可用(37)来模拟。应用传统的生命周期方法开发软件的过程中,首先进行软件定义,其中需求分析阶段用到的工具有(38)。软件开发中测试是非常重要的一环。测试的目的是(39)。软件开发交付用户使用之后就要进行软件维护,软件维护的方法有四种:校正性维护、适应性维护、(40)。

    供选择的答案:

    A.设计

    B.开发

    C.编码

    D.测试


    正确答案:B
    解析:本题从整体上考查学生对软件工程课程的理解。软件工程的定义是软件工程是一门指导计算机软件开发和维护的工程学科。是为了解决软件危机提出来的。一般来说,软件生命周期由软件定义(包括问题定义,可行性研究,需求分析),软件开发(包括总体设计,详细设计,编码和单元测试,综合测试)以及软件维护组成。对传统的软件生命周期可以用瀑布模型来模拟。在生命周期的各个阶段有其相应的工具可以使用。测试的目的是为了发现程序中的错误,而软件维护则是使软件持久地满足用户的需要。软件维护也分为四种,分别是校正性维护、适应性维护、完善性维护以及预防性维护。

  • 第3题:

    阅读以下关于软件开发方面的叙述,回答问题1至问题4。

    当前企业中的业务都是在全球化、快速变化的环境中运营的,传统的软件开发过程无法适应由此产生的快速软件开发需求。20世纪90年代后期,一些软件开发人员在Agile Allicance 2001中系统地阐述了敏捷开发的原则,试图强调灵活性在快速且有效地生产软件中所发挥的作用。目前,众多的软件生产企业已经在实际的软件开发过程中接纳并实践了敏捷开发方法中的基本原则。

    敏捷开发有许多典型方法,包括极限编程(eXtreme Programming)、Scrum、Crystal和DSDM等。请问这些方法共同的基本原则是什么?


    正确答案:(1)客户参与。 (2)增量式移交。 (3)开发团队的技术应该得到承认和发扬。团队成员应该保持他们自己的工作风格不落俗套。 (4)接受变更。 (5)保持简单性。
    (1)客户参与。 (2)增量式移交。 (3)开发团队的技术应该得到承认和发扬。团队成员应该保持他们自己的工作风格,不落俗套。 (4)接受变更。 (5)保持简单性。 解析:本题考查软件开发方法。
    2001年,Kent Beck和其他16位知名软件开发者、软件工程作家及软件咨询师(被称为敏捷联盟)共同签署了“敏捷软件开发宣言”。该宣言声明“我们正在通过亲身实践以及帮助他人实践的方式来揭示更好的软件开发之路,通过这项工作,我们认为:个体和交互胜过过程和工具;可工作软件胜过宽泛的文档;客户合作胜过合同谈判;响应变化胜过遵循计划。亦即,虽说上述右边的各硕很有价值,但我们认为左边的各项具有更大的价值。”
    目前比较典型的敏捷过程模型有极限编程、Scrum、Crystal和DSDM等,虽然过程模型实践上有差异,但都是遵循了敏捷宣言或者是敏捷联盟所定义的原则。这些原则包括客户参与、增量式移交、简单性、接受变更、强调开发者的作用和及时反馈等。
    虽然敏捷开发方法近年来发展很快,但在实施的过程中也暴露出来很多问题,一些敏捷方法的基本原则很难实施。其中主要有如下4点。
    (1)客户参与往往依赖于客户参与的意愿和客户自身的代表性。
    (2)团队成员的性格可能不适合激烈的投入,可能无法做到与其他成员之间的良好沟通。
    (3)对系统中的变更作出优先级排序可能是极端困难的。
    (4)维护系统的简洁性往往需要额外的工作,但迫于移交时间表的压力,可能没有时间执行系统简化过程。
    敏捷开发方法中最著名的是极限编程。极限编程中提出了12个实践操作,其中一个是结对编程。开发人员成对工作,检查彼此的工作并提供支持,圆满完成任务。但是,配对是灵活的,一个开发人员在一天可能与多个伙伴配对。
    敏捷开发方法在具体实践过程中,往往需要开发环境或工具的支持,这些工具包括数据库编程语言、界面生成器、与办公应用的连接和报告生成器等。可视化开发是一种通过集成细粒度可复用软件组件来构造软件的快速应用开发方法。可视化编程技术的主要思想是用图形工具和可重用部件来交互地编制程序,可视化编程一般基于事件驱动的原理。一般可视化编程工具还有应用专家或应用向导提供模板,按照步骤对使用者进行交互式指导,让用户定制自己的应用,然后就可以生成应用程序的框架代码,用户再在适当的地方添加或修改以适应自己的需求。

  • 第4题:

    试题一

    论软件需求管理及其应用

    软件需求工程关注创建和维护软件需求文档需展开的一切活动。需求工程可分为需求开发和需求管理两项工作,其中需求管理的目标是为软件需求建立一个基线,供软件开发及其管理使用,确保软件计划、产品和活动与软件需求的一致性。从软件需求工程的角度来看,需求管理包括在软件开发过程中维持需求一致性和精确性的所有活动。

    请围绕“软件需求管理及其应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。

    2.详细论述软件需求管理的主要活动及其所包含的主要内容。

    3.结合你具体参与管理和开发的实际项目,说明是如何采用软件需求管理方法进行需求管理的,说明具体实施过程以及应用效果。


    正确答案:

    1.简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。

    2.需求管理的主要活动有变更控制,版本控制,需求跟踪和需求状态跟踪。

    (1)需求变更管理过程包括:

    1. 问题分析和变更描述,需要识别和分析需求问题,形成明确的变更协议,以检查它的有效性,从而产生一个更明确的需求变更提议。

    2. 变更分析和成本计算。使用可追溯性信息和系统需求的一般知识,对需求变更提议进行影响分析和评估。变更成本计算应该包括对需求文档的修改,系统修改的设计和实现的成本。一旦分析完成并且被确认,应该进行是否执行这一变更的决策。

    3. 变更实现。这要求需求文档和系统设计以及实现都要同时修改。

      (2)版本控制:主要包括确定需求文档版本。

      (3)需求跟踪:包括定义对其他需求的链接;定义对其他系统元素的链接;使用的工具即需求跟踪矩阵。

      (4)需求状态跟踪:定义需求状态;跟踪需求的每一个状态。

      3.考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的需求管理活动,说明该活动的具体实施过程,使用的方法和工具,并对实际应用效果进行分析。

  • 第5题:

    论软件开发成本估算

    软件开发成本估算是软件工程项目管理中的一项重要任务。软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,软件开发成本估算应该以整个软件开发过程中所花费的人工代价为依据。

    试围绕“软件开发成本估算”论题,依次从以下3个方面进行论述。

    1.概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。

    2.论述在估算软件开发成本时可以采用的方法和模型,并进一步分析这些估算方法和模型的优缺点。

    3.详细论述在你参与分析和开发的应用项目中具体采用的估算软件开发成本的技术、方法、模型、工具及其实际效果。


    正确答案:软件开发成本估算是一个十分容易被忽视但却又是十分重要的内容。其重要的原因是没有成本估算项目计划就会失去基础;容易被忽视的原因却是由于大部分软件开发组织未能够有效掌握它。 软件估算包括规模估算、工作量估算、进度估算和成本估算。整个估算的过程是:首先根据软件需求进行规模估算也就是估计软件的规模通常以代码行数、功能点数为单位;然后在估计的规模的基础上根据项目的特定因素(例如技术能力、使用的语言和平台、团队稳定性、项目复杂度等)、开发生产率经验数字来估算开发的工作量这通常以人天、人月、人年为单位;最后根据客户提出的进度需求进行进度估算根据人员及其他成本 (如设备、房租、差旅等)对总的开发成本进行估算。软件估算的基础是经验数字和经验模型。 从上面的描述中可以看出规模估算是软件开发成本估算的基础(数据来源)而工作量估算则是软件开发成本估算的关键(决定了开发成本)。 规模估算最常用的方法包括LOC(代码行)估算法和FP(功能点)估算法。LOC估算法主要根据历史项目记录以经验数据进行推测;FP估算法则通过一个较严谨的经验模型计算公式来进行估算。FP估算法是一种比较通行的软件规模估算方法。 工作量估算可以采用的模型、方法和技术就比较多了大致可以分为算法方法、类比法和自底向上法3种。 (1)算法方法估算是自顶向下的方式实现使用数学方式表达出估算所含的各种参数之间的关系如规模、工作量、进度、复杂度之间的关系。这个模型可以是静态的也可是动态的。最常见的算法方法估算模型包括MarkⅡ估算、COCOM0 81、COCOMOII、 COCOMO组、Putnam估算模型等。 ①MarkⅡFP估算:它不是一个严格的算法模型是基于各种因素和它们的影响的主观评价之间关系的一些理解。 ②COCOMO:它是根据软件产品规模和几个特征计算工作量和日历时间的估算算法模型。它是由Barry Boehm博士开发的发布于1981年即COCOMO 81而 COCOMOII则是其新版本不过由于它们各有特色因此还共同存在于估算实践中。这是一个较严格并经受了大量实践考验的一个经典估算模型。 ③COCOMO组:包括重点应用于COTS组件项目的COCOTS模型;用来预测每 KLOC或FP中残留错误的COQUALMO模型;着重于开发软件的成本在开发活动上的分布的COSSEMO模型;着重在预测新技术、提高生产率的发明方面最有效的成本分配的COPROMO模型。 ④Putnam估算模型:它是一个工作量动态的、多变量的估算模型它对交付时间十分敏感。 ⑤静态模型:除了以上动态模型之外还有一些常用的静态模型其中最常用的是 Watson和Felix模型。其计算公式是不变的:工作量;5.2×(KLCC)0.91持续时间(月): 4.1×(KLOC)0.36。可以用来生成较粗略的估算值。 算法方法估算法虽然定义严谨但是由于这些算法只是源于几十个项目的数据总结因此其结果并不是精确的但其仍然还是具有较高的参考价值。并且随着开发团队数据的积累和经验的堆积产生的估算也会越来越精确。 (2)类比估算法则是自顶向下的查看系统它借助经验丰富的人员的“本能感受”去识别待估项目和已完成的项目之间的相似与差异之处并评估这些差别对评估的影响。这种方法的主观意识较强估算结果的精确度与估算人员的经验有很大的关系。 (3)自底向上估算是将项目分解成为较小的活动和任务对每个较低层的任务做估算然后将所有的较低层的任务估算值加在一起就可以得到项目总的工作量估算值由于这种估算通常是由程序员来进行小任务块的估算因此容易让程序员产生责任感进度更有保障。 有了工作量估算后就可以计算出工作人员成本但在进行开发成本估算时还应该考虑硬件、软件、通信、差旅、培训以及其他成本。 可以从上面的描述中总结出撰写关于软件开发成本估算的论文主要应该注意以下几个方面的要点: (1)由于许多软件开发成本估算模型都需要一些参数依据因此应该对于项目的复杂度、涉及的关键技术、团队情况等因素进行阐述以便能够连贯地说明估算的过程。 (2)由于工作量估算是成本估算的关键其估算的结果决定了成本估算而成本估算则是在工作量的基础上做一些简单的财务计算因此可以理解为工作量估算的方法和模型。 (3)文章中应该列举算法方法估算法、类比估算法以及自底向上估算法3种模型并且应该抓住它们各自鲜明特点进行深入的阐述。 (4)在前面描述的基础上针对本项目的特色进行分析引出最合适的模型然后再结合实例详细地说明应用的具体方案。编写时一定要注意突出其真实性。 (5)文章应该花一定篇幅来说明估算的效果也就是估算的误差值是多少并且可以简要地分析这些误差值会来源于何处。
    软件开发成本估算是一个十分容易被忽视,但却又是十分重要的内容。其重要的原因是没有成本估算,项目计划就会失去基础;容易被忽视的原因却是由于大部分软件开发组织未能够有效掌握它。 软件估算包括规模估算、工作量估算、进度估算和成本估算。整个估算的过程是:首先根据软件需求进行规模估算,也就是估计软件的规模,通常以代码行数、功能点数为单位;然后在估计的规模的基础上,根据项目的特定因素(例如,技术能力、使用的语言和平台、团队稳定性、项目复杂度等)、开发生产率经验数字来估算开发的工作量,这通常以人天、人月、人年为单位;最后根据客户提出的进度需求进行进度估算,根据人员及其他成本 (如设备、房租、差旅等)对总的开发成本进行估算。软件估算的基础是经验数字和经验模型。 从上面的描述中,可以看出规模估算是软件开发成本估算的基础(数据来源),而工作量估算则是软件开发成本估算的关键(决定了开发成本)。 规模估算最常用的方法包括LOC(代码行)估算法和FP(功能点)估算法。LOC估算法主要根据历史项目记录,以经验数据进行推测;FP估算法则通过一个较严谨的经验模型计算公式来进行估算。FP估算法是一种比较通行的软件规模估算方法。 工作量估算可以采用的模型、方法和技术就比较多了,大致可以分为算法方法、类比法和自底向上法3种。 (1)算法方法估算是自顶向下的方式实现,使用数学方式表达出估算所含的各种参数之间的关系,如规模、工作量、进度、复杂度之间的关系。这个模型可以是静态的,也可是动态的。最常见的算法方法估算模型包括MarkⅡ估算、COCOM0 81、COCOMOII、 COCOMO组、Putnam估算模型等。 ①MarkⅡFP估算:它不是一个严格的算法模型,是基于各种因素和它们的影响的主观评价之间关系的一些理解。 ②COCOMO:它是根据软件产品规模和几个特征计算工作量和日历时间的估算算法模型。它是由Barry Boehm博士开发的,发布于1981年,即COCOMO 81,而 COCOMOII则是其新版本,不过由于它们各有特色,因此还共同存在于估算实践中。这是一个较严格,并经受了大量实践考验的一个经典估算模型。 ③COCOMO组:包括重点应用于COTS组件项目的COCOTS模型;用来预测每 KLOC或FP中残留错误的COQUALMO模型;着重于开发软件的成本在开发活动上的分布的COSSEMO模型;着重在预测新技术、提高生产率的发明方面最有效的成本分配的COPROMO模型。 ④Putnam估算模型:它是一个工作量动态的、多变量的估算模型,它对交付时间十分敏感。 ⑤静态模型:除了以上动态模型之外,还有一些常用的静态模型,其中最常用的是 Watson和Felix模型。其计算公式是不变的:工作量;5.2×(KLCC)0.91持续时间(月): 4.1×(KLOC)0.36。可以用来生成较粗略的估算值。 算法方法估算法虽然定义严谨,但是由于这些算法只是源于几十个项目的数据总结,因此其结果并不是精确的,但其仍然还是具有较高的参考价值。并且随着开发团队数据的积累和经验的堆积,产生的估算也会越来越精确。 (2)类比估算法则是自顶向下的查看系统,它借助经验丰富的人员的“本能感受”去识别待估项目和已完成的项目之间的相似与差异之处,并评估这些差别对评估的影响。这种方法的主观意识较强,估算结果的精确度与估算人员的经验有很大的关系。 (3)自底向上估算是将项目分解成为较小的活动和任务,对每个较低层的任务做估算,然后将所有的较低层的任务估算值加在一起,就可以得到项目总的工作量估算值,由于这种估算通常是由程序员来进行小任务块的估算,因此容易让程序员产生责任感,进度更有保障。 有了工作量估算后,就可以计算出工作人员成本,但在进行开发成本估算时还应该考虑硬件、软件、通信、差旅、培训以及其他成本。 可以从上面的描述中总结出撰写关于软件开发成本估算的论文,主要应该注意以下几个方面的要点: (1)由于许多软件开发成本估算模型都需要一些参数依据,因此应该对于项目的复杂度、涉及的关键技术、团队情况等因素进行阐述,以便能够连贯地说明估算的过程。 (2)由于工作量估算是成本估算的关键,其估算的结果决定了成本估算,而成本估算则是在工作量的基础上做一些简单的财务计算,因此可以理解为工作量估算的方法和模型。 (3)文章中应该列举算法方法估算法、类比估算法以及自底向上估算法3种模型,并且应该抓住它们各自鲜明特点进行深入的阐述。 (4)在前面描述的基础上,针对本项目的特色进行分析,引出最合适的模型,然后再结合实例,详细地说明应用的具体方案。编写时一定要注意突出其真实性。 (5)文章应该花一定篇幅来说明估算的效果,也就是估算的误差值是多少,并且可以简要地分析这些误差值会来源于何处。

  • 第6题:

    在软件开发过程中,需要的文档评审有______。

    A.需求文档评审

    B.软件设计文档评审

    C.代码评审和质量验证文档评审

    D.以上全部


    正确答案:D

  • 第7题:

    需求分析阶段的任务是( )。

    A)软件开发方法

    B)软件开发工具

    C)软件开发费用

    D)软件系统功能


    正确答案:D

  • 第8题:

    论软件需求验证方法及其应用

    在软件开发过程中,如果后期或在交付之后发现了需求问题,则修补需求错误需要投入大量的人力物力。因此,开展软件需求验证,对软件需求规格说明书(SRS)的正确性和质量进行验证,是需求分析的重要工作内容。需求验证也称为需求确认,主要内容包括:确定SRS正确地描述了预期的、满足项目干系人需求的系统行为和特征;确定软件需求是从用户需求、业务规格和其他来源中正确推导而来的;确定需求的完整性、一致性和高质量。需求验证为后续的系统设计、实现和测试提供了足够的基础。

    请围绕“软件需求验证方法及其应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。

    2.简要说明需求验证的主要方法及实施过程。

    3.结合你具体参与管理和开发的实际项目,阐述所选择的验证方法及其原因,说明具体实施过程,并详细分析实施效果。


    答案:
    解析:
    需求验证方法主要包括:需求评审与需求测试。

    (1)需求评审:在软件开发的每个阶段结束前,都需要进行技术评审。所谓技术评审,是指对工作产品进行检查以发现产品中所存在的问题,其中的工作产品也称为工件,它不一定是最终的系统,也可以是一个文档、一个原型或一段代码等。例如,需求评审就是需求开发阶段结束前进行的技术评审,此时的产品就是SRS。SRS的评审是一项精益求精的技术,它可以发现那些二义性的或不确定性的需求,为项目干系人提供在需求问题上达成共识的方法。

    (2)需求测试:实际上,需求开发阶段不可能有真正意义上的测试进行,因为还没有可执行的系统,需求测试仅仅是基于文本需求进行“概念”上的测试。然而,以功能需求为基础(SA方法)或者从用例派生出来(OO方法)的测试用例,可以使项目干系人更清楚地了解系统的行为。虽然没有在系统上执行测试用例,但是涉及测试用例的简单动作可以解释需求的许多问题。这种测试用例通常称为概念测试用例,即不是真正执行的测试用例,它们可以发现SRS中的错误、二义性和遗漏,还可以进行模型分析,以及作为用户验收测试的基础。在正式的系统测试中,还可以将它们细化成测试用例

  • 第9题:

    某软件开发项目在项目的最后阶段发现对某个需求的理解与客户不一致,产生该问题最可能的原因是()

    • A、需求获取
    • B、需求分析
    • C、需求定义
    • D、需求验证

    正确答案:A

  • 第10题:

    需求分析阶段的任务是确定()

    • A、软件开发方法
    • B、软件开发工具
    • C、软件开发费用
    • D、软件系统功能

    正确答案:D

  • 第11题:

    在一个软件开发项目的规划阶段,如果比承诺交付时间提前两个月交付产品,公司将获得一份奖励,产品开发的项目经理让编程人员在需求和设计完成之前开始代码编写。这种情况下,项目经理在应用哪项进度技术?()

    • A、赶工
    • B、快速执行
    • C、快速跟进
    • D、分阶段执行

    正确答案:C

  • 第12题:

    单选题
    在一个软件开发项目的规划阶段,如果比承诺交付时间提前两个月交付产品,公司将获得一份奖励,产品开发的项目经理让编程人员在需求和设计完成之前开始代码编写。这种情况下,项目经理在应用哪项进度技术?()
    A

    赶工

    B

    快速执行

    C

    快速跟进

    D

    分阶段执行


    正确答案: A
    解析: 见PMBOK6/6.5.2.6/进度压缩-快速跟进。快速跟进:一种进度压缩技术,讲正常情况下按顺序进行的活动或阶段改为至少是部分并行开展。【】【】以下为原选项【】A:赶工【】B:快速执行【】C://快速跟进【】D://分阶段执行

  • 第13题:

    试题(22)

    以下关于敏捷开发原则的叙述中,错误的是 (22) 。

    (22)A.强调通过尽早地、持续地交伺有价值的软件来使客户满意

    B.经常交付可以工作的软件,但是每次都必须交付具有完整功能的系统

    C.在团队内部,最具有效果并富有效率的信息传递方法是面对面的交谈

    D.强调应对需求的持续变更,即使在项目后期也可灵活应对需求变更


    正确答案:B
    本题主要考查对敏捷开发原则的理解。
    敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷开发的原则包括:
    ①我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。
    ②即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
    ③经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。但不要求每次交付的都是系统的完整功能。
    ④在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
    ⑤围绕被激励起来的人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。
    ⑥在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
    ⑦工作的软件是首要进度度量标准。
    ⑧敏捷过程提供持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
    ⑨不断地关注优秀的技能和好的设计会增强敏捷能力。
    ⑩简单——使未完成的工作最大化的艺术一一是根本的。
    ⑧最好的构架、需求和设计出自于团队内部。
    ⑥每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自
    己的行为进行调整。
    参考答案
    (22)B

  • 第14题:

    现有一种软件开发方法,它将软件开发过程分成以下阶段:需求分析、原型开发和评价、系统设计和系统实现。这种软件开发方法称为()。


    参考答案:原形法

  • 第15题:

    需求分析阶段的任务是( )。 A.软件开发方法B.软件开发工具C.软件开发费用S

    需求分析阶段的任务是( )。

    A.软件开发方法

    B.软件开发工具

    C.软件开发费用

    D.软件系统功能


    正确答案:D
    需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。

  • 第16题:

    试题三 论软件开发模型及应用

    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。

    请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。 1.简要叙述你参与的软件开发项目以及你所承担的主要工作。 2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。 3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。


    正确答案:1、用400-600字叙述作者参与开发与管理的软件项目,包括但不仅限于,项目时间,规模,周期,背景,系统的主要功能,所采用的相关技术等。
    2、开发模型多种多样,常见的包括:
    瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是可以使过程比较规范化,有利于评审;缺点在于过于理想,缺乏灵活性,容易产生需求偏差。
    快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。
    演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。
    增量模型:它采用的是一种“递增式”模型,它将软件产品划分成为一系列的增量构件,分别进行设计、编码、集成和测试。
    螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。
    喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。
    统一过程(UP):统一过程是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以架构为中心、迭代和增量。
    敏捷方法:敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。
    3、结合项目实践说明作者在项目中所采用的开发模型,并阐述实施效果。

  • 第17题:

    试题3

    常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图,则应采用________方法。


    正确答案:
    试题3分析
    数据流图是结构化程序设计的一种分析工具。
    试题3答案
      结构化

  • 第18题:

    试题一论模型驱动的软件开发方法及其应用

    模型驱动架构( MDA)是对象管理组织(OMG)提出的一种新的软件开发方法,它强调由软件系统的建模行为驱动整个系统的开发过程,来完成系统的需求分析、架构设计、构建、测试、部署和运行维护等工作。与传统的UML模型相比,MDA能够创建出机器可读和高度抽象的模型,这种模型通过转换( Transformation)技术可自动转换为代码、测试脚本、数据库定义以及各种平台的部署描述。通过使用MDA技术,可以有效解决传统软件开发过程中的生产效率问题、系统移植问题、互操作问题以及文档和系统后期维护问题。

    请围绕“模型驱动的软件开发方法及其应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与实施的模型驱动的软件开发项目以及你所担任的主要工作。

    2.阐述模型驱动的软件开发过程中的主要活动,并论述模型驱动的软件开发过程

    与传统的软件开发过程的区别。

    3.阐述在进行模型驱动的软件开发时遇到了哪些问题,如何解决。


    正确答案:

    写作要点:
    一、论文中要具体介绍组织的业务背景、组织结构、软件系统的架构、采用的技术
    等内容和担任的实际工作。
    二、相关的内容包括:
    1.模型驱动的软件开发过程中的主要活动包括:
    (1)需求分析人员根据领域需求得到描述软件系统外部特征的计算无关模型(CIM);
    (2)在对CIM进行分析的基础上得到平台无关模型(PIM),并根据业务逻辑进一步精化PIM;
    (3)进行PIM到平台特定模型(PSM)的模型转换;
    (4)将每个PSM转换为实现特定模型(ISM),生成应用程序代码,并进行测试。
    2.与传统的软件开发过程相比,模型驱动的软件开发方法有5个主要区别。
    (1)自动实现模型变换。
    传统的开发过程中,模型到模型的变换,或模型到代码的变换都是手工完成的;而模型驱动的开发过程中,模型变换都是由相关工具自动完成的,PIM到PSM、PSM到
    ISM都可以自动转换实现。
    (2) 模型是开发产品,也是程序生成的基础设施。
    模型驱动的开发过程中,模型是软件开发生命周期中的核心产品,通过一系列转换
    最终可以自动生成执行代码,是产生执行代码的基础设施。而在传统开发过程中模型只是分析人员、设计人员进行分析与交流的文档与图标,不能生成可用的应用程序代码。
    (3)模型变换过程与代码生成过程同步,可维护性强。
    模型驱动开发过程中,执行代码是由模型通过转换直接生成的,保证了模型与代码的同步。开发人员维护系统的重心不在是传统开发方法中的程序代码,而是与业务逻辑
    相关、与技术平台无关的平台无关模型PIM。
    (4)业务逻辑模型与实现技术平台分离。
    需求分析阶段生成的PIM模型与开发技术、开发平台以及实现技术无关,并且PIM模型可以根据不同的技术平台,自动生成以模型为基础的、适用于不同技术平台的软件系统。
    (5)提高了开发效率与软件质量。
    模型驱动开发的模型架构代表了对系统不同层次的抽象,使得开发人员更加清晰地了解系统的整个架构,而不会被具体的实现技术所困扰。开发人员专注于根据系统业务
    逻辑构建PIM,通过代码生成技术自动生成实现代码,减少了由于人为因素导致的系统实现错误。
    三、在进行模型驱动的软件开发时可能存在的问题包括:如何对CIM和PIM进行建模;如何进行模型之间的转换,特别是PIM到PSM的转换;如何根据需求进行实现
    平台选择;如何根据PSM生成ISM(代码);如何进行系统测试;等等。

     

  • 第19题:

    论软件开发模型及应用

    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。

    请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。

    1.简要叙述你参与的软件开发项目以及你所承担的主要工作。

    2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。

    3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。


    答案:
    解析:
    瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是可以使过程比较规范化,有利于评审;缺点在于过于理想,缺乏灵活性,容易产生需求偏差。

    快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。

    演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种渐进式原型法。

    增量模型:它采用的是一种递增式模型,它将软件产品划分成为一系列的增量构件,分别进行设计、编码、集成和测试。

    螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。

    喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。

    统一过程(UP):统一过程是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以架构为中心、迭代和增量。

    敏捷方法:敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。

  • 第20题:

    选择应用软件开发战略的权变方法的含义是一个组织采用:()

    • A、单一的开发需求保证方法;
    • B、单个项目的多种开发方法;
    • C、几种常用的开发方法论的任何一个;
    • D、为不确定要求的项目创建原型。

    正确答案:B

  • 第21题:

    在软件开发过程中的每个阶段都要进行严格的(),以尽早发现在软件开发过程中产生的错误。

    • A、检验
    • B、验证
    • C、度量
    • D、评审

    正确答案:D

  • 第22题:

    需求分析阶段的任务是确定()

    • A、软件开发方法
    • B、软件开发工具
    • C、软件开发费
    • D、软件系统的功能

    正确答案:D

  • 第23题:

    单选题
    选择应用软件开发战略的权变方法的含义是一个组织采用:()
    A

    单一的开发需求保证方法;

    B

    单个项目的多种开发方法;

    C

    几种常用的开发方法论的任何一个;

    D

    为不确定要求的项目创建原型。


    正确答案: C
    解析: 暂无解析