软件需求习题集3

合集下载

软件工程《软件工程》习题集

软件工程《软件工程》习题集

软件工程习题集第一章概述一、选择题1.“软件危机”产生的主要原因是( B )。

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2.软件工程中描述生存周期的瀑布模型一般包括计划、( 需求分析)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。

①需求分析②需求调查③可行性分析④问题定义⑤方案设计⑥代码设计⑦概要设计⑧数据设计⑨运行设计⑩3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(程序、数据、文档)。

A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.在软件工程时期,决定软件质量的主要因素是( )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展5.下列哪个模型没有采用迭代的思想(A )A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型6.下列关于瀑布模型的描述正确的是( D )A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开7.瀑布模型的关键不足在于(B )(A)过于简单(B)不能适应需求的动态变更(C)过于灵活(D)各个阶段需要进行评审8.瀑布模型把软件生存周期划分为软件定义、软件开发与(D )三个阶段,而每一阶段又可分为若干更小的阶段。

A. 详细设计B. 可行性分析C. 运行及维护D. 测试与排错二、判断题1.软件工程是指导计算机软件开发和维护的工程学科。

( )2.在软件工程时期,决定软件质量的主要因素是管理水平. ( )3.软件生存期是从软件项目需求定义直至软件开始使用为止。

()4.常用的软件生存周期模型有瀑布模型和结构化模型。

()5.瀑布模型是一种线形的、顺序的软件开发模型( )6.瀑布模型的关键不足在于不能适应需求的动态变更.( )7.快速原型模型是为了克服瀑布模型的缺点而提出来的。

软件工程(软件需求)习题与答案

软件工程(软件需求)习题与答案

软件工程(软件需求)习题与答案软件工程(软件需求)习题与答案1. 引言在软件工程领域,软件需求是项目成功的关键之一。

对于开发者来说,了解和熟悉软件需求的基本概念和流程是至关重要的。

本文将针对软件工程中的软件需求进行习题和答案的探讨,帮助读者更好地理解和应用相关知识。

2. 习题集2.1 习题一:什么是软件需求?为什么软件需求很重要?答案:软件需求是指软件开发过程中,对于所要开发的软件系统的功能、性能以及其他特点的描述和规定。

软件需求的编写和理解对于项目的成败具有决定性的作用。

准确的软件需求能够指导开发团队进行开发工作,并确保最终的软件产品符合用户的期望。

2.2 习题二:软件需求的分类是什么?答案:软件需求可以分为功能需求和非功能需求两类。

功能需求描述了软件系统应具备的功能和行为,非功能需求则描述了软件系统的性能、可靠性、安全性等方面的需求。

2.3 习题三:请列举几个软件需求的常见问题。

答案:常见的软件需求问题包括:- 不完整的需求描述:缺少必要的细节和规范,导致开发团队无法准确理解用户需求。

- 冲突的需求:不同的用户提出了矛盾的要求,导致开发过程复杂化。

- 模糊的需求:需求描述含糊不清,无法量化和验证。

- 可测量性问题:需求无法被准确地测量和评估。

- 可行性问题:需求不符合项目的可行性要求,无法被合理地实施。

3. 答案解析3.1 习题一解析软件需求是对软件系统功能、性能和其他特点的描述和规定。

软件需求的重要性在于它能够指导开发团队进行开发工作,并确保最终产品符合用户期望。

缺乏准确的软件需求往往导致项目失败或产品无法满足用户需求。

3.2 习题二解析软件需求可以分为功能需求和非功能需求两类。

功能需求描述了软件系统应具备的功能和行为,如注册、登录等;非功能需求描述了软件系统的性能、可靠性、安全性等方面的需求,如响应时间、可扩展性等。

3.3 习题三解析常见的软件需求问题包括需求描述不完整、冲突的需求、模糊的需求、可测量性问题以及可行性问题。

《软件需求分析》单选填空判断答案全解

《软件需求分析》单选填空判断答案全解

《软件需求分析》单选填空判断答案全解《软件需求分析》习题集《软件需求分析》课程组编2012年4⽉⽬录⼀、单项选择题 (2)⼆、填空题 (5)三、判断题 (9)《软件需求分析》习题集⼀、单项选择题1、软件⽣产中产⽣需求问题的最⼤原因在于对应⽤软件的()理解不透彻或应⽤不坚决。

(A)复杂性(B)⽬的性(C)模拟性(D)正确性2、需求分析的⽬的是保证需求的()。

(A)⽬的性和⼀致性(B)完整性和⼀致性(C)正确性和⽬的性(D)完整性和⽬的性3、系统需求开发的结果最终会写⼊()。

(A)可⾏性研究报告(C)⽤户需求说明4、现实世界中的((B)前景和范围⽂档(D)系统需求规格说明)构成了问题解决的基本范围,称为该问题的问题域。

(A)属性和状态(B)实体和状态(C)实体和操作(D)状态和操作5、功能需求通常分为三个层次,即业务需求、⽤户需求和()。

(A)硬件需求(B)软件需求(C)质量属性(D)系统需求6、⽐较容易发现的涉众称为初始涉众,⼜称为(),通常包括客户、管理者和相关的投资者。

(A)关键涉众(B)涉众基线(C)普通涉众(D)⼀般涉众7、如果在最终的物件(Final Artifact)产⽣之前,⼀个中间物件(Mediate Artifact)被⽤来在⼀定⼴度和深度范围内表现这个最终物件,那么这个中间物件就被认为是最终物件在该⼴度和深度上的()。

(A)模拟(B)构造(C)原型(D)模型8、按照使⽤⽅式进⾏分类,原型可分为:演⽰原型、()、试验原型和引⽰系统原型。

(A)⾮操作原型(B)系列⾸发原型(C)选定特征原型(D)严格意义上的原型9、按照功能特征进⾏分类,原型可分为:()、⾮操作原型、系列⾸发原型和选定特征原型。

(A)拼凑原型(B)样板原型(C)纸上向导原型(D)严格意义上的原型10、按照开发⽅法进⾏分类,原型可分为:演化式原型和抛弃式原型,其中抛弃式原型⼜被细分为()。

(A)演⽰原型和试验原型(C)探索式原型和实验式原型(B)系列⾸发原型和选定特征原型(D)样板原型和纸上向导原型11、原型的需求内容可以从三个纬度上分析:即()。

软件工程习题集

软件工程习题集

软件工程练习题一、填空题1. 软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行与维护。

2. 可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性等方面研究。

3. 数据流图的四种基本成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。

4. 结构化分析方法是面向_数据流进行需求分析的方法。

5. 结构化分析方法使用数据流图DFD 与数据字典DD来描述。

6. 软件详细设计的主要任务是算法描述和数据结构的设计。

7.为了在软件开发过程中保证软件的质量,主要采取下述措施:审查_、复查和管理复审、测试。

8. 大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。

9. 在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理能协调软件开发,并使混乱减到最低程度.10.McCall提出的软件质量模型包括__13_个软件质量特性。

11.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

12. 为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

13. 软件结构是以模块为基础而组成的一种控制层次结构。

14. 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。

15. 结构化语言是介于自然语言和形式语言之间的一种半形式语言。

16.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的信息流动情况。

17.CASE技术是软件工具和软件开发方法的结合。

18.数据字典有四类条目,分别是数据流、数据项、数据存储和基本加工。

19.各种软件系统的数据流图一般可分为变换型和事务型两类。

20. 软件可维护性可用七种质量特性来衡量,分别是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

21. 面向对象分析中,动态模型使用状态图_作为描述工具,该图反映了状态与事件的关系。

软件项目管理习题集

软件项目管理习题集

软件项目管理习题集一、选择题1。

以下哪一项最能表现某个项目的特征(C)A. 运用进度计划技巧B. 整合范围与成本。

利用网络进行跟踪2。

:(A)B. 范围,时间,成本,质量C。

有不同需求和期望的项目干系人 D。

明确的和未明确表达的需求3。

以下都是日常运作和项目的共同之处,除了:(D)A。

由人来作C。

需要规划、执行和控制4。

有效的项目管理要求项目管理团队理解和利用以下专业知识领域的知识和技能,除了:(C)应用领域知识、标准与规章制度。

处理人际关系技能5. 下列都是子项目的正确说法,除了:(D)A. 划分子项目的目的是为了便于管理C。

项目生命期的一个阶段是子项目6. 管理一个项目包括以下内容,除了:(D)A。

识别要求C. 权衡质量、范围、时间和费用的要求7. (C)A。

项目群 B。

过程。

组合8. 下列(D)不属于项目管理的特征A. 独特性C。

拥有主要顾客或项目发起人9。

下列(C)不属于项目管理的三维约束A。

达到范围目标 B. 达到时间目标达到成本目标。

项目组管理 C. 项目组合管理 D。

需求管理11。

B)的一部分,后者能够得到更好的管理。

A. 组合投资 D. 合作12. PMI提供的认证项目叫做(B)C。

Project Management ExpertD. Project Management Menter13. 乙方在项目初始阶段的主要任务不包含以下哪一项(D)A。

项目分析 B.竞标 C。

合同签署A)。

项目名称C. 项目经理及联系方式 D。

项目成员及角色15。

项目经理的职责不包括以下哪项内容(D)A。

开发计划 B。

组织实施 C。

项目控制16. 〈strong>B)A。

制定决策挑选项目成员 D. 资源分配〈/strong〉A)生存期模型,原型 C. 螺旋模型 D。

V模型18。

,最好选择(B)生存期模型,A。

增量式模型。

螺旋模型 D. V模型19确定了项目的质量标准C. 明确了团队的纪律 D。

软件测试习题集

软件测试习题集

软件测试习题集一、判断题1、发现错误多的模块,残留在模块中的错误也多。

( √ )2、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快开发的进程。

(× )3、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。

(√ )4、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。

(√ )5、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。

(√)6、软件测试只能发现错误,但不能保证测试后的软件没有错误。

(√)7、软件就是程序。

(X)8、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。

(X)9.软件测试的目的是尽可能多的找出软件的缺陷。

(Y)10 .Beta 测试是验收测试的一种。

(Y)11 .验收测试是由最终用户单方面来实施的。

(N )12 .单元测试能发现约80% 的软件缺陷。

(Y )14 .自底向上集成需要测试员编写驱动程序。

(Y )16 .负载测试是验证要检验的系统的能力最高能达到什么程度。

(N )15 .测试人员要坚持原则,缺陷未修复完坚决不予通过。

(N )16 .代码评审员一般由测试员担任。

(N )17 .我们可以人为的使得软件不存在配置问题。

(N )18 .集成测试计划在需求分析阶段末提交。

(N )19. 测试是调试的一个部分(╳)20. 程序中隐藏错误的概率与其已发现的错误数成正比(√ )21. 测试的目的是发现软件中的错误。

(√ )22. 代码评审是检查源代码是否达到模块设计的要求。

(√ )23. 自底向上集成需要测试员编写驱动程序。

(√ )24. 因为测试工作简单,对软件产品影响不大,所以可以把测试作为新员工的一个过渡工作,或安排不合格的开发人员做测试。

(N)25. 在集成测试过程中,刚开始集成时由于规模较小,主要以黑盒测试为主(N)。

26.Beta 测试是验收测试的一种。

软件需求分析习题大全

软件需求分析习题大全

软件需求分析习题大全 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】习题集一、单项选择题1、需求分析最终结果是产生()。

A.项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书答案:C2、需求分析中,开发人员要从用户那里解决的最重要的问题是()。

A.让软件做什么 B.要给软件提供哪些信息C.要求软件工作效率怎样 D.让软件具有何种结构答案:A3、需求规格说明书的内容不应包括对()的描述。

A.主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能答案:B4、需求规格说明书的作用不应包括()。

A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据 D.软件可行性研究的依据答案:D5、下面关于面向对象方法中消息的叙述,不正确的是()。

A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同答案:B6、面向对象技术中,对象是类的实例。

对象有三种成份:()、属性和方法(或操作)。

A. 标识B. 规则C. 封装D. 消息答案:A7、软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、制定规格说明以及()。

A.总结 B.实践性报告C.需求分析评审 D.以上答案都不正确答案:C8、软件需求规格说明书的内容不应包括对()的描述。

A.主要功能 B.算法的详细过程C.用户界面及运行环境 D.软件的性能答案:B9、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B )A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重用性、可测试性C 完整性、可靠性、健壮性、可用性D 容错性、易用性、简洁性、正确性10、需求包括11个方面的内容,其中网络和操作系统的要求属于(B ),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D ),规定系统平均出错时间属于(A )。

需求工程(习题集)最新

需求工程(习题集)最新

需求工程习题集一、选择题1、需求获取的成果(A)。

A、获取笔录、录音或摄像B、客户C、需求规格说明文档D、设计说明书2、项目前景与范围文档中,项目前景不应包括什么信息(B)。

A、前景概述B、详细的功能需求C、主要特性D、假设与依赖3、下列不属于需求开发的活动的是(B)。

A、需求获取B、需求管理C、需求验证D、需求分析4、面谈的类别不包括(C)。

A、结构化面谈B、半结构化面谈C、封闭式面谈D、非结构化面谈5、采用观察方法进行需求获取的原因(C)。

A、用户多B、客户变化D、事件的情景性D、存在默认知识6、确定需求优先级的常用的方法(A)。

A、累计投票B、协商C、需求细化D、需求建模7、需求评审是(B)中常用的一种方法。

A、需求获取B、需求验证C、需求分析D、需求管理8、需求跟踪是(D)中的一个活动。

A、需求获取B、需求验证C、需求分析D、需求管理9、针对客户需求文档进行文档审查的时候,采用的方法是(C)。

A、需求重用B、文档分析C、需求剥离D、民族志10、下列不是过程建模中使用的技术是(C)。

A、上下文图B、数据流图C、E-R图D、微规格说明11、针对相关产品的需求规格说明进行文档审查的时候,采用的方法是(C)。

A、需求剥离B、文档分析C、需求重用D、民族志12、下列不是用例模型的基本元素的是(A)。

A、用例B、参与者C、实体D、系统边界13、下列不属于需求验证的方法的是(B)。

A、需求评审B、需求分析C、利用跟踪关系D、开发测试用例15、需求分析的最终结果产生的是(C)。

A、项目开发计划B、可行性分析报告C、需求规格说明书D、设计说明书16、最常见的IEEE1998将需求分成5种类别,下列哪个不是5种类别的是(D)。

A、功能需求B、性能需求C、质量属性D、需求获取17、下列不属于面向对象建模中所使用的技术是(C)。

A、用例模型B、行为模型C、数据模型D、对象模型18、下列不属于获取信息的内容的是(D)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题二:2-2、说明客户与开发人员之间是什么关系?客户与用户是一样的吗?答:通常意义下,客户是指直接或间接从产品中获得利益的个人或组织。

软件客户包括提出要求、支付款项、选择、具体说明或使用软件产品的项目风险承担者(stakeholder)或是获得产品所产生的结果的人。

他们能说清楚要使用该产品完成什么任务和一些非功能性的特性,而这些特性会对使用户很好接收具有该特点的产品是重要的。

2-3、什么是业务需求、什么是用户需求?答:业务需求应说明客户、公司和想从该系统获利的风险承担者或从系统中取得结果的用户所要求的目标。

业务需求为后继工作建立了一个指导性的框架。

其它任何说明都应遵从业务需求的规定,然而业务需求并不能为开发人员提供许多开发所需的细节说明。

用户需求—必须从使用产品的用户处收集。

因此这些用户(通常称作最终用户),构成了另一种软件客户。

他们能说清楚要使用该产品完成什么任务和一些非功能性的特性,而这些特性会对使用户很好接收具有该特点的产品是重要的。

说明业务需求的客户有时将试图替代用户说话,但通常他们根本无法准确说明用户需求。

2-4、客户与开发人员之间是什么关系?答优秀的软件产品是建立在优秀的需求基础之上的。

而高质量的需求来源于客户与开发人员之间有效的交流与合作。

:只有当双方参与者都明白要成功自己需要什么,同时也应知道要成功合作方需要什么时,才能建立起一种合作关系。

2-5、简述软件客户需求权利书。

答:客户有如下权利:1. 要求分析人员使用符合客户语言习惯的表达。

2. 要求分析人员了解客户系统的业务及目标。

3. 要求分析人员组织需求获取期间所介绍的信息,并编写软件需求规格说明。

4. 要求开发人员对需求过程中所产生的工作结果进行解释说明。

5. 要求开发人员在整个交流过程中保持和维护一种合作的职业态度。

6. 要求开发人员对产品的实现及需求都要提供建议,拿出主意。

7. 描述产品使其具有易用、好用的特性。

8. 可以调整需求,允许重用已有的软件组件。

9. 当需要对需求进行变更时,对成本、影响、得失(trade-off)有个真实可信的评估。

10. 获得满足客户功能和质量要求的系统,并且这些要求是开发人员同意的。

2-6、叙述一下客户需求的权利与义务?答:客户有下列义务:1. 给分析人员讲解业务及说明业务方面的术语等专业问题。

2. 抽出时间清楚地说明需求并不断完善。

3. 当说明系统需求时,力求准确详细。

4. 需要时要及时对需求做出决策。

5. 要尊重开发人员的成本估算和对需求的可行性分析。

6. 对单项需求、系统特性或使用实例划分优先级。

7. 评审需求文档和原型。

8. 一旦知道要对项目需求进行变更,要马上与开发人员联系。

9. 在要求需求变更时,应遵照开发组织确定的工作过程来处理。

10. 尊重需求工程中开发人员采用的流程(过程)。

2-7、软件客户的权利与义务法案?答:参见书上,2.2.1和2.2.2中的条例即可。

2-8、“签约”意味着什么?答:“签约”意味着什么应该吧它作为项目的里程碑。

对于签字之前应进行哪些活动,以及签字对将来变更的影响,各方应形成明确一致的理解。

在需求上签约是终止需求开发过程的正确方法。

然而,参与者必须明白他们的签约意味着什么。

2-9、为什么说“不要把“签约”当成武器”?答:许多组织在需求文档中使用“签约”这个概念来作为客户同意需求的标志行为。

故要让所有需求参与者都真正明白“签约”的意思。

这样的态度都是不对的,不可能在项目早期就了解所有需求,而且毫无疑问需求将会出现变更。

2-10、什么是需求协议的基线?答:可参看2-11的答案。

2-11、怎样设置基线?答:设置基线是很有意义的,它能给所有主要的涉众带来信心:•客户管理层相信项目的范围不会过度膨胀直至失控,因为客户掌握了范围变更的决定权.•用户代表有信心开发团对会跟他们一同努力开发出符合需求的系统,即便他们不能在系统开始构建之前想到所有的需求.•开发管理人员有信心,因为开发团队有了业务伙伴。

业务伙伴能够保证项目的中心工作集中在业务目标上。

他们将与开发人员一起在进度、成本、功能和质量之间做出平衡。

•需求分析员也充满信心,因为他们可以有效地管理项目的变更,将变更引起的麻烦减至最小。

用明确的协议来结束前期是需求开发活动,能够帮助客户和开发人员形成合作伙伴关系,携手走上项目成功之路。

2-12、什么是需求变更?答:在需求管理中有解释(后面章节)2-13、什么时候客户和开发人员之间容易产生摩擦?答:更为重要的是签名是建立在一个需求协议的基线上,因此在需求规格说明上的签约应该这样理解:“我同意这份文档表述了目前我们对项目软件需求的了解。

进一步的变更可在此基线上通过项目定义的变更过程来进行。

我知道变更可能会使我们要重新协商成本、资源和项目工期任务等”。

2-14、设置基线的意义?答:关于基线达成一定共识会易于忍受将来的摩擦,这些摩擦来源于项目的改进和需求的误差或市场和业务的新要求等。

给初步的需求开发工作画上双方都明确的句号会有助你形成一个持续良好的客户与开发人员的关系,为项目的成功奠定了基础。

2-15、为什么说““签约”要把它作为项目的里程碑。

”答:“签约”意味着什么应该吧它作为项目的里程碑。

对于签字之前应进行哪些活动,以及签字对将来变更的影响,各方应形成明确一致的理解。

习题一:1-0、系统项目涉众?答:•客户:投资项目或购买产品的部门或人员。

•开发人员:设计、实现和维护该产品。

•用户:使用该产品的部门或人员。

•测试人员:确定产品的行为是否与预计的相一致。

•需求分析员:负责编写需求并传达给开发团队。

•文档编制人员:负责编写用户手册、培训资料和系统帮助。

•项目经理:制定项目计划并带领开发人员获得成功。

•法律人员:确保产品符合所有相关法规。

•生产人员:制造包含该软件的产品。

•市场营销、技术支持及其他与产品和客户打交道的人员。

1-1、什么是软件需求?答:IEEE软件工程标准词汇表(1997年)中定义需求为:(1)用户解决问题或达到目标所需的条件或权能(Capability)。

(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。

(3)一种反映上面(1)或(2)所描述的条件或权能的文档说明。

1-2、什么是需求中的二义性,有什么危害?答:并没有一个清晰、毫无二义性的“需求”术语存在,真正的“需求”实际上在人们的脑海中。

任何文档形式的需求(例如:需求规格说明)仅是一个模型,一种叙述我们需要确保所有项目风险承担者在描述需求的那些名词的理解上务必达成共识。

危害的解释,请参看1-11的解释。

1-3、什么是系统的行为、特性和属性?答:所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。

1-4、软件需求包括哪些主要层次?答:软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求。

1-5、什么是业务需求、用户需求和功能需求?答:业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。

用户需求(userrequirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case )文档或方案脚本(scenario)说明中予以说明。

功能需求(functional requirement) 定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

1-6、什么是需求特性、什么是软件系统的外部行为。

答:所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。

1-7、什么是软件需求规格说明?答:软件需求规格说明在开发、测试、质量保证、项目管理以及相关项目功能中都起了重要的作用。

作为功能需求的补充,软件需求规格说明还应包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。

它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。

1-8、什么是产品必须遵从的标准、规范和合约。

答:参看上题的解释。

1-9、需求与软件项目开发中的哪些环节有关系?哪些开发环节关系不大?答:项目也有其它方面的需求,如开发环境需求或发布产品及移植到支撑环境的需求。

尽管这些需求对项目成功也至关重要,但它们并非本书所要讨论的。

1-10、什么是不适当的需求过程所引起的风险?答:不适当的需求过程所引起的一些风险•用户不多导致产品无法被接受。

•用户需求的增加带来过度的耗费和降低产品的质量。

•模棱两可的需求说明可能导致时间的浪费和返工。

•用户增加一些不必要的特性和开发人员画蛇添足(gold-plating)。

•过分简略的需求说明以致遗漏某些关键需求。

•忽略某类用户的需求将导致众多客户的不满。

•不完善的需求说明使得项目计划和跟踪无法准确进行。

1-11、什么是模棱两可的需求和不必要的特性?答:模棱两可是需求规格说明中最为可怕的问题(Lawrence 1996) 。

它的一层含义是指诸多读者对需求说明产生了不同的理解;另一层含义是指单个读者能用不止一个方式来解释某个需求说明.模棱两可的需求会使不同的风险承担者产生不同的期望,它会使开发人员为错误问题而浪费时间,并且使测试者与开发者所期望的不一致。

模棱两可的需求带来不可避免的后果便是返工—重做一些你认为已做好的事情。

处理模棱两可需求的一种方法是组织好负责从不同角度审查需求的队伍。

1-12、项目开发中的返工会给项目开发带来哪些影响?答:参看上题的解释。

1-13、什么是高质量的需求?答:实行有效的需求工程管理的组织能获得多方面的好处。

最大的好处是在开发后期和整个维护阶段的重做的工作大大减少了。

正确的需求过程强调产品开发中的通力合作,包括在整个项目过程中多方风险承担者的积极努力。

1-14、什么是优秀需求具有的特性?答:需求说明的特征1. 完整性每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的所有必要信息。

2. 正确性每一项需求都必须准确地陈述其要开发的功能。

做出正确判断的参考是需求的来源,3. 可行性每一项需求都必须是在已知系统和环境的权能和限制范围内可以实施的。

4.必要性每一项需求都应把客户真正所需要的和最终系统所需遵从的标准记录下来。

5. 划分优先级给每项需求、特性或使用实例分配一个实施优先级以指明它在特定产品中所占的分量。

6.无二义性对所有需求说明的读者都只能有一个明确统一的解释,7. 可验证性检查一下每项需求是否能通过设计测试用例或其它的验证方法。

1-15、什么需求规格说明的特点?答:1. 完整性不能遗漏任何必要的需求信息。

遗漏需求将很难查出。

相关文档
最新文档