软件工程习题Word下载.docx
- 文档编号:19859697
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:52
- 大小:390.83KB
软件工程习题Word下载.docx
《软件工程习题Word下载.docx》由会员分享,可在线阅读,更多相关《软件工程习题Word下载.docx(52页珍藏版)》请在冰豆网上搜索。
1、什么是软件?
2、简述面向数据流的需求分析方法。
3、模块独立性的重要性是什么?
4、简述在编码风格上需要注意的四个问题?
五、分析题
1、根据伪码程序画出程序流程图,盒图(N-S图)。
START
a
IFx1THEN
REPEATUNTILx2
b
ENDREPEAT
ELSE
BLOCK
c
d
ENDBLOCK
ENDIF
STOP
2、用Jackson图表示下图所示的二维表格:
该学生名册由表头和表体两部分组成。
其中表头又顺序包括表名和字段名。
表体可由任意行组成,每行包括学生的姓名、性别、年龄和学号。
参考答案及评分标准
一、填空题(每小题4分,共20分)
1、理论结构方法工具
2、递归
3、对象类继承封装4、内聚耦合
不同模块彼此之间互相依赖的紧密程度
一个模块内部各个元素彼此结合的紧密程度
5、静态分析动态测试
1、C2、B3、C4、A5、B
三、判断题(每小题3分,共21分)
1、×
2、√3、√4、√5、×
6、√7、√
1、答:
软件是一种产品。
包含下面三个方面的含义:
⑴在运行中能提供所希望的功能和性能的指令集(即程序);
⑵使程序能够正确运行的数据结构;
⑶描述程序研制过程、方法所用的文档。
2、答:
结构化分析方法是面向数据流进行需求分析的方法。
结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。
其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。
具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。
3、答:
具有独立的模块软件比较容易开发出来。
独立的模块比较容易测试和维护。
4、答:
⑴源程序文档化;
⑵数据说明的方法:
⑶语句结构;
⑷输入/输出方法。
五、分析题(第一小题10分,第二小题9分,共19分)
第四部分综合练习
(含参考答案)
1.软件是一种产品,同时又是开发和运行产品的载体。
2.软件危机指的是软件开发和维护过程中遇到的一系列严重问题。
3.软件危机包括下面两方面的问题:
如何开发软件,满足对软件的日益增长的需求和如何维护数量不断膨胀的已有软件。
4.软件工程学的内容可包括:
理论、结构、方法、工具、环境、管理、规范等。
(全部加下划线表示考查其中某1-2个空,下同)
5.软件生存周期一般可分为以下阶段:
问题定义、可行性研究、需求分析、设计、编码、测试、运行与维护。
6.软件生存周期也可分为三个大阶段:
计划阶段、开发阶段、维护阶段。
7.可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。
8.可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
9.一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性、开发可行性等方面研究可行性。
10.只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明。
11.需求分析的基本任务是准确的回答系统必须做什么这个问题。
12.需求分析所要做的工作是深入描述软件的功能和性能。
13.需求分析阶段研究的对象是软件项目的用户要求。
14.需求分析结束时交出的文档中应该包括详细的数据流图DFD,数据字典DD,一组简明的算法描述。
15.对系统的综合需求主要有:
系统功能需求、系统性能需求、运行需求、将来可能提出的需求。
16.任何信息处理系统的基本功能都是把输入数据变成需要的输出信息。
17.结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。
18.数据域具有三种属性:
数据流、数据内容和数据结构。
19.数据流图是描述数据处理过程的工具。
20.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。
21.数据流图的特性有:
抽象性、概括性、层次性。
22.数据字典的作用是在软件分析和设计的过程中提供关于数据的描述信息。
23.数据流图和数据字典共同构成系统的逻辑模型。
24.必须从一致性、完整性、现实性、有效性等四个不同角度验证软件需求的正确性。
25.信息隐蔽原理是指每一个模块的实现细节对其它模块来说是隐蔽的。
26.耦合是对一个软件结构内各个模块之间互连程度的度量。
27.模块间耦合程度强弱的种类有:
非直接耦合、数据耦合、控制耦合、公共环境耦合、内容耦合、标记耦合、外部耦合。
28.内聚标志着一个模块内各个元素彼此结合的紧密程度。
29.Jackson图有三种逻辑数据结构:
顺序结构、选择结构、重复结构。
30.Warnier程序设计方法是一种面向数据结构的设计方法。
31.详细设计又称过程设计。
32.面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。
33.面向对象方法的基本思想是从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。
34.面向对象的软件工程学方法是面向对象方法在软件工程领域的全面运用。
35.面向对象的软件工程学方法包括:
面向对象的分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的软件维护等主要内容。
36.OO方法中把组成客观世界的实体称为问题空间的对象。
37.所谓的方法,它们实际上是类对象上的各种操作。
38.类有方法和数据集成,它是关于对象性质的描述,包括外部特性和内部实现两个方面。
39.UML即:
标准建模语言。
40.UML包括:
UML语义和UML表示法两个部分。
41.标准UML的重要内容可以由五类图来定义:
用例图、静态图、行为图、交互图、实现图。
42.所谓编码就是把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。
43.从应用特点看,高级语言可以分为基础语言、现代语言、专用语言三类。
44.程序的注释一般分为:
序言性注释和功能性注释。
45.程序效率是指程序的执行速度及程序占用的存储空间。
46.源程序的效率与详细设计阶段确定的(算法)的效率直接有关。
47.冗余是改善系统(可靠性)的一种重要技术。
48.防错程序设计可以分为主动式和被动式两种
49.按照测试过程是否在实际应用环境中来分,有静态分析和动态测试。
50.大型软件系统的测试基本上由下述四个步骤组成:
单元测试、集成测试、确认测试、系统测试。
51.在软件运行维护阶段对软件产品所进行的修改就是维护。
二、判断题
52.在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,软件维护比硬件维护要复杂得多。
(对)
53.软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
54.软件的开发至今尚未完全摆脱手工的开发方式。
55.软件的开发费用越来越高,成本相当昂贵。
56.软件的开发费用越来越低,但成本仍然相当昂贵。
(错)
57.在需求分析阶段,所有的用户要求都是合理的,必须满足。
58.在需求分析阶段,不是所有的用户要求都是合理的,没有必要全部满足。
59.任何一个软件系统本质上都是信息处理系统。
60.数据流图中可以带有控制流。
61.数据流图中不可以带有控制流。
62.模块是数据说明、可执行语句等程序对象的集合。
63.Jackson系统开发方法是一种典型的面向数据结构的分析设计方法。
64.Jackson系统开发方法是一种典型的面向对象的分析设计方法。
65.Warnier程序设计方法是一种面向数据结构的设计方法。
66.Warnier程序设计方法是一种面向对象的设计方法。
67.详细设计是编码的前奏。
68.详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内的数据结构。
69.良好的编码风格有助于编写可靠而有容易维护的程序,编码风格在很大程度上决定程序的质量和机器执行的速度。
70.良好的编码风格有助于编写可靠而有容易维护的程序,编码风格在很大程度上决定程序的质量,但不影响机器执行程序的速度。
71.源程序的效率与详细设计阶段确定的算法的效率直接有关。
72.冗余是改善系统可靠性的一种重要技术。
73.冗余是改善系统速度的一种重要技术。
74.判定覆盖比语句覆盖强有效。
75.语句覆盖比判定覆盖强有效。
76.软件开发所需的资源可以画成一个金字塔,塔的最基本的资源是人。
三、简答分析题
77.软件的发展经过哪几个阶段?
程序设计阶段、程序系统阶段、软件工程阶段、第四阶段。
78.软件的定义是什么?
在运行中能够提供所希望的功能和性能的指令集(程序);
使程序能够正确运行的数据结构;
描述程序研制过程、方法所用的文档。
79.基于软件的功能,软件分为哪几种?
系统软件、支撑软件、应用软件。
80.基于软件的工作方式分,软件分为哪几种?
实时处理软件、分时软件、交互式软件、批处理软件。
81.基于软件的规模分,软件分为哪几种?
微型软件、小型软件、中型软件、大型软件、甚大型软件、极大型软件。
82.基于软件的服务对象的范围分,软件分为哪几种?
定制软件、产品软件。
83.软件危机包括哪两方面的问题?
(1)如何开发软件,满足对软件的日益增长的需求。
(2)如何维护数量不断膨胀的已有软件。
84.产生软件危机的原因是什么?
(1)软件是计算机系统中的逻辑部件而不是物理部件。
(2)软件本身独有的特点确实给开发和维护带来一些客观困难。
(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的需求。
(4)软件管理技术不能满足现代软件开发的需要,没有统一的软件质量规范。
(5)在软件的开发与维护关系问题上存在错误的概念。
85.软件工程的原则是什么?
(1)分解。
(2)独立性。
(3)一致性。
(4)确定性。
86.软件开发模型有哪些?
(1)瀑布模型。
(2)螺旋模型。
(3)第四代技术模型。
(4)原型模型。
87.某图书馆闭架借书流程如下:
读者须先被验明证件后才能进入查询室。
读者在查询室内通过检书卡来查找自己所需的图书。
找到所需图书并填好索书单到服务台借书。
如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者,否则读者借不了图书。
下图是上述系统的系统流程图,请填写空缺。
1:
验证2:
图书查询3:
检书卡4:
借书5:
取书
88.需求分析的原则是什么?
(1)必须能够表达和理解问题的数据域和功能域。
(2)自顶向下、逐层分解问题。
(3)要给出系统的逻辑视图和物理视图。
89.一家计算机公司的全部软件产品有系统软件和应用软件,其中系统软件有操作系统、编译程序和包括编辑程序、测试驱动程序、设计辅助工具等的软件工具三类。
请画出系统的Warnier图和层次方框图。
90.在概要设计中两个主要任务是什么?
(1)将系统划分成物理元素,即程序、文件、数据库、文档等等。
(2)设计软件结构,即将需求规格转换为体系结构,划分出程序的模块组成,模块间的相互关系。
91.概要设计的过程是怎样的?
(1)设计系统方案。
(2)选取一组合理的方案。
(3)推荐最佳实施方案。
(4)功能分解。
(5)软件结构设计。
(6)数据库设计、文件结构设计。
(7)制定测试计划。
(8)编写概要设计文档。
(9)审查与复审概要设计文档。
92.为何要强调模块的独立性?
(1)由于能够分割功能而且接口可以简化,具有独立的模块软件比较容易开发出来。
(2)修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够插入模块,使得独立的模块比较容易测试和维护。
93.如何改进软件设计、提高软件质量?
(1)提高模块的独立性。
(2)模块规模应该适中。
(3)适当选择深度、宽度、扇出和扇入。
(4)模块的作用域应该在控制域之内。
(5)力争降低模块接口的复杂程度。
(6)设计单入口单出口的模块。
(7)模块功能应该可以预测。
94.用Jackson图表示下面二维表格:
工人工资单
工号
姓名
性别
工龄
月工资
.
表头
表体
95.详细设计的原则是什么?
(1)模块的逻辑描述要清晰易读、正确可靠。
(2)采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。
(3)选择恰当描述工具来描述各模块算法。
96.写出下面伪码程序的程序流程图和N-S图
BEGIN
A
Ifx1then
Repeatuntilx2
Ifx3then
C
Else
D
Endif
Endrepeat
Else
E
H
I
END
97.将下面的程序流程图转换为N-S图。
98.什么是面向对象技术?
一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。
99.面向对象方法的基本思想是什么?
从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。
100.面向对象的软件工程学方法包括哪些内容?
101.什么是对象?
对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;
它是一组属性和有权对这些属性进行操作的一组服务的封装体。
102.什么是封装?
封装定义为:
(1)一个清楚的边界,所有的对象的内部软件的范围被限定在这个边界内。
(2)一个接口,这个接口描述这个对象和其他的对象之间相互的作用。
(3)受保护的内部实现。
103.栈是一种常见的数据结构,它的状态和服务如下:
状态
服务
空
半满
满
压入
可执行
不可执行
弹出
请画出它的状态转换图。
104.标准UML的重要内容可以哪五类图来定义?
105.什么是编码?
所谓编码就是把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。
106.要求进行软件维护的原因有哪些?
(1)改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷。
(2)因在软件使用过程中数据环境发生变化或处理环境发生变化,需要修改软件加以适应这种变化。
(3)用户和数据处理人员在使用时常提出改进现有功能,增加新的功能,以及改善总体性能的要求。
107.软件维护的步骤有哪些?
(1)分析和理解程序。
(2)修改程序。
(3)重新验证程序。
(4)维护组织。
108.软件管理的主要功能有哪些?
(1)制定计划。
(2)建立项目组织。
(3)配备人员。
(4)指导。
一,选择题:
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.在SD方法中全面指导模块划分的最重要的原则是()
A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性
7.程序的三种基本控制结构是()
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.软件测试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.Jackson方法是面向()的设计方法.
A.系统设计B,数据结构C,DFDD,OO
16.指出PDL是下列哪种语言().
A.伪码B,高级程序设计语言C.中级程序设计语言D,低级程序设计语言
17.在进行软件测试时,首先应当进行(),然后再进行组装测试,最后再进行有效性测试.
A.单元测试B,集成测试C,确认测试D,组合测试
18.制定进度计划的两个重要工具是().
A.Gantt图B,CoCoMoC,工程网络图D,HIPO图
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.COMB.COCOMOC.CORBAD.OPENDOC
26.在设计测试用例时,()是用得最多的一种黑盒测试方法.
A.等价类划分B.边界值分析C.因果图D.判定表
27.白盒测试逻辑覆盖测试法有()种覆盖标准.
A.6B.3C.4D.5
28.软件能力成熟度为初始等()个级别.
A.5B.4C.2D.6
29.在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键.
A.数据结构B.实体关系C.数据流图D.E—R图
30.结构分析方法就是面向()自顶向下逐步求精进行需求分析的方法.
A.目标B.数据流C.功能D.对象
二,填空题:
1.在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理能协调软件开发,并使混乱减到最低程度.
2.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件.
3.数据项是指___不可再分解的_____数据单元.
4.软件概要设计的主要任务就是___软件结构的设计_____.
5.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成.
6.软件开发是一个自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)