免费智能真题库 > 历年试卷 > 系统架构设计师 > 2011年下半年 系统架构设计师 上午试卷 综合知识
  第26题      
  知识点:   需求管理   需求开发概述   软件需求
  关键词:   开发   需求管理   需求        章/节:   需求管理       

 
下列关于软件需求管理或需求开发的叙述中,正确的是(26)。
 
 
  A.  所谓需求管理是指对需求开发的管理
 
  B.  需求管理包括:需求获取、需求分析、需求定义和需求验证
 
  C.  需求开发是将用户需求转化为应用系统成果的过程
 
  D.  在需求管理中,要求维持对用户原始需求和所有产品构件需求的双向跟踪
 
 
 

 
  第24题    2009年下半年  
   48%
以下关于需求管理的叙述中,正确的是(24)。
  第19题    2021年下半年  
   57%
需求管理的主要活动包括( )。
  第10题    2019年下半年  
   53%
安全攸关系统在软件需求分析阶段,应提出安全性需求。软件安全性需求是指通过约束软件的行为,使其不会出现   (9)..
   知识点讲解    
   · 需求管理    · 需求开发概述    · 软件需求
 
       需求管理
        需求管理通常包括定义需求基线、处理需求变更及需求跟踪等方面的工作。根据考试大纲,本节要求考生掌握需求变更、需求跟踪和需求变更风险管理三个方面的知识。本节只简单介绍有关需求跟踪方面的知识。有关定义需求基线和需求变更的知识,请阅读11.5.3节;有关风险管理方面的知识,请阅读11.7节。
        需求跟踪的主要目的如下:
        (1)审核。跟踪能力信息可以帮助审核确保所有需求被应用。
        (2)在增加、删除、修改需求时可以确保不忽略每个受到影响的系统元素。
        (3)使得维护时能正确、完整地实施变更,从而提高生产率。
        (4)获得计划功能当前实现状态的记录。
        (5)再工程。可以列出旧系统中将要替换的功能,记录它们在新系统的需求和软件组件中的位置。
        (6)重新利用跟踪信息可以帮助开发人员在新系统中对相同的功能利用旧系统相关资源。
        (7)可以减少由于关键成员离开项目带来的风险。
        (8)可以在测试出错时指出最可能有问题的代码段。
        在信息系统项目中,需求变更是不可避免的,如何以可控的方式管理软件的需求,对于项目的顺利进行有着重要的意义。如果匆匆忙忙地完成用户调研与分析,则往往意味着不稳定的需求。所以需求管理要保证需求分析各个活动都得到了充分的执行。对于需求变更的管理,则主要使用需求变更流程和需求跟踪矩阵的管理方式。
        需求跟踪包括编制每个需求与系统元素之间的联系文档。这些元素包括已识别的需求、约束、其他设计部件、源代码模块、测试、帮助文件、文档等。需求跟踪分为正向跟踪和逆向跟踪,一般合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后续工作成果的对应关系,通过需求跟踪矩阵可以跟踪一个需求使用期限的全过程,即从需求源到实现的前后生存期。它跟踪的是已明确的需求的实现过程,不涉及需求开发人员的职责,也无法用于防止变更矩阵单元之间的可能存在“一对一”、“一对多”或“多对多”的关系。由于对应关系比较复杂,最好在表格中加必要的文字解释。当需求文档或后续工作成果发生变更时,要及时更新需求跟踪矩阵。
 
       需求开发概述
        需求开发所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件与其他系统元素的接口细节,定义软件的其他有效性需求,细化软件要处理的数据域。用一句话概括就是:需求开发主要确定开发软件的功能、性能、数据和界面等要求。
        :在不严格区分需求开发和需求管理的情况下,往往就把“需求分析”当作“需求开发”。也就是说,广义的“需求分析”就是指需求开发中的4个阶段的总体。
               需求开发的工作
               具体来说,需求开发的工作可以分成以下4个方面:
               (1)问题识别:用于发现和描述需求,并预先估计以后系统可能达到的目标。
               (2)分析与综合:对问题进行分析,然后在此基础上整合出解决方案。这个步骤经常是反复进行的,常用的方法有面向数据流的结构化分析方法,面向数据结构的Jackson方法,面向对象的分析方法,以及用于建立动态模型的状态迁移图和Petri网。
               (3)编制需求分析的文档:也就是对已经确定的需求进行文档化描述,该文档通常称为软件需求说明书(需求规格说明书)。
               (4)需求分析与评审:它是需求分析工作的最后一步,主要是对功能的正确性、完整性和清晰性,以及其他需求给予评价。
               需求开发的原则
               在软件需求开发的过程中,必须遵循以下原则:
               (1)必须能够表达和理解问题的信息域和功能域。
               (2)必须表示软件的行为(作为外部事件的结果)。
               (3)必须划分描述信息、功能和行为的模型,从而可以以层次的方式揭示细节。
               (4)分析过程应该从要素信息移向细节实现。
               (5)必须按自顶向下、逐层分解的方式对问题进行分解和不断细化。
               (6)要给出系统的逻辑视图和物理视图。
               通过应用这些原则,系统分析师可以系统地处理某些问题,包括检查信息域以使得功能可以被更完整地理解,使用模型以使得可以以简捷的方式交流功能和行为的特征,应用划分以减少问题的复杂性等。在这些处理过程中,软件的要素和视图实现由处理需求带来的逻辑约束与由其他系统元素带来的物理约束是必需的。
               需求的分类
               软件需求就是系统必须完成的事,以及必须具备的品质。具体来说,软件需求包括功能需求、非功能需求和设计约束3个方面的内容。
               (1)功能需求:是指系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作。
               (2)非功能需求:是指产品必须具备的性能或品质,例如,可靠性、容错性等。
               (3)设计约束:也称为限制条件、补充规约,通常是对解决方案的一些约束说明,例如,某系统必须采用国有自主知识版权的数据库,必须运行在UNIX系统之下,等等。
               除了这3种需求之外,还有业务需求、用户需求和系统需求这3个处于不同层面下的概念,充分理解这些需求才能够更加清晰地理清需求的脉络。
               (1)业务需求:是指反映组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求。
               (2)用户需求:是指描述用户使用产品必须要完成什么任务、怎么完成的需求,通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,然后建立的从用户角度的需求。
               (3)系统需求:是从系统的角度来说明软件的需求,它包括了用特性说明的功能需求,质量属性及其他非功能需求,还有设计约束。
               我们经常围绕着“功能需求”来展开工作,而功能需求大部分都是从“系统需求”的角度来分析与理解的,也就是用“开发人员”的视角来理解需求。但要想真正地得到完整的需求,仅戴上“开发人员”的眼镜是不够的,还需要“领域专家”的眼镜,从更高的角度来理解需求,这就是“业务需求”;同时还应该更好地深入用户,了解他们的使用场景,了解他们的所思所想,这就是“用户需求”。这是一个理解层次的问题,并不仅仅是简单的概念。
 
       软件需求
        在进行需求获取之前,首先要明确需要获取什么,也就是需求包含哪些内容。软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通常,这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求等,并预先估计以后系统可能达到的目标。此外,还需要注意其他非功能性的需求。具体内容如下。
        (1)功能需求。
        (2)性能需求。
        (3)用户或人的因素。
        (4)环境需求。
        (5)界面需求。
        (6)文档需求。
        (7)数据需求。
        (8)资源使用需求。
        (9)安全保密要求。
        (10)可靠性要求。
        (11)软件成本消耗与开发进度需求。
        (12)其他非功能性要求。
               需求分析的任务
               需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。具体来说有下面几点。
               (1)确定软件系统的综合要求,包括系统界面、功能、性能、安全性、保密性、可靠性、运行等方面的要求。
               (2)分析软件系统的数据要求,包括基本数据元素、数据元素之间的逻辑关系、数据量、峰值等。
               (3)导出系统的逻辑模型,在结构化方法中可用数据流图来描述;在面向对象分析方法中可以用类模型来描述。
               (4)修正项目开发计划。
               (5)如有必要,可开发一个原型系统以验证用户的需求。
               软件需求的分类
               下面介绍软件需求的分类。
               (1)功能需求。所开发的软件必须具备什么样的功能。
               (2)非功能需求。它是指产品必须具备的属性或品质,如可靠性、性能响应时间、容错性和可扩展性等。
               (3)设计约束。其也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。
               软件需求分析方法
               需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成。它定义了表示系统逻辑视图和物理视图的方式。大多数的需求分析方法是由数据驱动的,数据域具有数据流、数据内容和数据结构3种属性。通常一种需求分析方法总要利用其中一种或几种属性。
   题号导航      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 /
 
第26题    在手机中做本题