文档库 最新最全的文档下载
当前位置:文档库 › 软件工程复习题

软件工程复习题

软件工程复习题
软件工程复习题

1软件工程&软件过程

1.1 判断题

1.由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。()×

2.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。()×

3.购买大多数计算机系统所需的硬件比软件更昂贵。()×

4.大多数软件产品在其生命周期中不需要增强功能。()×

5.大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。()√

6.一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。()×

7.软件就是程序,编写软件就是编写程序。()×

8.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。()×

9.结构化方法的工作模型是使用螺旋模型进行开发。()×

10.结构化方法不适合于大型软件的开发。()√

11.原型化开发方法包括生成原型和实现原型两个步骤。()×

12.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。()×

13.软件工具的作用是为了延长软件产品的寿命。()×

14.软件工程过程应该以软件设计为中心,关键是编写程序。()×

√15.RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最

终的产品,而后者将被废弃。()

16.CMM是指导软件开发的一种面向对象的新技术。()×

√17.CMM将软件过程的成熟度分为以下五个级别:初始级. 可重复级. 已定义级.

已管理级和优化级。()

18.CMM对开发一个软件所做的基本要求是“有章可循. 有章必循”。()√

19.为了确认用户的需求,先做出系统的主要部分,提交用户试用的软件开发方

√法是原型法。()

×20.软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分

析的依据。

1.2 选择题

1.下面的()说法是正确的。

C

A. 软件危机在20世纪70年代末期全面爆发

B. 当前先进的软件工程方法已经解决了软件危机的问题

C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题

D. 软件危机是指在软件产品中存在一系列的质量问题

2.以下哪一项不是软件危机的表现( )

B 开发的软件可维护性差

A.

软件极易被盗版

B.

经费预算经常被突破

C.

开发的软件不能满足用户需求

D.

D

3.()因素促使计算机系统越来越复杂。

A. 计算机内存和存储容量上的巨大增长

B. 外部输入/输出选项的更加多样性

C. 计算机体系结构方面的深刻变化

D. 以上所有选项

4.下面的()是计算机系统的基本元素。

F

A. 文档

B. 软件与硬件

C. 人

D. 选项A和B

E. 选项B和C

F. 选项A. B和C

5.以下不属于软件特点的是()

B 软件是一种逻辑产品

A.

软件产品存在磨损问题

B.

C.

软件的生产主要是研制

软件费用不断增加

D.

6.软件会逐渐退化而不会磨损,其原因在于()。

C

A. 软件通常暴露在恶劣的环境下

B. 软件错误通常发生在使用之后

C. 不断的变更使组件接口之间引起错误

D. 软件备件很难订购

7.下面的()不再是现代软件工程师关注的问题。

A

A. 为什么计算机硬件的成本这么高?

B. 为什么软件需要很长时间才能完成?

C. 为什么开发一个软件的成本这么高?

D. 为什么不能在产品发布前去除软件错误?

8.软件过程的基本活动是()。

A

A. 分析、设计、实现. 测试、演化

B. 沟通、计划、建模、构造、部署

C. 计划、分析、设计、实现、调试

D. 沟通、风险管理、度量、产品化、评审

9.软件工程师在从事软件工作时应使用下面的()准则。

F

A. 从来不为个人获利而窃取数据

B. 从来不散布或出售项目中自己工作的信息

C. 从来不故意毁坏或修改别人的程序. 文件或数据

D. 从来不侵犯个人. 小组或组织的隐私

E. 选项B. C和D

F. 选项A. B. C和D

10.软件开发的增量模型是()。

B

A. 用于大型开发团队项目的最好方法

B. 核心工作产品需要快速开发时使用的一种好方法

C. 需求被明确定义时使用的一种合适方法

D. 需求不明确时使用的一种合适方法

11.软件工程的基本目标是()。

B

A. 消除软件固有的复杂性

B. 开发高质量的软件

C. 努力发挥开发人员的创造性潜能

D. 更好地维护正在使用的软件产品

12.软件工程的概念是为解决软件危机而提出的”这句话的意思是()

C 强调软件工程成功解决了软件危机的问题

A.

说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理

B.

说明软件工程这门学科的形成是软件发展的需要

C.

说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维

D.

护存在的问题

13.()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过

D 程,它包括方法、工具和过程三个要素。

A. 软件产品

B. 软件过程

C. 软件测试

D. 软件工程

14.软件工程的基本要素包括方法、工具和()。

C

A. 软件系统

B. 硬件环境

C. 过程

D. 人员

15.()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软

A 件设计与开发、软件确认、软件改进等活动组成。

A. 软件过程

B. 软件工具

C. 软件产品

D. 软件工程

16.软件开发的瀑布模型是()。

A

A. 适用于需求被清晰定义的情况

B. 一种需要快速构造可运行程序的好方法

C. 最适合于大规模团队开发的项目

D. 已不能用于现代环境的过时模型

17.()模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题

A

A. 瀑布模型

B. 原型模型

C. 增量模型

D. 螺旋模型

18.瀑布模型的生存周期是()

C 听取客户意见→建造/修改→测试/运行

A.

计划→听取客户意见→设计→编码→测试→运行/维护

B.

计划→需求分析→设计→编码→测试→运行/维护

C.

需求分析→计划→设计→编码→测试→运行/维护

D.

19.对于使用原型的建议,下面说法错误的是()

C 开发周期很长的项目,可通过原型开发来缩短开发周期

A.

系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制

B.

缺乏开发工具,或对原型的可用工具不了解的时候宜使用原型

C.

D.

用户对系统的需求较为模糊,对某种要求缺乏信心时宜使用原型

20.构造原型时,主要考虑( )

B 全部功能

A.

原型要体现的特征

B.

全部细节

C.

D.

全部要求

21.快速原型开发模型是()。

B

A. 适用于客户需求被明确定义的情况

B. 适用于客户需求难以清楚定义的情况

C. 最适合于大规模团队开发的项目

D. 很难产生有意义产品的一种冒险模型

22.演进式软件过程模型()。

D

A. 本质上是迭代的

B. 可以很容易适应需求的变化

C. 通常不会抛弃所产生的系统

D. 以上所有选项

23.螺旋模型()。

C

A. 在软件产品发布时结束

B. 比增量模型更加混乱

C. 在每一次迭代过程中包含项目风险评价

D. 以上所有选项

24.以下哪个软件生存周期模型是一种风险驱动的模型( )

C 瀑布模型

A.

增量模型

B.

螺旋模型

C.

喷泉模型

D.

25.基于组件的开发模型()。

C

A. 只适用于计算机硬件设计

B. 不能支持可重用组件的开发

C. 在面向对象技术获得支持的情况下应用得更好

D. 增加了开发风险和成本

26.形式化方法模型是将数学方法用于()。

D

A. 定义计算机系统的规格说明

B. 开发无错误的计算机系统

C. 验证计算机系统的正确性

D. 以上所有选项

27.下列过程模型中,属于面向对象软件工程过程模型的是

C

A. 瀑布模型

B. 增量模型

C. 喷泉模型

D. 螺旋模型

D

28.下面的()不是RUP模型的阶段。

A. 启动阶段

B. 精化阶段

C. 构造阶段

D. 确认阶段

29.在软件生存周期中,时间最长的阶段是()

D 需求分析

A.

详细设计

B.

C.

编码

D.

维护

30.以下软件生存周期的活动中,要进行软件结构设计的是( )

B A.

测试用例设计

概要设计

B.

程序设计

C.

详细设计

D.

31.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,

C 所以( )的编制是很重要的。

A.

需求说明

B.

概要说明

软件文档

C.

D.

测试计划

32.CMM中已定义级在过程活动可视性方面的特点是()

B 不可视

A.

阶段可视

B.

C.活动可视

D.

可预测

33.可预测的过程是用来形容CMM中的哪一级别()。

C 可重复级

A.

已定义级

B.

已管理级

C.

优化级

D.

1.3 简答题

1.一架客机由数百万个单独的部件组成,需要上千人组装。微软于1989年11月发布的

Windows Word最初版本,花费了55人年,生成了149,000行源代码,晚了4年交付使用。客机通常都是按时并低于预算交付使用,而软件却非如此。请讨论一下开发客机与开发文字处理软件的不同之处,分析并说明导致这种局面的原因。

软件本质上具有复杂性。文字处理软件中数据. 状态和逻辑关系的可能组合远比客机中各个单独部件之间的关联更加复杂,这种复杂性将会对问题理解、人员沟通、系统描述、软件变更、功能扩充等带来极大的困难。

软件具有不可见性。客机是有形的物体,易于准确地描述其结构,控制整个开发进度;文字处理软件是不可见的逻辑实体,很难准确地和完整地描述其结构,在开发完成之前无法直观地看到结果,因此难以控制整个开发进度。

软件开发通常是手工定制开发的,在开发过程中其设计需要随着需求和环境的变化而不断修改,而客机通常是通过已有零件组装而成,其质量. 成本和进度更加容易控制。

2.软件生命周期主要包括哪些阶段?请简要说明各阶段的主要任务。

(1)定义:

可行性研究:确定开发目标和总的要求,给出功能、可靠性等可能方案,制定实施计划。

需求分析:分析.、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。

(2)开发

设计(概要设计、详细设计):设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。

实现:源程序编码,把软件设计转换成计算机可以接受的程序代码。编写用户手册、操作手册和单元测试计划。

测试:在设计测试用例的基础上,测试软件的各个组成模块。然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。

(3)运行维护(使用、维护、退役):将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

3.软件工程包括哪些基本要素?请简要说明这些要素及其作用。

软件工程包括过程、方法和工具三个要素。

软件工程过程定义了技术方法的采用、工程产品(包括模型、文档、数据、报告、表格等)的产生. 里程碑的建立. 质量的保证和变更的管理,从而将人员. 技术. 组织与管理有机地结合在一起,实现在规定的时间和预算内开发高质量软件的目标;

软件工程方法为软件开发提供了“如何做”的技术,通常包括某种语言或图形的模型表示方法. 良好的设计实践以及质量保证标准等;

软件工程工具为软件工程方法提供了自动的或半自动的软件支撑环境,辅助软件开发任务的完成。现有的软件工具覆盖了从需求分析、系统建模、代码生成、程序调试和软件测试等多个方面,形成了集成化的软件工程开发环境CASE。

4.软件工程是以系统的、可控的、有效的方式产生高质量的软件,请说明你对“高质量软

件”含义的理解

软件质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特性来进行描述,包括正确性、可靠性、有效性、可用性、复用性、可维护性、可移植性等。例如,除了要求软件正确运行之外,人们可能还希望软件运行的响应时间符合要求、软件使用方便快捷、程序代码易于理解等,而“程序代码易于理解”往往是一种用户没有明确提出的需求,但却是影响软件演化的重要因素。

5.有人认为“软件工程过于耗费时间,并且妨碍开发人员的编程效率。”你是否认同这种

观点?请阐述理由

这一观点是不正确的。

软件开发远不只是编程,管理不当导致的混乱、工作重复、交流不畅等才是大多软件项目效率低下的主要原因。虽然直接编程在开发前期看来效率高,但是不完整的. 不清晰的或错误的需求和设计将导致在开发后期反复地修改程序,反而降低了整个开发效率,其质量也无法保证,甚至导致软件开发最终失败的结果。

软件工程是帮助人们在有限的时间、金钱预算和人力、物力资源的约束下开发出质量尽

量高的软件的一系列理论和工具,虽然它在编程之外的工作上花费了大量时间,但所耗费的时间与精力并不像其表面上所看起来的那样冗余与低效,而是从总体上做好整个体系的设计与把握,全方位地规划开发过程,对节省成本、提高效率、保证最终产品质量起到了事半功倍的作用。

6.请简要说明软件过程的概念和基本元素。

软件过程是软件工程人员为了获得软件产品在软件工具支持下实施的一系列软件工程活动,它应该明确定义以下元素:

过程中所执行的活动及其顺序关系;

每一个活动的内容和步骤;

团队人员的工作和职责。

7.请描述快速原型过程模型的各个阶段。

快速原型方法的目的是解决软件需求不明确给开发带来风险的问题,其关键在于尽可能“快速”地建造原型,通过用户对原型的评价最终确定系统的需求。

快速原型过程模型包括以下阶段:

原型需求分析:分析和提炼所收集到的客户需求;

原型开发:基于初步的需求快速建造一个可以运行的软件原型,实现客户或未来的用户与系统的交互;

原型评价:由用户或客户对该原型进行评价,需要的话再进一步细化待开发软件的需求,并继续调整原型直至需求确定下来为止。

8.对于下列每一个过程模型,分别列举一个可以适用的具体软件项目,并说明在开发中

如何应用该模型。

(1)瀑布模型

(2)快速原型模型

(3)增量模型

(4)形式化方法模型

(5)基于组件的开发模型

(1)瀑布模型

项目举例:某项目需要在一种新型机器上,为一种已知语言开发一个普通的编译器。

选用分析:由于该项目的语言是已知的,需求是明确的和稳定的,整个系统属于中小规模,因此适合采用瀑布模型进行软件开发。

阶段说明:略。

(2)快速原型模型

项目举例:某公司需要给火车站开发一个交互式火车车次查询系统,这是火车站首次使用该系统。

选用分析:本项目的主要问题在于用户需要方面,该系统与最终用户的交互是十分关键的,但是在项目初期用户的需求基本上是不知道的,因此适合采用快速原型方法来确定用户需求,在需求确定的基础上再开发最终系统。

阶段说明:略。

(3)增量模型

项目举例:某公司开发一个通用CAD软件产品,产品需求是逐步完善的,某些需求在一定范围内是明确的,某些需求需要进一步细化,但是迫于市场竞争的压力产品需要尽快上

市。

选用分析:通用CAD软件产品具有一定的成熟度,总体需求和软件系统结构是可以确定的,

但是实现该产品所有功能需要比较长的开发周期。为了尽快上市可以采用增量模型实行多版本的发布策略,既可以很快占领市场又可以为后续版本的需求定义奠定基础。

阶段说明:略。

(4)形式化方法模型

项目举例:某公司开发一个汽车防抱死刹车控制系统。

选用分析:由于该系统对安全性和可靠性要求极高,需要在系统运行之前进行相关性能的检验,因此适合采用形式化方法开发该系统。

阶段说明:略。

(5)基于组件的开发模型

项目举例:某公司开发企业管理ERP系统,包括销售. 库存. 生产. 财务. 物流. 人力资源等部分,在系统实施过程中不同的企业具有一定的需求差异。

选用分析:企业ERP系统具有组件化的结构,在不同企业实施时应该尽量重用已有的组件,因此适合采用基于组件的开发模型开发该系统,在直接应用或者修改使用的基础上,最终进行组件开发和系统集成。

阶段说明:略。

9.在螺旋模型中,风险分析的作用是什么?

在螺旋模型中,软件开发是在风险等级的指导下进行的。首先确定该阶段的目标,完成这些目标的选择方案及其约束条件;其次从风险角度分析方案的开发策略,努力排除各种潜在的风险,在需求不适当的情况下可能需要建造原型系统;如果某些风险不能排除,该方案可能立即终止,否则继续启动下一步的软件开发和验证工作,并再次通过风险分析规定过程遵循的策略;最后,评价该阶段的结果,并规划下一个迭代。

从上述过程中可以看出,风险分析的作用是通过识别项目中的高风险问题,使开发人员制定适当的开发策略消除这些风险。

10.某大学准备开发一个新的学生注册选课系统,以替换一个现有的系统。请设计一个适用

于该系统开发的过程模型,并进一步描述该模型。

假设原有的学生注册课程系统是由学生手工提交书面选课单,教师手工提交成绩单,教务管理人员在客户端录入学生选课结果和课程成绩;而在新的选课系统中,所有用户在自己的计算机上通过Internet访问和操作该系统,该软件系统需要更新服务器和数据库等系统,并扩充一些新功能和提高系统性能。

从该系统的具体情况来看,系统的需求是比较容易明确的,整个系统的结构需要重新设计,但是原有的遗留系统中有些部分是可以重用的,因此我们可以采用组件模型实施软件开发:

系统需求分析:由于该系统是现有系统的扩展,因此首先可以经过一个简单的需求分析阶段,从而确定新系统的需求。

遗留系统分析:在需求确定的基础上,开发人员分析遗留系统并研究新系统的总体结构,选择重用原有的课程信息管理部分,重新开发选课部分,必要时适当修改系统需求,最终确定系统需求和总体结构。

设计开发阶段:开发人员进一步设计相关子系统,将原有的课程信息管理部分封装为子系统,重新开发学生选课子系统,并实现与外部付费系统的接口。

系统测试阶段:开发人员将所有子系统集成在一起,交给测试人员开始全面的功能测试和性能测试。根据所报告的测试问题,开发人员调试和修改程序。

系统交付阶段:测试通过后,开发人员将系统及其相关文档交付用户验收。

11.请举例说明不同的过程模型组合使用的情况。

在前面提到的企业管理ERP系统项目中,可以将快速原型方法. 组件开发模型和增量模型组合在一起使用,即在需求分析阶段采用原型方法确定需求,采用组件化的结构设计整个系统,并采用增量方式逐步交付整个系统。

12.M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十

年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度超过300字。

尊敬的副总裁:

我公司的软件产品以开发实验型的新软件为主,而开发这类产品的最大问题是需求难以确定,能否对需求进行准确说明,直接关系到软件后期的开发质量,甚至决定了软件产品的成败。

虽然我公司用瀑布模型进行软件开发取得了一些成功,但随着软件规模和复杂度的增加,结构化方法自身固有的缺点如线性开发,将充满回朔的软件开发过程硬性地割裂开,以致于无法确定需求等已经完全不能适应软件开发的需要。

我建议采用快速原型(RCP)法,它强调软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。将维护和修改阶段的工作尽早进行,因此, RCP法特别适宜开发实验型的新软件。

以上建议请副总裁考虑!

13.软件过程是指开发软件产品的一组活动及其结果。软件过程包含了谁在什么时候按照

什么样的规则完成相应的工作。请简要定义编码与单元测试子流程。

入口准则:

已经获得功能规格说明和设计规格说明

出口准则:

体系结构文档

代码已编写并准备进行构建

输入:

软件开发文档

软件设计文档

输出:

代码

单元测试检查单

代码审查者:

由代码审查过程指导手册中指定人员

编码与单元测试过程

基于编码指南编写程序代码

对所编写代码进行单元测试

执行代码审查:

将代码登入配置管理系统

输出文档:

代码审查结果

编码与单元测试过程检查单

14.软件过程能力成熟度模型CMM划分为哪几个级别,每一级别的主要特征是什么。

一级初始级:软件过程是混乱无序的,对过程计划没有定义,成功依靠的是个人的才能和经验,管理方式属于反应式。

二级可重复级:建立了基本的项目管理来追踪进度、费用和功能,制定了必要的项目管理。能够利用以前类似的项目应用取得成功。

三级已定义级:已经将软件管理和过程文档化、标准化,同时综合成该组织的标准软件过程,所有的软件开发都是用该标准软件过程。

四级已管理级:收集软件过程和产品质量的详细度量,对软件过程和产品有定量的理解和控制。

五级优化级:软件过程的量化反馈和新的思想与技术促进过程的不断改进。

2需求工程

2.1 判断题

1.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。()×

2.在面向对象的需求分析方法中,建立动态模型是最主要的任务。()×

√3.用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致

性、完整性. 现实性和有效性。()

4.在需求确认过程中需求模型被评审以保证其技术可行性。×

√5.在需求分析过程中,分析员要从用户那里解决的最重要的问题是明确软件做

什么。()

√6.目前存在一个很普遍的现象,即不同的客户提出的需求是相互矛盾的,但每

个人都争辩自己是正确的。

7.利益相关者(stakeholders)是将来购买所开发软件系统的人。()×

×8.需求工程师的任务是将所有利益相关者的信息进行分类以便允许决策者选择

一个相互一致的需求集。()

9.用例参与者总是人员而不是系统设备。()×

10.开发人员与客户创建用例以帮助软件团队理解有多少类型的最终用户将使用

×这些功能。

2.2 选择题

1.在需求开发过程中,软件工程师应与客户合作共同定义()。

E 客户可见的使用场景

A.

B. 重要的软件特性

C. 系统的输入与输出

D. 选项A和B

E. 选项A. B和C

2.需求规格说明描述()。

A. 基于计算机系统的功能、性能和约束

B. 每一个子系统的实现

C. 软件体系结构元素

D. 系统使用说明

A

3.在项目初始阶段,开发任务的目标是()。

A. 理解基本问题

B. 确定所需的解决方案

C. 确定需要解决方案的人员

D. 以上选项都不是

E. 选项A. B和C

A

4.下面的()将造成需求获取困难的问题。

A. 预算(budgeting)

B. 范围(scope)

C. 理解(understanding)

D. 挥发性(volatility)

E. 选项B. C和D

E

5.需求分析的结果是产生定义下面()问题域的分析模型。

A. 信息

B. 功能

C. 性能

D. 以上所有选项

D

6.组织需求评审的最好方法是()。

A. 检查系统模型的错误

B. 让客户检查需求

C. 将需求发放给设计团队去征求意见

D. 使用问题列表检查每一个需求

D

7.使用跟踪表有助于()。

A. 在后续的检查运行错误时调试程序

B. 确定算法执行的性能

C. 识别. 控制和跟踪需求的变化

D. 以上选项都不是

C

8.下面的()不是在项目启动阶段被提出的“与环境相关”的问题。

A. 成功的解决方案将带来什么样的经济收益?

B. 谁反对该项目?

C. 谁将为该项目付款?

D. 谁将使用该解决方案?

B

9.在各种不同的软件需求中,()描述了用户使用产品必须要完成的任务,可以在

用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

A. 业务需求

B. 功能需求B C

C. 非功能需求

D. 用户需求

10.需求导出后产生的工作制品将依赖于()而不同。

B

A. 预算多少

B. 将要构建的产品规模

C. 正在使用的软件过程

D. 利益相关者的需要

11.软件需求分析的任务不包括()。

C

A. 问题分析

B. 信息域分析

C. 结构化设计

C. 确定逻辑结构

12.进行需求分析有多种描述工具,但不包括()。

C

A. 数据流图

B. 判定表

C. PAD图

D. 数据词典

13.在需求分析过程中,分析员要从用户那里解决的最重要的问题是()。

A

A. 要求软件做什么

B. 要给软件提供哪些信息

C. 要求软件工作效率如何

D. 要求软件具有什么样的结构

14.软件生存周期中,准确地确定软件系统必须做什么的阶段是()

B

A. 可行性分析和项目开发计划

B. 需求分析

C. 概要设计

D. 详细设计

15.需求分析方法必须能够表达和理解问题的数据域和( )

C

A. 数据流

B. 用户类型

C. 功能域

D. 应用领域

16.需求工程分为需求开发和需求管理两个部分,而需求开发可以分为四个方面:需

B 求获取,需求分析,规格说明,以及( )。

A. 阶段性报告

B. 需求验证

C. 需求管理

D. 需求测试

17.下列选项中哪句成语不适合运用在需求调研的过程中()

B

A. 左右逢源

B. 画蛇添足

C. 庖丁解牛

D. 拨云见日

18.在需求调研过程中,对于系统的某项功能客户不知道怎么做,最合适得处理方式

C 是()

A、建议客户取消该功能;

B、等待客户自行了解后,再进行需求调研;

C、为客户进行通俗讲解,引导客户采用某种处理方式;

D、调研人员自己决定是否要做这个功能;

19.需求人员主要职责()

C

A、分析用户需求;

B、记录用户需求;

C、调查和分析用户需求;

D、调查、分析用户需求并实施开发;

20.软件需求包括三个层次外还应包括非功能需求,对非功能需求描述不正确的是()

D

A、非功能需求描述了系统展现给用户的行为和执行的操作;

B、非功能需求的描述包括必须遵从的标准、规范和合约;

C、非功能需求的描述包括外部界面的具体细节;性能要求;设计或实现的约束条

件及质量属性;

D、非功能需求描述了组织机构或客户对系统、产品高层次的目标要求;

21.你接收到来自客户的需求竟然多达上百条,你觉着怎么样做更好()

D

A、己觉着重要的挑出来先安排;

B、跟客户说有些需求很小没必要做;

C、让客户排定各项需求的优先级;

D、和客户一起讨论排定各项需求的优先级;

22.客户向你清晰地描述出来了他需要解决的需求问题,并询问你通过某技术手段可

B 否解决这个问题。你觉着你的回答最好是()

A、这个问题我要考虑一下,看看咱们用什么办法来解决比较好,一个小时之后

给您答复;

B、这个我要回去问问我的技术人员后再回复你;

C、这个我不知道;

D、我觉着这个技术是可以(或不可以)解决这个的;

23.以下那个选项不是撰写《需求规格说明书》的目的()

B

A、在于明确系统的用户需求;

B、解释用户需求的详细细节;

C、使得软件开发人员与用户对待开发软件的需求有统一的、无二义性的认识;

D、作为软件确认测试的依据;

24.对需求的定义描述不正确的是()

B

A、用户解决问题或达到目标所需的条件或能力;

B、对用户问题、设想等进行详细描述的模型;

C、系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件

或能力;

D、反映用户解决问题或达到目标所需的条件或能力的文档说明;

25.业务需求和用户需求的正确区别()

D

A、业务需求是系统展现给用户的行为和执行的操作等,用户需求是开发人员必

须实现的软件功能;

B、业务需求是开发人员必须实现的软件功能,用户需求是用户使用系统、产品必

须要完成的任务;

C、业务需求是用户使用系统、产品必须要完成的任务,用户需求是开发人员必须

实现的软件功能;

D、业务需求是对系统、产品高层次的目标要求,用户需求是用户使用系统、产

品必须要完成的任务;

26.需求规格说明书的作用不应包括( )。

D A.软件设计的依据

B.用户与开发人员对软件要做什么的共同理解

C.软件验收的依据

D.软件可行性研究的依据

27.以下有不全是衡量需求规格说明书好坏的标准的是()。

A A.正确性和可扩展性

B歧义性和完全性

C.可验证性和一致性

D.可理解性和可修改性

2.3 简答题

1.下列需·求描述是否存在问题?如果有问题,请说明所存在的问题并给出一种正确的

描述。

(1)软件应该易于使用。

(2)系统通过 ADO 与图书资料数据库连接,并从图书资料数据表中获得图书资料的基本信息。

(3)由于版权的限制,某些电子资料只能让用户浏览和打印而不能下载。

(4) ATM系统检验用户存取的合法性。

(5) ATM系统每周 7 天、每天 24 小时都可以使用。

(1)问题:需求描述不可验证。

改正:对于一个没有经验的用户而言,经过两个小时的培训就可使用系统的所有功能。

(2)问题:在需求描述中给出了实现细节。

改正:系统可以存取图书资料的基本信息。

(3)正确。

(4)问题:需求描述存在二义性。

改正:系统通过用户名和密码检验用户存取的合法性。

(5)正确。

2.请举例说明使用自然语言描述用户需求和系统需求的问题。

用自然语言描述比较详细的需求时经常暴露以下问题,从而容易引起误解。

由于自然语言存在二义性,因此人们对同一个术语经常存在语义理解上的偏差。

用自然语言描述需求存在比较大的随意性,人们对同一个事物有完全不同的方式进行描述。

自然语言描述需求缺乏模块化,因此很难发现所描述需求之间的相关性。

3.请指出下面需求描述存在的问题,并进行适当的修改。

(1)系统用户界面友好。

(2)系统运行时应该占用尽量少的内存空间。

(3)即使在系统崩溃的情况下,用户数据也不能受到破坏。

(4) ATM系统允许用户查询自己银行帐户的现存余额。

(5) ATM系统应该快速响应用户的请求。

(6) ATM系统需要检验用户存取的合法性。

(7)所有命令的响应时间小于1秒;BUILD命令的响应时间小于5秒。

(8)软件应该用JA V A语言实现。

(1)问题:“友好”是不可验证的。

改正:具有一年计算机使用经验的用户经过3小时的培训就可以学会使用该系统。(2)问题:“尽量少”存在歧义。

改正:系统运行时所占用的最大内存空间是256MB。

(3)问题:“不能受到破坏”是不可验证的。

改正:如果系统发生崩溃,那么该系统重新正常启动后,可以将用户数据恢复到最后未完成操作执行前的状态。

(4)该描述是正确的。

(5)问题:“快速”是不可验证的。

改正:ATM系统将在1秒钟之内响应用户的请求。

(6)问题:“如何验证合法性”是存在歧义的。

改正:ATM系统将通过用户名和口令验证其存取的合法性。

(7)问题:所有命令中必然会包括BUILD命令,因此这两个需求描述是矛盾的。

改正:去掉关于BUILD命令的需求描述。

(8)问题:该描述不是功能需求或非功能需求,应该是对设计实现的一个约束条件。

4.需求工程包括哪些基本活动?每一项活动的主要任务是什么?

需求工程分为需求开发和需求管理两个部分,而需求开发又可进一步分为需求获取. 需求分析. 规格说明和需求验证四个阶段。这些基本活动的主要任务包括:

(1)需求获取:采集. 识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。

(2)需求分析:分析和综合所采集的信息,建立系统的详细逻辑模型。

(3)需求规格说明:编写软件需求规格说明书,明确. 完整和准确地描述已确定的需求。(4)需求验证:评审软件需求规格说明,以保证其正确性. 一致性. 完备性. 准确性和清晰性。

(5)需求管理:定义需求基线,在整个项目过程中跟踪需求状态及其变更情况。

5.请比较几种主要需求获取技术,说明每一种技术的优缺点和适用场合。

(1)用户面谈

优点:

可以与项目相关人员一对一地进行交谈和讨论;

具有私密性,使被访者可以直率地和无隐瞒地回答问题;

便于探查一些附加信息或反馈信息;

有利于与客户建立良好的关系。

缺点:

面谈是一种非常费时和高成本的方式;

难以解决不同的项目干系人之间的冲突和矛盾;

在地理位置相距较远的情况下很难实施。

适用场合:

适用于在初步理解整体概念的情况下讨论和交流一些细节问题。

(2)需求专题讨论会

优点:

有助于了解系统需求;

有利于共享系统开发的成果;

给用户一种主人的感觉;

可以与足够多的项目干系人进行讨论和交流,且节省时间;

支持头脑风暴式的讨论。

缺点:

需要占用参与人员比较长的整块时间;

主持人的能力和会议的准备工作必须是非常好的,否则结果很糟。

适用场合:

适用于讨论和审查软件系统方案和模型,解决不同项目干系人之间的冲突和矛盾。(3)观察用户工作流程

优点:

通过直接观察的方式提取用户或系统的特性;

有助于理解难以用语言描述清楚的复杂业务。

缺点:

观察可能使用户紧张,从而表现得与往常不同。

适用场合:

适用于理解难以用语言描述清楚复杂业务过程。

(4)原型化方法

优点:

通过一个可以运行的软件原型直观地理解和澄清问题,便于使开发人员与用户达成共识。

缺点:

用户容易产生误解,认为软件系统可以在原型的基础上很容易地构建,但实际上该原型的内部结构和程序质量比较差。

适用场合:

适用于用户需求不明确或描述不清楚的情况。

6.哪些人应该参与需求评审?请画出一个需求评审的组织过程模型。

通常情况下,参与需求评审的人员应该包括需求分析员. 项目经理. 体系架构设计师. 软件设计工程师. 系统测试工程师. 质量保证员. 用户或市场代表. 文档编写人员. 领域专家和技术支持代表。

7.在某些紧急情况下,软件可能在需求变更请求被批准之前就进行修改。请给出一个修改

过程模型,确保需求文档和系统实现不会产生不一致。

一般来说,应该尽量避免在需求变更请求被批准之前就直接修改程序的情况,这很容易导致变更失控而且需求描述与系统实现不一致。一旦出现这种情况,必须在系统变更完成后重新执行需求跟踪控制。

2.4 设计题

1.请给出以下问题描述的用例模型。

一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。该音像商店将存有大约1000盘录像带和500张光碟,这些订购涉及多家订购商。所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。客户可以预定录像带并在指定日期来取。系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。

2.某学院打算开发一个小型图书资料管理系统MiniLibrary,该系统基于Internet 实现教

师和学生对各种图书资料的借阅、查询和管理。

图书管理员负责管理各种图书书目、图书资料,管理读者、查询图书资料信息,并进行图书的借阅管理。

注册用户可以通过Internet 随时查询图书资料信息和个人借阅情况,预订目前借不到的图书资料,并可以快捷地查找和浏览所需要的电子资料。

系统可以提供适当的浏览器供用户阅读电子文献资料。

(1)根据以上描述,确定执行者及用例,建立系统的Use Case模型。

(2)给出你认为最重要的1个用例的模板描述。

3面向对象分析与设计

3.1 判断题

×1.面向对象的的方法是以类作为最基本的元素,它是分析问题解决问题的核心。

()

2.类是指具有相同或相似性质对象的抽象,对象是抽象的类,类的具体化就是

√对象。()

×3.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关

系()。

4.多态性增强了软件的灵活性和重用性,允许用更为明确. 易懂的方式去建立通

×用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。()

5.面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。()√

6.面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性。()√

√7.对象模型表示了静态的. 结构化的系统数据性质,描述了系统的静态结构,它

是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。()

8.面向对象的分析是用面向对象的方法对目标系统的问题空间进行理解. 分析

√和反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结

构。()

9.类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系。()√

10.复用也叫重用或再用,面向对象技术中的“类”,是比较理想的可重用软构件。

√有三种重用方式:实例重用. 继承重用. 多态重用。()

√11.主题是一种关于模型的抽象机制,它是面向对象模型的概貌,也是关于某个

模型要同时考虑和理解的内容,主题起一种控制作用。()

12.面向对象的分析由对象. 结构. 继承性和基于消息的通信构成。()×

√13.支持继承性是面向对象程序设计语言和传统程序设计语言在语言机制方面的

根本区别。()

14.面向对象的分析过程主要包括三项内容:理解. 表达和验证。()√

15.面向对象的设计的主要目标是提高生产效率. 提高质量和提高可维护性。()√

16.系统体系结构的最佳表示形式是一个可执行的软件原型。×

17.消除两个包之间出现的循环依赖在技术上是不可行的。×

18.设计模式是从大量成功实践中总结出来且被广泛公认的实践和知识√

19.良好的分层体系结构有利于系统的扩展与维护√3.2 选择题

1.分析模型使用()描述软件。

C

A. 体系结构. 界面和组件

B. 成本. 风险和进度

C. 信息. 功能和性能

D. 以上选项都不是

2.内聚表示一个模块()的程度,耦合表示一个模块()的程度。

A. 可以被更加细化

B. 仅关注在一件事情上

C. 能够适时地完成其功能

D. 联接其他模块和外部世界B D

3.良好设计的特征是()。

A. 模块之间呈现高耦合

B. 实现分析模型中的所有需求

C. 包括所有组件的测试用例

D. 提供软件的完整描述

E. 选项B和D

F. 选项B. C和D

E

4.()可以帮助人们简单方便地复用已经成功的设计或体系结构。

A. 商业组件

B. 设计模式

C. 逆向工程

D. 需求规格说明

B

5.()面向对象分析的核心在于建立一个描述软件系统的模型。()

A. 真

B. 假

B

6.关于面向对象分析,下列的()是正确的。

A. 它是系统需求建模的方法

B. 它是分析系统设计的技术

C. 可以从分析直接编写代码

D. 在软件生命周期中,它出现在面向对象设计之后

A

7.下列的()不是分析建模的目的。

A. 定义可验证的软件需求

B. 描述客户需求

C. 开发一个简单的问题解决方案

D. 建立软件设计的基础

C

8.下列的()不属于面向对象分析模型。

A. 用例图

B. 类图

C. 实体关系图

D. 顺序图

C

9.()分析类用于描述系统中概念层次的对象。

A. 真

B. 假

A

10.在分析类中,()用于描述一个用例所具有的事件流控制行为。

A. 实体类

B. 界面类

C. 接口类

D. 控制类

D 11.()在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析A

软件工程复习试题及答案.

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7 中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

电大软件工程模拟试题(2)

软件工程模拟试题二 一、选择题,请从四个可选项中选择正确答案。(60分,每题3分) 1.以下哪一项不是软件危机的表现形式() A.成本高 B.生产率低 C.技术发展快 D.质量得不到保证 2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。()A.演化模型 B.喷泉模型 C.原型模型 D.螺旋模型 3.可行性研究的目的不包括() A.分析开发系统的必要性 B.确定系统建模的方案 C.分析系统风险 D.确定是否值得开发系统 4.可行性分析研究的费用大约是项目总经费的()。 A.2% B.8% C.20% D.50‰ 5.在E-R 模型中,包含以下基本成分()。 A.数据、对象、实体 B.控制、联系、对象 C.实体、联系、属性 D.实体、属性、联系 6.软件需求分析产生两个重要文档,一个是软件需求规格说明书,另一个是()。 A.软件维护说明书 B.概要设计说明书 C.可行性报告 D.初步用户手册 7.内聚程度较低的是()。 A.通信内聚 B.过程内聚 C.顺序内聚 D.时间内聚 8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是() A.把软件划分成模块B确定模块之间的调用关系

C.确定各个模块的功能 D.设计每个模块的伪代码 9.UML 语言支持的建模方式不包括有()。 A.静态建模 B.动态建模 C.模块化建模 D.功能建模 10.以下哪一项不是面向对象的特征。() A.多态性 B.继承性 C.封装性 D.过程调用 11.面向对象设计首先要确定系统的总体结构和风格,构造系统的()。 A.逻辑模型 B.物理模型 C.数据模型 D.用例模型 12.面向对象设计的步骤中,正确的顺序是()。 A.系统构架设计、用例设计、类设计 B.系统构架设计、数据库设计和用户界面设计 C.类设计、用例设计、构架设计 D.用例设计、构架设计、类设计 13.类有3种类型,即()。 A.边界类、实体类、控制类 B.实体类、控制类、界面类 C.控制类、实体类、虚类 D.界面类、控制类、公共类 14.()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。 A.消息连接 B.参数传递 C.方法重写 D.继承 15.结构化程序设计主要强调的是()。 A.程序的规模 B.程序效率 C.程序语言的先进性 D.程序易读性 16.下列关于功能性注释不正确的说法是()。 A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释 17.软件测试的目的是()。 A.评价软件的质量 B.发现软件的错误

2010软件工程复习题及参考答案

中南大学现代远程教育课程考试复习题及参考答案 软件工程 一、选择题: 1.下面哪些UML图描述系统行为() A.用例图 B.类图 C.对象图 2.属于概要设计活动的是() A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是() A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是() A.UML是软件开发方法 B.UML是系统描述语言 C.UML是软件开发过程 5. 根据程序流程图划分的模块通常是() A. 信息内聚的模块 B. 过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其McCabe环形复杂度为() A.m-1 B.m C.m+1 7.按ISO9000-3的说明,下列属软件配置项的是() A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8. 软件测试的目的是() A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是() A. 软件体系结构 B. 模块细节 C.软件性能 10.软件项目开发计划的内容有() A. 数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的有() A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价() A.软件过程能力 B.组织能力 C.学习能力 13. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为() A. 完善性维护 B. 改正性维护 C.适应性维护 14. 对项目软件而言,软件功能需求信息主要由谁提供() A.软件用户 B.软件开发人员 C.软件项目管理人员 15. IDEF0图反映不出() A.系统做什么 B.系统功能由谁做 C.系统如何做 16. 原型模型是一种什么开发过程模型() A.自顶向上 B. 由外至内 C.增量式 17. 系统流程图描述() A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括() A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型有() A. 瀑布模型 B. RAD模型 C.原型模型 20.UML图中描述系统结构的有() A. 组件图 B. 顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法() A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的有() A.可靠性 B.可用性 C.可行性 23. 系统分析员在需求分析最后负责编写()

《软件工程》期末复习题1

考试时间: 16周周一5,6节 考试地点: 二教419 406 408 考试题型: 选择题:20分 简答题:30分 应用题:50分 各章内容及题型总结: 第1,2章本章的主要题型是选择题和简答题。 1. 软件危机的主要表现是什么?答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。 2. 软件工程的定义?答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。 IEEE的定义:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。 3. 软件工程研究的主要内容是什么?答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。 4. 软件工程的7条基本原理是什么?答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。 5. 什么是软件生命周期?答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。 6. 软件过程的定义?答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。 7. 你能举出几个典型的软件过程模型吗?答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。 8. 目前,主流的软件开发方法有哪些?答:结构化方法和面向对象方法。 9. 软件工程师职业道德规范的8组关键词是什么?1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP)联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。 10. 职业化软件工程师要注意的十大问题是什么?答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。 第3章本章的题型主要是选择题。 1. 可行性研究的目的是什么?答:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。 3. 可行性研究的实质:是要进行一次简化了的系统分析和设计过程。首先要分析和澄清问题定义,导出系统的逻辑模型,探索若可供选择的方案,对每种方案仔细研究它的可行性。推荐一个较好的解决方案和一个初步的计划。 第4,5章本章的题型有选择题。 2. 什么是需求工程?需求工程是指应用有效的技术和方法进行需求分析,确定客户需求,帮助分析人员理解问题,定义目标系统的外部特征的一门学科。需求工程中的主要活动有:需求获取、需求分析、需求规格说明、需求验证和需求变更管理。

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程模拟题

[模拟] 软件工程 选择题 第1题: 软件工程方法学的三要素是______。 ①方法②项目管理③过程④开发语言⑤工具 A.①②③ B.①②⑤ C.②③④ D.①③⑤ 参考答案:D 软件工程方法学包含三个要素:方法、工具和过程。方法是指完成软件开发的各项任务的技术方法;工具是指为运用方法而提供的软件工程支撑环境;过程是指为获得高质量的软件所需要完成的一系列任务的框架。 第2题: 螺旋模型的开发实施和______基本相吻合。 A.智能模型 B.快速原型模型 C.喷泉模型 D.V模型 参考答案:B 第3题: 软件设计一般分为外部设计和内部设计,它们之间的关系是______。 A.全局和局部 B.抽象和具体 C.总体和层次 D.没有关系 参考答案:A 这里所说的外部设计实际上是指概要设计,内部设计就是详细设计。概要设计的工作是:·采用某种设计方法,将一个复杂的系统按功能划分成模块;·确定每个模块的功能;·确定模块之间的调用关系;·确定模块之间的接口,即模块之间传递的信息;·评价模块结构的质量。而详细设计的工作是:·为每个模块进行详细的算法设计。用某种图形、

表格、语言等工具将每个模块处理过程的详细算法描述出来。·为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。·对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。可见,这是一个全局和局部的关系,概要设计划分好模块,而详细设计定义每个模块如何工作。 第4题: 瀑布模型把软件生命周期划分为三个阶段,它们分别是:计划阶段、开发阶段和______。 A.可行性分析阶段 B.运行阶段 C.详细计划阶段 D.测试与排错阶段 参考答案:B 瀑布模型的软件生命周期分为计划阶段、开发阶段和运行阶段(即维护阶段)三个大的阶段,这三个阶段又可细分为:可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试、运行维护几个小的阶段。 第5题: 瀑布模型(Waterfall Model)突出的缺点是不能适应______的变动。 A.算法 B.开发或应用平台 C.程序语言 D.用户需求 参考答案:D 瀑布模型有许多优点:可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审。但瀑布模型过于理想化,而且缺乏灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求,有时可能直到软件开发完成之后才发现与用户需求有很大距离,此时必须付出高额的代价才能纠正这一偏差。 第6题: 如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为______模块。 A.功能内聚 B.顺序内聚 C.通信内聚 D.过程内聚

软件工程练习题目及答案

1.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱 产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用PDL语言、判定表和判定树分别描述上述问题。 答:PDL语言描述: If(年龄<20){ If(文化程度=”初中”){ 脱产学习; } Else if (文化程度=”高中”){ 当电工; } } Else if (年龄<40){ If(文化程度=”初中” ||文化程度=”高中”){ If(性别=”男”){ 当钳工; } Else { 当车工; } }

Else{ 当技术员; } } Else{ If(文化程度=”初中” ||文化程度=”高中”){当材料员; } Else { 当技术员; } } 判定表

判定树 ---20<=<40----???? ?? ???????????? ?? ??????? 初中文化程度脱产学习 年龄<20高中文化程度电工女性车工中学文化程度年龄男性钳工大学文化程度技术员中学文化程度材料员年龄>=40大学文化程度技术员 2. 某考务管理系统有如下要求: (1)对考生送来的报名表进行检查; (2)对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生 名单送给阅卷站; (3)对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合 格者; (4)填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生; (5)按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难 度分析,产生统计分析表。 画出该系统的分层数据流图。

软件工程期末试题及答案

软件工程期末试题及答案 选择题 1.软件测试的目的是()。 A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误2.软件测试中白盒法是通过分析程序的()来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 3.黑盒法是根据程序的()来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 4.为了提高软件测试的效率,应该()。 A)随机地选取测试数据B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例5.与设计测试用例无关的文档是()。 A)项目开发计划B)需求规格说明书C)设计说明书D)源程序 6.测试的关键问题是()。 A)如何组织软件评审B)如何选择测试用例 C)如何验证程序的正确性D)如何采用综合策略 7.软件测试用例主要由输入数据和()两部分组成。 A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析 8.成功的测试是指运行测试用例后()。 A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是()。 A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是()。 A)等价类划分法B)边界值分析法C)错误推测法D)因果图法 11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()。A)系统功能B)局部数据结构C)重要的执行路径D)错误处理 12.软件测试过程中的集成测试主要是为了发现()阶段的错误。 A)需求分析B)概要设计C)详细设计D)编码

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程模拟试卷和答案

北京语言大学网络教育学院 《软件工程》模拟试卷一 注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 1、在软件开发领域中,“描述了实现概念模型的软件解决方案”的系统模型被称为()。 [A] 设计模型[B] 软件模型[C] 实现模型[D] 部署模型 2、一般来说,整个需求的主体是()。 [A] 功能需求[B] 性能需求 [C] 外部接口需求[D] 设计约束 3、总体设计的第二阶段是()。 [A] 初始设计[B] 详细设计[C] 复审阶段[D] 精化设计 4、在模块内聚类型中,常常通过研究流程图确定模块的划分,得到的是()。 [A] 逻辑内敛[B] 顺序内敛[C] 功能内敛[D] 过程内敛 5、一个模块直接控制(调用)的下层模块的数目称为模块的()。 [A] 扇入[B] 扇出[C] 深度[D] 宽度 6、UML术语中,限定符常被用在()。

7、UML 提供的13种图形化工具中,用于概念模型和软件模型静态结构的是( ) 8、RUP 的迭代、增量式开发规定的4个阶段不包括( )。 9、根据RUP 实现的活动,输入为设计类,活动为实现类,则输出为( )。 10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是( )。 11、黑盒测试技术,又称为( )。 12、若有语句if(A<1 and C>0)then B=1/C else B=1/A ,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B 的值,这种测试策略为( )。 13、在两种模型的基础上,螺旋模型加入两者所忽略的风险分析,这两者是( )。 [A] 瀑布模型和增量模型 [B] 瀑布模型和演化模型 [C] 喷泉模型和增量模型 [D] 喷泉模型和演化模型 14、在软件生存周期模型中,主要用于支持面向对象技术的软件开发模型是( )。 15、CMMI 能力等级中的第一级为( )。 [A] 依赖关系 [B] 泛化关系 [C] 关联关系 [D] 细化关系 [A] 用况图 [B] 状态图 [C] 类图 [D] 活动图 [A] 评审阶段 [B] 构造阶段 [C] 移交阶段 [D] 精化阶段 [A] 用况 [B] 子系统 [C] 接口 [D] 构件 [A] 评审 [B] 走查 [C] 形式化证 明 [D] 软件测试 [A] 功能测试 [B] 结构测试 [C] 系统测试 [D] 集成测试 [A] 定义域测试 [B] 等价类测 试 [C] 路径测试 [D] 事物流测 试 [A] 演化模型 [B] 增量模型 [C] 喷泉模型 [D] 螺旋模型

软件工程复习题及答案

软件工程复习题(一) 一、选择题 1、瀑布模型本质上是一种() A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是() A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是() A、深度 B、宽度 C、扇入 D、扇出 4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生() A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、.软件工程 B、软件周期 C、软件危机 D、软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作() A、需求分析 B、概要设计 C、详细设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是() A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为( ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、可靠性 C、正确性 D、完整性 14、模块设计中,最不希望的内聚是() A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员 D。用户和软件人员的领导 10.下列叙述中,_______不属于数据字典的作用。 A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识 C、作为概要设计的依据 D、为需求分析阶段定义各类条目 11.使用结构化分析方法时,采用的基本手段是____。 A.分解和抽象 B.分解和综合C.归纳与推导D.试探与回溯12.结构化系统分析主要是通过____进行分析的。 A.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件工程模拟试题二及参考答案

软件工程》试题 一、选择 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、()是以追求更高的效益和效率为目标的持续性活动。 A 质量策划 B 质量控制 C 质量保证 D 质量改进 3、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第 1级 外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干 ()。 A 关键实践 B 软件过程性能 C 软件过程能力 D 软件过程 4、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 5、()意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性

B 多继承 C 类的复用 D 封装 6、在面向对象的系统中,系统责任的良好分配原则是()。 A 在类之间均匀分配 B 集中分配在少数控制类中 C 根据交互图的消息进行分配 D 根据个人喜好进行分配 7、软件配置项是软件配置管理的对象,即软件工程过程中产生的()。 A 接口 B 软件环境 C 信息项 D 版本 8、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 二、问答题 1、判断下列叙述的正确性,将结果(V正确,X错误)填入()中,并改正错误的说法。 (1). ()在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花 费的代价就会降低。改正: __ (2). ()在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什 么。改正: __ (3). ( )软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。改正: __

软件工程习题(附(附答案))

第一章概述 1.软件产品具有哪些特性? 答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性 软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的 a.软件产品是一种逻辑产品. b.软件产品的生产主是研制,软件产品的成本主要体现在软件的... c.开发的软件可维护性差. d. 开发的软件可靠性差 ⑴是一种逻辑产品,与物质产品有很大的区别. ⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品. ⑶软件产品不会用坏,不存在磨损,消耗. ⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的 ⑸开发软件的费用不断增加,致使生产成本相当昂贵. (6)其质量往往靠不住,缺乏可见性 2.简述什么是软件工程? 答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件” 的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须 的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不 超过预算,并满足用户要求; 3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段? 答:定义时期:问题的定义(客户需求)、可行性研究(为什么做); 开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。 运行时期:软件维护。 4.依下列叙述确定软件生命周期模型。 M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已 经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认 为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐 明你的理由。 答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。 5.依下列叙述确定软件生命周期模型。 假设要求你开发一个软件,该软件的功能是

软件工程期末考试复习题

《软件工程》选择题 一、选择题(在每小题得四个备选答案中,选出一个正确答案,并将正确答案得序号填在题干得括号内,每小题1分) 软件工程 1、软件产品得开发主要就是(D )。 A、复制B、再生产C、拷贝 D、研制 2、作坊式小团体合作生产方式得时代就是(C )时代。 A、程序设计B、软件生产自动化 C、程序系统 D、软件工程3、软件工程与计算机科学性质不同,软件工程着重于(C )。 A、理论研究 B、原理探讨 C、建造软件系统 D、原理得理论 4、与计算机科学得理论研究不同,软件工程就是一门(C)学科。 A、理论性B、原理性C、工程性D、心理性 5、软件工程得出现主要就是由于( C )。 A、程序设计方法学得影响 B、其它工程科学得影响 C、软件危机得出现 D、计算机得发展 6、在软件工程项目中,不随参与人数得增加而使软件得生产率增加得主要问题就是( D ) A、工作阶段间得等待时间 B、生产原型得复杂性 C、参与人员所需得工作站数 D、参与人员之间得通信困难 7、软件工程方法学得目得就是:使软件生产规范化与工程化,而软件工程方法得以实施得 主要保证就是(C ) A、硬件环境 B、软件开发得环境 C、软件开发工具与软件开发得环境D、开发人员得素质 8、下列不属于软件工程方法学三要素得就是( D ): A、方法 B、工具 C、过程 D、操作 周期 1、将每个模块得控制结构转换成计算机可接受得程序代码就是(A )阶段得任务。 A、编码 B、需求分析 C、详细设计 D、测试 2、可行性研究得目得就是决定( B )。 A、开发项目 B、项目值得开发否 C、规划项目 D、维护项目 3、据国家标准GB8566-8计算机软件开发得规定,软件得开发与维护划分为八个阶段,其中组装测试得计划就是在( C )阶段完成得? A、可行性研究与计划 B、需求分析 C、概要设计D、详细设计4、初步用户手册在( B )阶段编写。 A、可行性研究B.需求分析C.软件概要设计D.软件详细设计 5、在软件得可行性研究中,可以从不同得角度对软件得可行性进行研究,其中就是从软件得 功能可行性角度考虑得就是(B ) A、经济可行性 B、技术可行性C、操作可行性D、法律可行性 6、瀑布模型把软件生命周期划分为八个阶段:问题得定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试与运行、维护。八个阶段又可归纳为三个大得阶段:计划阶段、开发阶段与( C )。 A、详细计划 B、可行性分析 C、运行阶段D、测试与排错

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

相关文档
相关文档 最新文档