软件工程期末题库2.pdf
《软件工程期末题库2.pdf》由会员分享,可在线阅读,更多相关《软件工程期末题库2.pdf(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录第一章软件工程简介.1第二章过程和生命周期的建模.6第三章 项目的计划和管理.12第四章需求获取.24第五章系统设计.40第六章对象.48第七章程序的编写.58第八、九章测试.65第十、十一章培训与维护.83第一章软件工程简介一、单项选择1、软件是计算机系统中与硬件相互依存的另一部分,它是包括(1 B)、(2 A)及(3 D)的完整集合。其中,(1 B)是按事先设计的功能和性能要求执行的指令序列。(2 A)是使程序能够正确操纵信息的数据结构。(3D )是与程序开发、维护和使用有关的图文材料。I.A.数据 B.程序 C.用户使用手册 D.图表2 A.数据 B.文档 C.代码 D.安装说明3.
2、A.程序 B.数据 C.外设 D.文档2、有人将软件的发展过程划分为4个阶段:第一阶段(19501950年代末)称 为“程序设计的原始时期”,这时既没有(A),也没有(B),程序员只能用机器指令编写程序。第二阶段(1950年 代 末 1960年代末)称 为“基本软件期”。出现了(A),并逐渐普及。随着(B)的发展,编译技术也有较大的发展。第三阶段(I960年代末1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了(C )和(D )等程序设计方法,设法降低软件的开发费用。第四阶段(1970年代中期 现在)称 为“软件工程时期”。软件开发技术不再
3、仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如(E)、(F)、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。A-D:汇编语言 操作系统 虚拟存储器概念高级语言结构式程序设计 数据库概念固件 模块化程序设计E-G:使用和维护兼容性的确认完整性的确认设计 需 求 定 义 图 象 处 理3、软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的软件产品。软件工程技术应遵循(A)、(B)、(C)、(D)、一致性、确定性、完备性、可验证性。A-D:有效性 合理性 局 部 化 协同性实用性 模 块 化 抽 象 信 息 隐 蔽4、软件产品的生产主要是_ C _。A.
4、制造 B.复制 C.开发 D.研制5、个体手工劳动是_ B _时代的软件生产方式。A.程序系统 B.程 序 设 计C.软件工程 D.程序编码6、软件工程是一门_ C _学科。A.理论性 B.原理性 C.工程性 D.心理性二、填空题1、软件由计算机程序、数据和(文 档)组成。2、软件是一种(逻辑)产品,它与物质产品有很大的区别。3、计算机系统由硬件、软件、使用计算机的人、数据库、(文档)和执行过程组成。14、软件的发展,到现在为止,经历了三个阶段:(程序设计)、(程序系统)和软件工程。5、程序设计时代的生产方式是(个体手工艺者),程序系统时代的生产方式是(手工作坊),软件工程时代的生产方式是(工
5、程化)。6、软件工程是一门综合性的交叉学科,它涉及计算机学科、(工程)学科、管理 学 科 和(数学)学科。7、计算机科学中的成果都可用于软件工程,但计算机科学着重于(理论和原理),软件工程着重于(建造软件系统)。8、软件工程研究的主要内容是(方法)、(过程)和(工具)等三个方面。9、软件开发各阶段任务的划分应尽可能(相对独立),同一阶段任务的性质应 尽 可 能(相同)。三、判断题1 .A s y s t e m i s a c o l l e c t i o n o f o bje c t s a n d a c t i v i t i e s.(F)2 .A n a bs t r a c t
6、 i o n i s a d e s c r i p t i o n o f t h e p r o bl e m a t s o m e l e v e l o fg e n e r a l i z a t i o n t h a t a l l o w s us t o c o n c e n t r a t e o n t h e k e y a s p e c t s o f t h ep r o bl e m w i t h o ut g e t t i n g m i r e d i n t h e d e t a i l s.(T)四、问答题1 .什么是软件?它的特点是什么?软件
7、是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。软件的特点是:(1)依赖性:软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。软件不能完全摆脱硬件单独活动。在开发和运行中必须以硬件提供的条件为依据。有的软件依赖于某个操作系统。(2)可移植性:为了解除这种依赖性,在软件开发中提出了软件移植的问题,并且把软件的可移植性做为衡量软件质量的因素之一。(3)复用性:软件的开发至今尚未完全摆脱手工艺的开发方式。由
8、于传统的手工艺开发方式仍然占据统治地位,开发的效率自然受到很大的限制。为此,人们在软件技术方面做了许多卓有成效的工作,提出了许多新的开发方法,例如充分利用现成软件的复用技术、自动生成技术,也研制了一些有效的软件开发工具或软件开发环境。(4)复杂性:软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。软件开发,特别是应用软件的开发常常涉及到其它领域的专门知识,这对软件人员提出了很高的要求。(5)昂贵性:软件成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。然而,也并非在所有软件开发上的花费都能获得成果。(6)社
9、会性:相当多的软件工作涉及到社会因素。许多软件的开发和运行涉及机构、体制及管理方式等问题,甚至涉及到人的观念和人们的心理。它直接影响到项目的成败。2 .试 比较软件发展的三个时期的特点,从软件所指、软件工作范围、软件2开发组织、决定质量的因素、开发技术和手段等几个方面说明它们的差别。KM0 m十WKKK smssesitTA个人ft*小 技 术水平 ,开复工n,斗嗯,工程优开盘力法,班 两3 .软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。软件工程包括三个要素:方法、工具和过程。软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计划与估算、
10、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等。软件工具是指为了支援软件人员的开发和维护活动而使用的软件。例如项目估算工具、需求分析工具、设计工具、编程和调试工具、测试工具和维护工具等。使用了软件工具后可以大大提高软件的生产率和质量。软件工程的过程则将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑。4 .软件工程过程有哪几个基本过程活动?试说明之。软件工程过程通常包含四种基本的过程活动:P (P l a n):软件规格说明
11、。规定软件的功能及其运行的限制;D(Do):软件开发。产生满足规格说明的软件;C(Ch e c k):软件确认。确认软件能够完成客户提出的要求;A (A c t i o n):软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。5 .软件产品的质量一直是用户高度重视的问题,简述有哪些评论质量的观点。用户的观点:质量是恰好达到目的制造的观点:质量是与需求说明的一致产品的观点:质量是与产品的内在特性相联系的基于价值的观点:质量取决于顾客愿意支付的金额超越的观点:质量是可以认识而不能定义的6.什么是软件质量?如何度量软件质量?3AN SI/I EEE Std 729T983定义软件质量为“与
12、软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体M.J.F isher定义软件质量为所有描述计算机软件优秀程度的特性的组合也就是说,为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中的重要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。1991年I SO发 布 的I SO/I EC9126质量特性国际标准定义了 6个质量特性,即功能性、可靠性、可维护性、效率、可使用性、可移植性;并推荐了 21个子特性,如适合性、准确性、互用性、依从性、安全性、成熟性、容错性、可恢复性、可
13、理解性、易学习性、操作性、时间特性、资源特性、可分析性、可变更性、稳定性、可测试性、适应性、可安装性、一致性、可替换性,但不做为标准。7.软件产品质量评价金 三 角”产品运行、产品修改、产品变迁”中 的“产品变迁”包含哪些质量要素和与之对应的评价标准。产品变迁包含的质量要素和与之对应的评价标准为:可移植性:简单性、软件系统独立性、硬件独立性可复用性:简单性、通用性、模块化、软件系统独立性、硬件独立性互用性:模块化、通信通用性、数据通用性8.什么是CMM-SEI能力成熟度模型?其五级成熟度水平是什么?CMM-SEI 能力成熟度模型(Capability Manurity Model for So
14、ftware,CMM)是软件工程协会SEI (Software Engineering I nstitution)在卡内基.梅隆大学开发完成的对一个组织软件开发能力进行评价的标准,它侧重于对软件开发过程和开发方法论的考察。CMM五级成熟水平:初始级可重复级:有纪律的过程已确定级:标准一致的过程已管理级:可预测的过程优化级:不断改进的过程9.解释 系 统(system)的概念。A system(系 统)is a collection of things:a set of entities,a setof activities,a description of the relationships
15、among entities andactivities,and definition of the boundary of the system.。系统是一组事务的集合:实体的集合、活动的集合、实体和活动之间关系的描述以及系统边界的定义。10.软件工程要达到的基本目标是什么?软件工程需要达到的基本目标是:付出较低的开发成本、达到要求的软件功能、取得较好的软件性能、开发的软件易于移植、需要较低的维护费用、能按时完成开发工作及时交付使用。11.软件工程的基本原则有哪些?试说明之。在软件开发过程中必须遵循下列软件工程原则。抽 象:采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以
16、由抽象到具体、由复杂到简单,逐步得到问题的解。信 息 隐 蔽:遵循信息封装,使用与实现分离的原则,将 模 块 设 计 成“黑箱”,可以将实现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中4封装的数据。模 块 化:按模块划分系统的体系结构,使得各模块间有良好的接口。这样有助于信息隐蔽和抽象,有助于表示复杂的系统。局 部 化:按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合,模块内部高内聚。这有助于控制解的复杂性。确 定 性:软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。这有助于人们之间的沟通,保证整个开发工作协调一致。一 致 性:强调软件开发过程的标准化、统
17、一化。包括文档格式的一致,工作流程的一致,内、外部接口的一致,系统规格说明与系统行为的一致等。完 备 性:软件系统不丢失任何重要成分,可以完全实现系统所要求功能。可验证性:开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循系统易于检查、测试、评审的原则,以确保系统的正确性。1 2.B.W.B o e h m 有七条准则是确保软件产品质量和开发效率的原理的最小集合。简述B.W.B o e h m 的软件工程基本准则。用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚地审查;开发小组的成员应该少而精;承认不断改进软件工程实践的必要性
18、。5第二章 过程和生命周期的建模一、单项选择1、开发软件时对提高软件开发人员工作效率至关重要的是(A )。软件工程中描述生存周期的瀑布模型一般包括计划、(B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(C )和(D )两步。A.程序开发环境 操作系统的资源管理功能程序人员数量 计算机的并行处理能力B.需求分析 需求调查 可行性分析问题定义C、D.方案设计 代码设计 概要设计 数据设计运行设计 详细设计故障处理设计软件体系结构设计2、软件开发费用只占软件生存期全部费用的_B。A.1/2 B.1/3 C.1/4 D.2/33、在软件开发过程中大约要花费_(:_%的工作
19、量进行测试和调试。A.20 B.30 C.40 D.504、准确地解决“软件系统必须做什么”是_ B _ 阶段的任务。A.可行性研究 B.需求 分 析 C.软 件 设 计 D.程序编码5、软件生存期中时间最长的是一D _ 阶段。A.需求分析 B.软件设注 C.软件测试 D,软件运行/维护6、在软件生存期的模型中,_D_适合于大型软件的开发,它吸收了软件工程 中“演化”的概念。A.喷泉模型 B.基于知识的模型C.瀑 布 模 型 D.螺旋模型7、在软件生存期中,用户的参与主要在_ A _。A.软件定义阶段B.软件开发阶段C.软件豳护阶段D.整个软件生存期过程中8、在软件开发过程中的每个阶段都要进行
20、严格的D,以尽早发现在软件开发过程中产生的错误。A.检验 B.验证 C.度量 D.评审9、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须实施严格的_ B 。A.产 品 检 验 B.产品控制 C.产品标准化D.开发规范10、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件 的 _ D _ oA.可 靠 性 B.可使用性 C.安全性 D.可维护性11、为了提高软件开发过程的_ A _,有效地进行管理,应当根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准。A.可 见 性 B.生产率 C.安全性 D.有效性12、随着开发小组人数的 A _,
21、因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。A.增加 B.降低 C.稳定 D.不稳定613、为保证软件开发的过程能够跟上技术的进步,必须不断地灵活地改进软件工程一C_。A.原则 B.工具 C.过程 D.方法二、填空题10、瀑布模型是将各个活动规定为依(软件生存期)连接的若干阶段的模型。它规定了各阶段的活动由前至后,相互衔接的固定次序,如瀑布流水,逐级下落。11、螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤:(制定计划)、(风险分析)、开发实施、(用户评估)。12、喷泉模型是一种以(用户要求)为动力,以(对象)为驱动的模型。它使开发过程具有迭代性和无间隙
22、性,适 用 于(面向对象)开发方法。三、判断题1.We can think of a set of ordered tasks as a process:a series ofsteps involving activities constraints and recourses that produce anintended output of some kind.(T)2.The software development process is sometimes called the softwarelife cycle.(T)四、问答题1 the meaning of process 过
23、程的含义A process defines who is doing what,when and how,in order to reacha certain goal.过程定义了谁在作什么,什么时间怎样作。以便完成一个确定的目标。2、What is Process?A Series of steps involving activities,constraints,and resourcesthat produce an intended output of some kind.一系列涉及到活动、约束和资源的步骤,他们产生某种类型的有目的的输出。3、Process Characteristi
24、cs?过程的特征The process prescribes all of the major process activities 过程规定了所有主要过程活动Process uses resources,subject to a set of constraints(such asschedule),and produces intermediate and final products 过程使用资源、服从于一组约束(比如进度约束),产生中间结果和最终产品。The process may be composed of subprocesses that are linked in somew
25、ay.The process may be defined as a hierarchy of processes,organizedso that each subprocess has its own process model 可由子过程组成,这些子过程用某种方式链接起来。过程可以定义为分层的过程等级结构,以便每个子过程具有自己的过程模型。Each process activity has entry and exit criteria,so that we knowwhen the activity begins and ends.每个过程活动具有有入口和出口标准,这样可以知道活动何时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 期末 题库
限制150内