软件工程练习题.docx
- 文档编号:8488310
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:14
- 大小:48.31KB
软件工程练习题.docx
《软件工程练习题.docx》由会员分享,可在线阅读,更多相关《软件工程练习题.docx(14页珍藏版)》请在冰豆网上搜索。
软件工程练习题
一.填空题
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.VisualC++B.EclipseC.SVND.MicrosoftProject
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.VisualC++B.EclipseC.SVND.MicrosoftViso
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-SB.PADC.DDD.DFD
32.软件详细设计阶段的主要任务是()。
A.算法及数据结构设计B.功能模块设计
C.数据库设计D.功能性能分析
33.以下关于程序流程图说法不正确的是()。
A.独立于任何一种程序设计语言B.比较直观、清晰,易于掌握
C.不支持逐步求精D.容易表示程序的层次结构
34.以下关于盒图(方块图)说法不正确的是()。
A.控制的转移不能任意规定
B.可以表示模块的层次结构
C.很容易表现嵌套关系D.不符合结构化程序设计的要求
35.在软件详细设计阶段,经常采用的工具是()。
A.PADB.OOAC.DDD.DFD
36.下面关于良好的程序设计风格说法正确的是()。
A.使用括号以改善表达式的清晰性
B.程序中的注释是可有可无的
C.尽量多使用临时变量D.嵌套应尽可能多的使用
37.下面关于良好的程序设计风格说法不正确的是()。
A.尽可能多地使用GOTO语句
B.程序的格式应有助于读者理解程序
C.注解应占到整个程序的1/2—1/3D.使用有意义的变量名
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.系统里的每一个对象应该具有单一职责,这个对象的所有服务都应该聚焦在实现这个职责上,这是()的主要思想。
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)找出类之间的关系并画出类图。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 练习题