太原理工大学软件工程复习题.docx
- 文档编号:26272402
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:19
- 大小:335.37KB
太原理工大学软件工程复习题.docx
《太原理工大学软件工程复习题.docx》由会员分享,可在线阅读,更多相关《太原理工大学软件工程复习题.docx(19页珍藏版)》请在冰豆网上搜索。
太原理工大学软件工程复习题
软件工程复习题
、单选题
1软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是(C)
A模块高内聚B模块低耦合C模块独立性D程序模块化
2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?
(D)
A产生危机B质量保证C开发效率D生产工程化
3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于(A)
A软件系统目标B软件的性能
C软件的功能D软件的质量
4、软件需求分析一般应确定的是用户对软件的(D)
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试
计划的制订应始于软件开发的哪个阶段?
(D)
A.需求分析B.软件设计C.程序编码D.软件计划
6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指(B)
A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法
7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.(A)
10、从()语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代
11、在下面列出的基本成分中,哪个不是实体关系图的基本成分?
()
12、结构化程序设计主要强调程序的(C)
A.效率B.速度C.可读性D.大小
13、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为(A)
14、软件开发的结构化分析方法,常用的描述软件功能需求的工具有(C)
A业务流程图,数据字典B.软件流程图,模块说明
C.数据流图,数据字典D.系统流程图,程序编码
15、结构化程序设计思想的核心是要求程序只由顺序、循环和(A)三种结构组成。
A.分支B.单人口C.单出口D.有规则GOTO
16、确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明称为结构化方法中的(D)
17、.在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?
(A)
A.总体设计B.需求分析C.详细设计D.编程调试
18、在软件结构化设计中,好的软件结构设计应该力求做到(B)
A.顶层扇出较少
,中间扇出较高,底层模块低扇入
B.顶层扇出较高
,中间扇出较少,底层模块高扇入
C顶层扇入较少
,中间扇出较高,底层模块高扇入
D.顶层扇入较少
,中间扇入较高,底层模块低扇入
19、在软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主
要是用于测试(B)
22、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究
的结论主要相关于(A)
A.软件系统目标B.软件的可测试性C.软件的功能D.软件的质量
23、结构化程序设计理论认为,实现良好的程序结构要应用(A)的分析方法。
A.自顶向下B.自底向上C.面向对象D.基于组件
24、在下面列出的基本成分中,哪个不是数据流程图的基本成分?
.(D)
耦合度最高的是.(A)
27、在软件工程中,软件测试的目的是(B
A.接口描述
B.数据的组织
29、需求分析的主要任务是(B)
A.确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明
B.分析用户要求,将软件功能和性能描述为具体的规格说明书
C.对问题定义阶段所确定的问题实现的可能性和必要性做出研究
D.建立软件系统的总体结构,子系统划分,并提出软件结构图
30、软件结构中,由一模块直接调用的其他模块数称为
软件结构?
(B)
33、软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是(B)
A.设计人员和用户B.分析人员和用户
C.分析人员和设计人员D.编码人员和用户
34、数据字典是对数据定义信息的集合,它所定义的对象都包含于(A)
A数据流图B.程序框图C.软件结构D.方框图
35、判定树和判定表是用于描述结构化分析方法中(B)环节的工具。
36、在结构图这种概念模式中,矩形框代表(B)
D•系统软件与应用软件的联系越来越困难
42、软件设计中,可应用于详细设计的工具有(A)
A.程序流程图、PAD图、N-S图和伪码B.数据流程图、PAD图、结构图和伪码
C.业务流程图、N-S图和伪码
D.数据流程图、PAD图、N-S图和伪码
43、程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意(C)
A支持逐步求精B考虑控制流程C•遵守结构化程序设计原则D.数据结构表示
44、在软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是建立(A)
A.计划阶段B.开发阶段
C.运行阶段
D.维护阶段
47、在软件的分析阶段,常用(C)来描述业务处理系统的信息来源、存储、处理和去向。
48、与设计测试数据无关的文档是(D)
A.DFD图
B.PAD图
C.IPO图D.数据字典
统模型。
51、在软件工程中,高质量的文档标准是完整性、一致性和(C)
A.统一性B.安全性C无二义性D.组合性
52、结构图中,带有注释的小箭头表示(B)
A.模块B.调用C•数据D.模块间判断
53、下列叙述中不是关于有利于软件可维护性的描述是(C)
A.在进行需求分析时应考虑维护问题
B.使用维护工具和支撑环境
C•在进行总体设计时,应加强模块之间的联系
D.重视程序结构的设计,使程序具有较好的层次结构
54、软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?
(B)
A软件结构B模块算法C制定测试计划D数据库设计
55、由事务型数据流图映射为软件结构的设计首先应设计一个(A),它有两个功能,接收事务数据,另一个是根据事务类型调度相应的处理模块。
总控模块B事务中心C变换中心D接收分支
56、软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是()
A.减少测试工作量B.避免后期付出高代价
C.保证软件质量D.缩短软件开发周期
57、软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于(C)
A.开发阶段B.计划阶段
C•分析阶段D.设计阶段
、填空题
1、在结构化分析中,用于详细地定义数据流图中的成分。
(数据字典)
2、耦合性和内聚性是衡量的两个定性的标准。
(模块独立性)
3、提高程序的可理解、可修改、可测试的程度,就意味着增强软件件的。
(可维护性)
4、从数据流图导出初始模块结构图,主要是通过两项技术。
(变换和事务)
5、结构化程序设计是一种程序设计技术,它采用的设计方法和顺序、选择、循环三
种基本控制结构构造常态程序。
(自顶向下、逐步求精)
6、结构化分析方法中,数据流图的四种基本成分为:
加工、源点或终点。
(数据流和文件)
7、从模块内外的联系来看,结构化设计的要求是。
(模块内联系大、模块间联
系小)
8、在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。
通常问题简述中的动词短语
将成为数据流图中的成分。
(加工)或处理
9、如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为
耦合。
(数据)
10、如果按用户要求增加新功能或个性已有的功能而进行的维护工作,称为。
(完
善性维护)
11、在系统设计时,当数据流图中数据的流动路径几乎是线性时,应采用策略设计
系统结构图。
(变换中心)
12、由底向上渐增式是在测试层次结构的大型软件时常用的一种方法。
用由底向上渐增式方法对软
件进行测试时,需要为每个模块准备一个,它的作用是调用被测的模块。
(驱动模
块)
13、现有一个计算类型的程序,它的输入只有一个Y,其范围是一50WYW50。
现采用黑盒法进行
测试,设计了一组测试用例:
—100,100,0。
设计这组测试用例的方法是。
(等
价类划分法)
14、现有一种软件开发方法,它将软件开发过程分成以下阶段:
需求分析、原型开发和评价、系统
设计和系统实现。
这种软件开发方法称为。
(原型法)
15、如果某个程序的输入数据的可能值划分为n个合理等价类、m个不合理等价类,这些等价类均
为数轴上的一个有限范围,则采用边缘值测试方法至少需要个测试用例。
(2(m+n))
16、模块内部的算法设计在结构化方法的阶段进行。
(详细设计)
17、在数据流图中,用以表示软件系统之外的人员、设备等外部实体的基本成分(元素)称为
。
(外部项)
18、一个模块直接用另一个模块内部的代码和数据的模块间接的耦合方式称为耦
合。
(内容)
19、
测试解决的主要问题是模块间接口和连接的测试。
(集成)
20、
一般来说,在管理软件中,软件生存周期各个阶段的工作量以
__阶段所占的比
例最大。
(维护)
21、
定性度量模块独立性的两个标准是内聚性和
___。
(耦合性)
22、
改正性维护中,根据文档是提供的测试用例,重新对修改部分进行的测试称为
测试。
(回归)
23、
在模块结构图中,直接调用某一模块的其他模块数称为该模块的
。
(扇入数)
24、
在测试中,主要测试详细设计和编码实现阶段中的错误。
(单元)
25、
软件能被理解、被修改、被测试的易难程度称为
__性。
(可维护)
26、选择足够的测算数据,使得判定中的每个条件获得各种可能的值的测试用例产生的方法称为
覆盖。
(条件)
27、如果一个软件系统完成从卡片机上读入一叠卡片,检查卡片的信息是否合理,然后对旧文件进
行修改,产生一个修改过的新文件,并被修改的记录打印成一份报告。
对此系统的数据流图,应采用
设计策略,导出模块结构。
(变换流)
28、若模块内的各处理元素都在同一时间间隔内执行完成,这种模块内元素间的联系称为
内聚。
(时间)三、名词解释
1、软件2、软件工程3、数据字典4、模块化5、类:
6、软件危机7、软件维护8、继承9、投资回收期10、结构化分析方法
11、软件的生命周期12、投资回收期13、结构化分析方法14、模块15、宽度16、事务流17、耦合18、事件19、函数重载20、存根模块
21、变换流22、内聚23、扇出24、多态性25、驱动模块
四、简答题
1、软件生命周期分为哪三个时期?
每一时期所完成的基本任务是什么?
2、简述需求分析阶段的具体任务有哪些?
3、什么是结构化程序设计?
结构化程序设计采用几种控制结构?
4、程序设计语言的特点?
5、软件测试的基本任务是什么?
测试与调试的区别是什么?
6、管理复审与技术审查的任务是什么?
7、可行性研究的步骤?
8、从哪些方面验证软件需求的正确性?
9、对象的特点?
10、用面向对象方法开发软件时,通常需要建立哪三种形式的模型?
11、什么是模块的作用域?
什么是模块的控制域?
12、简述两种不同集成测试策略的比较?
13、什么是类?
类与对象间是什么关系?
14、面向对象方法特征有哪些?
15、可行性研究的目的?
应该从哪些方面研究目标系统的可行性?
16、什么是软件工程?
构成软件工程的要素是什么?
17、简述软件测试的步骤?
18、对象有哪几种定义?
19、类—&—对象间的关系可以概括为哪三种?
20、简述渐增模型的特点?
21、总体设计的过程如何?
22、有几种效益的分析方法?
23、面向对象方法的主要优点有哪些?
复习题参考答案
三、名词解释
1、软件:
在计算机系统中,与硬件相互依存的逻辑部件,它由程序、数据及相关文档组成。
2、软件工程:
是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
3、数据字典:
是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
4、模块化:
是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集总起来组成一个整体,可能完成指定的功能满足问题的需求。
5、类:
对具有相同数据和相同操作的一组相似对象的定义。
6、软件危机:
是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
7、软件维护:
在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程.
8、继承:
子类自动地共享基类中定义的数据和方法的机制.
9、投资回收期:
就是使累计的经济效果等于最初投资的需要的时间。
10、结构化分析方法:
就是面向数据流自顶向下逐步求精进行需求分析的方法。
11、软件的生命周期:
一个软件从定义、开发、使用和维护,直到最终被废弃所经历的一系列时期。
12、投资回收期:
就是使累计的经济效果等于最初投资的需要的时间。
13、结构化分析方法:
就是面向数据流自顶向下逐步求精进行需求分析的方法。
14、模块:
数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问。
15、宽度:
是软件结构内同一个层次上的模块总数的最大值。
16、事务流:
数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。
这类数据流应该划分为一类特殊的数据流,称为事务流。
17、耦合:
衡量不同模块彼此间互相依赖的紧密程度。
18、事件:
是某个特定时刻所发生的事情,它是对引起对象从一种状态转换到另一种状态的现实世界中的事件的抽象。
19、函数重载:
指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字。
20、存根模块:
用以模拟被测模块运行过程中所调用模块或是被测模块下层模块的替代程序。
21、变换流:
信息沿输入通呼进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统,当数据流图具有这些特征时,这种信息流就叫变换流。
22、内聚:
衡量一个模块内部各个元素彼此结合的紧密程度
23、扇出:
是一个模块直接控制的模块数目。
24、多态性:
子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。
25、驱动模块:
用以模拟被测模块的上级调用模埠,或向被测模块输以数据输出一些必要信息,调用被测模块。
四、简答题
1、答:
软件定义时期,开发时期,维护时期。
定义时期的任务:
问题定义;可行性研究;需求分析。
开发时期的任务:
总体设计;详细设计;编码与单元测试;综合测试。
维护时期的任务:
使软件持久地满足用户的需要。
2、答:
软件定义时期,开发时期,维护时期。
定义时期的任务:
问题定义;可行性研究;需求分析。
开发时期的任务:
总体设计;详细设计;编码与单元测试;综合测试。
维护时期的任务:
使软件持久地满足用户的需要。
3、答:
结构程序设计:
是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。
顺序,选择,循环。
4、答:
1、名字说明2、类型说明3、初始化4、程序对象的局部性5、程序模块
6、循环控制结构7、分支控制结构8、异常处理9、独立编译
5、答:
任务是在软件投入生产性运行之前,尽可能多地发现软件中的错误。
与测试的区别:
测试是为了发现软件中的错误,而调试是诊断并改正错误。
6、管理复审:
复查各个阶段的经费、开销、成本以及进度,投资回收期前景的展望。
技术审查:
对每个阶段进行严格的审查,从而保证了各个阶段技术的正确性,防上错误的积累和复审。
7、答:
(1)复查系统规模和目标。
(2)研究目前正在使用的系统。
(3)导出新系统的高层逻辑模型。
(4)重新定义问题。
(5)导出和评价供选择的解法。
(6)推荐行动方针。
(7)草拟开发计划。
(8)书写文档提交审查
8、答:
(1)一致性,即所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。
(2)完整性,需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。
(3)现实性,指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。
(4)有效性,必须证明需求是正确有效的,确实能解决用户面对的问题。
9、对象的特点?
答:
(1)以数据为中心。
(2)对象是主动的。
(3)实现了数据封装。
(4)本质上具有并行性。
(5)模块独立性好。
10、答:
(1)描述系统数据结构的对象模型。
(2)描述系统控制结构的动态模型。
(3)描述系统功能的功能
模型。
11、答:
模块的作用域定义为受该模块内一个判定影响的所有模块的集合。
模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合。
12、答:
自顶向下测试方法主要优点是不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要
功能,而且能在早期发现上层模块的接口错误。
自顶向下测试方法的主要缺点是需要存根程序,可能遇到与
此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。
自底向上测试言法的优缺点与自顶向下测试方法的优缺点刚好相反。
13、答:
类是对具有相同数据和相同操作的一组相似对象的定义。
类是对具有相同属性和行为的一个或多个
对象的描述,而对象是某个特定类所描述的一个具体对象。
14、答:
(1)客观世界是由各种对象组成的。
(2)所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。
(3)按照子类与父类的关系,把若干个对象类组成一个层次结构的系统。
(4)对象彼此之间仅能通过传递消息互相联系。
15、答:
用最小的代价在尽可能短的时间内确定问题是否能够解决。
(1)技术可行性
(2)经济可行性(3)操作可行性(4)法律可行性
16、答:
软件工程:
是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
要素是:
方法、工具、过程。
17、答:
(1)模块测试
(2)子系统测试(3)系统测试(4)验收测试(5)平行运行
18、答:
(1)对象是具有相同状态的一组操作的集合。
(2)对象是对属性值和操作的封装。
(3)对象:
:
= MS,DS,MI>ID: 是对象的标识或名字MS是对象中的操作集合 DS: 是对象的数据结构MI: 是对象受理的消息名集合 19、答: 1、归纳关系: 它反映了一个类与若干个互不相容的子类之间的分类关系。 2、组合关系: 它反映了对象之间的构成关系。 3、关联关系: 反映对象之间相互依赖、相互作用的关系。 20、答: (1)在整个开发过程中需求都可能有变化。 (2)对应用领域不熟悉。 (3)高风险项目(4)用户完全参与到整个开发过程中。 (5)使用面向对象语言或第四代语言。 21、答: (1)设想供选择的方案。 (2)选取合理的方案。 (3)推荐最佳方案。 (4)功能分解。 (5)设计软件结构。 (6)数据库设计。 (7)制定测试计划(8)书写文档(9)审查和复审 22、答: (1)货币的时间价值 (2)投资回收期(3)纯收入(4)投资回收率 23、答: (1)与人类习惯的思维方法一致。 (2)稳定性好。 (3)可重用性好。 (4)可维护性好。 1•为什么要进行软件测试? 软件测试的主要手段有哪几种解: .对一个软件系统,尤其是规模大、复杂性高的大型软件系统,虽经过了分析、设计和编程阶段但仍会存在错误。 为了保证软件系统的质量,就要对软件系统进行检验和测试。 •软件测试的手段有三类: 动态检查、静态检查和正确性证明。 2.为什么要进行软件评审? 怎样有效地进行软件评审? 解: .进行软件评审主要是人工阅读文档或程序,从而发现其中的错误,这对软件的成功是绝对必要的。 •评审组长在评审会举行前1至2周将评审材料(文档或程序)发给评审员,要求各人仔细阅读,评审员阅毕应给评审组长一个书面通知证实已读过所有材料。 3.软件测试的基本原则是什么? 解: 测试阶段应注意的一些基本原则: 1)测试用例应该由以下两部分组成: 输入数据。 预期的输岀结果。 2)不仅要选用合理的输入数据作为测试用例,还应选用不合理的输入数据作为测试用例。 3)除了检查程序是否做了它应做的工作之外,还应检查程序是否还做了它不应做的事情。 4)应该长期保留所有的测试用例,直至这个程序系统被废弃不用为止。 4•采用白盒法进行测试时,测试用例覆盖路径的种类有哪几种? 它们相互之间是什么关系? 解: •采用白盒法进行测试时,测试用例覆盖路径的种类有: 语句覆盖。 判定覆盖。 条件覆盖。 判定/条件覆盖。 条件组合覆盖。 *它们相互之间的关系: 语句覆盖”是很不充分的一种标准。 判定覆盖”比语句覆盖”严格,因为如果每个分支都执行过了,则每个语句也就执行过了。 而判定覆盖则 条件覆盖”比“判定覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果, 不保证这一点。 满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。 5.采用黑盒法进行测试时,怎样设计测试用例? 解: 采用黑盒法进行测试时,它不关心程序内部的逻辑,而只是根据程序的功能说明来设计测试用例。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原 理工大学 软件工程 复习题