软件工程作业及参考答案(版)
软件工程作业8(含答案)

软件工程作业8(含答案)1. 为了把握软件开发各个环节的正确性和协调性,人们需要进行( A 2)和( B 3 )工作。
( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。
它包括( C 2 )和( D 3 ),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑( E 3 )、( F 4 )和正确性。
供选择的答案:A, B. ①操作②确认③验证④测试⑤调试C, D.①用户的确认②需求规格说明的确认③程序的确认④测试的确认E, F. ①可靠性②独立性③协调性④完备性⑤扩充性2. 软件测试是软件质量保证的主要手段之一,测试的费用已超过(A 1)的30%以上。
因此,提高测试的有效性十分重要。
“高产”的测试是指(B 3 )。
根据国家标准GB 8566–88《计算机软件开发规范》的规定,软件的开发和维护划分为8个阶段,其中,单元测试是在( C 5)阶段完成的,集成测试的计划是在( D 3)阶段制定的,确认测试的计划是在( E 2 )阶段制定的。
供选择的答案:A. ①软件开发费用②软件维护费用③软件开发和维护费用④软件研制费用⑤软件生存期全部B. ①用适量的测试用例运行程序,证明被测程序正确无误②用适量的测试用例运行程序,证明被测程序符合相应的要求③用少量的测试用例运行程序,发现被测程序尽可能多的错误④用少量的测试用例运行程序,纠正被测程序尽可能多的错误C ~ E. ①可行性研究和计划②需求分析③概要设计④详细设计⑤实现⑥集成测试⑦确认测试⑧使用和维护3. 集成测试也叫做( A 3)或( B 6)。
通常,在( C 1)的基础上,将所有模块按照设计要求组装成为系统。
子系统的集成测试特别称为(D 2 ),它所做的工作是要找出子系统和系统需求规格说明之间的( E 6)。
需要考虑的问题是:在把各个模块连接起来的时候,穿越模块接口的数据是否会( F 2);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G 1 )组合起来,能否达到预期要求的(H 3);(I 5 )是否有问题;单个模块的误差累积起来是否会放大。
《软件工程》作业及参考答案3

软件工程作业及参考答案第五、六章一、填空题1.详细设计的工具有(图形工具)、表格工具和语言工具。
2.为使用流程图描述结构华程序,限制流程图有五种基本的控制结构(顺序型)、(选择型)、(while型循环)、until循环、多情况型选择。
3.HIPO图是由一组(IPO)图和一张(HC)图组成。
4.IPO图由(输入)、处理和(输出)三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
5.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。
面向对象方法是一种运用(对象)、(类)、(封装)、(聚合)、消息传送、多态性等概念来构造系统的软件开发方法。
6.面向对象的软件工程方法是面向对象方法在(软件工程)领域的全面应用。
7.UML的定义包括(UML语义)和(UML表示法)两个部分。
二、判断题1.详细设计是在概要设计之后进行的。
它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述。
(√)2.程序设计语言中应绝对禁止使用GOTO语句。
(╳)3.PAD图在设置了五种基本的控制结构后,还允许递归调用。
(√)4.UML设定的目标之一是运用面向对象概念来构造系统模型。
(√)5.类是关于对象性质的描述,由方法和数据集成。
(√)三、简答题1.详细设计的任务是什么?参考答案:1.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;2.确定每一模块使用的数据结构;3.确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
4.要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。
2.根据伪码画出N-S图。
STARTIF A THENBLOCKBCEND BLOCKEND IFSTOP3.根据伪码画出N-S图。
软件工程课后习题参考答案

软件工程课后习题参考答案1.简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
P192.简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
P193.简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1)必要的,该需求是用户所要求的。
2)无歧义的,该需求只能用一种方式解释。
3)可测的,该需求是可进行测试的。
4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5)可测量的,该需求是可测量的。
需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
6、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。
P237、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
《软件工程》试题及参考答案(第1套)

《软件工程》试题及参考答案(第1套)《软件工程》试题及参考答案(第1套)一、单项选择题1. 软件工程的最终目标是:A. 提高软件开发效率B. 提高软件质量C. 提高软件维护效率D. 以上都是答案:D2. 下列哪项不属于软件需求分析的主要活动?A. 软件设计B. 需求获取和建模C. 需求验证和确认D. 需求管理答案:A3. 以下哪项不是构建阶段的主要活动?A. 编码B. 软件测试C. 软件集成D. 软件配置管理答案:D4. 下列哪个过程不属于软件项目管理过程?A. 需求管理B. 配置管理C. 软件测试D. 质量管理答案:C5. 下列哪个模型强调在系统开发的初期确定并冻结需求?A. 瀑布模型B. 快速原型模型C. V模型D. 增量模型答案:A二、多项选择题1. 软件过程模型的主要作用是:A. 规范软件开发的过程B. 定义软件开发的阶段C. 明确软件开发的任务分工D. 以上都是答案:D2. 软件生命周期是指:A. 软件的设计阶段B. 软件的测试阶段C. 软件的开发到维护的整个过程D. 软件的发布与用户反馈过程答案:C3. 软件测试的主要目标是:A. 寻找并修复软件中的错误B. 确保软件满足用户需求C. 提高软件的可靠性和质量D. 以上都是答案:D4. 下列哪个工具不属于软件配置管理工具?A. 版本控制工具B. 缺陷跟踪工具C. 自动化构建工具D. 可行性分析工具答案:D5. 下列哪个项目风险类型是与技术因素相关的?A. 市场竞争风险B. 技术风险C. 经济风险D. 法律风险答案:B三、简答题1. 请简要描述瀑布模型的开发流程。
瀑布模型的开发流程包括以下几个阶段:1) 需求分析阶段:收集用户需求,并进行详细的需求分析和建模。
2) 系统设计阶段:根据需求分析得到的系统需求,进行整体设计和详细设计。
3) 编码和单元测试阶段:将设计好的系统转化为可执行代码,并进行单元测试,验证代码的正确性。
4) 集成测试阶段:将各个模块进行集成,测试整个系统的功能和性能。
软件工程作业题(含答案)

软件工程作业题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:(1)软件是逻辑部件而不是物理部件。
(2)软件的规模越来越大,复杂性越来越大。
(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。
3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。
1993年IEEE的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析)喷泉模型(使开发过程具有迭代性和无间隙性)5、软件过程模型有哪些?简述它们的特点。
过程模型分为五大类:1.管理过程模型。
2.瀑布模型(又称为生命周期模型)。
3.增量过程模型:包括增量模型,,RAD模型。
4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。
软件工程习题及参考答案

软件工程习题及参考答案判断题软件也会磨损和老化。
(某)完善性维护是提高或完善软件的性能。
(√)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
(某)软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实际上就是编写程序代码。
(某)软件模块之间的耦合性越弱越好。
(√)如果通过软件测试没有发现错误,则说明软件是正确的。
(某)快速原型模型可以有效地适应用户需求的动态变化。
(√)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(√)集成测试主要由用户来完成。
(某)确认测试计划应该在可行性研究阶段制定(某)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
(某)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(√)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。
(╳)模块越多,开发成本越小。
(╳)软件测试的目的就是证明软件没有错。
(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。
(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。
(某)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。
(√)HIPO法既是需求分析方法,又是软件设计方法。
(√)在面向对象的需求分析方法中,建立动态模型是最主要的任务。
(某)加工小说明是对系统流程图中的加工进行说明。
(某)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。
(某)需求分析的主要方法有SD法、OOA法及HIPO法等。
(某)分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。
(某)信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。
《软件工程》作业与参考答案

一、填空(15分)1、需求分析的任务:1)。
确定目标系统的综合要求A。
目标系统的功能要求B。
目标系统的性能要求C。
目标系统运行的环境要求D。
目标系统的扩展要求2)。
分析目标系统的数据要求A。
需要哪些数据?B。
数据之间有什么联系?C。
数据有什么属性及数据结构?D。
对数据的处理逻辑?3)。
导出目标系统的逻辑模型4)。
修正系统流程图5)。
修正系统开发计划6)。
开发原型系统2、模块设计准则1)、改进软件结构提高模块独立性(低耦合高内聚)2)、模块规模要适中3)、深度、宽度、扇入及扇出要适当4)、设计单入口单出口的模块5)、模块功能应该可以预测6)、降低接口的复杂性7)、模块的作用域应该在控制域之内3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?1)、无法开发复杂程度高的软件2)、成本和进度估计不准3)、无统一科学的规范,软件不可维护4)、无质量保证,可靠性差5)、软件常不能满足用户的需求6)、无适当的文档资料7)、软件生产率太低4 、总体设计的任务1)、设计系统的物理实现方案2)、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息; 3)、设计系统全局的存贮数据结构4)、设计系统I/O的方式和格式;5)、设计系统安全性、出错处理及代码等6)、设计组装测试计划。
5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
答:正确的叙述有②、③、④、⑦、⑧。
软件工程习题及课后答案

第8章面向对象设计(习题与参考答案)[选择题]1. ()面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境下的设计模型。
A. 真B. 假2. ()系统设计的主要任务是细化分析模型,最终形成系统的设计模型。
A. 真B. 假3. ()关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对应到关系数据库中的表。
A. 真B. 假4. ()用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用户拒绝使用该系统。
A. 真B. 假5. 内聚表示一个模块()的程度,耦合表示一个模块()的程度。
A. 可以被更加细化B. 仅关注在一件事情上C. 能够适时地完成其功能D. 联接其他模块和外部世界6. 良好设计的特征是()。
A. 模块之间呈现高耦合B. 实现分析模型中的所有需求C. 包括所有组件的测试用例D. 提供软件的完整描述E. 选项B和DF. 选项B、C和D7. ()是选择合适的解决方案策略,并将系统划分成若干子系统,从而建立整个系统的体系结构;( )细化原有的分析对象,确定一些新的对象、对每一个子系统接口和类进行准确详细的说明。
A. 系统设计B. 对象设计C. 数据库设计D.用户界面设计8.下面的( )界面设计原则不允许用户保持对计算机交互的控制。
A. 允许交互中断B. 允许交互操作取消C. 对临时用户隐藏技术内部信息D.只提供一种规定的方法完成任务[练习题]1. 面向对象设计与面向对象分析的区别是什么?设计包括哪些活动? 答案要点:面向对象分析是重点考虑系统“做什么”的问题,即运用面向对象方法对问题域进行分析和理解,建立系统的分析模型;面向对象设计重点考虑系统“怎样做”的问题,即在分析模型的基础上形成实现环境下的设计模型。
面向对象设计主要涉及系统设计、对象设计(或详细设计)、数据库设计和用户界面设计等活动。
2. 3. 课程在类设计中,为什么建议使用set 方法和get 方法进行属性设置和读取? 答案要点:目的在于降低类之间的耦合度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件危机与软件工程3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分, 其期望达到的最终目标是 ()。
A •消除软件危机B •软件开发工程化C •程序设计自动化D •实现软件重用4•软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的( )。
A .工程管理B .成本核算C .人员培训D .工具开发5•软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( )。
A •设计人员和用户B •分析人员和用户C .分析人员和设计人员D .编码人员和用户6 .软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的 逻辑模型形成于( )。
A .开发阶段B .计划阶段C .分析阶段D .设计阶段7 .在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。
通常,计划时期包括问题定义、可行性研究和①,开发时期包括 ②、详细设计、编码以及 ③。
① A . 需求分析 B . 可行性研究 C . 经费预算 D .质量保证②A . 需求分析B . 可行性研究C 总体设计D 模块化设计 ③A . 文档编制B . 运行维护C . 测试D . 验收&软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型C .螺旋模型D .对象模型9.描述软件生存周期的瀑布模型包括计划、(A )、设计、编码、测试、维护等阶段。
其中,设计阶段又可以分成(B )和(C )两个步骤。
A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计②代码设计③概要(总体)设计 ④数据设计 ⑤详细设计10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务?可行性研究软件工程1软件危机是指在开发和( A .运行 B .设计2 •造成软件危机的原因是: A. 用户使用不当C .硬件不可靠)过程中所遇到的一系列严重问题。
B .对软件的错误认识 D •缺乏好的开发方法和手段三、需求分析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. 在下面的叙述中哪一个不是软件需求分析的任务()。
A .问题分解B .可靠性与安全性要求C .结构化程序设计D .确定逻辑模型;7. 软件需求说明书在软件开发中具有重要作用,但其作用不包括()。
A .软件设计的依据B.用户和开发人员对软件要做什么的共同理解C .软件验收的依据D .软件可行性分析的依据&结构化分析方法以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A . DFD图B . PAD图C. IPO图D.数据字典9.进行需求分析可使用多种工具,但()是不适用的。
A .数据流图B .判定表C. PAD图 D .数据字典四、软件设计----包括概要设计(总体设计)和详细设计1. 软件设计一般分为概要设计和详细设计,它们之间的关系是()。
A .全局和局部B .抽象和具体C.总体和层次 D .功能和结构2. SD方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是建立()。
A .软件结构B .软件流程C .软件模型D .软件模块3. 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的()。
A .抽象和信息隐蔽B.局部化和封装化C .内聚性和耦合性D .激活机制和控制方法4. 软件结构设计中,好的软件结构设计应该力求做到()。
A .顶层扇出较少,中层扇出较高,低层模块低扇入B .顶层扇出较高,中层扇出较少,低层模块高扇入C .顶层扇出较少,中层扇出较高,低层模块高扇入D .顶层扇出较高,中层扇出较少,低层模块低扇入5. 软件开发的结构化设计方法,全面指导模块划分的最重要原则应该是(6. HIPO 图应用于软件开发的( )阶段。
A •需求分析B •详细设计C •总体设计D •实现7•详细设计工具可分为三类,即图形、表格和语言工具。
图形工具中, (A ②)简单而应用广泛。
(B表示法中,每个处理过程用一个盒子表示, 盒子可以嵌套。
(C ④)可以纵横延伸,图形的空间效果好。
是一种设计和描述程序的语言。
A-C :①N-S 图 ②程序流程图 ③HIPO 图 ④PAD 图 D :① C ② PDL ③ PROLOG ④ PASCAL9 •面向数据流的软件设计方法,一般是把数据流分为( )两种流,再将数据流图映射为软件结构。
A •数据流与事务流B •变换流与事务流C •信息流与变换流D •交换流域数据流10 •程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意( )。
A •支持逐步求精B •考虑控制流程C •遵守结构化设计原则D •数据结构表示五、 编码1 •程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其重要的选择依据是 ()°A .对语言的熟悉程序B .语言的应用领域C .数据结构的复杂度D .算法的复杂度2 .下列叙述中选出五条关于好的程序设计风格的正确叙述( C G H I J )A .尽量多用临时变量B •把常见的局部优化工作留给编译程序去做C •程序中嵌套的层数应加以限制D •程序的书写格式最好所有语句都左对齐,这样也可以节省纸张E. 在主存储器能容纳得下的前提下,应使模块尽可能大,以便减少模块的个数F. 模块越小,优点越明显。
一般说来,模块的大小都在10行以下G •只要模块之间的接口关系不变,各模块内部实现细节的修改不会影响别的模块 H .在编写程序时尽可能对程序代码进行优化 I .程序中的注释并不是可有可无的 J .使用可以看得出意义的标识符 3 •程序设计属于软件开发过程的( )阶段。
A .设计B .编程C .实现D .编码A •模块高内聚B •模块低耦合C .程序模块化D .模块独立性①) (D )&软件需求分析方法中,结构化分析是一种常用的方法。
结构化分析产生的系统说明书是由一套分层的 ④。
一本 ②、一组③及补充材料组成的。
在结构化设计阶段产生的文档是 '① A. .流程 B •数据流图 C .软件结构 D .事务转换 ② A. .结构说明 B •用户需求 C .数据字典 D •数据流程③ A. .小说明B 索引C 模块接口D 层次结构④ A 系统模型说明书B 程序流程图C 系统功能说明书D 模块结构图和模块说明书、六、测试1软件测试可能发现软件中的),但不能证明软件()。
A •所有错误、没有错误B •错误、没有错误C •逻辑错误、没有错误D •设计错误、没有错误2.软件测试的目的是()。
A .证明软件的正确性B •找出软件系统中存在的所有错误C •证明软件系统中存在错误D .尽可能多的发现软件系统中的错误3.为提高测试效率,应该()。
A •随机地选取测试数据B •在完成编码以后制定软件的测试计划C •取一切可能的数据作为测试数据D •选择发现错误可能性最大的数据作为测试数据4 •黑盒测试是从( C )观点的测试,白盒测试是从( D )观点的测试。
A •开发人员、管理人员B •用户、管理人员C •用户、开发人员D •开发人员5 •使用白盒方法测试时确定测试数据应根据()和指定的覆盖标准。
A •程序的内部逻辑B .程序的复杂程度C •使用说明书D .程序的功能6 •白盒测试方法重视)的度量。
A .测试覆盖率测试数据多少 C •测试费用 D •测试周期7 •黑盒测试法根据(设计测试用例。
A •程序调用规则B •模块间的逻辑关系C .软件要完成的功能D •数据结构&单元测试又称(B ), 般采用(D )测试。
A •集成测试B •模块测试C .黑盒法D .白盒法七、维护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. ()阶段是软件生命周期中花费最多、持续时间最长的阶段。
BA需求分析 B 维护C设计D测试7. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的()A 1/6B 1/5C 1/4D 1/3八、简述软件危机产生的原因。
参考答案:(1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。
致使经费预算常常突破,进度计划无法遵循,开发完成的期限一拖再拖。
(2)软件需求,在开发的初期阶段提得不够明确,或是未能得到确切的表达。
开发工作开始后,软件人员和用户又未能及时交换意见,造成开发后期矛盾的集中暴露。
(3)开发过程没有统一的、公认的方法论和规范指导,参加的人员各行其事。
加之设计和实现过程的资料很不完整;或忽视了每个人工作与其他人的接口,使得软件很难维护。
(4)未能在测试阶段充分做好检测工作,提交用户的软件质量差,在运行中暴露出大量的问题。
九、简述软件生命周期阶段的划分?每个阶段的主要任务?参考答案:生命周期划分为六个阶段,分别为计划、需求分析、软件设计(包括概要设计和详细设计)、编码、软件测试和运行/维护。
各个阶段的主要任务分别为:(1)计划阶段首先确定要解决的问题是什么,通过问题定义阶段的工作,系统分析员应该提出关于问题的性质、规模和工程目标的书面报告,之后进行可行性研究,应该决定该问题是否存在一个可行的解决办法,是否值得去解。