《软件工程》第一章软件工程简介习题_第1页
《软件工程》第一章软件工程简介习题_第2页
《软件工程》第一章软件工程简介习题_第3页
《软件工程》第一章软件工程简介习题_第4页
《软件工程》第一章软件工程简介习题_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1《软件工程》第一章软件工程简介习题一、单项选择1、软件是计算机系统中与硬件相互依存的另一部分,它是包括(1B)、(2A)及(3D)的完整集合。其中,(1B)是按事先设计的功能和性能要求执行的指令序列。(2A)是使程序能够正确操纵信息的数据结构。(3D)是与程序开发、维护和使用有关的图文材料。1供选择的答案:A.数据 B.程序 C.用户使用手册 D.图表2供选择的答案:A.数据 B.文档 C.代码 D.安装说明3供选择的答案:A.程序 B.数据 C. 外设D.文档2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧(

)内。有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有(

A

①),也没有(

B

④),程序员只能用机器指令编写程序。第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了(

A

①),并逐渐普及。随着(

B

④)的发展,编译技术也有较大的发展。第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了(

C

⑤)和(

D

⑧)等程序设计方法,设法降低软件的开发费用。第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如(

E

⑤)、(

F

④)、编码、单元测试、综合测试、(

G

①)及其整体有关的各种管理技术。供选择的答案:A--D:①汇编语言

②操作系统

③虚拟存储器概念

④高级语言

⑤结构式程序设计

⑥数据库概念⑦固件

⑧模块化程序设计E--G:①使用和维护

②兼容性的确认

③完整性的确认

④设计

⑤需求定义

⑥图象处理3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧(

)内。软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的软件产品。软件工程技术应遵循(

A

⑦)、(

B

⑧)、(

C

⑥)、(

D

③)、一致性、确定性、完备性、可验证性。供选择的答案:A--D:①有效性

②合理性

③局部化

④协同性

⑤实用性

⑥模块化

⑦抽象

⑧信息隐蔽4、软件产品的生产主要是

__C__。A.制造

B.复制

C.

开发

D.研制5、个体手工劳动是__B__时代的软件生产方式。

A.程序系统

B.程序设计

C.软件工程

D.程序编码6、软件工程是一门__C__学科。A.理论性

B.原理性

C.工程性

D.心理性二、填空题1、软件由计算机程序、数据和(文档)组成。2、软件是一种(逻辑)产品,它与物质产品有很大的区别。3、计算机系统由硬件、软件、使用计算机的人、数据库、(文档)和执行过程组成。4、软件的发展,到现在为止,经历了三个阶段:(程序设计)、(程序系统)和软件工程。5、程序设计时代的生产方式是(个体手工艺者),程序系统时代的生产方式是(手工作坊)

,软件工程时代的生产方式是(工程化)。6、软件工程是一门综合性的交叉学科,它涉及计算机学科、(工程)学科、管理学科和(数学)学科。7、计算机科学中的成果都可用于软件工程,但计算机科学着重于(理论和原理),软件工程着重于(建造软件系统)。8、软件工程研究的主要内容是(方法)、(过程)和(工具)等三个方面。9、软件开发各阶段任务的划分应尽可能(相对独立),同一阶段任务的性质应尽可能(相同)。三、判断题1.Asystemisacollectionofobjectsandactivities.(F)2.Anabstractionisadescriptionoftheproblematsomelevelofgeneralizationthatallowsustoconcentrateonthekeyaspectsoftheproblemwithoutgettingmiredinthedetails.(T)四、问答题1.什么是软件?它的特点是什么?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。软件的特点是:(1)、依赖性:软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。软件不能完全摆脱硬件单独活动。在开发和运行中必须以硬件提供的条件为依据。有的软件依赖于某个操作系统。(2)、可移植性:为了解除这种依赖性,在软件开发中提出了软件移植的问题,并且把软件的可移植性做为衡量软件质量的因素之一。(3)、复用性:软件的开发至今尚未完全摆脱手工艺的开发方式。由于传统的手工艺开发方式仍然占据统治地位,开发的效率自然受到很大的限制。为此,人们在软件技术方面做了许多卓有成效的工作,提出了许多新的开发方法,例如充分利用现成软件的复用技术、自动生成技术,也研制了一些有效的软件开发工具或软件开发环境。(4)、复杂性:软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。软件开发,特别是应用软件的开发常常涉及到其它领域的专门知识,这对软件人员提出了很高的要求。(5)、昂贵性:软件成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。然而,也并非在所有软件开发上的花费都能获得成果。(6)、社会性:相当多的软件工作涉及到社会因素。许多软件的开发和运行涉及机构、体制及管理方式等问题,甚至涉及到人的观念和人们的心理。它直接影响到项目的成败。2.试比较软件发展的三个时期的特点,从软件所指、软件工作范围、软件开发组织、决定质量的因素、开发技术和手段等几个方面说明它们的差别。3.软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。软件工程包括三个要素:方法、工具和过程。软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等。软件工具是指为了支援软件人员的开发和维护活动而使用的软件。例如项目估算工具、需求分析工具、设计工具、编程和调试工具、测试工具和维护工具等。使用了软件工具后可以大大提高软件的生产率和质量。软件工程的过程则将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑。4.软件工程过程有哪几个基本过程活动?试说明之。软件工程过程通常包含四种基本的过程活动:P(Plan):软件规格说明。规定软件的功能及其运行的限制;D(Do):软件开发。产生满足规格说明的软件;C(Check):软件确认。确认软件能够完成客户提出的要求;A(Action):软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。5.软件产品的质量一直是用户高度重视的问题,简述有哪些评论质量的观点。用户的观点:质量是恰好达到目的制造的观点:质量是与需求说明的一致产品的观点:质量是与产品的内在特性相联系的基于价值的观点:质量取决于顾客愿意支付的金额超越的观点:质量是可以认识而不能定义的6.什么是软件质量?如何度量软件质量?ANSI/IEEEStd729-1983定义软件质量为"与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体"。M.J.Fisher定义软件质量为"所有描述计算机软件优秀程度的特性的组合"。也就是说,为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中的重要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。1991年ISO发布的ISO/IEC9126质量特性国际标准定义了6个质量特性,即功能性、可靠性、可维护性、效率、可使用性、可移植性;并推荐了21个子特性,如适合性、准确性、互用性、依从性、安全性、成熟性、容错性、可恢复性、可理解性、易学习性、操作性、时间特性、资源特性、可分析性、可变更性、稳定性、可测试性、适应性、可安装性、一致性、可替换性,但不做为标准。7.软件产品质量评价金三角“产品运行、产品修改、产品变迁”中的“产品变迁”包含哪些质量要素和与之对应的评价标准。产品变迁包含的质量要素和与之对应的评价标准为:可移植性:简单性、软件系统独立性、硬件独立性可复用性:简单性、通用性、模块化、软件系统独立性、硬件独立性互用性:模块化、通信通用性、数据通用性8.什么是CMM-SEI能力成熟度模型?其五级成熟度水平是什么?CMM-SEI能力成熟度模型(CapabilityManurityModelforSoftware,CMM)是软件工程协会SEI(SoftwareEngineeringInstitution)在卡内基.梅隆大学开发完成的对一个组织软件开发能力进行评价的标准,它侧重于对软件开发过程和开发方法论的考察。CMM五级成熟水平:初始级可重复级:有纪律的过程已确定级:标准一致的过程已管理级:可预测的过程优化级:不断改进的过程9.解释系统(system)的概念。Asystem(系统)isacollectionofthings:asetofentities,asetofactivities,adescriptionoftherelationshipsamongentitiesandactivities,anddefinitionoftheboundaryofthesystem.。系统是一组事务的集合:实体的集合、活动的集合、实体和活动之间关系的描述以及系统边界的定义。10.软件工程要达到的基本目标是什么?软件工程需要达到的基本目标是:付出较低的开发成本、达到要求的软件功能、取得较好的软件性能、开发的软件易于移植、需要较低的维护费用、能按时完成开发工作及时交付使用。11.软件工程的基本原则有哪些?试说明之。在软件开发过程中必须遵循下列软件工程原则。抽象:采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以由抽象到具体、由复杂到简单,逐步得到问题的解。信息隐蔽:遵循信息封装,使用与实现分离的原则,将模块设计成“黑箱”,可以将实现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中封装的数据。模块化:按模块划分系统的体系结构,使得各模块间有良好的接口。这样有助于信息隐蔽和抽象,有助于表示复杂的系统。局部化:按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合,模块内部高内聚。这有助于控制解的复杂性。确定性:软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。这有助于人们之间的沟通,保证整个开发工作协调一致。一致性:强调软件开发过程的标准化、统一化。包括文档格式的一致,工作流程的一致,内、外部接口的一致,系统规格说明与系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论