全部科目 > 信息系统监理师 >
2011年上半年 上午试卷 综合知识
第 21 题
知识点 需求分析   需求分析概述   软件需求  
关键词 需求分析   需求  
章/节 软件与软件工程知识  
 
 
以下关于软件需求分析的说法中,不正确的是(21)。
 
  A.  需求分析需要进行软件功能和性能的技术实现方法的描述
 
  B. 

需求分析文档可用于指导后续的开发过程

 
  C.  软件需求包括业务需求、用户需求、功能需求和非功能需求等
 
  D. 

软件需求一般应由用户方组织进行确认

 
 




 
 
相关试题     需求分析 

  第70题    2020年下半年  
根据GB/T 8567—2006《计算机软件文档编制规范》,可能在需求分析阶段产生的文档有()。
①步的用户手册②软件需求规格说明 ③接口需求规格说明④测试报告

  第35题    2009年上半年  
软件需求规格说明书在软件开发中的作用不包括(35)。

  第27题    2013年下半年  
软件质量保证应在(27)阶段开始定义和实施。

 
知识点讲解
· 需求分析
· 需求分析概述
· 软件需求
 
        需求分析
        软件需求分析监理的主要任务和目的是对软件需求分析的相关内容(重点是工程需求、功能需求、性能需求和设计约束等)、需求分析过程、需求分析活动及文档格式进行审查,确认是否满足要求,并确定其可否作为软件开发的前提和依据。
        (1)参与用户需求调研,尤其是关键业务及有甲乙双方决策人物参与的大型交流会等。
        (2)组织有关单位参加《需求规格说明书》技术联合评审会议,并根据国家相关标准、软件工程理论、用户需求及工程建设合同等进行审查并提出监理意见。
        (3)根据项目管理的理论,审核承建单位递交的《项目开发计划》。审核的重点是项目参与人员的技术工作背景是否适应本项目、工作分配及进度计划是否合理,以及软件开发风险因素分析、风险防范措施是否到位等。
        (4)审核承建单位提交的软件开发的质量保证及配置管理计划等软件生存周期支持过程的文档。
        (5)审核承建单位针对本工程投入的软硬件资源是否满足工程需要并及时到位。
        (6)审核承建单位在开发过程中使用的软件工具的合法性。
        (7)主持监理例会,做好监理日记,定期将项目进展情况及发现的问题汇总,并以项目月报的形式向项目建设单位做书面汇报。
        (8)做好项目往来文档的整理及存档工作。
        在需求分析阶段,监理工作的重点是对软件需求规格说明书和项目开发计划的审核。
 
        需求分析概述
        需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求,细化软件要处理的数据域。用一句话概括就是:需求分析主要确定开发软件的功能、性能、数据和界面等要求。需求分析的实现步骤通常包括3个部分,分别是获取当前系统的物理模型,抽象出当前系统的逻辑模型,以及建立目标系统的逻辑模型。
               需求分析的工作
               具体来说,需求分析阶段的工作可以分成以下4个方面。
               (1)问题识别。用于发现需求,描述需求,主要包括功能需求、性能需求、环境需求、可靠性需求、安全保密需求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求,并预先估计以后系统可能达到的目标。
               (2)分析与综合。也就是对问题进行分析,然后在此基础上整合出解决方案。这个步骤经常是反复进行的,常用的方法有面向数据流的结构化分析方法,面向数据结构的Jackson方法,面向对象的分析方法,以及用于建立动态模型的状态迁移图和Petri网。
               (3)编制需求分析的文档。也就是对已经确定的需求进行文档化描述,该文档通常称为软件需求说明书(需求规格说明书)。
               (4)需求分析与评审。它是需求分析工作的最后一步,主要是对功能的正确性、完整性和清晰性,以及其他需求给予评价。
               需求分析的原则
               在软件需求分析的过程中,必须遵循以下原则:
               (1)必须能够表达和理解问题的信息域和功能域。
               (2)必须表示软件的行为(作为外部事件的结果)。
               (3)必须划分描述信息、功能和行为的模型,从而可以以层次的方式揭示细节。
               (4)分析过程应该从要素信息移向细节实现。
               (5)必须按自顶向下、逐层分解的方式对问题进行分解和不断细化。
               (6)要给出系统的逻辑视图和物理视图。
               通过应用这些原则,系统分析员可以系统地处理某些问题,包括检查信息域以使得功能可以被更完整地理解,使用模型以使得可以以简捷的方式交流功能和行为的特征,应用划分以减少问题的复杂性等。在这些处理过程中,软件的要素和视图实现由处理需求带来的逻辑约束与由其他系统元素带来的物理约束是必需的。
               需求的分类
               什么是软件的需求呢?软件需求就是系统必须完成的事,以及必须具备的品质。具体来说,软件需求包括功能需求、非功能需求和设计约束三个方面的内容。
               (1)功能需求。是指系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作。
               (2)非功能需求。是指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性及扩展性,等等。
               (3)设计约束。也称为限制条件、补充规约,这通常是对解决方案的一些约束说明,例如必须采用国有自主知识版权的数据库系统,必须运行在UNIX操作系统之下等。
               除了这三种需求之外,还有业务需求、用户需求和系统需求这三个处于不同层面下的概念,充分理解这些需求才能够更加清晰地理清需求的脉络。
               (1)业务需求。是指反映组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求。
               (2)用户需求。是指描述用户使用产品必须要完成什么任务、怎么完成的需求,通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,然后建立的从用户角度的需求。
               (3)系统需求。是从系统的角度来说明软件的需求,它包括了用特性说明的功能需求,质量属性及其他非功能需求,还有设计约束。
               我们经常围绕着“功能需求”来展开工作,而功能需求大部分都是从“系统需求”的角度来分析与理解的,也就是用“开发人员”的视角来理解需求。但要想真正地得到完整的需求,仅戴上“开发人员”的眼镜是不够的,还需要“领域专家”的眼镜,从更高的角度来理解需求,这就是“业务需求”。同时还应该更好地深入用户,了解他们的使用场景,了解他们的所思所想,这就是“用户需求”。这是一个理解层次的问题,并不仅仅是简单的概念。
               需求工程
               需求工程就是包括创建和维护系统需求文档所必需的一切活动的过程,也就是指需求开发和需求管理两大工作。
               (1)需求开发。包括需求捕获、需求分析、编写规格说明书和需求验证4个阶段。在需求开发阶段需要确定产品所期望的用户类型、获取每种用户类型的需求、了解实际的用户任务和目标,以及这些任务所支持的业务需求。同时还包括分析源于用户的信息、对需求进行优先级分类、将所收集的需求编写成为软件规格说明书和需求分析模型,以及对需求进行评审等工作。
               (2)需求管理。通常包括定义需求基线、处理需求变更及需求跟踪等方面的工作。
               这两个方面是相辅相成的,需求开发是主线,是目标;需求管理是支持,是保障。换句话来说,需求开发是努力更清晰、更明确地掌握客户对系统的需求;而需求管理则是对需求的变化进行管理的过程。
               针对整个需求工程,通常有以下一些指导原则。
               (1)在开始建立分析模型前先理解问题。人们通常总存在急于求成的倾向,甚至在问题被很好地理解前就已开始建模,这经常会导致产生一个解决错误的问题。
               (2)开发原型,使得用户能够了解将如何发生人机交互。因为人们对软件质量的感觉经常基于对界面“友好性”的感觉,所以强力推荐使用原型方法(以及相应产生的迭代)。
               (3)记录每个需求的起源及原因,这是建立回溯到客户的可追踪性的第一步。
               (4)使用多个需求视图。建立数据、功能和行为模型,为软件工程师提供三种不同的视图,这将减少忽视某些东西的可能性,并增加识别不一致性的可能性。
               (5)给需求赋予优先级。过短的时限可能使每个软件需求得以实现的可能性减小,如果采用增量模型,则必须标识那些将在第一个增量中要交付的需求。
               (6)努力删除含糊性。因为大多数需求以自然语言描述,存在含糊性的可能,正式的技术复审是发现并删除含糊性的一种方法。
 
        软件需求
        在进行需求获取之前,首先要明确需要获取什么,也就是需求包含哪些内容。软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通常,这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求等,并预先估计以后系统可能达到的目标。此外,还需要注意其他非功能性的需求。具体内容如下。
        (1)功能需求。
        (2)性能需求。
        (3)用户或人的因素。
        (4)环境需求。
        (5)界面需求。
        (6)文档需求。
        (7)数据需求。
        (8)资源使用需求。
        (9)安全保密要求。
        (10)可靠性要求。
        (11)软件成本消耗与开发进度需求。
        (12)其他非功能性要求。
               需求分析的任务
               需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。具体来说有下面几点。
               (1)确定软件系统的综合要求,包括系统界面、功能、性能、安全性、保密性、可靠性、运行等方面的要求。
               (2)分析软件系统的数据要求,包括基本数据元素、数据元素之间的逻辑关系、数据量、峰值等。
               (3)导出系统的逻辑模型,在结构化方法中可用数据流图来描述;在面向对象分析方法中可以用类模型来描述。
               (4)修正项目开发计划。
               (5)如有必要,可开发一个原型系统以验证用户的需求。
               软件需求的分类
               下面介绍软件需求的分类。
               (1)功能需求。所开发的软件必须具备什么样的功能。
               (2)非功能需求。它是指产品必须具备的属性或品质,如可靠性、性能响应时间、容错性和可扩展性等。
               (3)设计约束。其也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。
               软件需求分析方法
               需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成。它定义了表示系统逻辑视图和物理视图的方式。大多数的需求分析方法是由数据驱动的,数据域具有数据流、数据内容和数据结构3种属性。通常一种需求分析方法总要利用其中一种或几种属性。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有