软件工程试题.docx
- 文档编号:22795261
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:12
- 大小:22.26KB
软件工程试题.docx
《软件工程试题.docx》由会员分享,可在线阅读,更多相关《软件工程试题.docx(12页珍藏版)》请在冰豆网上搜索。
软件工程试题
《软件工程》作业
班级2000(春)计算机本科姓名罗国南学号001000490成绩____________
一、判断题
可行性研究的最根本的任务是对以后的行动方针提出建议。
√
PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。
√
模块的控制域应该在作用域之内。
面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。
√
软件是一种逻辑实体,而不是具体的物理实体。
√
软件测试时经常要输入无效的,不合理的数据进行测试。
√
高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。
√
软件维护的前提是不能失去原有软件的基本功能。
√
Gantt图可以明确地表示出各子任务之间的依赖与制约关系。
×
与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。
×
适应性维护的目的是为了适应计算机软、硬件环境的变化。
√
系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件。
×
工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。
√
在面向对象方法中,对象是进行处理的主体。
√
调试是在测试出错误之后,找到错误的位置并改正的过程。
√
不允许使用GOTO语句是结构程序的特征。
×
面向对象技术的最大优点是减少了软件的开发时间。
×
用盒图和PAD图设计出来的算法必定是结构化的。
√
逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。
√
可行性研究的结果有可能将软件开发项目否定。
√
在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。
×
传统的流程框图不能用来进行结构化程序设计。
×
一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。
√
成功的测试是没有发现错误的测试。
×
改正性维护是改正软件中测试阶段未发现的错误。
×
可行性研究的根本的目的不是解决问题,而是确定问题是否值得去解。
√
软件工程是开发、运行、维护和修复软件的系统方法。
√
软件维护只是增加现行软件的功能和提高性能,而不能减少其功能。
√
在工程网络图中关键路径是子任务最多的路径。
×
在面向对象方法学中,“事件”是瞬时完成的,而“状态”是有持续性的。
√
二、单项选择题
工程网络图中的关键路径是指事件开始的最早时刻相同的事件形成的路径
HIPO技术主要用于系统设计
软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指结构化方法
COCOMO模型可以写成如下形式:
M=C·Kn·f`i式中的f`i表示的是成本因素
软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型是形成于分析阶段
数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是数据定义
软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两阶段,其中总体设计主要是要建立软件结构
软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主要是用于测试软件外部功能
软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据而且也影响软件的可维护性
用PAD图描述的程序结构容易实现自动生成程序。
在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于定义时期
软件测试是保证软件质量的重要措施,它的实施应该是在软件开发全过程
Putanm成本告诉估算模型可写成如下形式:
L=CK·d,该模型是一动态多变量模型。
软件维护一般包括如下作业,其中阅读理解被维护的软件文档不是维护作业。
可以用来描述数据模型的图示工具有Jackson图、Warnier图
系统的结构设计是指将系统分成一个个相对独立的模块
在一个软件中,设计者设计了一个模型,它将所有的外部输入和输出均放在此模型中,该模型的内聚属于逻辑内聚
在面向对象方法学中,功能模型直接反映了用户对目标系统的要求。
从程序中去掉GOTO语句时,需要改动程序中的许多相关部分,这种对程序的修改属于预防性维护
系统测试是软件交付使用前的最终测试,确定错误的确定位置性测试不属于系统测试的范围。
边界值分析的基本思想是边界条件容易发生程序设计缺欠,因此容易发现程序中的错误
在项目计划的进度计划安排过程中,通常使用的图形工具是Gantt图和工程网络图
根据软件工程学的七项基本原则,DOS中把标准输入、输出设备视为文件,这一思想体现了软件工程学的抽象原则。
Gantt图描述的是项目中各子任务的进度安排图
在模块A和模块B,当A和B时,B模块完成原始数据的输入和计算结果的输出功能,这两个模块的偶合形式是控制偶合
编码阶段产生的错误由单元测试检查出来。
可以用来描述数据结构的图示工具有jackson图,warnier图
下列方法中,对绘制数据流图通常采用方法描述最为准确的是自顶向下,分层绘制,逐步求精
从程序中去掉GOTO语句时,需要改动程序中的许多相关部分,这种对程序的修改属于预防性维护
用PAD图描述的程序结构容易实现自动生成程序
软件工程方法学的研究内容包括软件开发技术和软件工程管理两部分,其中期望达到的最终目标是软件开发工程化
软件工程方法中普遍应用的方法之一是结构化生命周期方法(SLC方法),分析控制流程论述不具备有SLC方法的主要特征。
数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,那些是常采用的自顶向下,分层绘制,逐步求精
结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的数据流
软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述主次关系
软件开发常使用的两种基本关系方法是结构化方法和原型化方法,在实际应用中,它们之间的关系常表现为相互补充
原形化方法是一类动态定义需求的方法,下列叙述中,哪一个不具备原型化方法的特征提供严格定义的文档
评审是对软件进行静态测试的一种方法,下述结论中,哪个是与软件评审无关的内容根据评审标准
软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于阅读设计文档
软件危机通常是指在计算机软件开发和维护中所产生的一系列严重问题,这些问题中相对次要的因素是软件性能
软件工程方法是在实践中不屡发展着的方法,而早期的软件工程方法主要是指结构化方法
在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于计划时期
软件工程开发的可行性研究是决定软件项目是否技术继续开发的关键,而可行性研究的结论主要相关于软件系统目标
软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型是形成于分析阶段
数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示软件模型
数据流图的正确性是保证软件逻辑模型正确性的基础,与上述问题相关性较弱的内容是数据守恒
数据流图的正确性是保证软件逻辑模型正确性的基础,与上述问题相关性较弱的内容是均匀分解
三、、填空题
1、生命周期方法学法主要分为以下几个阶段:
问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、测试和软件维护。
2、面向对象方法是一种数据或信息为主线,把数据、和处理相结合的方法。
3、需为了验证需求的正确性,一般应从四个方面进行:
一致性、完整性、现实性、有效性
4、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护类型中以完整性维护所占的维护量最大。
5、软件测试中,发现错误产生的原因依赖于所使用的调试策略,而主要的调试方法包括了:
试探法、回溯法、归纳法、对分查找法和演绎法。
6、软件的详细设计,也称为模块设计,它要求设计人员为每一个程序模块确定:
所使用的算法、指定功能、接口细节和输入、输出数据等。
7、软件的面向数据流的设计方法,利用其定义的映射方法可以把数据流图变换成软件结构:
在映射中,一般将数据流分为变换流和事务流两种。
8、软件模块独立性的两个定性度量标准是偶合和内聚。
9、软件设计方法中的Jackson方法是一种面向数据结构的设计方法。
10、在面向对象方法学中,功能模型直接反映了用户对目标系统的要求。
11、在面向对象方法中,继承是子类自动地共享基内中定义的数据和方法的机制。
12、组成数据流图的四个主要成分是数据的源点/终点,变换数据的处理、数据存储和数据流。
13、生命周期方法学使用的基本技术是结构分析和结构设计技术。
14、在用面向对象方法学开发软件时,通常需要建立三种模型,它们是对象模型、动态模型和功能模型。
15、编码是在详细设计的基础上进行的,其主要任务是将软件的
16、类构件的重用方式有:
实例重用、继承重用和多态重用。
17、模块的耦合性按耦合强弱程度,由弱到强依次是:
非直接耦合、数据偶合、标记耦合、控制偶合、外部耦合、公共耦合、内容耦合。
18、偶然内聚是指模块内各成分之间并不存在有意义的联系。
19、任何单入口和单出口的程度可以只用三种基本的控制结构实现,这三种基本控制结构是顺序、选择和循环。
20、在面向对象方法学中,“方法”就是对象所能执行的操作。
21、JPO图是输入/处理/输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。
22、计算机的发展大致经历了三个阶段:
软件作坊阶段、结构化方法阶段和面向对象方法阶段。
23、在面向对象分析过程中建立对象模型的五项活动是:
找出类一&一对象、识别结构、识别主题、定义属性和定义服务。
24、决定软件可维护性的因素主要有三个,它们是:
软件的可理解性、可测试性和可修改性。
25、从软件开发整个过程来看,工作量最大的是软件开发的:
测试工作阶段。
26、系统流程图是描绘系统的物理模型的传统工具。
27、面向对象测试可以分为四个层次进行:
算法层、类层、主题层和系统层。
28、总体设计过程通常由系统设计和结构设计两阶段组成。
29、可行性研究主要集中在以下四个方面:
经济可行性、技术可行性、法律可行性、抉择(操作可行性)。
30、在面向对象方法学的出发点和基本原则是使描述问题的问题空间和描述解法的解空间在结构上尽可能一致。
四、名词解释
模块化---模块化就是“按照一定原则把程序划分成若干个模块、使每个模块完成一个子功能”。
多态性---是指子对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。
标记偶合---若两个模块至少有一个通过界面传递,如公共参数包含内部结构,如字符串记录,则称这两个模块间存在标记偶合。
归纳法---就是从线索(错误征兆)出发,通过分析线索之间的关系而找出错误或故障。
是一种系统化的思考方法,是从个别推断一般的方法,这种方法主要有:
○收集有关的数据○组织数据○导出假设○证明假设
对象模型---它描述了现实世界中的“类----&---对象”以及它们之间的关系,表示了目标系统的静态数据结构。
在面向对象方法学中,对象模型是对模拟客观世界实体的对象以及对象彼此之间的关系的映射,它描述的是系统的静态结构。
系统流程图---是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里的各个部件(程序、文件、数据库、表格、人工过程等),它表达的是信息在身体系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。
重用---是指同一事物不作修改或稍加改动就多次重复使用。
可划分为三个级别:
○代码重用;○设计结果重用○分析结果重用。
等价类划分法---等价类划分法是用黑盒法设计测试方案的一种技术,是在完全不考虑程序内部的情况下,通过研究程序的功能说明设计测试用例。
消息---消息就是用来请求对象执行某个处理或回答某些信息的要求,是连接对象的纽带。
消息既可以是数据流,又可以是控制流。
或者说消息就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。
通常由三部分组成:
○接收消息的对象○消息选择符○零个或多个变元。
五、论述题
1.简述原型法的基本思想
答:
原型法的基本思想是:
首先建立一个能反映用户主要需求的原型系统,让用户在计算机上运行、试用这个原型系统,通过实践,了解未来系统的概貌,以便用户判断哪些功能符合他们的需要。
针对用户提出的许多修改意见,快速修改原型系统,然后用户再次试用修改后的原型系统,根据用户对第二个原型系统的意见再次修改原型系统。
经过对原型系统的反复试用和改进,最终建立起完全符合用户需要的新系统。
2.简述面向对象方法的要点
答:
面向对象方法具有下述四个要点:
认为客观世界是由各种对象组成的,然后事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。
把所有对象划分成各种对象类,每个对象类都定义了一组数据和一组方法。
按照子类与父类的关系,把若干个对象类组成一个层次结构的系统。
在这种层次结构中,下层的派生类具有和上层的基类相同的特性,低层的特性将屏蔽高层的同名特征。
对象彼此之间仅能通过传递消息相互联系。
3.什么叫渐增式测试并简述它的优缺点
答:
渐增式测试是指把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。
这种每次增加一个模块的方法称为渐增式测试。
优缺点如下:
由于渐增式的测试方法是利用已测试过的模块作为部分测试软件,因此编写测试软件的工作量比较小。
渐增式测试可以较早发现模块间的接口错误。
如果发现错误,渐增式测试方法较易查找错误原因。
因为如果发生错误往往和最近加进来的那个模块有关。
渐增式测试方法把已经测试好的模块和新加进来的那个模块一起测试,已测试好的模块可以在新的条件下受到新的检验,使程序的测试更彻底。
由于测试每个模块时已经测试完的模块也要跟着一起运行,因此,渐增式测试需要较多的机器时间。
使用渐增式测试方法不可以并行测试所有模块,因此不能充分利用人力,工程进度可能较慢。
4.简述面向数据结构的程序设计方法的特点
答:
面向数据结构的程序设计方法是一种设计程序技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。
5.程序的注释分为哪两类各有什么特点
答:
程序的注释分为两类,一类为序言性注解:
简要描述模块的功能,主要算法、接口特点、重要数据以及开发简史;二类为程序代码注解:
主要解释包含这段代码的必要性。
什么是软件维护软件维护通常包括哪四类活动
答:
所谓软件维护是指在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
软件维护是软件生命周期的最后一个阶段,也是持续时间最长代价最大的一个阶段。
软件维护通常包括四类活动:
为了纠正在使用过程中暴露出来的错误而进行的改正性维护;为了适应外部环境的变化而进行的适应性维护;为了改进原有的软件而进行的完善性维护;以及为了改进将来的可维护性和可靠性或为了给未来的改进奠定更好的基础而修改软件而进行的预防性维护。
分析结构化技术开发出的软件的缺点
答:
结构化技术开发出的软件的缺陷:
由于结构化分析、设计技术的本质是功能分析和功能分解,是围绕实现处理功能的“过程”来构造系统。
它采用自顶向下的方法把系统复杂的处理层层分解为子处理,直到分解出的子处理十分简单并且功能明显,才停止分解并写出各个最低层处理的处理描述。
用这种方法构造的软件结构紧密依赖于系统所要完成的功能,当用户的需求发生变化时,就会导致系统结构的巨大变化,并且需要花费较大代价才能实现这种变化。
故软件系统的稳定性较差。
由于结构化技术清楚地定义了目标系统的边界,软件的系统结构依赖于对系统边界的定义,因此,软件系统较难修改和扩充。
结构分析、设计技术,把系统复杂的处理分解为子处理的过程带有任意性,不同的开发人员开发相同的系统时,可能分解出不同的软件结构。
同时结构化技术本质上把数据和操作作为分离的实体,致使一些具有潜在可重用价值的软件部分变得和具体应用环境密不可分,因此,软件系统的可重用性较差。
为了克服传统方法的缺点,人们在实践中逐渐创造出快速原型法和面向对象方法等软件工程的新途径。
什么是演绎法并简述演绎法调试的步骤
答:
演绎法从一般原理或前提出发,经过删除和精化的过程推导出结论。
演绎法主要有下四个步骤:
1)设想可能的原因;2)用已有的数据排除不正确的假设;3)精化余下的假设;4)证明余下的假设。
六、应用题
如图所示的数据流图。
请判定该数据流图上的数据流是事物流还是变换流
将该数据流图映射成软件结构图
有下面的一段程序逻辑:
利用白盒测试法按如下覆盖标准设计最小测试用例。
语句覆盖
判定覆盖
条件覆盖
判定条件覆盖
条件组合覆盖
如图所示的程序流程框图。
判定该程序流图代表的是一个非结构化的程序还是一个结构化的程序
若是非结构化程序,请设计一个等价的结构化程序
用盒图描述你在本题中所设计的结构化程序
请从下面的描述中找出绘制取数据流图的四种成分并绘制数据流图。
储户将填写好的取款单及存折交给储蓄所柜台出纳员。
出纳员核对储户帐户后,将不合格的存折和取款单退回储户。
对合格的存折和取款单,出纳员首先修改储户帐、现金帐和存帐,然后通知付款,并将存折、现金交还储户。
某学校对学生成绩的评定办法为:
若期未考试成绩大于等于90分,作业情况为好的,成绩定为优,而作业情况为差的,成绩定为良;若期未考试成绩大于等于75分,作业情况为好的,成绩定为良,而作业情况为差的,成绩定为及格;若期未考试成绩大于等于60分,作业情况为好的,成绩定为及格,而作业情况为差的,成绩定为不合格;若期未考试成绩小于60分,成绩定为不及格,请绘制成绩评定判定树。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)