免费智能真题库 > 历年试卷 > 系统分析师 > 2011年上半年 系统分析师 上午试卷 综合知识
  第29题      
  知识点:   开发过程   需求管理   版本控制   软件需求   需求跟踪
  关键词:   版本控制   开发过程   软件项目   需求管理   开发   需求        章/节:   软件工程基础知识       

 
软件需求管理是软件项目开发过程中控制和维持需求约定的活动,包括(29)、 版本控制需求跟踪、需求状态跟踪等活动。
 
 
  A.  需求发现
 
  B.  需求变更控制
 
  C.  需求排序
 
  D.  需求评估
 
 
 

 
  第2题    2020年下半年  
   22%
数据流图是系统分析的重要工具,数据流图中包含的元素有( )。
  第21题    2017年上半年  
   41%
需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取出来的结果影响很大。在多种需求..
  第28题    2009年上半年  
   54%
面向团队的需求收集方法能够鼓励合作,为解决方案的各个要素提供建议,协商不同的方法,以及说明初步的需求方案。下列关于面向团..
   知识点讲解    
   · 开发过程    · 需求管理    · 版本控制    · 软件需求    · 需求跟踪
 
       开发过程
        嵌入式系统软件的开发过程可以分为项目计划、可行性分析、需求分析、概要设计、详细设计、程序建立、下载、调试、固化、测试及运行等几个阶段。
        项目计划、可行性分析、需求分析、概要设计及详细设计等几个阶段,与通用软件的开发过程基本一致,都可按照软件工程的方法来进行,如采用原型化方法、结构化方法等。
        由于嵌入式软件的运行和开发环境不同,开发工作是交叉进行的,所以每一步都要考虑到这一点。
        程序建立阶段的工作是根据详细设计阶段中产生的文档来进行的,主要是源代码编写、编译链接等子过程,这些工作都在宿主机上进行,不需要用到目标机。产生应用程序的可执行文件后,就要用到交叉开发环境中进行调试,根据实际情况可以选用4.6.2节中的调试方法之一或其有效组合来进行。由于嵌入式系统对安全性和可靠性的要求比通用计算机系统要高,所以,在对嵌入式系统进行白盒测试时,要求有更高的代码覆盖率。
        最后,要将经调试后正确无误的可执行程序固化到目标机上。根据嵌入式系统硬件配置的不同,可以固化在EPROM和Flash等存储器中,也可固化在DOC(DiskOnChip)等电子盘中,通常还要借助一些专用编程器进行。
 
       需求管理
        需求管理通常包括定义需求基线、处理需求变更及需求跟踪等方面的工作。根据考试大纲和培训指南的规定,本节要求考生掌握需求变更、需求跟踪和需求变更风险管理3个方面的知识。本节只简单介绍有关需求跟踪方面的知识。有关定义需求基线和需求变更的知识,请阅读12.7.3节;有关风险管理方面的知识,请阅读12.11节。
        需求跟踪的主要目的如下:
        (1)审核。跟踪能力信息可以帮助审核确保所有需求被应用。
        (2)在增加、删除、修改需求时可以确保不忽略每个受到影响的系统元素。
        (3)使得维护时能正确、完整地实施变更,从而提高生产率。
        (4)获得计划功能当前实现状态的记录。
        (5)再工程。可以列出旧系统中将要替换的功能,记录它们在新系统的需求和软件组件中的位置。
        (6)重新利用跟踪信息可以帮助开发人员在新系统中对相同的功能利用旧系统相关资源。
        (7)可以减少由于关键成员离开项目带来的风险。
        (8)可以在测试出错时指出最可能有问题的代码段。
        在信息系统项目中,需求变更是不可避免的,如何以可控的方式管理软件的需求,对于项目的顺利进行有着重要的意义。如果匆匆忙忙地完成用户调研与分析,则往往意味着不稳定的需求。所以需求管理要保证需求分析各个活动都得到了充分的执行。对于需求变更的管理,则主要使用需求变更流程和需求跟踪矩阵的管理方式。
        需求跟踪包括编制每个需求与系统元素之间的联系文档。这些元素包括别的需求、约束、其他设计部件、源代码模块、测试、帮助文件、文档等。需求跟踪分为正向跟踪和逆向跟踪,一般合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后续工作成果的对应关系,通过需求跟踪矩阵可以跟踪一个需求使用期限的全过程,即从需求源到实现的前后生存期。它跟踪的是已明确的需求的实现过程,不涉及需求开发人员的职责,也无法用于防止变更矩阵单元之间的可能存在“一对一”、“一对多”或“多对多”的关系。由于对应关系比较复杂,最好在表格中加必要的文字解释。当需求文档或后续工作成果发生变更时,要及时更新需求跟踪矩阵。
 
       版本控制
        版本是表示一个配置项具有一组定义的功能的一种标识。随着功能的增加,修改或删除,配置项的版本随之演变。应当记录每个软件配置项的所有历史记录,并记录该软件配置项由何人创建,何人在何时因何原因进行了修改等信息,以及对这些软件配置项版本的进行检索和信息查询等活动。
 
       软件需求
        在进行需求获取之前,首先要明确需要获取什么,也就是需求包含哪些内容。软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通常,这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求等,并预先估计以后系统可能达到的目标。此外,还需要注意其他非功能性的需求。具体内容如下。
        (1)功能需求。
        (2)性能需求。
        (3)用户或人的因素。
        (4)环境需求。
        (5)界面需求。
        (6)文档需求。
        (7)数据需求。
        (8)资源使用需求。
        (9)安全保密要求。
        (10)可靠性要求。
        (11)软件成本消耗与开发进度需求。
        (12)其他非功能性要求。
               需求分析的任务
               需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。具体来说有下面几点。
               (1)确定软件系统的综合要求,包括系统界面、功能、性能、安全性、保密性、可靠性、运行等方面的要求。
               (2)分析软件系统的数据要求,包括基本数据元素、数据元素之间的逻辑关系、数据量、峰值等。
               (3)导出系统的逻辑模型,在结构化方法中可用数据流图来描述;在面向对象分析方法中可以用类模型来描述。
               (4)修正项目开发计划。
               (5)如有必要,可开发一个原型系统以验证用户的需求。
               软件需求的分类
               下面介绍软件需求的分类。
               (1)功能需求。所开发的软件必须具备什么样的功能。
               (2)非功能需求。它是指产品必须具备的属性或品质,如可靠性、性能响应时间、容错性和可扩展性等。
               (3)设计约束。其也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。
               软件需求分析方法
               需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成。它定义了表示系统逻辑视图和物理视图的方式。大多数的需求分析方法是由数据驱动的,数据域具有数据流、数据内容和数据结构3种属性。通常一种需求分析方法总要利用其中一种或几种属性。
 
       需求跟踪
        需求跟踪的内容
        需求跟踪包括编制每个需求同系统元素之间的联系文档。这些元素包括别的需求、体系结构、其他设计部件、源代码模块、测试、帮助文件、文档等。
        在某种程度上,需求跟踪提供了一个表明与合同或说明一致的方法。需求跟踪还可以改善产品质量,降低维护成本,很容易实现重用。在项目中使用需求跟踪的好处有:
        .审核跟踪能力信息有助于确保应用了所有需求。
        .变更影响分析在增、删、改需求时可以确保不忽略每个受到影响的系统元素。
        .维护可靠的跟踪能力信息使得维护时能正确、完整地实施变更,从而提高生产率。
        .在开发中认真记录跟踪能力数据,就可以获得计划功能当前实现状态的记录。
        .重新构造。
        .重复利用跟踪信息有助于在新系统中对相同的功能利用旧系统相关资源。
        .减小风险。把部件互联关系文档化可减少由于关键成员离开项目带来的风险。
        .测试模块、需求、代码之间的联系链可以在测试出错时指出最可能有问题的地方。
        需求跟踪能力矩阵是表示需求和别的系统元素之间联系链的常用方式。
        使用需求跟踪能力来管理工程时,可考虑以下步骤:
        (1)决定定义哪几种联系链。
        (2)选择要使用的跟踪能力矩阵种类。
        (3)确定对产品哪些部分进行跟踪。
        (4)通过修订过程和核对表来提醒开发人员在需求完成或变更时更新联系链。
        (5)制订规范,统一标识所有系统元素,达到可以相互联系的目的。
        (6)确定提供每类联系链信息的人员。
        (7)培训项目组成员。
        (8)及时更新跟踪能力数据。
        (9)开发过程中周期性更新数据,使跟踪信息与实际相符。
        变更需求代价:影响分析
        影响分析是需求管理的一个重要组成部分。影响分析可以提供对建议变更的准确理解,有助于做出信息量充分的变更批准决策。通过对变更内容的检验,确定对现有的系统做出修改或抛弃的决定,或者创建新系统以及评估每个任务的工作量。
        进行影响分析的能力依赖于跟踪能力数据的质量和完整性。
   题号导航      2011年上半年 系统分析师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第29题    在手机中做本题