当前位置:文档之家 > 软件工程及项目管理习题(新)

软件工程及项目管理习题(新)

第一章概述

一、名词解释

1、计算机软件:与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。

2、软件危机:指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和困难。

3、软件工程:用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。

4、软件生存周期:软件从形成概念开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。

5、瀑布模型:严格按照软件生存周期各个阶段来进行开发,上一阶段的输出即是下一阶段的输入,并强调每一阶段的严格性。它规定了各阶段的任务和应提交的成果及文档,每一阶段的任务完成后,都必须对其阶段性产品(主要是文档)进行评审,通过后才能开始下一阶段的工作。

二、单项选择题

1、下面不属于软件工程的3个要素的是( D )。

A、工具

B、过程

C、方法

D、环境

2、软件开发的结构化生命周期方法将软件生命周期划分成( A )。

A、计划阶段、开发阶段、运行阶段。

B、计划阶段、编程阶段、测试阶段。

C、总体设计、详细设计、编程调试。

D、需求分析、功能定义、系统设计。

3、( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型

4、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。

A、需求不确定的

B、需求确定的

C、管理信息

D、决策支持

5、软件是一种( C )

A、程序

B、数据

C、逻辑产品

D、物理产品

6、瀑布模型的关键不足在于(B)

A、过于简单

B、不能适应需求的动态变更

C、过于灵活

D、各个阶段需要进行评审

7、具有风险分析的软件生存周期模型是( C )。

A、瀑布模型

B、喷泉模型

C、螺旋模型

D、增量模型

8、以下哪一项不是软件危机的表现形式( C )

A、成本高

B、生产率低

C、技术发展快

D、质量得不到保证

9、软件是一种( B )性工业产品。

A、理论

B、知识

C、消耗

D、体力

10、软件定义期间的问题定义阶段涉及的人员有( D )。

A、用户、使用部门负责人

B、软件开发人员、用户、使用部门负责人

C、系统分析员、软件开发人员

D、系统分析员、软件开发人员、用户与使用部门负责人

11、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A 软件过程 B、软件工具 C、质量保证 D、软件工程

12. 分析员是( B) 。

A、用户中系统的直接使用者

B、用户和软件人员的中间人

C、软件的编程人员

D、用户和软件人员的领导

13 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( B) 。

A、软件投机

B、软件危机

C、软件工程

D、软件产生

14、文档是软件开发人员、软件管理人员、维护人员、用户以及计算机之间的(B),软件开发人员在各个阶段以文档作为前段工作成果的(E)和后段工作的(F)。

A、接口

B、桥梁

C、科学

D、继续

E、体现

F、基础

15、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是(B)。

A、引入新技术提高空间利用率

B、用较少的投资获得高质量的软件

C、缩短研制周期扩大软件功能

D、硬软件结合使系统面向应用

16. 软件危机出现于(C)①,为了解决软件危机,人们提出了用(B)②的原理来设计软件,这就是软件工程诞生的基础。①A、50年代末B、60年代初C、60年代末D、70年代初

②A、运筹学B、工程学C、软件学D、数字

17、软件工程学的目的是以(B)的成本,研制(A)质量的软件。

A、较高

B、较低

C、可靠

D、优秀

18、瀑布模型把软件生存周期划分为软件定义、软件开发和(C )三个阶段,而每一阶段又可细分为若干更小的阶段。

A、详细设计

B、可行性分析

C、运行及维护

D、测试与排错

19、软件生存周期是指( D)阶段。

A、软件开始使用到用户要求修改为止

B、软件开始使用到被淘汰为止

C、从开始编写程序到不能再使用为止

D、从立项制定计划,进行需求分析到不能再使用为止

20、件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段。(A)

A、需求分析

B、需求调查

C、可行性分析

D、问题定义

三、填空题

1、软件工程的3个要素的是工具、过程和方法

2、软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和困难。

3、在软件开发过程中必须遵循的软件工程原则有抽象、信息隐藏、模块化、局部化和一致性等。

4、软件开发的结构化生命周期方法将软件生命周期划分成定义阶段、开发阶段和运行阶段。

5、螺旋模型综合了瀑布模型和原型模型的优点,即将两者结合,并加入了风险分析机制

四、判断题

1、文档是软件产品的一部分,没有文档的软件就不称其为软件(对)。

2、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。(×)

3、螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。[√]

4、快速原型模型可以有效地适应用户需求的动态变化。[√]

5、软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码[×]。

五、问答题

1、产生软件危机的主要原因有哪些?缓解软件危机的途径是什么

答:(1)主要原因:

1)需求描述不精确。

2)对需求的理解有偏差,导致软件与需求不一致。

3)缺乏处理大型软件项目的开发和管理经验。

4)开发大型软件易产生疏漏和错误。

5)缺乏有力的方法学的指导和有效的开发工具的支持。

6)解决供求矛盾将是一个永恒的主题。

(2)缓解软件危机的途径:用软件工程的思想指导软件的开发

2、瀑布模型有哪些优点和缺点?适用于哪些场合?

答:(1)优点:提供了软件开发的基本框架,有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究与使用。

(2)缺点:

1)在开发初期就要求做出正确、全面、完整的需求分析是极其困难的。

2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。3)由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使产品难以维护。

(3)瀑布模型适用场合:一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。

3、什么是软件工程?它的目标和内容是什么?

答:(1)软件工程:用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。

(2)目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。

第二章项目管理

一、单选题

1、软件复杂性度量的参数,不包括( D )

A、规模

B、难度

C、智能度

D、成本

2、在软件开发的各种资源中,(D )是最重要的资源。

A、开发工具

B、方法

C、硬件环境

D、人员

3、( D )是以追求更高的效益和效率为目标的持续性活动。

A、质量策划

B、质量控制

C、质量保证

D、质量改进

4、下列模型属于成本估算方法的有( A )。

A、COCOMO模型B、McCall模型

C、McCabe度量法D、CMM模型

5、软件项目计划一般不包括以下哪项内容(D)

A、培训计划

B、人员安排

C、进度安排

D、软件开发标准的选择和制定

6、软件按照设计的要求,在规定的时间和条件下达到不出故障、持续运行要求

的质量特性称为( A )

A、可靠性

B、可用性

C、正确性

D、完整性

7、软件复杂性主要体现在( C )。

A、数据的复杂性

B、程序的复杂性

C、控制的复杂性

D、问题的复杂性

8、在McCALL软件质量度量模型中,( A )属于面向软件产品操作的质量因素

A、可用性

B、可维护性

C、适用性

D、互操作性

9、软件复杂性度量的参数包括( B )

A.效率 B.规模 C.完整性 D.容错性

10、( C )是指在规定的条件下和规定期间内,实现所指定功能的概率。

A、可测试性

B、可理解性

C、可靠性

D、可移植性

11、在软件工程中,当前用于保证软件质量的主要技术手段还是( B)。

A、正确性证明

B、测试

C、自动程序设计

D、符号证明

12、在软件工程中,高质量的文档标准是完整性、一致性和( C )。

A、统一性

B、安全性

C、无二义性

D、组合性

13、软件的可移植性是衡量软件质量的重要标准之一。它指的是( D )。

A、一个软件版本升级的容易程度

B、一个软件与其他软件交换信息的容易程度

C、一个软件对软硬件环境要求得到满足的容易程度

D、一个软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度

14、Putnam成本估算模型是一个( D )模型。

A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量15、在McCall软件质量度量模型中,( C )属于面向软件产品修改。

A.可靠性 B.可重用性 C.适应性 D.可移植性

二、填空题

1、软件项目管理的对象:主要包括产品、过程和资源

2、McCall等人提出的三层次度量模型由软件质量要素、评价准则、定量度量三个层次组成的。

3、风险按影响的范围可分为项目风险、技术风险和商业风险三类。

4、McCall提出的软件质量模型包括 11 个软件质量特性。

三、名词解释

1、软件质量:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。

2、风险分析:贯穿在软件工程上的一系列风险管理步骤,中包括风险识别、风险估计、风险管理策略、风险解决和风险监督等。

3、软件可靠性:在某个给定时间间隔内,程序按照规格说明成功运行的概率。

四、应用题

1、已知有一个国外典型的软件项目的记录,开发人员M=6人,其代码行数L=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。

解:根据给出的已知数据,可得:

P = L / E =20.2 KLOC /43 PM = 0.47 KLOC / PM

= 470 LOC / PM

C = S / L = 314000美元 / 20.2 KLOC

= 15.54 美元 / LOC

EQR = N / L = 64个 / 20.2KLOC = 3.17 个 / KLOC

D = Pd / L = 1050 页 / 20.2 KLOC = 51.98 页 / KLOC

2、已知某软件项目的特征为:用户输入数为30,用户输出数为60,用户查询数为24,共有8个文件,有2个外部界面。如果每个信息量的加权因子都取“一般”值,所有的技术复杂性调节因子都取“普通”值,

(1)用功能点度量方法计算该软件项目的功能点。

(2)其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D

解:(1)基本功能点CT为:

CT =用户输入数× 4+用户输出数×5+

+用户查询数×4+文件数×10+外部接口数×7

=30×4+60×5+24×4+8×10+2×7

=610

FP = CT×TCF = CT [0.65 + 0.01∑F i ]

= 610 × [0.65 + 0.01 ×3 ×14]

= 652.7功能点

答:该软件项目共有652.7功能点。

(2)解:

1)生产率P(平均每人月开发的功能点数,以功能点/ PM为单位):

P = FP / E=652.7/43

2)平均成本C(以美元/功能点或元/功能点为单位):

C = S / FP =314000/652.7

3)代码出错率EQR(即每功能点的平均错误数,以个/功能点为单位)为: EQR = N / FP=64/652.7

4)软件的文档率D(即平均每功能点的文档页数,以页/功能点为单位)为:

D = Pd / FP=105/652.7

五、判断题

1、当软件开发项目的进度有可能拖延时,增加开发人员并不一定能加快进度。(√ )

第三章可行性分析

一、单选题

1、软件可行性研究一般不考虑(D )

A、是否有足够的人员和相关的技术来支持系统开发

B、是否有足够的工具和相关的技术来支持系统开发

C、待开发软件是否有市场、经济上是否合算

D、待开发的软件是否会有质量问题

2、可行性研究要进行一次( C )需求分析。

A、详细的

B、全面的

C、简化的、压缩的 D.彻底的

设计

3、经济可行性研究的范围包括( C )。

A、资源有效性

B、管理制度

C、效益分析

D、开发风险

4、在可行性研究阶段,对系统所要求的功能、性能以及限制条件进行分析,确定是否能够构成一个满足要求的系统,这称为(B)可行性。

A. 经济可行性

B. 技术可行性

C. 社会可行性

D. 法律可行性

5、为保证软件质量,在软件生存周期的每个阶段结束之前,都需要进行(C)工作。

A、制定计划

B、测试

C、审查

D、交接

6、研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。

A. 技术可行性

B. 经济可行性

C. 社会可行性

D. 法律可行性

二、填空题

1、可行性研究的目的是用最小的代价,在最短的时间内确定问题是否可能解决

和值得去解决,主要从经济可行性、技术可行性和社会可行性等方面研究。

2、整个生存周期系统的累计收入的折现值PT 与总成本折现值ST之差称为纯收入,把资金投入到项目中与把资金存入银行比较,其中投入到项目中可获得的年利率就称为项目的投资回收率

三、判断题

1、软件可行性研究一般不考虑待开发软件是否有市场、经济上是否合算(×)

四、问答题

1、可行性分析的主要任务是什么?

答:可行性研究的主要任务是:了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。

1)经济可行性研究:度量系统解决方案的性能价格比。估算开发成本和利润,进行成本效益分析。

2)技术可行性研究:度量一个特定技术信息系统解决方案的实用性及技术资源的可用性。

3)运行、操作可行性研究:用户使用可能性;时间进度可行性;组织和文化上的可行性

4)法律可行性研究:开发项目是否会在社会上、法律上或政治上引起侵权、破坏或其它责任问题。

5)开发方案的选择

第四章需求分析

一、单选题

1、在各种不同的软件需求中,(D )描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。

A、业务需求

B、功能需求

C、非功能需求

D、用户需求

2、需求分析最终结果是产生( B )

A、项目开发计划

B、需求规格说明书

C、设计说明书

D、可行性分析报告

3、需求分析阶段的主要任务是( A )。

A、确定软件系统的功能

B、确定软件开发方法

C、确定软件开发费

D、确定软件开发工具

4、在结构化分析方法中,用以表达系统内数据流的流向的工具是( A )。

A. 数据流图

B. 数据词典

C. 结构化英语

D. 判定表与判定树

5、时序图反映对象之间发送消息的时间顺序,它与( D )是同构的。

A、用例图

B、类图

C、活动图

D、协作图

6、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,( C )是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

A、业务需求

B、功能要求

C、非功能需求

D、用户需求

7、( A )意味着一个操作在不同的类中可以有不同的实现方式。

A、多态性

B、多继承

C、类的复用

D、封装

8、( D )工具在软件详细设计过程中不采用。

A、判定表

B、IPO图

C、PDL

D、DFD图

9、在面向对象软件开发方法中,类与类之间主要有以下结构关系(B)

A、继承和聚集

B、继承和一般

C、聚集和消息传递

D、继承和方法调用

10、结构化程序设计主要强调的是( D )。

A、程序的规模

B、程序的效率

C、程序设计语言的先进性

D、程序易读性

11、以下哪一项不是面向对象的特征(D)

A、多态性

B、继承性

C、封装性

D、过程调用

12、面向对象模型主要由以下哪些模型组成(A)

A、对象模型、动态模型、功能模型

B、对象模型、数据模型、功能模型

C、数据模型、动态模型、功能模型

D、对象模型、动态模型、数据模型

13、以下哪种属于精确的用户需求描述( A )

A、系统的响应时间不能超过3秒

B、系统必须用菜单驱动

C、在数据录入界面,应该有10个按钮

D、电梯应平稳运行

14、在数据流图中,椭圆代表( C )

A、源点

B、终点

C、加工

D、模块

15、下列( B )不是软件需求说明书性能描述包含的内容。

A、预期的软件响应

B、测试种类

C、设计的限制

D、性能参数

16、软件定义期间的问题定义阶段涉及的人员有( D )。

A、用户、使用部门负责人

B、软件开发人员、用户、使用部门负责人

C、系统分析员、软件开发人员

D、系统分析员、软件开发人员、用户与使用部门负责人

17、不适于作为数据流图处理(加工)框名称的是( B )。

A、人工校核工资数据

B、工资支票数据

C、打印工资支票

D、计算职工工资

18、SA方法在描述方式上的特点,是尽量采用( C )。

A、自然语言

B、形式语言

C、图形表示

D、表格

19、OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组( A )连接来表示的。

A、消息

B、记录

C、数据

D、属性

20、进行需求分析可使用多种工具,但( B )是不适用的。

A、数据流图

B、判定表

C、PAD图

D、数据词典

21、对象类之间的聚集关系就是( B )关系。

A、一般特殊

B、整体-部分

C、相互依赖

D、层次构造

22、用于描述对象模型的工具是( D )。

A、数据流图

B、结构图

C、状态图

D、对象图

23、结构化程序设计主要强调的是( D )。

A、程序的规模

B、程序的效率

C、程序设计语言的先进性

D、程序易读性

24、对象类之间的聚集关系就是( B )关系。

A、一般特殊

B、整体-部分

C、相互依赖

D、层次构造

25、结构化分析SA是软件开发需求分析阶段所使用的方法,(B)不是SA所使用的工具。

A、DFD图

B、PAD图

C、结构化英语

D、判定表

26、数据流图中,当数据流向或流自文件时,(B )。

A、数据流要命名,文件不必命名

B、数据流不必命名,有文件名就足够了

C、数据流和文件均要命名,因为流出和流进数据流是不同的

D、数据流和文件均不要命名,通过加工可自然反映出

27、需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出( B )。

A、模块说明书

B、需求分析说明书

C、项目开发计划

D、合同文档

28 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( A )。

A、总貌

B、细节

C、抽象

D、软件的作者

29、需求分析中开发人员要从用户那里了解( A )

A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模30、对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。

A.结合 B.隐藏 C.封装 D.抽象

31、软件需求规格说明的内容不应包括(B )。

A. 主要功能

B. 算法的详细描述

C. 用户界面及运行环境

D. 软件的性能

32. 结构化分析方法以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。

A、DFD图

B、PAD图

C、IPO图

D、数据字典

33、分层的数据流图中,父图与子图的平衡是指(D)的平衡。

A、处理

B、数据存储

C、外部项

D、数据流

34、数据流图中,当数据流向或流自数据存储时,(B)。

A、数据流要命名,数据存储不必命名

B、数据流不必命名,数据存储要命名

C、数据流和数据存储均应命名,因流进和流出的数据流可能不同

D、数据流和数据存储都不必命名,因为从处理上可自然反映出来

35、数据流图是一种描述数据及其变换的图形表示,在数据流图上不允许出现(B )。

A、数据流

B、控制流

C、文件

D、加工

36. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是(A)。

A、数据定义

B、数据维护

C、数据通讯

D、数据库设计

37、系统需求分析阶段的任务是分析系统的(D)。

A、数据要求

B、功能要求

C、性能要求

D、A,B,C三方面

38、结构化分析SA是软件开发需求分析阶段所使用的方法不是SA所使用的工具。B

A、DFD图

B、PAD图

C、结构化英语

D、判定表

39、结构化分析方法以数据流图、和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。D

A、DFD图

B、PAD图

C、IPO图

D、数据字典

40、某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于(C)。

A、逻辑内聚

B、通信内聚

C、顺序内聚

D、功能内聚

41. 分层的数据流图中,父图与子图的平衡是指( D ) 的平衡。

A、处理

B、数据存储

C、外部项

D、数据流

42. 数据流图中,当数据流向或流自数据存储时,(B )。

A、数据流要命名,数据存储不必命名

B、数据流不必命名,数据存储要命名

C、数据流和数据存储均应命名,因流进和流出的数据流可能不同

D、数据流和数据存储都不必命名,因为从处理上可自然反映出来

44. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是(A)。

A、数据定义

B、数据维护

C、数据通讯

D、数据库设计

45 数据字典是对数据流图中出现的组成元素定义的集合,它不包括( A ) 条目。

A、文件

B、数据流

C、加工

D、I/O参数

46. 软件需求分析的内容是( A )。

A、确定开发的软件应有哪些功能,应达到什么性能

B、确定软件的开发成本

C、制定软件开发的进度表

D、确定软件的总体结构

47 数据流图的小说明中描述的最基本部分是( B) 。

A、激发条件

B、加工逻辑

C、优先级

D、执行频率

48.不适于作为数据流图处理(加工)框名称的是( B) 。

A、人工校核工资数据

B、工资支票数据

C、打印工资支票

D、计算职工工资

49.系统需求分析阶段的任务是分析系统的( D) 。

A、数据要求

B、功能要求

C、性能要求

D、以上三方面

50.系统开发的需求分析阶段的重要工作之一是(A)。

A、数据定义

B、数据库设计

C、数据维护

D、数据结构实现

51.需求分析说明书不能作为(A)。

A、可行性研究的依据

B、用户和开发人员之间的合同

C、系统概要设计的依据

D、软件验收测试的依据

52、结构化系统分析中,处理逻辑可用(B)描述。

A、数据字典

B、数据流图

C、结构图

D、结构化语言

53.、经调查,系统分析员给出有关问题的初略陈述,其中部分描述如下:某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要求输入系统,经库存业务(进贷或出贷)处理后输出。从这段描述可知该部分数据流图中的外部项为(A)。

A、采购员、仓库管理员

B、定购清单、库存业务

C、库存业务

D、定购清单、采购员

54、下列叙述中,(B )不属于数据字典的作用。

A、作为编码阶段的描述工具

B、为用户与开发人员之间统一认识

C、作为概要设计的依据

D、为需求分析阶段定义各类条目

55、在面向对象软件方法中,“类”是( D )。

A、具有同类数据的对象的集合

B、具有相同操作的对象的集合

C、具有同类数据的对象的定义

D、具有同类数据和相同操作的对象的定义

56、数据流图所描述的是实际系统的(A)。

A、逻辑模型

B、物理模型

C、程序流程

D、数据结构

57、面向对象分析时,所标识的对象为( D )是错误的。

A、与目标系统有关的物理实体

B、与目标系统发生作用的人或组织的角色

C、目标系统运行中需记忆的事件

D、目标系统中环境场所的状态

58、.结构化系统分析主要是通过(D )进行分析的。

A、算法分解

B、控制结构分解

C、数据结构分解

D、处理功能分解

59、需求分析中开发人员要从用户那里了解( A )

A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模

60、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( D )

A、概要设计

B、详细设计

C、可行性分析

D、需求分析

二、填空题

1、软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。

2、需求分析阶段的任务是确定待开发的软件系统“做什么”。该阶段的主要成果有主要成果有软件需求规格说明书(或SRS)

3、初步需求获取技术的方法:访谈与会议、观察用户工作流程、分析人员和用户组成联合小组

4、参加需求评审的人员应当有用户、系统分析员、系统设计人员等

5、DFD图中,用方框表示外部实体、用椭圆表示转换、用箭头表示数据流、用双线表示数据源

6、数据流图是目标系统中各个子功能及它们之间的数据流动的图形表示。

7、按照信息的流向、结构、和内容三个方面可以将现有的需求分析建模方法划分为:面向信息流的分析、面向信息结构的分析和面向信息内容的分析三种。

8、包之间存在两种关系:依赖和构成;

9、用例图从用户角度描述系统功能。静态图表示系统的静态结构。行为图描述系统的动态模型和组成对象间的交互关系。实现图用于描述系统的物理实现。

10、对象是现实世界中个体或事物的抽象表示,

11、对象之间通过消息进行通信

12、用例与用例之间存在两种关系:使用和扩展关系

13、类之间的关系:继承、聚集、关联和依赖

14、面向对象的特征主要有多态性、继承性和封装性

15、在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的动词短语将成为数据流图中的加工(或处理)成分。

三、判断题

1、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息(×)。

2、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据 (× )。

3、面向对象的分析是面向计算机系统建立软件系统的对象模型(错)。

4、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。(×)

5、在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。(√)

6、模型是对现实的简化,建模是为了更好地理解所开发的系统。(√ )

7、用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现(√ )

8、数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。[×]

9、快速原型模型可以有效地适应用户需求的动态变化。[√]

10、在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。 [×]

12、某加工的输入是一个数据流,该加工的输出也必定是一个数据流(错)

13、在进行需求分析时同时考虑维护问题。(对)

14、尽可能在软件开发过程中保证各阶段文档的正确性。(对)

15、判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(错)

四、问答题

1、什么是需求分析,其任务是什么?

答:需求分析:通过对应用问题及其环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说明文档的过程。

(2)需求分析的任务就是准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用 <需求规格说明书> 规范的形式准确地表达用户的需求。

2、什么叫数据流图?它有哪些组成部分?

答:(1)数据流图:是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分别表示数据流、转换、数据源以及外部实体。

(2)组成部分:

外部实体:位于软件系统边界之外的信息生产者或消费者,用方框表示

转换:转换数据流的处理过程,用椭圆表示

数据流:在转换之间有向流动的数据项或数据项集合,用箭头表示

数据源:为一个或多个转换提供数据源或数据存储服务的缓冲区、文件或数据库,用双线表示。

3、简述SA方法的优缺点。

答:(1)优点:SA方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种方法,该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利的条件。

(2)SA方法的缺点:

A:它没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。B:SA方法使用DFD在分析与描述“数据要求”方面是有限的。

C:DFD不是和描述人机界面系统的需求,对这一部分需用自然语言作补充。

4、创建数据流模型应遵循哪些规则?

答:应遵循的原则:

(1)首先建立顶级数据流图,其中只含有一个代表目标软件系统整体处理功能的转换。

(2)对用户需求的文字描述进行语法分析,其中的名词和名词短语构成潜在的外部实体、数据源或数据流,动词构成潜在的处理功能。

(3)采用通常的功能分解方法,按照“强内聚、松耦合”的原则逐个对处理功能进行精化;与此同时逐步完成对数据流的精化,并针对被精化的处理功能生成下一级数据流图。

(4)精化过程中必须维持各级数据流图之间的数据流平衡。

(5)精化过程应适可而止,避免涉及软件设计细节。

5、用例图、状态图、协作图、活动图、顺序图在面向对象方法各起什么作用?答:(1)用例图:从外部用户角度描述系统功能,并指出各功能的操作者。(2)状态图:描述类的对象的动态行为。

(3)协作图:描述相互合作的对象间的交互关系,它描述的交互关系是对象间的消息连接关系

(4)活动图:描述系统为完成某项功能执行的操作序列。着重描述操作实现中完成的工作以及用例实例或对象中的活动。

(5)顺序图:主要描述对象之间的动态合作以及合作过程中的行为次序,常用来描述一个用例的行为。

五、名词解释

1、软件需求:是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。

2、需求分析:通过对应用问题及其环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说明文档的过程。

3、抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它因素。

4、数据流图:是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分别表示数据流、转换、数据源以及外部实体。

5、用例:从外部用户的角度看,是执行者与目标软件系统之间的一次典型的交互作用。

六、应用题

1、为开发一个铁路自动售票系统(该系统预计从2004年使用到2014年),请从供选择的答案中选出A、B、C、D和E的内容来完成下面的数据流图(每空1分,共5分)

软件工程及项目管理习题(新)

(1)A~E的供选择答案如下:

①车次表;②接受;③售票记录;④购票请求;⑤拒绝。

A、 B、 C、 D、 E、

A、购票请求

B、接受

C、拒绝

D、车次表

E、售票记录

2、某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户,如果是取款,系统计算清单给储户。画出其中一层DFD。答:

软件工程及项目管理习题(新)

3、数据字典举例:某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,如果是本市电话再接着拨8位电话号码(第1位不是0),如果是外地电话则先拨区码(3~5位数字),再拨当地电话号码(7或8位数字,第1位不是0)。

请定义上述的电话号码(描述其数据字内典)。

答:电话号码=「校内号码 | 校外号码]

校内号码=非零数字+3{数字}3

校外号码=[本市号码 | 外地号码])

本市号码=0+非零数字+7{数字}7

外地号码=0+区码+当地号码

非零数字=[1|2|3|4|5|6|7|8|9]

区码=3{数字}5

当地号码=非零数字十6{数字}7

数字=[0|1|2|3|4|5|6|7|8|9]

第五章软件设计

一、选择题

1. 结构设计是一种应用最广泛的系统设计方法,是以( B) 为基础、自顶向下、逐步求精和模块化的过程。

A、数据流

B、数据流图

C、数据库

D、数据结构

2. 概要设计的结果是提供一份。( A )

A、模块说明书

B、框图

C、程序

D、数据结构

3. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于( A )。

A、变换型

B、事务型

4、 PAD(Problem Analysis Diagram)图是一种( B )工具。

A、系统描述

B、详细设计

C、测试

D、编程辅助

5. 在软件开发中,有利于发挥集体智慧的一种做法是 ( A)。

A、设计评审

B、模块化

C、主程序员制

D、进度控制

6. 在结构化程序设计思想提出以前,在程序设计中曾强调程序的①。现在,与程序的①相比,人们更重视程序的②。( F、E)

①②A、安全性 B、专用性 C、一致性 D、合理性E、可理解性 F、效率

7、下列有关系统结构图的叙述中正确的是( D)。

A、系统结构图中反映的是程序中数据流的情况。

B、系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用。

C、一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。

D、在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。

8、确定测试计划是在( A )阶段制定的.

A.总体设计 B.详细设计 C.编码 D.测试

9. 在开发软件时,( A)可用来提高程序员的工作效率。

A、程序开发环境

B、操作系统的作业管理功能

C、编译程序的优化功能

D、并行运算的大型计算机

10、 1960年Dijkstra提倡的(D)是一种有效的提高程序设计效率的方法。

A、标准化程序设计

B、模块化程序设计

C、多道程序设计

D、结构化程序设计

11、内聚程度最低的是( A )内聚

A.偶然

B.过程

C.顺序

D.时间

12、概要设计的任务是决定系统中各个模块的外部特性,即其( D)

A、功能结构

B、输入输出数据

C、算法和使用数据

D、 A和B

13、详细设计的任务是决定每个模块的(C)

A、外部特性

B、内部特性

C、算法和使用数据

D、功能和输入输出数据

14、软件的(A)设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。

A、概要

B、抽象

C、逻辑

D、规划

15. 模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是(D )。

A、顺序性内聚

B、过程性内聚

C、逻辑性内聚

D、功能性内聚

16、 Jackson设计方法是由英国的M.Jackson提出的,它是一种面向(C)的设计方法。

A、对象

B、数据流

C、数据结构

D、控制结构

17 结构化程序设计思想的核心是要求程序只由顺序、循环和(A)三种结构组成。

A、分支

B、单入口

C、单出口

D、有规则GOTO

18、在软件研究过程中,CASE是( D)。

A、指计算机辅助系统工程

B、CAD和CAM技术的发展动力

C、正在实验室用的工具

D、指计算机辅助软件工程

19、软件(结构)设计阶段文档是( D)。

A、系统模型说明书

B、程序流程图

C、系统功能说明书

D、模块结构图和模块说明书

20、结构化系统设计阶段的目的是(A)。

A、获得良好的软件结构

B、获得可读性好的程序

C、获得满足用户需求的数据流图

D、获得高效的算法

21、要减少两模块之间的联系,则( B)。

A、两模块之间的调用次数要尽量少

B、两模块之间直接传递的信息要尽量少

C、两模块应使用尽可能相同的全局变量

D、两模块应尽量共享相同的数据结构

22、事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,通过( B)执行后面的加工。

A、变换

B、选择

C、合并

D、联接

23、如果一个模块要调用另一个模块,在下列几种方式中,采用( B)方式的块间联系小。

A、过程调用,传递控制参数

B、过程调用,传递数据参数

C、直接引用,共用控制信息

D、直接引用,共用数据信息

24. 软件的结构化设计方法是以(C)为依据的模块结构设计方法。

A、系统数据要求

B、数据结构

下载Word文档免费下载:

软件工程及项目管理习题(新)下载

(共40页)