niusouti.com

问答题论软件需求获取技术及应用 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕"需求获取技术及应用"论题,依次从以下三个方面进行论述。 ①简要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。 ②详

题目
问答题
论软件需求获取技术及应用 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕"需求获取技术及应用"论题,依次从以下三个方面进行论述。 ①简要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。 ②详细说明目前有哪些比较常用的需求获取技术,说明每种需求获取技术的基本方法。 ③详细论述在你参与分析和开发的软件项目中所采取的需求获取技术,以及选取这些技术的原因,并说明需求获取的具体实施步骤。

相似考题
更多“问答题论软件需求获取技术及应用 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕"需求获取技术及应用"论题,依次从以下三个方面进行论述。 ①简要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。 ②详”相关问题
  • 第1题:

    论需求获取技术

    需求分析阶段的首要工作是确定用户需求,以用户为核心是本阶段应遵循的至关重要的原则,它决定着项目的有效实施。正确地定义用户需求是需求分析阶段的基础。需求获取技术有助于系统分析员准确、快捷地获取和提炼用户需求信息。

    请围绕“需求获取技术”论题,依次对以下三个方面进行论述。

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

    2)详细说明目前有哪些比较常用的需求获取技术?说明每种需求获取技术的基本方法。

    3)详细论述在你参与分析和开发的应用项目中所采取的需求获取技术以及对该技术的具体实施运用,说明选取该技术的原因,并分析应用该技术所获取的需求是否达到预期目标。


    正确答案:[写作要点] 1)结合自己参与分析和开发的应用项目或从事的实际工作论述需求获取在系统开发中的作用。 2)能够较为详细地论述几种比较常用的需求获取技术: (1)抽样技术:对现有文档、表和文件进行抽样: (2)调研和实地访问: (3)观察工作环境:通过观察用户的活动、现场及工作习惯来了解项目需求; (4)问卷调查:通过使用调查表收集信息。调查表有两种格式:自由格式和固定格式: (5)面谈:通过直接、面对面的交互获取需求。 3)结合项目实际工作举例说明在获取需求时分别采用了哪些需求获取技术;详细说明选择这些技术的原因及其实施步骤并进行分析与评价。
    [写作要点] 1)结合自己参与分析和开发的应用项目或从事的实际工作,论述需求获取在系统开发中的作用。 2)能够较为详细地论述几种比较常用的需求获取技术: (1)抽样技术:对现有文档、表和文件进行抽样: (2)调研和实地访问: (3)观察工作环境:通过观察用户的活动、现场及工作习惯来了解项目需求; (4)问卷调查:通过使用调查表收集信息。调查表有两种格式:自由格式和固定格式: (5)面谈:通过直接、面对面的交互获取需求。 3)结合项目实际工作,举例说明在获取需求时分别采用了哪些需求获取技术;详细说明选择这些技术的原因及其实施步骤,并进行分析与评价。

  • 第2题:

    论有效的需求分析过程

    在软件工程中,所有的风险承担者都关心需求分析。这些风险承担者包括客户、用户、业务或需求分析员、开发人员、测试人员、用户文档编写者、项目管理者和客户管理者。需求分析阶段的工作若完成得好,将为后续开发出出色的产品打下基础,同时会使客户感到满意:否则,会导致误解、挫折、障碍以及潜在质量和业务价值上的威胁。因此采用有效的需求分析过程至关重要。统一过程是业界流行的需求分析方法。

    请围绕“有效的需求分析过程”论题,依次对以下三个方面进行论述。

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

    2.详细论述你在这个项目中采用统一过程进行有效需求分析的具体方法和步骤。

    3.论述你参与的需求分析过程所取得的实际效果和存在的问题。


    正确答案:[写作要点] 一、简要介绍你所参与分析没计的信息系统的基本情况并说明你在其中所担任的主要工作。 二、采用统一过程的需求分析方法(或者其他能够使风险承担者交流、理解需求并达成一致的方法)。 软件需求包括几个不同的层次:业务需求、用户需求和功能需求、非功能需求等。 业务需求:反映了组织机构或客户对系统、产品高层次的目标要求。 用户需求:用户使用产品必须要完成的任务。 功能需求:开发人员必须实现的软件功能使用户能完成他们的任务从而满足了 业务需求。 非功能需求:系统展现给用户的行为和执行操作的效率以及开发难度、软件管理、重用性和通用性及由工具集、编程语言所带来的限制与约束。 所谓风险承担者是指对软件系统某个方面(或层次)负责(或关注)的人员。也可以这样来理解风险承担者:软件系统的某个方面(或层次)如果存在缺陷或问题对此负责任或受影响的人员。风险承担者包括客户、用户、业务或需求分析员、开发人员、 测试人员、用户文档编写者、项目管理者和客户管理者他们都一定程度对上述需求内容感兴趣。由于角色的不同交流语言的差异对需求分析的成果的认知可能会存在“误差”最终导致需求分析无效。 为了使需求分析有效即风险承担者能够准确、一致地理解需求需要建立一套基于共同语言“规则”避免不同的风险承担者产生歧义。有效需求分析可以采取统一过程的方法。 统一过程(United process)提供了在开发组织中分派任务和责任的纪律化方法。它的目标是在可预见的日程和预算前提下确保满足最终用户需求的高质量产品。对所有的关键开发活动它为每个团队成员提供了使用准则、模板和工具指导。而通过对相同基础知识的一致理解使在进行需求分析、设计、测试项目管理或配置管理等工作时均能确保全体成员共享相同的知识、过程和开发软件的视图。 统一过程包括迭代的软件开发、需求管理、使用基于构件的体系结构、可视化软件建模、验证软件质量和控制软件变更等内容。 其中统一过程的需求管理提供了有效需求分析的方法和步骤它描述了如何提取、组织和文档化需要的功能及约束;如何跟踪和文档化折衷方案及决策;如何捕获和进行商业需求交流。过程中使用用例和场景来捕获功能性需求并确保由它们来驱动设计、实现和软件的测试使最终系统能满足最终用户的需要。同时统一过程给开发和部署系统提供了连续的和可跟踪的线索。 需求分析过程如下: 1.定义项目的视图和范围; 2.确定用户种类; 3.在每个用户种类中确定适当的代表; 4.确定需求决策者和他们的决策过程; 5.选择所用的需求获取技术; 6.运用需求获取技术对作为系统一部分的用例进行开发并设置优先级; 7.从用户那里收集质量属性的信息和其他非功能需求; 8.评审用例的描述和功能需求; 9.澄清需求获取的参与者对需求的理解; 10.开发并评估用户界面原型以助想像还未理解的需求; 11.用测试用例来论证功能需求或原型: 12.迭代6~11步直到所有的用例都被捕获所有的风险承担者对目标系统“做什么”的问题达成一致需求分析完成。
    [写作要点] 一、简要介绍你所参与分析没计的信息系统的基本情况,并说明你在其中所担任的主要工作。 二、采用统一过程的需求分析方法(或者其他能够使风险承担者交流、理解需求并达成一致的方法)。 软件需求包括几个不同的层次:业务需求、用户需求和功能需求、非功能需求等。 业务需求:反映了组织机构或客户对系统、产品高层次的目标要求。 用户需求:用户使用产品必须要完成的任务。 功能需求:开发人员必须实现的软件功能,使用户能完成他们的任务,从而满足了 业务需求。 非功能需求:系统展现给用户的行为和执行操作的效率,以及开发难度、软件管理、重用性和通用性及由工具集、编程语言所带来的限制与约束。 所谓风险承担者是指对软件系统某个方面(或层次)负责(或关注)的人员。也可以这样来理解风险承担者:软件系统的某个方面(或层次)如果存在缺陷或问题,对此负责任或受影响的人员。风险承担者包括客户、用户、业务或需求分析员、开发人员、 测试人员、用户文档编写者、项目管理者和客户管理者,他们都一定程度对上述需求内容感兴趣。由于角色的不同,交流语言的差异,对需求分析的成果的认知可能会存在“误差”,最终导致需求分析无效。 为了使需求分析有效,即风险承担者能够准确、一致地理解需求,需要建立一套基于共同语言“规则”,避免不同的风险承担者产生歧义。有效需求分析可以采取统一过程的方法。 统一过程(United process)提供了在开发组织中分派任务和责任的纪律化方法。它的目标是在可预见的日程和预算前提下,确保满足最终用户需求的高质量产品。对所有的关键开发活动,它为每个团队成员提供了使用准则、模板和工具指导。而通过对相同基础知识的一致理解,使在进行需求分析、设计、测试项目管理或配置管理等工作时,均能确保全体成员共享相同的知识、过程和开发软件的视图。 统一过程包括迭代的软件开发、需求管理、使用基于构件的体系结构、可视化软件建模、验证软件质量和控制软件变更等内容。 其中统一过程的需求管理提供了有效需求分析的方法和步骤,它描述了如何提取、组织和文档化需要的功能及约束;如何跟踪和文档化折衷方案及决策;如何捕获和进行商业需求交流。过程中使用用例和场景来捕获功能性需求,并确保由它们来驱动设计、实现和软件的测试,使最终系统能满足最终用户的需要。同时,统一过程给开发和部署系统提供了连续的和可跟踪的线索。 需求分析过程如下: 1.定义项目的视图和范围; 2.确定用户种类; 3.在每个用户种类中确定适当的代表; 4.确定需求决策者和他们的决策过程; 5.选择所用的需求获取技术; 6.运用需求获取技术对作为系统一部分的用例进行开发并设置优先级; 7.从用户那里收集质量属性的信息和其他非功能需求; 8.评审用例的描述和功能需求; 9.澄清需求获取的参与者对需求的理解; 10.开发并评估用户界面原型以助想像还未理解的需求; 11.用测试用例来论证功能需求或原型: 12.迭代6~11步,直到所有的用例都被捕获,所有的风险承担者对目标系统“做什么”的问题达成一致,需求分析完成。

  • 第3题:

    试题一

    论软件需求管理及其应用

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

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

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

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

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


    正确答案:

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

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

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

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

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

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

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

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

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

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

  • 第4题:

    论软件需求管理 软件需求管理是一个对系统需求变更了解和控制的过程。需求管理过程与需求开发过程相互关联,初始需求导出的同时就要形成需求管理规划,一旦启动了软件开发过程,需求管理活动就紧密相伴。 需求管理过程中主要包含变更控制、版本控制、需求跟踪和需求状态跟踪等4项活动,其目标是为项目管理人员建立一个软件需求基线,并保持软件计划、产品和活动与软件需求的一致性。

    请以“软件需求管理”为题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.详细描述需求管理过程中各个活动中的主要工作。 3.详细说明你所参与的软件开发项目中,是如何进行软件需求管理的,实施的具体效果如何。


    正确答案:
    本文第一部分应花400-600字的篇幅进行项目简介,涉及项目背景、规模、人员、作者的角色,开发的系统有什么样的一些功能,大体的设计。
    接下来的主体部分中,着重描述的,应是问题3,对于问题2只需要花200-400字的篇幅大致介绍概念层次的内容。
    在对问题3进行论述时,要注意选问题2中的一些活动来论述,其中2个主题是比较好展开的,分别为:变更控制与需求跟踪。
    1、变更控制:
    变更控制的工作程序依次为:提出与接受变更申请、对变更初审、变更方案论证、项目变更控制委员会审查、发出变更通知并开始实施、变更实施的监控、变更效果的评估、判断发生变更后的项目是否已纳入正常轨道。
    (1)提出与接受变更申请。提出变更申请应当及时以正式方式进行,并留下书面记录。变更的提出可以是各种形式,但在评估前应以书面形式提出。
    (3)对变更的初审。变更初审的目的是为了对变更提出方施加影响,确认变更的必要性,确保变更是有价值的;进行格式校验,完整性较验,确保评估所需信息准备充分;在干系人间就提出供评估的变更信息达成共识。
    (3)变更方案论证。变更方案的主要作用,首先是对变更请求是否可实现进行论证,如果可能实现,则将变更请求由技术要求转化为资源需求,以供CCB决策。常见的方案内容包括技术评估和经济评估,前者评估需求如何转化为成果,后者评估价值和风险。
    (4)项目变更控制委员会审查。审查过程由项目所有者据变更申请及评估方案,决定是否批准变更。审查通常是文档会签形式,重大的变更审查可以包括正式会议形式。审查过程应注意分工,项目投资人虽有最终的决策权,但通常在专业技术上并非强项。所以应当在评审过程中将专业评审、经济评审分开,对涉及项目目标和交付成果的变更,客户的意见应放在核心位置。
    (5)发出变更通知并开始实施。评审通过,意味着项目基准的调整,同时确保变更方案中的资源需求及时到位。项目基准的调整,包括项目目标的确认,最终成果、工作内容和资源、进度计划的调整。需要强调的是,变更通知后,不只是包括实施项目基准的调整,更要明确项目的交付日期、成果对相关干系人的影响。如变更造成交付期的调整,应在变更确认时发布,而非在交付前公布。
    (6)变更实施的监控。要监控的,除了调整过的项目基准中所涉及变更的内容外,还应当对项目的整体基准是否反映项目实施情况负责。通过监控行动,确保项目的整体实施工作是受控的。通常由项目经理负责项目基准的监控,管理委员会监控变更明确的主要成果、进度里程碑等,可以委托监理单位承担监控职责。
    (7)变更效果的评估。变更评估首要的评估依据,是项目基准,可需结合变更的初衷来看要达到的目的是否已达成,以及评估变更方案中的技术论证、经济论证内容与实施过程的差距并推进解决。
    (8)判断发生变更后的项目是否已纳入正常轨道。项目基准调整后,需要确认的是相应的资源配置和人员是否及时到位,更需多加关注。之后对项目的整体监控应按新的项目基准进行,当确认新的项目基准已经生效则按正常的项目实施流程进行。
    2、需求跟踪
    根据国家标准GB/T 8567-2006,SRS中的每个软件配置项的需求到其涉及的系统(或子系统)需求都要具有双向可追踪性。所谓双向跟踪,包括正向跟踪和反向跟踪,正向跟踪是指检查SRS中的每个需求是否都能在后继工作成果中找到对应点;反向跟踪也称为逆向跟踪,是指检查设计文档、代码、测试用例等工作成果是否都能在SRS中找到出处。

  • 第5题:

    软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是______。

    A.设计构件

    B.需求获取

    C.标识构件

    D.架构需求评审


    正确答案:A
    解析:软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。其中标识构件又详细分为生成类图、对类图进行分组和将类打包成构件三步。软件架构需求并不应该包括设计构件的过程。

  • 第6题:

    需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取出来的结果影响很大。在多种需求获取方式中,(请作答此空 )方法具有良好的灵活性,有较宽广的应用范围,但存在获取需求时信息量大、记录较为困难、需要足够的领域知识等问题。()方法基于数理统计原理,不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户,并可以减少数据收集偏差。()方法通过高度组织的群体会议来分析企业内的问题,并从中获取系统需求。

    A.用户访谈
    B.问卷调查
    C.联合需求计划
    D.采样

    答案:A
    解析:
    用户访谈:用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种。用户访谈是通过1对1(或1对2,1对3)的形式与用户面对面进行沟通,以获取用户需求。用户访谈具有良好的灵活性,有较宽广的应用范围。但是,也存在着许多困难,例如,用户经常较忙,难以安排时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要系统分析师具有足够的领域知识等。另外,在访谈时,还可能会遇到一些对于企业来说比较机密和敏感的话题。因此,这看似简单的技术,也需要系统分析师具有丰富的经验和较强的沟通能力。采样是指从种群中系统地选出有代表性的样本集的过程,通过认真研究所选出的样本集,可以从整体上揭示种群的有用信息。对于信息系统的开发而言,现有系统的文档(文件)就是采样种群。当开始对一个系统做需求分析时,查看现有系统的文档是对系统有初步了解的最好方法。但是,系统分析师应该查看哪些类型的文档,当文档的数据庞大,无法一一研究时,就需要使用采样技术选出有代表性的数据。采样技术不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户。在对人员进行采样时,上面介绍的采样技术同样适用。通过采样技术,选择部分而不是选择种群的全部,不仅加快了数据收集的过程,而且提高了效率,从而降低了开发成本。另外,采样技术使用了数理统计原理,能减少数据收集的偏差。但是,由于采样技术基于统计学原理,样本规模的确定依赖于期望的可信度和已有的先验知识,很大程度上取决于系统分析师的主观因素,对系统分析师个人的经验和能力依赖性很强,要求系统分析师具有较高的水平和丰富的经验。联合需求计划:为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划(Joint Requirement Planning,JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发(Joint Application Development,JAD)的一部分。

  • 第7题:

    论需求分析方法及应用

    需求分析是提炼、分析和仔细审查已经获取到的需求的过程。需求分析的目的是确保所有的项目干系人(利益相关者)都理解需求的含义并找出其中的错误、遗漏或其它不足的地方。需求分析的关键在于对问题域的研究与理解。为了便于理解问题域,现代软件工程所推荐的需求分析方法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。常见的需求分析方法包括面向对象的分析方法、面向问题域的分析方法、结构化分析方法等。而无论采用何种方法,需求分析的主要工作内容都基本相同。

    请围绕"需求分析方法及应用"论题,依次从以下三个方面进行论述。

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

    2. 概要论述需求分析工作过程所包含的主要工作内容。

    3. 结合你具体参与管理和开发的实际项目,说明采用了何种需求分析方法,并举例详细描述具体的需求分析过程。


    答案:
    解析:
    本文的内容组织过程中需要注意的,主要是需求分析涉及到的工作内容。需求分析的工作通常包括以下七个方面:

    (1)绘制系统上下文范围关系图:这种关系图是用于定义系统与系统外部实体间的界限和接口的简单模型,它可以为需求确定一个范围。

    (2)创建用户界面原型:用户界面对于一个系统来说是十分重要的,因此在需求分析阶段通过快速开发工具开发一个抛弃式原型,或者通过PowerPoint、Flash等演示工具制作一个演示原型,甚至是用纸和笔画出一些关键的界面接口示意图,将帮助用户更好地理解所要解决的问题,更好地理解系统。

    (3)分析需求的可行性:对所有获得的需求进行成本、性能和技术实现方面的可行性研究,以及这些需求项是否与其他的需求项有冲突,是否有对外的依赖关系等。

    (4)确定需求的优先级:这是一项很重要的工作,迭代开发已经成为了现代软件工程方法的一个基础,而需求的优先级是制订迭代计划的一个最重要的依据。对于需求优先级的描述,可以采用满意度和不满意度指标进行说明。其中满意度表示当需求被实现时用户的满意程度,不满意度表示当需求未被实现时用户的不满意程度。

    (5)为需求建立模型:也就是建立分析模型,这些模型的表现形式主要是图表加上少量的文字描述,所谓“一图抵千字”,图形化地描述需求将使得其更加清晰、易懂。根据采用的分析方法不同,采用的图也将不同。例如,OOA中的用例模型和领域模型,SA中的DFD和E-R图等。需求分析模型主要描述系统的数据、功能、用户界面和运行的外部行为,它是系统的一种逻辑表示技术,并不涉及软件的具体实现细节。需求分析模型可以帮助系统分析师理解系统,使需求分析任务更加容易实现。同时,它也是以后进行软件设计的基础,为软件设计提供了系统的表示视图。

    (6)创建数据字典:数据字典是对系统用到的所有数据项和结构进行定义,以确保开发人员使用了统一的数据定义。

    (7)使用QFD:这是在需求优先级基础上的一个升华,其原理与满意度和不满意度指标十分接近,通过将产品特性、属性与对用户的重要性联系起来。

  • 第8题:

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

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

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

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

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

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


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

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

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

  • 第9题:

    论软件需求管理 软件需求管理是一个对系统需求变更了解和控制的过程。需求管理过程与需求开发过程相互关联,初始需求导出的同时就要形成需求管理规划,一旦启动了软件开发过程,需求管理活动就紧密相伴。 需求管理过程中主要包含变更控制、版本控制、需求跟踪和需求状态跟踪等4项活动,其目标是为项目管理人员建立一个软件需求基线,并保持软件计划、产品和活动与软件需求的一致性。 请围绕“软件需求管理”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.详细描述需求管理过程中各个活动中的主要工作。 3.详细说明你所参与的软件开发项目中,是如何进行软件需求管理的,实施的具体效果如何。


    答案:
    解析:
    无解析

  • 第10题:

    软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是()

    • A、设计构件
    • B、需求获取
    • C、标识构件
    • D、架构需求评审

    正确答案:A

  • 第11题:

    下列关于软件需求管理与需求开发的论述,正确的是()

    • A、所谓需求管理是指对需求开发的管理
    • B、需求管理包括:需求获取、需求分析、需求定义和需求验证
    • C、需求开发是将用户需求转化为应用系统成果的过程
    • D、在需求管理中,要求维持对原有需求和所有产品构件需求的双向跟踪

    正确答案:D

  • 第12题:

    问答题
    论软件需求获取技术及应用 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕"需求获取技术及应用"论题,依次从以下三个方面进行论述。 ①简要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。 ②详细说明目前有哪些比较常用的需求获取技术,说明每种需求获取技术的基本方法。 ③详细论述在你参与分析和开发的软件项目中所采取的需求获取技术,以及选取这些技术的原因,并说明需求获取的具体实施步骤。

    正确答案: 一、常用的需求获取技术:用户访谈、用户调查、现场观摩、阅读历史文档、联合讨论会(联合需求计划)等。
    (1)用户访谈。用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种,结构化是指事先准备好一系列问题,有针对地进行;非结构化则是只列出一个粗略的想法,根据访谈的具体情况发挥。最有效的访谈是结合这两种方法进行。用户访谈具有良好的灵活性,用较宽广的应用范围,但是也存在着许多困难,诸如客户经常较忙,你难以安排到时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要分析员有足够的领域知识;另外,在访谈时会遇到一些对于组织来说比较机密和敏感的话题。因此,这看似简单的技术,也需要分析人员拥有足够多的经验和较强的沟通能力。
    (2)用户调查。用户访谈时最大的难处在于很多关键的人员时间有限,不容易安排过多的时间;而且客户面经常较广,不可能一一访谈。因此,我们就需要借助用户调查,通过精心设计要问的问题,然后下发到相关的人员手里,让他们填写答案。这样就可以有效地克服前面提到的两个问题。但是与用户访谈相比,用户调查最大的不足就是缺乏灵活性;而且双方未见面,分析人员无法从他们的表情等其他动作来获取一些更隐性的信息;还有就是客户有可能在心理上会不重视一张小小的表格,不认真对待从而使得反馈的信息不全面。因此较好的做法是将这两种技术结合使用。具体来说,就是先设计问题,制作成为用户调查表,下发填写完后,进行仔细的分组、整理、分析,以获得基础信息,然后再针对这个结果进行小范围的用户访谈,作为补充。
    (3)现场观摩。对于许多较为复杂的流程和操作而言,是比较难以用言语表达清楚的,而且这样做也会显得很低效。因此,针对这一现象,分析团队可以就一些较复杂、较难理解的流程、操作采用现场观摩的方法来获取需求。具体来说,就是走到客户的工作现场,一边观察,一边听客户的讲解,甚至可以安排人员跟随客户工作一小段时间。这样就可以使得分析人员更加直观地理解需求。
    (4)阅读历史文档。这种方式也称为"文档考古"。对于一些数据流比较复杂的,工作表单较多的项目,有时是难以通过语言,或者通过观察来了解需求细节的。这个时候就可以借助于阅读历史文档的方法,对历史存在的一些文档进行研究,从中获得所需的信息。这个方法的主要风险是历史的文档可能与新系统的流程、数据有一些不吻合的地方,并且还可以承载一些原有系统的缺陷。要想有效地避免和发现这些问题,就需要分析人员能够运用自己的聪明才智,将其与其他需求捕获技术结合对照。还有一个负面因素就是,这些历史的文档中记载的信息有可能涉及客户的商业秘密,因此对数据信息的保密也是分析人员基本的职业道德。
    (5)联合讨论会。这是一种相对来说成本较高的需求获取方法,但也是十分有效的一种。它通过联合各个关键客户表、分析人员、开发团队代表一起,通过有组织的会议来讨论需求。通常该会议的参与人数为6~18人,召开时间为1~5小时。在会议之前,应该将与讨论主题相关的材料提前分发给所有将要参加会议的人。在会议开始之后,首先应该花一些时间让所有的与会者互相认识,以使交流在更加轻松的气氛下进行。会议的最初,就是针对所列举的问题进行逐项专题讨论,然后对原有系统、类似系统的不足进行开放性交流,第三步则是大家在此基础上对新的解决方案进行一番设想,在过程中将这些想法、问题、不足记录下来,形成一个要点清单。第四步就是针对这个要点清单进行整理,明确优先级,并进行评审。这种联合讨论会将会起到群策群力的效果,对于一些问题最有歧义的时候、对需求最不清晰地领域都是十分有用的一种技术。而且最大的难度就是会议的组织,要做到言之有物,气氛开放,否则将难以达到预想的效果。
    二、结合项目实际工作,举例说明你在获取需求时分别采用了哪些需求获取技术;详细说明你选择这些技术的原因及具体实施步骤。
    解析: 暂无解析

  • 第13题:

    论软件项目的需求变更管理

    在大中型软件项目的开发过程中,开发者和用户对问题的理解随时间在不断变化,这些变更又反馈到需求中。需求管理是一个对系统需求变更了解和控制的过程。

    请围绕“软件项目的需求变更管理”论题,依次从以下3个方面进行论述。

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

    2.简要说明该软件项目的用户需求,以及你在需求管理中所规划和建立的细节层次结构。

    3.概要说明一个需求变更管理过程所包含的基本阶段,具体叙述在开发该软件项目时所发生的需求变更情况,以及你管理这些变更问题所采用的技术和方法,并简要叙述你在这方面的体会。


    正确答案:1.需求管理需要“建立并维护在软件工程中同客户达成的契约”。这种契约都包含在编写的需求规格说明与模型中。客户的接受仅是需求成功的一半开发人员也必须能够接受他们并真正把需求应用到产品中。 2.在需求管理中所规划和建立的细节层次结构可通过需求跟踪表来反应。需要确定需求识别、变更管理过程、跟踪策略、CASE工具等内容。 3.通常的需求管理活动包括以下几个方面。 (1)定义需求基线(迅速制订需求文档的主体)。 (2)评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它。 (3)以一种可控制的方式将需求变更融入到项目中。 (4)使当前的项目计划与需求一致。 (5)估计变更需求所产生的影响并在此基础上协商新的承诺(约定)。 (6)让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪。 (7)在整个项目过程中跟踪需求状态及其变更情况。 一个需求变更管理过程包含问题分析和变更描述、变更分析和成本计算、变更实现这3个基本阶段。 简要说明你参与分析和开发的软件项目的用户需求。列举出在开发该软件项目时所发生的需求变更的具体情况并重点说明解决这些变更问题所采用的管理技术和方法。最后简要讨论几点你对“有效的需求变更管理”的实践体会。
    1.需求管理需要“建立并维护在软件工程中同客户达成的契约”。这种契约都包含在编写的需求规格说明与模型中。客户的接受仅是需求成功的一半,开发人员也必须能够接受他们,并真正把需求应用到产品中。 2.在需求管理中所规划和建立的细节层次结构,可通过需求跟踪表来反应。需要确定需求识别、变更管理过程、跟踪策略、CASE工具等内容。 3.通常的需求管理活动包括以下几个方面。 (1)定义需求基线(迅速制订需求文档的主体)。 (2)评审提出的需求变更、评估每项变更的可能影响,从而决定是否实施它。 (3)以一种可控制的方式将需求变更融入到项目中。 (4)使当前的项目计划与需求一致。 (5)估计变更需求所产生的影响,并在此基础上协商新的承诺(约定)。 (6)让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪。 (7)在整个项目过程中跟踪需求状态及其变更情况。 一个需求变更管理过程包含问题分析和变更描述、变更分析和成本计算、变更实现这3个基本阶段。 简要说明你参与分析和开发的软件项目的用户需求。列举出在开发该软件项目时所发生的需求变更的具体情况,并重点说明解决这些变更问题所采用的管理技术和方法。最后,简要讨论几点你对“有效的需求变更管理”的实践体会。

  • 第14题:

    论应用系统开发范围和功能的确定

    确定应用系统的开发范围和功能是需求定义阶段的一项重要任务。明确系统的开发范围和功能,可以降低系统的开发成本,完善必要的系统功能。因此在实施系统开发之前,必须就系统开发范围和功能与用户达成一致。例如,与用户一起分析业务流程,以确定哪些业务是必须实现的等。

    请围绕“应用系统开发范围和功能的确定”论题,依次对以下三个方面进行论述。

    (1)概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。

    (2)说明该软件项目的用户需求,具体叙述在确定该软件项目的开发范围和功能时,你所遵循的原则和基本步骤。

    (3)简要说明最终确定的该软件项目的开发范围和功能,并简要叙述你在这方面的体会。


    正确答案:[写作要点] 1.结合自己开发的软件产品或从事的实际工作阐述在系统需求分析阶段用户提出了哪些需求。 2.根据用户提出的需求详细说明按照哪些原则确定系统的范围和功能。确定系统范围和功能的原则如下: 1.根据已确定的系统目标和估算出的整个信息系统的信息量考虑企业现有客观条件包括资金情况、设备条件、现场条件、技术水平和管理现状等合理地确定系统的范围和功能。 2.新建立的系统可能要求现行的管理机构在组织上和功能上做某些调整和变动以适应计算机的管理。划分系统范围时应根据客观需要选择必要的系统结构和功能不要受现行系统的限制。 3.结合你所参与的软件项目详细论述确定系统范围和功能所采取的步骤。确定系统范围和功能应采取的步骤是: (1)绘制出系统的总数据流程图。该图是系统分析阶段的各业务部门的数据流程图综合绘制在一张图上。 (2)根据系统方案要求、用户的要求和现行系统的环境及确定系统边界的原则在总信息流程图上圈出系统范围。 (3)与用户讨论、协商修改有关内容。 (4)确定系统范围并做分析说明。 4.列举出经过上述步骤及与用户协商后确定了该软件项目的开发范围和功能是哪些并谈谈你在确定系统开发范围和功能方面的体会。
    [写作要点] 1.结合自己开发的软件产品或从事的实际工作,阐述在系统需求分析阶段,用户提出了哪些需求。 2.根据用户提出的需求,详细说明按照哪些原则确定系统的范围和功能。确定系统范围和功能的原则如下: 1.根据已确定的系统目标和估算出的整个信息系统的信息量,考虑企业现有客观条件,包括资金情况、设备条件、现场条件、技术水平和管理现状等,合理地确定系统的范围和功能。 2.新建立的系统,可能要求现行的管理机构在组织上和功能上做某些调整和变动,以适应计算机的管理。划分系统范围时,应根据客观需要选择必要的系统结构和功能,不要受现行系统的限制。 3.结合你所参与的软件项目,详细论述确定系统范围和功能所采取的步骤。确定系统范围和功能应采取的步骤是: (1)绘制出系统的总数据流程图。该图是系统分析阶段的各业务部门的数据流程图,综合绘制在一张图上。 (2)根据系统方案要求、用户的要求和现行系统的环境及确定系统边界的原则,在总信息流程图上圈出系统范围。 (3)与用户讨论、协商修改有关内容。 (4)确定系统范围,并做分析说明。 4.列举出经过上述步骤及与用户协商后,确定了该软件项目的开发范围和功能是哪些,并谈谈你在确定系统开发范围和功能方面的体会。

  • 第15题:

    需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取出来的结果影响很大。在多种需求获取方式中,( )方法具有良好的灵活性,有较宽广的应用范围,但存在获取需求时信息量大、记录较为困难、需要足够的领域知识等问题。( )方法基于数理统计原理,不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户,并可以减少数据收集偏差。( )方法通过高度组织的群体会议来分析企业内的问题,并从中获取系统需求。

    A.用户访谈 B.问卷调查 C.联合需求计划 D.采样 A.用户访谈 B.问卷调查 C.联合需求计划 D.采样 A.用户访谈 B.问卷调查 C.联合需求计划 D.采样


    正确答案:A,D,C

  • 第16题:

    下列关于软件需求管理与需求开发的论述,正确的是(26)。

    A.所谓需求管理是指对需求开发的管理

    B.需求管理包括:需求获取、需求分析、需求定义和需求验证

    C.需求开发是将用户需求转化为应用系统成果的过程

    D.在需求管理中,要求维持对原有需求和所有产品构件需求的双向跟踪


    正确答案:D
    解析:所有与需求直接相关的活动通称为需求工程。需求工程的活动可分为两大类,一类属于需求开发,另一类属于需求管理。需求开发的目的是通过调查与分析,获取用户需求并定义产品需求,需求开发的过程有四个:需求获取、需求分析、需求定义和需求验证。需求管理的目的是确保各方对需求的一致理解,管理和控制需求的变更,从需求到最终产品的双向跟踪。在需求管理中,要收集需求的变更和变更的理由,并且维持对原有需求和产品及构件需求的双向跟踪。

  • 第17题:

    论题四 论联合需求计划在系统需求获取中的应用

    需求获取是系统分析师用来确定、分析和理解系统需求的过程,访谈是需求获取的主要方式。为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划( Joint Requirement Planning,JRP)是一个通过高度结构化组织的群体会议来分析企业内的问题并获取需求的过程。JRP会议包括一些不同的参与者和角色,期望每个参与者都能够参加并主动地参与整个JRP会议。

    请围绕“联合需求计划在系统需求获取中的应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你使用JRP方法,参与分析和开发的信息系统项目以及你所担任的主要工作。

    2.简要分析JRP的参与者,并说明每个参与者在会议讨论中所发挥的作用。

    3.分析实施JRP时应该把握的原则,有效组织的JRP会议和其他需求获取方法相比有哪些优点。


    正确答案:
    写作要点:
    一、论文中要具体介绍组织的业务背景和组织结构,信息系统开发时的人员组成、任务分工和管理方式等内容,并明确指出你在其中承担的主要任务和开展的主要工作。
    二、简要分析JRP的参与者,并说明每个参与者在会议讨论中所发挥的作用。
    (1)负责人:通常是位于管理层的人,并且他的职权跨越系统项目中涉及的不同部门和用户,负责人通过鼓励用户主动参与JRP会议对系统项目给予完全的支持,并负责做出需求是否入选的最后决策。负责人通过介绍与会者来启动会议,并在会议结束时做最后小结。
    (2)会议主持人:通常负责领导一个系统项目的所有会议,这个人具有出色的沟通能力,拥有协商和解决小组矛盾的能力,拥有业务知识,具有出色的组织能力,对将做出的决策保持公平,并且不用向任何与会者汇报工作。主要工作包括策划JRP会议,主
    持会议直至会议结束。会议期间,负责引导讨论,鼓励出席者主动参与,解决可能产生的矛盾,确保实现会议的预期目标和目的,并建立会议期间将遵守的基本规则。
    (3)用户和管理人员:通常由项目负责人选择,人数为十几人或者更多。用户主要用来有效地明确或确认业务规则和需求、评审设计原型并做出是否接受的策略。管理人员是用来批准项目目标、设置项目优先权,批准进度和费用以及批准确定的培训需求和实现计划。
    (4)记录员:负责记录会议上讨论的每件事情,这些记录在会后立即发给与会者,以便维持JRP会议及其成员的动力。使用CASE工具来收集JRP会议期间沟通的众多事实。这个角色通常由系统分析人员扮演。
    (5) IT职员:主要负责聆听和记录用户和管理人员说的有关问题和需求。除非被邀请,否则不会主动发言。他们的任何问题和关注都在JRP会议之后或之前不久直接提交给JRP主持人。IT职员通常由项目团队的成员组成,这些成员和记录员密切合作,以形
    成开发模型和会议期间沟通结果的其他相关文档。
    三、分析实施JRP时应该把握的原则,有效的JRP和其他需求获取方法相比有哪些优点。
    1.在JRP实施之前,应制定详细的议程,并严格按议程进行;按既定的时间安排进行;尽量完整地记录会议期间的内容;在讨论期间尽量避免使用专业术语;充分运用解决冲突的技能;会议期间设定充分的间歇时间;鼓励团队取得一致的意见;保证参加JRP的所有人员能够遵守事先约定的规则。
    2.有效组织的JRP会议具有的优点:JRP积极地将用户和管理人员引入到开发项目中;JRP通过小组会议代替传统的、耗时的一对一地与每个用户和管理人员面谈,减少了开发系统所需的时间。小组会议有助于获得用户和管理人员的一致意见,解决互相矛盾的信息和需求;JRP把原型化技术包括进来作为一种证实需求和获得设计建议批准的手段,能够有效发挥原型化技术的优点。
    JRP会议的成功取决于JRP主持人及其计划与主持JRP会议的能力。

  • 第18题:

    论软件开发模型及应用

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

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

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

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

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


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

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

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

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

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

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

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

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

  • 第19题:

    需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取出来的结果影响很大。在多种需求获取方式中,(19)方法具有良好的灵活性,有较宽广的应用范围,但存在获取需求时信息量大、记录较为困难、需要足够的领域知识等问题。(20)方法基于数理统计原理,不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户,并可以减少数据收集偏差。(21)方法通过高度组织的群体会议来分析企业内的问题,并从中获取系统需求。

    A.用户访谈
    B.问卷调查
    C.联合需求计划
    D.采样

    答案:D
    解析:
    用户访谈:用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种。用户访谈是通过1对1(或1对2,1对3)的形式与用户面对面进行沟通,以获取用户需求。用户访谈具有良好的灵活性,有较宽广的应用范围。但是,也存在着许多困难,例如,用户经常较忙,难以安排时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要系统分析师具有足够的领域知识等。另外,在访谈时,还可能会遇到一些对于企业来说比较机密和敏感的话题。因此,这看似简单的技术,也需要系统分析师具有丰富的经验和较强的沟通能力。采样是指从种群中系统地选出有代表性的样本集的过程,通过认真研究所选出的样本集,可以从整体上揭示种群的有用信息。对于信息系统的开发而言,现有系统的文档(文件)就是采样种群。当开始对一个系统做需求分析时,查看现有系统的文档是对系统有初步了解的最好方法。但是,系统分析师应该查看哪些类型的文档,当文档的数据庞大,无法一一研究时,就需要使用采样技术选出有代表性的数据。采样技术不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户。在对人员进行采样时,上面介绍的采样技术同样适用。通过采样技术,选择部分而不是选择种群的全部,不仅加快了数据收集的过程,而且提高了效率,从而降低了开发成本。另外,采样技术使用了数理统计原理,能减少数据收集的偏差。但是,由于采样技术基于统计学原理,样本规模的确定依赖于期望的可信度和已有的先验知识,很大程度上取决于系统分析师的主观因素,对系统分析师个人的经验和能力依赖性很强,要求系统分析师具有较高的水平和丰富的经验。联合需求计划:为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划(Joint Requirement Planning,JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发(Joint Application Development,JAD)的一部分。

  • 第20题:

    以下关于需求分析的叙述中,不正确的是: ( ) 。

    A. 需求分析的目的是确定系统必须完成哪些工作,对目标系统提出完整、准确、清晰、具体的要求
    B. 完整的需求分析过程包括:获取用户需求、分析用户需求、编写需求说明书三个过程
    C. 根据项目的复杂程度,需求分析的工作可以由专门的系统分析人员来做,也可以由项目经理带领技术人员完成
    D. 软件需求分为三个层次:业务需求、用户需求、功能需求与非功能需求

    答案:B
    解析:
    软件需求分析主要目的是分析并抽象描述各种需求信息,为目标系统建立一个概念模型,是在计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。是要解决目标系统"做什么"的问题。由此可见选项A正确。选项B需求分析可分为需求提出、需求描述及需求评审三个阶段。需求提出:主要集中于描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。开发人员和用户确定一个问题领域,并定义一个描述该问题的系统,这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。需求描述:在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。需求评审:在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。一旦发现遗漏或模糊点,必须尽快更正,再行检查。因此B不正确。选项C正确,根据项目的复杂程度,需求分析的工作可以由不同人员来完成。选项D正确,需求分为三个层次:业务需求、用户需求、功能需求与非功能需求。业务需求(Business Requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。用户需求(User Requirement)描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件一一响应都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么。功能需求(functional requirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求(Behaviour Requirement)。功能需求描述是开发人员需要实现什么。非功能需求:产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性、扩展性等。

  • 第21题:

    需求分析活动的一个重要任务是进行(),明确用户需求的隐含信息,展开为明确的对软件系统的行为期望,即系统需求。

    • A、需求整理
    • B、需求细化
    • C、需求获取
    • D、需求分析

    正确答案:B

  • 第22题:

    论软件需求获取技术及应用 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕"需求获取技术及应用"论题,依次从以下三个方面进行论述。 ①简要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。 ②详细说明目前有哪些比较常用的需求获取技术,说明每种需求获取技术的基本方法。 ③详细论述在你参与分析和开发的软件项目中所采取的需求获取技术,以及选取这些技术的原因,并说明需求获取的具体实施步骤。


    正确答案: 一、常用的需求获取技术:用户访谈、用户调查、现场观摩、阅读历史文档、联合讨论会(联合需求计划)等。
    (1)用户访谈。用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种,结构化是指事先准备好一系列问题,有针对地进行;非结构化则是只列出一个粗略的想法,根据访谈的具体情况发挥。最有效的访谈是结合这两种方法进行。用户访谈具有良好的灵活性,用较宽广的应用范围,但是也存在着许多困难,诸如客户经常较忙,你难以安排到时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要分析员有足够的领域知识;另外,在访谈时会遇到一些对于组织来说比较机密和敏感的话题。因此,这看似简单的技术,也需要分析人员拥有足够多的经验和较强的沟通能力。
    (2)用户调查。用户访谈时最大的难处在于很多关键的人员时间有限,不容易安排过多的时间;而且客户面经常较广,不可能一一访谈。因此,我们就需要借助用户调查,通过精心设计要问的问题,然后下发到相关的人员手里,让他们填写答案。这样就可以有效地克服前面提到的两个问题。但是与用户访谈相比,用户调查最大的不足就是缺乏灵活性;而且双方未见面,分析人员无法从他们的表情等其他动作来获取一些更隐性的信息;还有就是客户有可能在心理上会不重视一张小小的表格,不认真对待从而使得反馈的信息不全面。因此较好的做法是将这两种技术结合使用。具体来说,就是先设计问题,制作成为用户调查表,下发填写完后,进行仔细的分组、整理、分析,以获得基础信息,然后再针对这个结果进行小范围的用户访谈,作为补充。
    (3)现场观摩。对于许多较为复杂的流程和操作而言,是比较难以用言语表达清楚的,而且这样做也会显得很低效。因此,针对这一现象,分析团队可以就一些较复杂、较难理解的流程、操作采用现场观摩的方法来获取需求。具体来说,就是走到客户的工作现场,一边观察,一边听客户的讲解,甚至可以安排人员跟随客户工作一小段时间。这样就可以使得分析人员更加直观地理解需求。
    (4)阅读历史文档。这种方式也称为"文档考古"。对于一些数据流比较复杂的,工作表单较多的项目,有时是难以通过语言,或者通过观察来了解需求细节的。这个时候就可以借助于阅读历史文档的方法,对历史存在的一些文档进行研究,从中获得所需的信息。这个方法的主要风险是历史的文档可能与新系统的流程、数据有一些不吻合的地方,并且还可以承载一些原有系统的缺陷。要想有效地避免和发现这些问题,就需要分析人员能够运用自己的聪明才智,将其与其他需求捕获技术结合对照。还有一个负面因素就是,这些历史的文档中记载的信息有可能涉及客户的商业秘密,因此对数据信息的保密也是分析人员基本的职业道德。
    (5)联合讨论会。这是一种相对来说成本较高的需求获取方法,但也是十分有效的一种。它通过联合各个关键客户表、分析人员、开发团队代表一起,通过有组织的会议来讨论需求。通常该会议的参与人数为6~18人,召开时间为1~5小时。在会议之前,应该将与讨论主题相关的材料提前分发给所有将要参加会议的人。在会议开始之后,首先应该花一些时间让所有的与会者互相认识,以使交流在更加轻松的气氛下进行。会议的最初,就是针对所列举的问题进行逐项专题讨论,然后对原有系统、类似系统的不足进行开放性交流,第三步则是大家在此基础上对新的解决方案进行一番设想,在过程中将这些想法、问题、不足记录下来,形成一个要点清单。第四步就是针对这个要点清单进行整理,明确优先级,并进行评审。这种联合讨论会将会起到群策群力的效果,对于一些问题最有歧义的时候、对需求最不清晰地领域都是十分有用的一种技术。而且最大的难度就是会议的组织,要做到言之有物,气氛开放,否则将难以达到预想的效果。
    二、结合项目实际工作,举例说明你在获取需求时分别采用了哪些需求获取技术;详细说明你选择这些技术的原因及具体实施步骤。

  • 第23题:

    单选题
    软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是()
    A

    设计构件

    B

    需求获取

    C

    标识构件

    D

    架构需求评审


    正确答案: A
    解析: 软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。其中标识构件又详细分为生成类图、对类图进行分组和将类打包成构件3步。软件架构需求并不应该包括设计构件的过程。

  • 第24题:

    ( 难度:中等)以下关于需求分析的叙述中,不正确的是:()
    A.需求分析的目的是确定系统必须完成哪些工作,对目标系统提出完整、准确、清晰、具体的要求
    B.完整的需求分析过程包括:获取用户需求、分析用户需求、编写需求说明书三个过程
    C.根据项目的复杂程度,需求分析的工作可以由专门的系统分析人员来做,也可以由项目经理带领技术人
    D.软件需求分为三个层次:业务需求、用户需求、功能需求与非功能需求

    答案:B