软件工程第一套样本.docx
- 文档编号:4058146
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:9
- 大小:23.02KB
软件工程第一套样本.docx
《软件工程第一套样本.docx》由会员分享,可在线阅读,更多相关《软件工程第一套样本.docx(9页珍藏版)》请在冰豆网上搜索。
软件工程第一套样本
第一张
1瀑布模型把软件生命周期划分为八个阶段:
问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:
计划阶段、开发阶段和运行阶段。
2从结构化的瀑布模型看,在它的生命周期的八个阶段中,需求分析阶段环节出错,对软件的影响最大。
3在结构化的瀑布模型中,需求分析阶段定义的标准将成为软件测试中的系统测试阶段的目标。
4软件工程的出现主要是由于软件危机的出现。
5软件工程方法学的目的是:
使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。
6软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为,相互补充。
7UML是软件开发中的一个重要工具,它主要应用于基于对象的面向对象的软件开发方法。
8原型化方法对软件设计和开发人员的开发要求最高。
9结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的数据流。
10软件开发的结构化生命周期方法将软件生命周期划分成计划阶段、开发阶段、运行阶段。
11软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为瀑布模型。
12软件开发的瀑布模型,一般都将开发过程划分为:
分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是编码阶段。
13软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。
螺旋模型将瀑布模型和演化模型相结合,并增加了风险分析,它建立在原型的基础上,沿着螺线自内向外每旋转一圈,就得到原型的一个新版本。
喷泉模型描述了面向对象的开发模型,它体现了这种开发方法创立软件的过程所固有的递归和开发各阶段之间无”间隙”的特征。
第二章
1在软件的可行性研究中,能够从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是技术可行性。
2在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是参与人员之间的通信困难。
3制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是规划与调度。
第三章
1在软件需求规范中,执行要求能够归类为过程要求。
2在软件需求分析和设计过程中,其分析与设计对象可归结成两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该先数据后程序。
3结构化程序设计不是软件需求分析的任务。
4进行需求分析可使用多种工具,但PAD图是不适用的。
5在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是要让软件做什么。
6软件需求分析阶段的工作,能够分为四个方面:
对问题的识别.分析与综合.编写需求分析文档以及需求分析评审。
7各种需求分析方法都有它们共同适用的基本原则。
8数据流图是常见的进行软件需求分析的图形工具,其基本图形符号是加工.数据流.数据存储和外部实体。
9判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是组合条件。
10事务分析和变换分析的设计步骤是基本相似的。
11决定大型程序模块组织的基本原则的两种交替设计策略为数据分解和算法分解。
12在程序的描述与分析中,用以指明数据来源.数据流向和数据处理的辅助图形是数据流图。
13数据流图是用于表示软件模型的一种图示方法,自顶向下,分层绘制,逐步求精是常采用的绘制方法。
14结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,其中判定树,判定表便于对加工出现的组合条件的说明。
15加工是对数据流图中不能再分解的基本加工的精确说明,加工逻辑是加工的最核心。
16在结构化分析方法中,用以表示系统内数据的运动情况的工具有数据流图。
17在结构化分析方法中,用状态--迁移图表示系统或对象的行为。
在状态--迁移图中,由一个状态和一个事件所决定的下一个状态可能会有多个。
18在软件开发过程中常见图作为描述工具。
DFD就是面向数据流分析方法的描述工具。
在一套分层DFD中,如果某一张图中有N个加工(process),则这张图允许有0~N张子图。
在一张DFD图中,任意两个加工之间能够有0或多条名字互不相同的数据流。
在画分层DFD时,应注意保持父图与子图之间的平衡。
DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为变换流和事务流两大类。
19软件需求说明书是软件需求分析阶段的重要文件,数据描述,.功能描述,性能描述是其应包含的内容。
20软件需求规格说明书的内容不应该包括对算法的详细过程描述。
21软件需求说明书在软件开发中具有重要作用,但其作用不应该包括软件可行性分析依据。
第五章
120世纪60年代后期,由Dijkstra提出的,用来增加程序设计的效率和质量的方法是结构化程序设计。
2PAD图的控制执行流程为自上而下、从左到右。
3一个程序如果把它作为一个整体,它也是只有一个入口、一个出口的单个顺序结构,这是一种组合的过程。
4软件详细设计主要采用的方法是结构化设计。
5PDL是伪码式语言。
6在下述情况下,从供选择的答案中,选出合适的判定表描述工具。
当算法中需要用一个模块去计算多种条件的复杂组合,并根据这些条件完成适当的功能。
7面向数据流的设计方法把控制结构映射成软件结构。
8Jackson方法根据数据结构来导出程序结构。
9Jackson方法主要适用于规模适中的数据处理系统的开发。
10详细设计常见的三种工具是图形、表格、语言。
第六章
1最早用于科学计算的程序设计语言是(FORTRAN语言)。
2(C)语言提供指针且不存在布尔类型,而且它广泛应用于系统程序设计语言
3适合在互联网上编写程序可供不同平台上运行的面向对象程序设计语言是(JAVA)。
4在解决人工智能上使用最多的有非常强的表处理功能的函数程序设计语言是(LISP)。
520世纪50年代以来,出现了许多不同的程序设计语言,请回答下列有关计算机语言的问题:
(汇编语言)是低级语言;(FORTRAN)语言是高级语言;(SQL)语言是描述性(说明性)语言;(SMALLTALK)是面向对象的语言;在商业系统的开发中应用最广的语言(COBOL语言)。
6程序设计语言一般简单来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,具有(运行效率高,开发效率低)特点。
7尽管高级语言比低级语言更容易理解,而且易于对高级语言编写的程序进行维护和升级,但在(对时间和空间有严格要求)的场合,还经常全部或部分地使用低级语言。
8在低级语言中,汇编语言与机器语言十分接近,汇编语言使用了(助记符号)来提高程序的可读性。
9高级语言有很多种类,PROLOG是一种(逻辑)型语言。
10PROLOG语言的特点是,它具有很强的(逻辑推理)能力。
11软件语言是指用于书写计算机软件的语言。
它主要包括需求定义语言、功能性语言、设计性语言、程序设计语言和文档语言等,请回答下列有关程序设计语言的问题。
(PDL)是一种典型的设计性语言,常见于详细设计。
(Z)语言是一种功能性语言,它是以(一阶谓词演算)理论为基础的一种规约语言。
程序设计语言用于书写计算机程序,它包括语法、语义和(语用)三个方面。
程序设计语言又可分为过程式语言和非过程式语言,如(PROLOG和RPG)就是典型的非过式语言。
在工业自动化控制中,最常见的高级语言是(PL/I)。
专家系统中,最常见的高级语言是(PROLOG)。
12人们在使用高级程序设计语言编程时,首先可经过编译程序发现源程序中的全部(符号错误,)及部分(语法错误),然后可采用(诊断),来发现程序中的运行错误和采用(设计错误)来确定错误的位置,(逻辑错误)是泛指用户在验收中发现的结果与需求不符的错误。
13为了提高程序的运行速度,有时采用以存储空间换取运行速度的方法。
14在高级语言中,子程序调用语句中的(实际参数)在个数、类型、顺序方面都要与子程序说明中给出的(形式参数)相一致。
用高级语言编写的程序经编译后产生的程序叫(目标程序)。
用不同语言编写的程序产生(目标程序)后,可用(连接程序)连接在一起生成机器可执行的程序。
在机器里真正执行的是(机器指令代码)。
15计算机的低级程序语言有(汇编语言),计算机的高级程序语言有(PASCAL),第四代程序设计语言(4GL)有(SQL)。
称一种语言为低级程序语言是由于它(离机器特性近),而高级程序语言(必须经过编译或解释才能执行)。
16请回答下列有关C++语言的问题。
在C++语言中引进了类的概念。
类的定义包括类名、类的说明和类的实现。
(类的说明)是类的外部接口,(类的实现)是类的内部表示,类具有(封装性,继承性,多态性)。
有了(封装性)能够隐藏类对象内部实现的复杂细节,有效地保护内部所有数据不受外部破坏;(继承性)增强了类的共享机制,实现了软件的可重用性,简化系统的开发工作;(多态性)可实现函数重载和运算符重载。
17各种程序设计语言中都有多种数据类型,纯量数据类型和结构数据类型是两大基本数据类型。
例如,(实型、布尔型和指针)等都是前者,而(实型、布尔型和指针)(这有问题)都是后者。
子程序一般分为两类:
(过程)和(函数),前者是命令的抽象,后者是为了求值。
一些重要的程序语言(如C和PASCAL)允许过程的递归调用。
一般见(栈)来实现递归调用中的存储分配。
第七章
1黑箱测试是从(用户)观点的测试,白箱测试是从(开发人员)观点的测试。
2软件测试可能发现软件中的(错误),但不能证明软件(没有错误)。
3软件测试的目的是(尽可能多的发现软件系统中的错误)。
4软件测试是软件质量保证的主要手段之一,测试的费用已超过(软件开发费用)的30%以上,因此提高测试的有效性非常重要。
5为了把握软件开发各个环节的正确性和协调性,人们需要进行(确认)和(验证)工作。
(确认)的目的是想证实在一给定的外部环境中软件的逻辑正确性,它包括(需求规格说明的确认)和(程序的确认)。
(验证)则试图证明在软件生存期各个阶段,以及阶段间的逻辑(协调性)(完备性)和正确性。
6为了提高测试效率,应该(选择发现错误可能性大的数据作为测试数据)。
7使用白箱测试方法时确定测试数据应根据(程序的内部逻辑)和指定的覆盖标准。
8白箱测试方法重视(测试覆盖率)的度量。
9黑箱测试法根据(软件要完成的功能)设计测试用例。
10在软件工程中,白箱测试方法可用于测试程序的内部结构。
此方法将程序可作为(路径的集合)。
11在软件测试中,逻辑覆盖标准主要用于(白箱测试方法)。
12测试覆盖最弱的是(语句覆盖)。
13软件的集成测试工作最好由(不属于该软件开发组的软件设计人员)承担,以提高集成测试的效果。
14集成测试的主要方法有两个,一个是(渐增式测试方法、一个是非渐增式测试方法)。
15验收测试的任务是验证软件的(有效性)。
16检查软件产品是否符合需求定义的过程为(确认测试)。
17据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中单元测试是在(编码阶段)阶段完成的。
其中组装测试的计划是在(概要设计)阶段完成的。
18软件测试的目的是尽可能发现软件中的错误,一般(单元测试)是代码编写阶段可进行的测试,它是整个测试工作的基础。
19软件测试一般可分为单元测试、集成测试、确认测试和系统测试,其中确认测试主要用于发现(需求分析)阶段的错误。
在集成测试时,一般可采用自顶向下增值式集成和自底向上增值式集成。
在自底向上增值式集成时,对每个被集成的模块(要设计驱动模块,但不必设计桩模块)。
对那些为众多用户开发的软件(如操作系统、编译程序),一般还要进行α测试和β测试,以发现可能只有最终用户才能发现的错误,其中,α测试是指最终用户在(开发环境下,开发人
员在场)的情况下所进行的测试,β测试是指最终用户在(用户的实际使用环境下,开发人员不在场的情况下所进行的测试)。
在软件维护阶段,当修改软件后,除了进行常规的测试外,还应进行(回归)测试。
供选择的答案
20集成测试也叫做(组装测试)和(联合测试)一般在(单元测试)的基础上,将所有模块按照设计要求组装成系统。
子系统的集成测试称为(部件测试),它所做的工作是要找出子系统和系统需求规格说明之间的(不一致)。
需要考虑的问题是在各个模块连接起来的时候,穿越模块接口的数据是否会(丢失);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(子功能)组合起来,能否达到预期要求的(H父功能);(全局数据结构)是否有问题;单个模块的误差积累起来是否会放大。
21在软件测试中,”高产”的测试是指?
(用少量的测试用例发现被测试程序中尽可能多的错误)。
22在设计测试用例时,(等价类划分)是用得最多的一种黑箱测试方法。
在黑箱测试方法中,等价类划分方法设计测试用例的步骤是
①根据输入条件把数目极多的输入数据划分成若干个有效等价类和若干个无效等价类。
②设计一个测试用例,使其覆盖(尽可能多的)尚未被覆盖的有效等价类,重复这一步,直至所有有效等价类均被覆盖。
③设计一个测试用例,使其覆盖(1WH)尚未被覆盖的无效等价类,重复这一步,直至所有无效等价类均被覆盖。
因果图方法是根据(条件与结果)之间的因果关系来设计测试用例的。
在实际应用中,一旦纠正了程序中的错误后,还应选择部分或全部原先已测试过的测试用例,对修改后的程序重新测试,这种测试称为(回归测试)
第八章
1软件生命周期的最后的一个阶段是(软件维护)
2软件维护工作的最主要部分是(完善性维护)
3在软件维护工作中进行的最少的部分是(预防性维护)
4软件维护工作中大部分的工作是由于(用户的需求改变)而引起的。
5软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为改正性维护
6软件的可维护性变量可分解为对多种因素的度量,可测试性、可理解性、可修改性是可维护度量的内容。
7软件维护是保证软件正常,有效运行的重要手段,而软件的下述特性:
可测试性、可理解性、可修改性、可移植性这些都有利于软件维护。
8在软件生命周期中,(维护)阶段所占工作量最大,约占70%。
9软件维护大致上可分为四种类型,(可靠性)不属于其中
10软件维护指的是(对软件的改进、适应和完善)
11软件的可维护性度量可分解为对多种因素的度量,可测试性、可理解性、可修改性、可复用性是可维护性度量的内容、
12软件工程学是指导计算机软件开发和(软件维护)的工程学科。
13(易用性)不是人们常见的评价软件质量的四个因素之一。
14软件系统的可理解性的提高,会导致软件系统(可维护性)的提高
15软件产品质量是生产者和用户都十分关心的问题,质量管理只看到产品的质量,近年来质量管理向(过程质量的控制)发展,重要的基本假设是过程的质量直接影响产品的质量。
16国际标准化组织和国际电工委员会发布的关于软件质量的标准中规定了(6个)质量特性及相关的21个质量子特性。
17ISO/IEC规定的6个质量特性包括功能性、可靠性、可使用性、效率、(可维护性)和可移植性等。
18ISO/IEC9126-1991规定的6个质量特性21个质量子特性,其中可测试性属于(可维护性)
19一般把软件交付使用后做的变更称为维护,软件投入使用后的另一项工作是软件再工程针对这类软件实施的软件工程活动,主要是对其重新实现,使其具有更好的(可维护性),包括软件重构、重写文档等。
20软件生存期(每个阶段)阶段的工作都与软件可维护性有密切的关系。
21软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、(扩充与压缩)的容易程度。
22当前广泛使用7个特性来衡量软件的可维护性,(一致性、数据无关性)特性不属于衡量软件可维护性的范围?
23当前广泛使用7个特性来衡量软件的可维护性,可测试性,可靠性和可理解性主要在(校正性维护)侧重应用。
24对于软件产品来说,有4个方面影响着产品的质量,即开发技术、过程质量、人员素质及(成本、时间和进度)等条件。
25重视软件过程质量的控制,其部分原因是,相对于产品质量的控制来说,过程质量的控制是先期的、主动的、(系统的),而产品质量的控制是事后的、被动的、个别的。
26McCall提出了表明软件质量的11个质量特性。
它们是正确性、可靠性、可使用性、完整性、(可维护性、灵活性)可移植性、可复用性、效率、可测试性、互联性。
27McCall提出的软件质量的11个质量特性分为三组,(产品需求)不属于这三组
28McCall提出的软件质量的11个质量特性分为三组,属于产品修正特性的有(可维护性、可测试性及灵活性)
29在软件维护的实施过程中,为了正确、有效地修改,需要经历以下三个步骤:
分析和理解程序、修改程序和(重新验证程序)
30在软件维护的实施过程中,为了正确、有效地修改,需要经历几个步骤,(分析和理解程序)是决定维护成败和质量的关键
31在软件维护的实施过程中,为了正确、有效地修改,需要经历几个步骤,其中重新验证程序分为(静态确认、计算机确认和维护后的验收),保证修改后的程序的正确性。
32软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度是指软件的(可移植性)
33软件在需要它投入使用时能实现其指定的功能的概率是指(可使用性)
34软件使不同的系统约束条件和用户需求得到满足的容易程度是指(兼容性)
35在规定的条件下和规定的一段时间内,实现所指定的功能的概率是指(可靠性)
36尽管有不合法的输入,软件仍能继续正常工作的能力是指(容错性)
37改错性维护与排错的相对关系是(改错性维护是在更
大范围中作工作)
38下列叙述中哪个与软件的可移植性无关?
(选择时间效率和空间效率高的算法)
39下面有关软件维护的叙述哪个是正确的?
(设计软件时就应考虑到将来的可修改性)
40下列哪个改变不属于软件维护中的副作用?
(修改需求分析)
41修改软件以适应外部环境(新的硬件、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)发生的变化是指?
(适应性维护)
42下列哪一项属于软件计划的范围内考虑的?
项目实施计划,质量保证计划、软件测试计划、文档编制计划、用户培训计划、综合支持计划,软件分发计划
43软件文档是软件工程实施的重要成分,它不但是软件开发各阶段的重要依据,而且也影响软件的(可维护性)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第一 样本
![提示](https://static.bdocx.com/images/bang_tan.gif)