软件工程基础.docx
《软件工程基础.docx》由会员分享,可在线阅读,更多相关《软件工程基础.docx(27页珍藏版)》请在冰豆网上搜索。
软件工程基础
■模拟试题一:
一、名词解释(共10分)
1、软件工程
[点击查看答案]
答:
软件工程是开发、运行、维护和修复软件的系统方法。
2、数据字典
[点击查看答案]
答:
数据字典(DD,DataDictionary)是关于数据的信息的集合,是对数据流图中包含的所有元素的定义的集合。
二、填空题(共20分)
1、软件是计算机系统中与硬件相互依存的另一部分,它是包括__________、__________及其__________的完整集合。
[点击查看答案]
答:
程序,数据,相关文档;
2、软件工程三个要素是指:
__________、__________和__________。
[点击查看答案]
答:
方法,工具,过程;
3、目前使用得最广泛的软件工程方法学,分别是__________和__________。
[点击查看答案]
答:
传统方法学,面向对象方法学
4、__________是与程序开发、维护和使用有关的图文材料。
[点击查看答案]
答:
文档;
5、结构化分析方法中使用的建模工具主要包括:
__________、数据字典、结构化英语、判定表和判定树。
[点击查看答案]
答:
数据流图
三、单选题(共20分)
1、()是完成指定功能的一段特定语言代码。
A.程序 B.数据 C.文档 D.测试方法
[点击查看答案]
答:
A
2、()的任务是用最小的代价、在尽可能短的时间内确定问题是否能够解决。
A.可行性分析; B.需求分析; C.总体设计; D.详细设计。
[点击查看答案]
答:
A
3、软件生命周期由()3个时期组成,每个时期又进一步分成若干个阶段。
A.软件可行性分析、软件开发和软件测试
B.软件定义、软件开发和运行维护
C.软件定义、软件编码和软件评审
D.软件开发、软件维护和软件废弃
[点击查看答案]
答:
B
4、Max_Value()、Min_Value()、Ave_Value()和Disp()之间的耦合为()。
A.强耦合 B.中度耦合 C.无耦合 D.低耦合
[点击查看答案]
答:
C
5、在面向对象的程序中,把数据和实现操作的代码集中起来放在对象的内部,称之为()。
A.对象 B.实例 C.封装 D.属性
[点击查看答案]
答:
C
四、判断题(20分)
1、程序是完成指定功能的一段特定语言代码。
[点击查看答案]
答:
对
2、软件工程是指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件。
[点击查看答案]
答:
对
3、软件生存期一般可以划分为以下三个阶段,即:
定义期、开发期和运行期。
[点击查看答案]
答:
对
4、数据流图和程序流程图是可行性分析的常用工具。
[点击查看答案]
答:
错
5、客户是指直接或间接从产品中获得利益的个人或组织。
[点击查看答案]
答:
对
6、总体设计阶段不需要写测试计划。
[点击查看答案]
答:
错
7、应该追求尽可能松散耦合的系统。
[点击查看答案]
答:
对
8、如果输入条件规定了取值范围,可定义一个有效等价类和一个无效等价类。
[点击查看答案]
答:
错
9、白盒测试法也称功能测试。
[点击查看答案]
答:
错
10、在软件结构中,深度、宽度、扇出和扇入都应该适当。
[点击查看答案]
答:
对
五、简答题:
简述需求分析中对软件系统的综合要求。
(10分)
[点击查看答案]
答:
综合要求主要包括:
(1)功能需求;
(2)性能要求;(3)可靠性和可用性需求;(4)出错处理需求;(5)接口要求;(6)约束;(7)逆向需求;(8)将来可能提出的数据要求。
六、综合题:
定义一个无符号数。
试划分有效等价类和无效等价类,并为每一类设计一个测试用例。
(20分)
[点击查看答案]
答:
见下表。
■模拟试题二:
一、名词解释(共10分)
1、DFD
[点击查看答案]
答:
DFD,DataFlowDiagram,数据流图的简称。
是一种图形化的、用于反映软件中数据加工、变换的逻辑建模工具。
2、ER模型
[点击查看答案]
答:
实体—联系(Entity-Relationship)模型。
是一种图形化的、面向问题的并且按照用户观点对数据进行建模的数据信息模型。
它包括数据对象、数据对象的属性和数据对象彼此间相互的联系三个要素。
二、填空题(共20分)
1、__________是按事先设计的功能和性能要求编写的指令序列;
[点击查看答案]
答:
程序
2、__________是与程序开发、维护和使用有关的图文材料。
[点击查看答案]
答:
文档
3、一个软件从__________、__________、__________和__________,直到最终被废弃,要经历一个漫长的时期。
通常把软件经历的这个漫长的时期成为生命周期。
[点击查看答案]
答:
定义、开发、使用、维护
4、__________是软件定义的最后一个阶段,准确地回答“系统必须做什么?
”这个问题。
[点击查看答案]
答:
需求分析
5、常见软件开发模型包括:
__________、__________和__________。
[点击查看答案]
答:
瀑布模型、螺旋模型,喷泉模型
三、单选题(共20分)
1、()是完成指定功能的一段特定语言代码。
A.程序 B.数据 C.文档 D.测试方法
[点击查看答案]
答:
A
2、下图表示的软件模块深度,宽度,扇出和扇入数分别为:
A.4,4,2,2 B.3,3,2,4
C.4,4,3,2 D.3,3,2,1
[点击查看答案]
答:
C
3、决定可维护性的因素主要有()。
A.安装文档、使用手册和参考手册
B.功能描述、安装文档和使用手册
C.结构化维护、非结构化维护和维护的代价
D.可理解性、可测试性和可修改性
[点击查看答案]
答:
D
4、耦合性最高的是()。
A.内容耦合 B.公共耦合 C.控制耦合 D.通信耦合
[点击查看答案]
答:
A
5、()是对具有相同属性和行为的一个或多个对象的描述。
A.对象 B.类 C.实例 D.消息
[点击查看答案]
答:
B
四、判断题(20分)
1、文档是与程序开发、维护和使用有关的图文材料。
[点击查看答案]
答:
对
2、软件工程是开发、运行、维护和修复软件的系统方法。
[点击查看答案]
答:
对
3、常见软件开发模型包括:
瀑布模型、螺旋模型和喷泉模型。
[点击查看答案]
答:
对
4、可行性分析重点在于“能做什么”,而不是“如何做什么”。
[点击查看答案]
答:
对
5、软件客户包括提出要求、支付款项、选择、具体说明或使用软件产品的项目风险承担者。
[点击查看答案]
答:
对
6、耦合用于衡量不同模块彼此间互相依赖的紧密程度。
[点击查看答案]
答:
对
7、应该追求尽可能紧耦合的系统。
[点击查看答案]
答:
错
8、如果给定了输入数据的个数,则可以划分出一个有效的等价类和一个无效等价类。
[点击查看答案]
答:
错
9、等价划分是一种黑盒测试技术,这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。
[点击查看答案]
答:
对
10、模块的作用域应该在其控制域之内。
[点击查看答案]
答:
对
五、简答题:
简述总体设计步骤。
(本题10分)
[点击查看答案]
答:
典型的总体设计过程包括下述9个步骤:
1.设想供选择的方案;2.选取合理的方案;3.推荐最佳方案;4.功能分解;5.设计软件结构;6.数据库设计;7.制定测试计划;8.书写文档;9.审查和复审
六、综合题:
试定义学生基本情况词典条目。
要求包括:
学生姓名,学号,性别,出生日期,原籍信息,联系电话,身份证号等。
(20分)
[点击查看答案]
答:
学生基本情况={姓名+学号+性别+出生日期+原籍+电话+身份证号}
姓名=2{汉字}4
学号=10{十进制数字}10
性别=[男|女]
出生日期=年+月+日;
原籍=2{汉字}4
电话=11{十进制数字}13
身份证号=[老身份证号|新身份证号]
老身份证号=15{十进制数字}15
新身份证号=18{十进制数字}18
年=[1980~1988]
月=“01”…“12”
日=“01”…“31”
十进制数字=“0”…“9”
■模拟试题三:
一、名词解释(共10分)
1、软件生命周期
[点击查看答案]
答:
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
2、PAD图
[点击查看答案]
答:
问题分析图(ProblemAnalysisDiagram),1973年由日本日立公司提出。
是一种以二维树形结构来表示程序的控制流的过程设计工具。
二、填空题(共20分)
1、1968年由NATO(北大西洋公约组织)在德国Garmish召开的学术会议上,FeitzBauer首先提出了__________概念。
[点击查看答案]
答:
软件工程
2、一个软件从__________、__________、__________和__________,直到最终被废弃,要经历一个漫长的时期。
通常把软件经历的这个漫长的时期成为生命周期。
[点击查看答案]
答:
定义,开发,使用,维护
3、数据流图描绘系统的逻辑模型。
数据流图用到四种基本符号:
正方形表示__________;圆角矩形表示__________;开口矩形表示__________;箭头表示流动方向。
[点击查看答案]
答:
源点或终点,处理,数据存储
4、通常用__________定义消除数据冗余的程度。
[点击查看答案]
答:
范式
5、__________用于衡量不同模块彼此间互相依赖的紧密程度。
[点击查看答案]
答:
耦合
三、单选题(共20分)
1、软件是一种()。
A.程序 B.数据 C.文档 D.逻辑实体
[点击查看答案]
答:
D
2、下图表示的软件模块深度,宽度,扇出和扇入数分别为:
A.4,4,2,2 B.3,3,2,4 C.4,4,3,2 D.3,3,2,1
[点击查看答案]
答:
C
3、一般来说,至少应该从()三个方面研究软件每种解法的可行性。
A.技术可行性、技术先进性和操作可行性
B.人员能力、设备资源和开发平台
C.技术可行性、经济可行性和操作可行性
D.技术可行性、人员可行性和用户可行性
[点击查看答案]
答:
C
4、软件生命周期由()3个时期组成,每个时期又进一步分成若干个阶段。
A.软件可行性分析、软件开发和软件测试
B.软件定义、软件开发和运行维护
C.软件定义、软件编码和软件评审
D.软件开发、软件维护和软件废弃
[点击查看答案]
答:
B
5、面向对象的方法是以()为核心
A.对象 B.类 C.实例 D.消息
[点击查看答案]
答:
A
四、判断题(20分)
1、数据是使程序能正常操纵信息的数据结构;
[点击查看答案]
答:
对
2、将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。
[点击查看答案]
答:
对
3、可行性研究的任务是用最小的代价、在尽可能短的时间内确定问题是否能够解决。
[点击查看答案]
答:
对
4、总体设计重点在于“能做什么”,而不是“如何做什么”。
[点击查看答案]
答:
错
5、客户是指直接或间接使用软件的人或组织。
[点击查看答案]
答:
错
6、内聚用于衡量一个模块内部各个元素间彼此结合的紧密程度。
[点击查看答案]
答:
对
7、功能内聚是最高的内聚,且希望得到这种高内聚。
[点击查看答案]
答:
对
8、耦合设计原则是:
尽量使用数据耦合,少用控制耦合,限制公共环境耦合范围和完全不用内容耦合。
[点击查看答案]
答:
对
9、如果规定了输入值得范围,则可划分出一个有效的等价类和两个无效的等价类。
[点击查看答案]
答:
对
10、在面向对象的软件技术中,继承是子类人工地共享基类中定义的数据和方法的机制。
[点击查看答案]
答:
错
五、简答题:
简述软件模块化的根据。
(10分)
[点击查看答案]
答:
设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x所需要的工作量(时间)。
对于两个问题Pl和P2,如果C(P1)>C(P2),显然E(P1)>E(P2)
根据人类解决一般问题的经验,如果一个问题由Pl和P2两个问题组合而成,那么它的复杂程序大于分别考虑每个问题时的复杂程度之和,即
C(Pl+P2)>C(P1)+C(P2)
综上所述,可得到下面的不等式
E(Pl+P2)>E(Pl)+E(P2)
将复杂问题分解成许多容易解决的问题是软件模块化的根据。
六、综合题:
试绘出教学楼管理系统中教室、课程、班级的实体联系图。
(20分)
[点击查看答案]
答:
■模拟试题四:
一、名词解释(共10分)
1、DD
[点击查看答案]
答:
DD,DataDictionary,数据字典的简称。
是对数据流图中包含的所有元素的定义集合;是一种与数据流图配合使用的软件建模工具。
它应用于软件开发、维护的各个阶段。
2、结构程序设计
[点击查看答案]
答:
如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每一个代码块只有一个入口和一个出口,则这个程序是结构化的。
二、填空题(共20分)
1、软件生命周期个阶段要完成的任务包括以下8个方面:
(1)问题定义、
(2)__________、(3)、__________、(4)、__________、(5)详细设计、(6)__________、(7)__________和__________软件维护。
[点击查看答案]
答:
可行性研究,需求分析,总体设计/概要设计/初步设计,编码和单元测试,综合测试
2、__________是对象所能够执行的操作,也就是类中所定义的服务。
[点击查看答案]
答:
方法
3、模块独立性的两个定性度量标准是__________和__________。
[点击查看答案]
答:
内聚,耦合
4、在__________阶段产生的文档是软件性有效的标准,也是验收测试的基础。
[点击查看答案]
答:
需求分析
5、__________对具有相同属性和行为的一个或多个对象的描述。
[点击查看答案]
答:
类
三、单选题(共20分)
1、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将随程序规模的增加而呈()。
A.指数下降 B.指数上升 C.线性上升 D.线性下降
[点击查看答案]
答:
B
2、模块之间应避免使用()。
A.无耦合 B.数据耦合 C.控制耦合 D.公共环境耦合
[点击查看答案]
答:
D
3、下面哪一个定义不是对软件工程的恰当描述()。
A.软件工程是指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件。
B.软件工程是开发、运行、维护和修复软件的系统方法。
将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。
C.软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)。
D.软件工程就是软件编程。
[点击查看答案]
答:
D
4、Max_Value()、Min_Value()、Ave_Value()和Disp()之间的耦合为()。
A.强耦合 B.中度耦合 C.无耦合 D.低耦合
[点击查看答案]
答:
C
5、()是由某个特定的类所描述的一个具体的对象。
A.对象 B.类 C.实例 D.消息
[点击查看答案]
答:
C
四、判断题(20分)
1、软件是一种逻辑实体。
[点击查看答案]
答:
对
2、软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)。
[点击查看答案]
答:
对
3、可行性研究无成本。
[点击查看答案]
答:
错
4、需求分析阶段准确地回答“系统必须做什么?
”这个问题。
[点击查看答案]
答:
对
5、需求分析阶段可分为四个过程:
(1)调查研究;
(2)分析与综合;(3)书写需求分析的文档;(4)需求分析评审。
[点击查看答案]
答:
对
6、最高程度的耦合是内容耦合。
[点击查看答案]
答:
对
7、如果模块中所有元素都使用同一个输入数据和(或)产生同一个输出数据,则成为过程内聚。
[点击查看答案]
答:
错
8、好的测试方案就是成功的测试方案。
[点击查看答案]
答:
错
9、逻辑覆盖是属于白盒测试技术。
[点击查看答案]
答:
对
10、函数重载是指在同一个作用域内的若干个参数特征不同的函数可以使用相同的函数名字。
[点击查看答案]
答:
对
五、简答题:
试述软件工程的7条基本原理。
(10分);
[点击查看答案]
答:
1、用分阶段的生命周期计划严格管理;
2、坚持进行阶段评审;
3、实行严格的产品控制;
4、采用现代程序设计技术;
5、结果应该清楚地审查;
6、开发小组的人员因该少而精;
7、承认不断改进软件工程实践的必要性
六、综合题:
试画出图书馆图书状态转换图。
(20分)
[点击查看答案]
答:
■模拟试题五:
一、名词解释(共10分)
1、编码
[点击查看答案]
答:
把软件设计结果翻译成用某种程序设计语言书写的程序。
作为软件工程过程的一个阶段,它是对设计的进一步具体化。
2、软件
[点击查看答案]
答:
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。
二、填空题(共20分)
1、软件生存期一般可以划分为以下三个阶段,即:
__________、__________和__________。
[点击查看答案]
答:
定义期,开发期,运行期
2、需求分析阶段可分为四个过程:
(1)__________;
(2)分析与综合;(3)书写需求分析的文档;(4))__________。
[点击查看答案]
答:
调查研究,需求分析评审
3、验收测试一般使用__________盒测试法。
[点击查看答案]
答:
黑
4、软件维护的种类主要包括:
__________、__________、完善性维护和预防性维护。
[点击查看答案]
答:
纠错性维护,适应性维护
5、通常把对象的操作称为__________或__________。
[点击查看答案]
答:
服务,方法
三、单选题(共20分)
1、软件工程方法学包含3个要素()。
A.方法、工具和过程 B.方法、工具和分析
C.编程、测试和分析 D.分析、设计和编程
[点击查看答案]
答:
A
2、衡量软件模块独立性的两个定性度量标准是()。
A.分析和综合 B.复杂度和可理解性
C.时间和空间 D.内聚和耦合
[点击查看答案]
答:
D
3、()用于衡量一个模块内部各个元素间彼此结合的紧密程度。
A.内聚 B.耦合 C.模块化 D.结构化设计
[点击查看答案]
答:
A
4、面向对象的方法是以()为核心
A.对象 B.类 C.实例 D.消息
[点击查看答案]
答:
A
5、()是由某个特定的类所描述的一个具体的对象。
A.对象 B.类 C.实例 D.消息
[点击查看答案]
答:
C
四、判断题(20分)
1、软件工程是一门学科,一种科学理论来指导软件系统开发的标准化、自动化的过程;编写程序是单纯的代码编写。
[点击查看答案]
答:
对
2、软件工程技术的两个特点在于
(1)强调规范化;
(2)强调文档化。
[点击查看答案]
答:
对
3、数据流图和系统流程图是可行性分析的常用工具。
[点击查看答案]
答:
对
4、可行性分析阶段准确地回答“系统必须做什么?
”这个问题。
[点击查看答案]
答:
错
5、软件客户就是软件用户。
[点击查看答案]
答:
错
6、数据流图(DFD)是描述逻辑模型的图形工具,它表示数据在系统内的变化。
[点击查看答案]
答:
对
7、总体设计阶段不需要写用户手册。
[点击查看答案]
答:
错
8、内聚设计原则是:
力求高内聚,中等内聚也可以采用,低内聚不要用。
[点击查看答案]
答:
对
9、在面向数据流的设计方法中,系统结构特征可归纳为两种典型形式,即:
变换型结构和事务型结构。
[点击查看答案]
答:
对
10、在面向对象的软件设计中,同一个运算符可以施加于不同类型的操作数上面。
[点击查看答案]
答:
对
五、简答题:
试述改进软件结构设计的指导原则(5点即可)。
(10分)
[点击查看答案]
答:
(1)模块功能的完善化
(2)消除重复功能
(3)将模块的影响限制在模块的控制范围内
(4)深度、宽度、扇出和扇入适中
(5)模块大小适中
(6)降低模块接口的复杂性
(7)模块功能可预测
(8)避免模块的病态连接
(9)根据设计约束和可移植性要对软件打包
六、综合题:
下图为某系统部分数据流图。
试分析其类型,并将其转换成软件初始结构图。
(20分)
[点击查看答案]
答:
该数据流图属于事务型数据流结构,接受部分、事务分析部分和动作部分划分如图1所示。
其对应的软件结构如图2所示。