软件工程练习题

软件工程练习题
软件工程练习题

一.填空题

1.软件生命周期分为、需求分析、概要设计、详细设计、软件实现、软件测试及运行维护7个阶段。

2. 是最早的软件生存周期开发模型,它将软件开发过程中的各项活动规定为依固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件系统或软件产品。

3. 是一种软件开发模型,在这种模型的每一个阶段,都要编码产生一个新的构件,并将新构件集成到先前已经构成的产品中并作为一个整体进行测试,直到满足用户需求为止。

4.当没有足够的人员在规定的期限内开发完整的产品或者由于不可克服的客观原因而把交付期限规定的太短时应选用软件开发模型。

5. 是一种软件开发模型,由需求定义、风险分析、实施开发和计划评审4个部分组成,主要适用于大型软件项目开发。

6. 文档说明该软件开发项目的实现在技术上、经济上和社会因素上等方面的可行性,评述为了合理地达到开发目的可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。

7.可行性分析的目的是。

8. 用于描述系统的物理模型,用物理符号以黑盒子的形式描绘系统里的每个部件,仅表达信息在系统个部件之间流动的情况。

9. (一种图)可以用来进行项目进度管理。

10. 结构化分析与设计是一种面向的分析设计方法。

11. 常见的需求获取方式有、情景分析技术等。

12. 在结构化分析中,用于描述加工逻辑的工具主要有结构化语言、判定树和。

13. 数据字典中的条目主要有、数据流、文件和加工四种。

14. 结构化软件开发方法贯穿始终的八字方针为。

15. 在软件生命周期中的每一个阶段结束后必须进行,这是为了能尽早发现项目开发中的错误。

16. 是软件生命周期中重要的一步,是软件定义阶段的最后一个阶段,是关系到软件开发成败的关键步骤。

17. 数据流图分为变换型和两种类型。

18. 衡量不同模块彼此之间相互依赖的紧密程度。

19. 衡量不同模块彼此之间相互依赖的紧密程度。

20.在软件模块设计时应该采取的设计原则是。

21.内聚性与模块独立性的关系为内聚性越高,模块独立性越。

22.概要设计阶段应产生的主要文档为,其中应包含对系统模块设计的结果。

23. 详细设计阶段生成的文档是,它是程序运行过程的描述。

24. 详细设计阶段常用的图示工具包括程序流程图、N-S图、及过程性设计语言。

25. 是编码的先导,这个阶段所产生的设计文档的质量将直接影响下一阶段程序的质量。

26.除非对效率有特殊的要求,程序编写要做到第一,效率第二。

27. 软件从一个计算机系统或环境转移到另一个计算系统或环境的容易程度成为。

28.RUP的全称为。

29. 软件项目的风险管理一般包括风险识别、风险分析、和风险监控4个过程。

30.CMM的全称为。

31.OOA的全称为。

32.OOD的全称为。

33.软件配置管理包括和两个方面。

34.UML中的建模包括建模和建模两大类。

35.在UML中,以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构的模型是。

36. UML中,参与者的外部用户所能观察到的系统功能的模型图是。

37. UML中,的任务就是用来描述一个对象所处的可能状态以及状态之间的转移。

38.UML中,是将活动图用线条分成一些纵向的矩形,每一个矩形属于一个特定的对象或部门的责任区。

39.UML中,重点表示了对象之间传送消息的时间顺序。

二.选择题

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. Visual C++

B. Eclipse

C. SVN

D. Microsoft Project

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. Visual C++

B. Eclipse

C. SVN

D. Microsoft Viso

16.软件需求分析阶段建立原型的主要目的是( )

A.确定系统的功能和性能要求

B.确定系统的运行要求

C.确定系统是否满足用户需求

D.确定系统是否满足开发人员需求

17.结构分析方法的常用描述工具不包括( )。

A. 数据流图

B. 数据字典

C. 加工逻辑说明

D.系统结构图

18.数据流图示面向( )分析方法的描述工具。

A. 数据结构

B. 数据流

C. 对象

D.构件

19. 内聚是对模块功能强度的度量,下面四个选项中内聚性最强的是()。

A. 偶然内聚

B. 逻辑内聚

C. 功能内聚

D. 信息内聚

20. 内聚是对模块功能强度的度量,下面四个选项中内聚性最弱的是()。

A. 偶然内聚

B. 逻辑内聚

C. 功能内聚

D. 信息内聚

21. 下面四个选项中耦合性最强的是()。

A. 内容耦合

B. 外部耦合

C. 数据耦合

D. 标记耦合

22. 下面四个选项中耦合性最弱的是()。

A. 内容耦合

B. 外部耦合

C. 数据耦合

D. 标记耦合

23. 数据耦合、内容耦合、标记耦合、控制耦合的耦合性从低到高的顺序是()。

A. 数据、内容、标记、控制

B. 数据、标记、控制、内容

C. 控制、数据、标记、内容

D. 控制、数据、内容、标记

24. 功能内聚、顺序内聚、时间内聚、偶然内聚的内聚性从低到高的顺序是()。

A. 功能、顺序、时间、偶然

B. 偶然、功能、时间、顺序

C. 偶然、时间、顺序、功能

D. 顺序、偶然、功能、时间

25.下面对系统模块化思想描述不正确的是()。

A.有利于降低问题的复杂度

B.有效地提高软件可测试性和可维护性

C.提高软件的可靠性

D.给项目组织管理带来了困难

26. 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是()。

A.模块的作用域应在模块的控制域之内

B.模块的控制域应在模块的作用域之内

C.模块的控制域与模块的作用域互相独立

D.以上说法都不对

27. 下列不属于软件设计原则的是()。

A. 高内聚

B. 自底向上

C. 模块化

D. 低耦合

28.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。

A.把软件划分成模块

B.确定各个模块的功能

C.确定模块之间的调用关系

D.设计每个模块的伪代码

29.模块中所有成分结合起来完成一项任务,该模块的内聚度是()。它具有简明的外

部界面,由它构成的软件易于理解、测试和维护。

偶然内聚 B. 逻辑内聚 C. 功能内聚 D. 信息内聚

30.软件总体设计阶段的主要任务是()。

A. 算法设计

B. 数据结构设计

C. 软件模块结构设计

D. 输入/输出设计

31. 软件详细设计工具中,采用自左向右的二维图形结构描述算法的是()。

A. N-S

B. PAD

C. DD

D. DFD

32.软件详细设计阶段的主要任务是()。

A. 算法及数据结构设计

B. 功能模块设计

C. 数据库设计

D. 功能性能分析

33.以下关于程序流程图说法不正确的是()。

A. 独立于任何一种程序设计语言

B. 比较直观、清晰,易于掌握

C. 不支持逐步求精

D. 容易表示程序的层次结构

34.以下关于盒图(方块图)说法不正确的是()。

A.控制的转移不能任意规定

B. 可以表示模块的层次结构

C. 很容易表现嵌套关系

D. 不符合结构化程序设计的要求

35. 在软件详细设计阶段,经常采用的工具是()。

A. PAD

B. OOA

C. DD

D. DFD

36.下面关于良好的程序设计风格说法正确的是()。

A.使用括号以改善表达式的清晰性

B. 程序中的注释是可有可无的

C. 尽量多使用临时变量

D. 嵌套应尽可能多的使用

37.下面关于良好的程序设计风格说法不正确的是()。

A.尽可能多地使用GOTO语句

B. 程序的格式应有助于读者理解程序

C. 注解应占到整个程序的1/2—1/3

D. 使用有意义的变量名

38.编制一个好的程序首先要确保它的正确性和可靠性,除此之外,通常更注重源程序的()。

A.易使用性、易维护性和效率

B. 易使用性、易维护性和易移植性

C. 易使用性、易维护性和易修改性

D. 易理解性、安全性和效率

39.良好的程序设计风格中选择标识符的名字时应考虑()。

A.名字长度越短越好,以减少源程序的输入量

B. 多个变量共用一个名字,以减少变量名的数目

C. 选择含义明确的名字,以正确提示所代表的实体

D. 尽量以关键字作为名字,以使名字标准化

40.为了形成良好的程序设计风格,在书写语句时应考虑()。

A.把多个短的语句写在同一行中,以减少源程序的行数

B. 尽量使用标准文本以外的特殊功效的语句,以提高语句的功效

C. 尽量消除表达式中的括号,以简化表达式

D. 避免使用测试条件“非”,以提高程序的可读性

41. 下列属于维护阶段的文档是()。

A.软件需求规格说明

B.详细设计说明书

C.软件维护申请报告

D.软件测试分析报告

42.在整个软件维护阶段所花费的全部工作中,()所占比例最大。

A. 改正性维护

B. 适应性维护

C. 完善性维护

D. 预防性维护

43.根据引起软件维护的原因,软件维护阶段通常可分为四类,其中不包括()。

A. 改正性维护

B. 系统性维护

C. 完善性维护

D. 预防性维护

44.下列叙述中不利于软件可维护性提高的是()。

A. 为了缩短源程序的程度应删去源程序中的注解

B. 尽可能在软件生产过过程中保证各阶段文件的正确性

C. 重视程序结构的设计,使程序具有较好的层次结构

D. 在进行需求分析时就应同时考虑维护性问题

45.下面关于软件质量管理说法不正确的是()。

A. 软件质量,是贯穿软件生存期的一个极为重要的问题

B. 影响软件质量的要素包括软件的功能性、可移植性、可修改性等多个方面

C. 软件能力成熟度模型是用于评价软件承包商能力并帮助改善软件质量的方法

D. 在软件质量管理中不应该强调全面质量管理,应该是少数人对质量进行负责

46.下面关于软件配置管理说法不正确的是()。

A. 现代软件开发复杂度高是提出软件配置管理的主要原因

B. 软件配置管理包含为两部分配置管理和变更控制管理

C. 软件配置管理有助于避免软件开发中混乱情况的发生

D. 软件配置管理是对开发过程中所需软硬件进行的管理

47.下面关于软件风险管理说法不正确的是()。

A. 项目风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤

B. 在开发初期就应该制定完善的风险管理策略

C. 在风险管理中应建立风险清单、制定解决方案及风险规避办法

D. 风险管理包括风险识别、风险评估两个阶段。

48.下面说法不符合极限编程思想的是( )。

A. 极限编程是一种敏捷开发方法

B. 极限编程推崇简单设计和小版本开发

C. 极限编程中测试是在编码完成之后才进行设计和实施的

D. 极限编程具有很高的灵活性和实践性,但也备受争议

49.下面说法不符合极限编程思想的是( )。

A. 极限编程是一种敏捷开发方法

B. 极限编程推崇复杂设计和大版本开发

C. 极限编程推崇测试先行,测试驱动开发

D. 极限编程具有很高的灵活性和实践性,但也备受争议

50.UML 图不包括 ( )

(A )用例图 (B )类图 (C )状态图 (D )流程图

51.在类图中,下面哪个符号表示继承关系( )

52.下面哪个视图属于UML 语言的交互图( )

(A )行为图 (B )状态图 (C )实现图 (D )顺序图 53.RUP 中有( )个核心过程工作流。

(A )1 (B )3 (C )6 (D )9

54.类之间的关系不包括( D )

(A )依赖关系 (B )泛化关系 (C )实现关系 (D )分解关系

55.如果发现一个子类从父类继承来的行为对子类毫无意义或子类不能替代其父类时,这种继承关系违背了( )。

A. 单一职责原则

B. 依赖倒置原则

C. Liskov 替换原则

D. 迪米特法则

56.使用多个隔离的接口,比使用单个接口好,这是( )的主要思想。

A. 单一职责原则

B.依赖倒置原则

C. Liskov 替换原则

D. 接口隔离原则

57.系统里的每一个对象应该具有单一职责,这个对象的所有服务都应该聚焦在实现这个职责上,这是( )的主要思想。

(B) (A)

(D)

A. 单一职责原则

B.依赖倒置原则

C. Liskov替换原则

D. 接口隔离原则

58.要针对接口编程,不针对实现编程,这是()的主要思想。

A. 单一职责原则

B.依赖倒置原则

C. Liskov替换原则

D. 接口隔离原则

59.下面对RUP说法正确的是()。

A. RUP是Oracle公司开发和维护的过程产品

B. RUP采用瀑布式的开发模型

C. RUP的整个开发周期分为初始、细化、交付三个阶段

D. UML是RUP开发方法的一种有力支持工具

60.下面对RUP说法不正确的是()。

A. RUP是Rational公司开发和维护的过程产品

B. RUP采用迭代式的开发模型

C. RUP的整个开发周期分为初始、细化、交付三个阶段

D. RUP被称为软件统一开发过程

三.判断题

1.可行性分析是大大简化的软件分析和设计过程

2.可行性分析阶段需要完成可行性分析报告的书写,不需要进行阶段评审。

3. 可行性分析不是解决问题,而是确定为什么要解决这个问题,是否值得去解。

4. 在绘制分层数据流图时,最上层的叫做0层图。

5. 需求分析解决目标系统“做什么”的问题,需求包括功能性需求和非功能性需求。

6. 在一套分层数据流图中,如果某张图中的加工需要进一步细化,可以画出该图的子图,单应注意保持父图与子图之间的平衡。

7. 对数据流图进行分层细化时必须保持信息连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入/输出数据流必须相同。

8. 总体设计的主要任务是确定系统的总体结构,形成软件的模块结构图,并完成总体设计说明书的编写工作。

9.在软件模块结构的设计上应力争做到低内聚、高耦合。

10.既然模块化可以减少工作量,那么可以把软件进行无限分解。

11.提高模块独立性是好的软件设计的关键,而设计又是决定软件质量的关键环节。

12. 具有一个线性结构,有明显的逻辑输入和逻辑输出,由输入、变换和输出三部分组成的

数据流图为事务性数据流图。

13.模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以内。

14. 在将这种混合型数据流图转换成软件结构图时,通常以事务分析为主。

15.在进行程序编码时,为了代码的完整、精炼应少写注释。

16.编码规范有助于程序员形成好的程序设计风格。

17.编码规范中一般从文件组织、注释、声明、命名规范等诸多方面对编码进行要求,但其中有些是可有可无的。

18在程序编码时,变量的命名通常应具有实际意义,并采用全大写的命名方式。

19. 软件测试应该在编码完成后再计划和实施。

20. 软件维护会产生副作用,主要反映在三个方面:修改编码的副作用、修改数据的副作用、修改文档的副作用。

21.在编码时尽可能使用全局变量有助于提高程序的可维护性

22.在软件维护时,当有源程序代码发生修改后,不用做全面的测试。

23.在软件维护工作中,文档资料也应作及时的更新,不能明确地反映软件的实际状况,可能比没有设计文档更糟糕。

24. 在进行面向对象设计时要注意对类进行良好的封装,通常我们是将经常发生变动的部分封装起来。

25. 迭代是进行面向对象开发的一种常见方法,在迭代过程中如果发现软件结构不能灵活应对变化,应该进行设计重构。

26.软件管理应先于任何技术活动之前,并贯穿于软件的整个生命周期之中。

27.项目开发计划和详细设计说明书是软件设计阶段必须生成的文档。

28. 在软件开发过程中,应该遵循边开发,边测试的原则。

29.软件团队的组织对于软件项目开发非常重要,一个10人的开发团队一定比一个5人的开发团队更有效率。

30.面向对象的软件工程方法包括面向对象分析、面向对象设计、面向对象编程、面向对象测试和面向对象维护,这些部分紧密结合在一起,填平了开发过程中的鸿沟。

31. UML是面向对象开发方法的有力支持工具。

四.名词解释

1. 软件工程

2. 软件生命周期

3. 数据流图

4. 结构化分析方法

5.内聚度

6.耦合度

7.功能内聚

8. 校正性维护

9. 适应性维护

10. 完善性维护

11. 软件配置管理

12. 开放封闭原则

五.简答题

1. 什么是软件生命周期?分为哪几个阶段?

2.简要说明瀑布模型的主要思想。

3.简要说明增量(渐增)模型的主要思想。

4.简要说明里程碑模型的主要思想。

5. 快速原型法的基本思想是什么?适用于哪些项目的开发?

6. 假设你负责某种软件的研发,由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件开发模型或方法?为什么?

7.可行性分析报告主要包括哪些内容?

8.项目计划应该包含哪些方面?请以学籍管理系统为例进行说明。

9.结构化分析方法的主要思想是什么?有哪些常用的工具?

10.需求规格说明书主要包括哪些内容?

11.需求分析阶段的主要任务是什么?应交付哪些成果?

12.软件总体设计阶段的主要任务是什么?需要提交哪些文档?

13.概要设计说明书主要包括哪些内容?

14.结构化设计的主要思想是什么?其设计结果是什么?

15.软件详细设计说明阶段的主要任务是什么?需要提交哪些文档?

16.详细设计说明书主要包括哪些内容?

17. 在软件编码阶段强调编码规范的目的是什么?请任举两条基本的编码规范。

18. 简述软件维护的工作流程。

19. 软件开发过程中的各种文档起到什么作用?如果文档不完整或不规范会带来什么不良后果?

请说明顺序图与协作图的区别与联系。

六.分析设计题

1. 下面是一段伪代码描述的程序流程,请画出它的程序流程图。

START

INPUT(A,B,C,D)

While (A>0)AND(B>0)

Begin

C=C+A+B

D=D+A-B

A—

B--

END

IF(C>D)

PRINT(C)

ELSE

PRINT(D)

STOP

2.设计算法实现三个数从小到大排列的功能,并用盒图描述该算法。

3. 下面是一个吉他搜索系统的类图,仔细分析该类图,回答一下问题:

(1)当我们要在GuitarSpec类中加入新的属性时,除了GuitarSpec类本身,还有哪些类可能会受到影响?

(2)你有什么改进方法?

(3)你的改进方法应用到了什么设计原则或技术?这样做有什么好处?

3.分析下面各个类的关系,在图中添加符号形成一个合理的、完善的类图。

4.以下是饮料销售机的类图,请根据下面的场景描述画出该场景的顺序图。

5.下面的文字描述了某大学新生报到的过程。

新生首先要填一张新生注册表单。如果填写不正确,则在别人的帮助下重新填写,直至填写正确,然后进行注册。注册成功后,要进行开学典礼,同时在新生选课系统中注册,然后交齐第一个学期的学费。

试使用活动图描述上述过程。

6. “远程网络教学系统”的功能需求如下:

●学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。

●教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、

修改教学心得。

学生和教师都需要登录后完成上述操作,请画出学生参与者对应的用例图。

7. “远程网络教学系统”的功能需求如下:

●学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。

●教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、

修改教学心得。

学生和教师都需要登录后完成上述操作,请画出教师参与者对应的用例图。

8.图书管理系统功能性需求说明如下:

?图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其

存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和

个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服

务等。

?当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与

系统交互,而是通过图书管理员充当借阅者的代理和系统交互。

?系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、删

除和修改。并且能够查询借阅者、图书和图书管理员的信息。

?可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。

回答下面问题:

1)该系统中有哪些参与者?

2)确定该系统中的类。

3)找出类之间的关系并画出类图。

软件工程部分课后练习题答案

第一章 1.计算机系统是由计算机硬件系统和软件系统这两个密不可分的部分组成的。 2.计算机软件系统通过运行程序来实现各种不同应用,包括用户为自己的特定目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等。 3.在软件工程学中,软件开发技术包括软件开发方法学、软件工具和软件工程环境。 4.在软件工程层次结构中,包括工具层、方法层、过程、技术层和质量保证层。 5.在面向对象概念中,消息传递是其与外部世界相互关联的唯一途径。 第三章 1.软件需求分析,可以把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。 2.软件需求工作基本上包括收集用户、市场等方面对项目的需要,经过分析建立解题模型,细化模型,抽取需求。 3.结构化分析方法的基本步骤是采用由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,绘制数据词典和加工说明;最终写出软件需求和规格说明书。 4.面向对象分析方法总是从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后开始建立对象——关系和对象——行为模型。 5.需求分析评审过程由以下5个步骤组成:规划、准备、召开审查大会、修改缺陷、重审。 第四章 1.与软件需求分析一样,软件设计也有两种主要设计方法:以结构化设计为基础的结构化软件设计和面向对象方法指导的面向对象软件设计。 2.传统的软件设计任务通常分两个阶段完成。第一个阶段是概要设计,包括体系结构设计

和接口设计,并编写概要设计文档;第二阶段是详细设计,其任务是确定各个软件的数据结构和操作,产生描述各软件组件的详细设计文档。 3.结构化的软件设计方法是一种面向数据流的设计方法,在面向数据流的方法中,数据流是考虑一切问题的出发点。 4.在数据流图中所代表的结构化设计模型中,所有系统均可纳入两种典型的形式,因此系统结构图也有两种类型:变换型系统结构图,事务型系统结构图。 5.Jackson表示法包括图形描述(Jackson图)和文本描述(Jackson伪代码)两种形式。 第五章 1.与结构化设计一样,面向对象设计也是将分析阶段所建立的分析模型转变为软件设计模型,应用数据设计(对象属性设计)、接口设计(消息模型开发)以及过程设计(子系统级设计)。 2.当两个子系统相互通信时,可以建立客户机/服务器连接或端对端连接。 3.系统设计不仅包括主要的业务需求子系统设计,还包括用户界面子系统设计、任务管理子系统设计、数据管理子系统设计。 4.对象设计强调从问题域的概念转换成计算机领域的概念,通过对象的描述、算法和数据结构设计、程序构件和接口,实现相关的类、关联、属性和操作。 5.在面向对象设计中系统设计的主要目标是表示软件体系结构。对象设计着重于对象及其交互的描述 第八章 1.软件程序测试的目的是发现程序中的错误,其主要任务是通过在计算机上执行程序,暴露

软件工程练习题复习资料

软件工程练习题 一. 选择题(单选或多选) (1)需求分析阶段最重要的技术文档是( C )。 A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告 (2)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是(A ) A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合 (3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D ) A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合 (4)软件详细设计的主要任务是对(A)进行的详细设计。 A) 算法和数据结构B) 外部接口C)软件编码D)功能 (5)Jackson方法是一种面向(C)的结构化方法。 A) 数据流B) 对象C)数据结构D)控制流 (6)一个成功的测试可以( D )。 A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误 (7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。 A)失败后重新启动所需的时间B)引起失败的时间所占的百分比 C)失败前的平均工作时间D)在一次失败中数据恶化的概率 (8)黑盒技术设计测试用例的方法之一为( A )。 A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试 (9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。 A)工作无序,项目进行过程中经常放弃当初的计划 B)建立了项目级的管理制度 C)建立了企业级的管理制度 D)软件过程中活动的生产率和质量是可度量的 (10)在面向数据流的软件设计方法中,一般将信息流分为( A )。 A)变换流和事务流B)变换流和控制流 C)事务流和控制流D)数据流和控制流 (11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。( ABCDEF ) A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。 A)确定系统的性能要求B)确定系统的运行要求 C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要 (13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。 A)Gantt图B)工程网络图C)CoCoMo模型D)数据流图 (14)软件开发中需求分析的主要任务是( 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.软件测试用例主要由输入数据和()两部分组成。 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)编码

软件工程考试题库

软件工程考试题库 Final approval draft on November 22, 2020

一填空题 1.用原型过程代替全部开发阶段,这种快速原型是(实验型或演化型)原型。 2.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 3.结构图的主要内容有(模块)、(模块的控制关系)、(模块的信息传递)。 4.模块之间的联系越紧密,其耦合性就越(强),模块的独立性就越(差)。 5.软件工程研究的主要内容包括软件开发技术和软件开发管理两个方面,在软件开发技术方面,主要是研究(软件开发方法)、(软件开发过程)、(软件开发工具和环境),在软件开发管理方面,主要是研究(软件管理学)、(软件经济学)、(软件心理学)。 6.状态图反映了(状态)与(事件)的关系,状态图确定了由事件序列引起的(状态序列)。 7.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 8.在数据流图中,(数据流)是数据在系统内传播的路径,因此由一组(成分固定的数据项)组成,加工(又称为数据处理)是对数据流进行某些(操作或交换)。 9.(偶然内聚)指一个模块内的各处理元素之间没有任何联系,这是内聚程度最(差)的内聚。 10假如n个相同的系统(硬件或软件)进行测试,它们的失效时间分别是t1,t2,tn,则平均失效等待时间MTTF=(1/n )。 11(维护申请报告)是一种由用户产生的文档,它用作计划维护任务的基础。 12在软件开发和维护过程中,一个软件往往有许多版本,版本控制工具用来存储、更新、恢复和管理一个软件的(多个版本)。 13软件工具通常由工具、(工具接口)和用户工具三个部分组成。 14类的实例化是(对象)。 15形式化规约语言由(语法)、(语义)和(一组关系)组成。 16 软件质量保证应从(产品计划和设计)开始,直到投入使用和售后服务的软件生存期的每一个阶段中的每一步骤。 17 为了提高软件的质量,软件质量保证的任务大致可归结为以下8类:(正确定义用户要求)、(技术方法的应用)、(提高软件开发的工程能力)、(软件的复用)、(发挥每个开发者的能力)、(组织外部力量协作)、(排除无效劳动)、(提高计划和管理质量)。 18 软件测试时需要的三类信息,分别是(软件配置)、(测试配置)、(测试工具)。 19 在面向对象方法中,信息隐蔽通过对象的(封装性)来实现,类结构分离了(接口)与(实现),从而支持了信息隐蔽。 20 增量模型在开发工程中以一系列(增量方式)开发系统,推迟某阶段的(细节),从而(尽早)产生工作软件。 二选择题 1.(A)是计算机程序及其说明程序的各种文档。 A 软件 B文档 C 数据 D 程序 2.软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、(B)和维护等活动。 A 应用 B 测试 C 检测 D 以上答案都不正确 3.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)。 A 用于验证软件需求的原型 B 垂直原型 C 用于验证设计方案的原型 D 用于演化出目标系统的原型

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

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

软件工程复习题库带答案完整版

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合

7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足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.软件生命周期一般包括:软件开发期和软件运行期,下述(D)不是软件开发期所应包含的内容。 A需求分析B结构设计C程序编制D软件维护 2.软件是一种逻辑产品,它的开发主要是(A)。 A研制B拷贝C再生产D复制 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(C)。 A喷泉模型B增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B)阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计B可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C)产品 A有形B消耗C逻辑D文档 6.(C)把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A原型模型B螺旋模型C基于知识的智能模型D喷泉模型 7.(B)阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 A概要设计B详细设计C编码D测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A)。 A原型模型B瀑布模型C基于知识的智能模型D变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C)。 A可修改性B可靠性C可适应性D可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B)。 A可移植性B可重用性C容错性D可适应性 13.软件特性中,(A)是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性D可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B)。 A可理解性B可维护性C可适应性D可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C). A可理解性B可修改性C可移植性D可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是(D)。 A有效性B可适应性C正确性D可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A)。 A可修改性B可适应性C可维护性D可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B)。 A可理解性B可互操作性C可维护性D可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向

软件工程习题及参考答案

软件工程习题及部分参考答案 判断题 软件也会磨损和老化。(X) 完善性维护是提高或完善软件的性能。(√) 数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。 (X) 软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X) 软件模块之间的耦合性越弱越好。(√) 如果通过软件测试没有发现错误,则说明软件是正确的。(X) 快速原型模型可以有效地适应用户需求的动态变化。(√) 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√) 集成测试主要由用户来完成。(X) 确认测试计划应该在可行性研究阶段制定(X) 白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X) 软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√) 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√) 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳) 模块越多,开发成本越小。(╳) 软件测试的目的就是证明软件没有错。(╳) PAD图在设置了五种基本的控制结构后,还允许递归使用。(√) 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×) SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√) HIPO 法既是需求分析方法,又是软件设计方法。(√) 在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×) 加工小说明是对系统流程图中的加工进行说明。(×) 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) 需求分析的主要方法有SD 法、OOA 法及HIPO 法等。(×) 分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。(×) 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。(√) 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√) PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X) 设计阶段的输出是编码阶段的输入.(√) 通过软件测试,可以发现软件中所有潜伏的错误.(X) 非结构化维护用于软件的配置中只有源代码维护.(√) 系统规格说明是系统分析和定义阶段生成的一种文档.(√) 数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)

软件工程练习题

一.填空题 1.软件生命周期分为、需求分析、概要设计、详细设计、软件实现、软件测试及运行维护7个阶段。 2. 是最早的软件生存周期开发模型,它将软件开发过程中的各项活动规定为依固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件系统或软件产品。 3. 是一种软件开发模型,在这种模型的每一个阶段,都要编码产生一个新的构件,并将新构件集成到先前已经构成的产品中并作为一个整体进行测试,直到满足用户需求为止。 4.当没有足够的人员在规定的期限内开发完整的产品或者由于不可克服的客观原因而把交付期限规定的太短时应选用软件开发模型。 5. 是一种软件开发模型,由需求定义、风险分析、实施开发和计划评审4个部分组成,主要适用于大型软件项目开发。 6. 文档说明该软件开发项目的实现在技术上、经济上和社会因素上等方面的可行性,评述为了合理地达到开发目的可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。 7.可行性分析的目的是。 8. 用于描述系统的物理模型,用物理符号以黑盒子的形式描绘系统里的每个部件,仅表达信息在系统个部件之间流动的情况。 9. (一种图)可以用来进行项目进度管理。 10. 结构化分析与设计是一种面向的分析设计方法。 11. 常见的需求获取方式有、情景分析技术等。 12. 在结构化分析中,用于描述加工逻辑的工具主要有结构化语言、判定树和。 13. 数据字典中的条目主要有、数据流、文件和加工四种。 14. 结构化软件开发方法贯穿始终的八字方针为。 15. 在软件生命周期中的每一个阶段结束后必须进行,这是为了能尽早发现项目开发中的错误。 16. 是软件生命周期中重要的一步,是软件定义阶段的最后一个阶段,是关系到软件开发成败的关键步骤。 17. 数据流图分为变换型和两种类型。 18. 衡量不同模块彼此之间相互依赖的紧密程度。 19. 衡量不同模块彼此之间相互依赖的紧密程度。 20.在软件模块设计时应该采取的设计原则是。 21.内聚性与模块独立性的关系为内聚性越高,模块独立性越。

软件工程期末考试复习题

《软件工程》选择题 一、选择题(在每小题得四个备选答案中,选出一个正确答案,并将正确答案得序号填在题干得括号内,每小题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 )。 A研制B拷贝C再生产D复制 2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计C程序编制D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗C逻辑D文档 6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。 A可修改性B可靠性C可适应性 D 可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A可移植性B可重用性 C 容错性 D 可适应性 13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B )。 A可理解性 B 可维护性C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ). A可理解性B可修改性C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性B可适应性C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。 A可修改性B可适应性C可维护性 D 可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。 A可理解性B可互操作性C可维护性 D 可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是(C )。 A 可理解性 B 可互操作性C可追踪性 D 可维护性 20.软件的可修改性支持软件的(D )。 A 有效性 B 可互操作性C可追踪性 D 可维护性 21.软件的可移植性支持软件的(A )。 A 可适应性 B 可互操作性C可追踪性 D 有效性 22.软件的可理解性支持软件的(B )。

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种()。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称()。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是()。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、_____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是()。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是()。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是() A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关: A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。 10、下列选项中()是软件开发中存在不正确的观念、方法。 A.重编程、轻需求 B.重开发,轻维护 C.重技术,轻管理 D.以上三条都是 二、填空题 1、软件工程的三个基本要素包括()、()和()。 2、一般软件应该有三部分组成:()、()和()。 3、按软件的功能可将软件分成()、()和()等三类。 4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。 5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。 6、软件危机是指在()所遇到的一系列严重问题。 7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。 8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。 三、名词解释 1、CASE 2、软件工程 3、计算机软件 2、软件生存期 四、简答题 1、什么是软件危机?其主要表现有那些? 2、程序的可移植性 3、为什么说“CASE领域是一个应用、集成和综合的领域”?

软件工程期末复习填空题

软件工程填空题 1、软件危机是指在计算机软件的_开发和维护_过程中所遇到的一系列严重问题。 2、软件危机包含下述两个方面的问题:一是 _如何开发软件,以满足对软件日益增长的需求;二是_如何维护数量不断膨胀的已有软件_。 3、软件不同于硬件,它是计算机系统中的_逻辑部件_而不是物理部件。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为__生命周期__。 5、软件配置主要包括 __程序、文档_和_数据_ 等成分。 6、软件工程学的一个重要目标就是提高软件的 _可维护性、减少 _软件维护_ 的代价。 7、软件工程是指导计算机软件 __软件开发_ 和 __维护_ 的一门工程学科。 8、软件工程包括 _技术_ 和 __管理__ 两方面的内容,是技术与管理紧密结合所形成的工程学科。 9、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 _方法学_ ,也称为范型。 10、软件工程方法学包含_方法、工具和_过程_ 三个要素。 11、目前使用最广泛的软件工程方法学,分别是 _传统方法学和面向对象方法学 __ 。 12、概括地说,软件生命周期由 _软件定义_ 、 __软件开发_ 和 __运行维护(软件维护)__ 3个时期组成,每个时期又进一步划分为若干个阶段。 13、软件定义时期通常进一步划分为3个阶段,即 _问题定义__ 、 __可行性研究__ 和需求分析。、 14、螺旋模型将 _瀑布、_ 模型和 __快速原型_ 模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。 15、瀑布模型 _不能_ 适应需求可变的软件开发,只有到 _开发结束_ 才能见到整个软件系统。 16、可行性研究阶段当从系统逻辑模型出发,探索若干种可供选择的主要解法,对每种解法都应该从 __技术可行性、经济可行性_和 _操作可行性__ 这三个方面研究每种解法的可行性。

软件工程考试题(带答案)..

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表, 判定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N- S图。 D) 判定表,判定树,数据流程图,系统流程图,程序 流程图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系

是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。 C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。

软件工程复习题及答案(完整)

软件工程复习题及答案(完整)

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若 干(B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早

相关文档
最新文档