您好,欢迎访问三七文档
考点1:软件工程和项目管理基础★★★考点点拨:本考点考查软件工程和软件生成周期的概念,常用的软件开发模型,以及软件开发项目管理基础知识。【试题1】软件工程三要素是______。A)技术、方法和工具B)方法、工具和过程C)方法、对象和类D)过程、模型、方法答案:B分析:软件工程三要素:方法、工具和过程。软件工程方法为软件开发提供了“如何做”的技术。软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。软件工程过程定义了:方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理以及软件开发各个阶段完成的工作。理论链接:软件工程概述1.软件危机软件危机是指计算机软件开发和维护过程中所遇到的一系列严重问题。概括的说即为:能否满足对软件日益增长的需求?能否维护数量日益增长的现有软件?2.软件工程软件工程是一类求解软件的工程,它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。软件工程是一门指导计算机软件开发和维护的工程学科。软件工程准则可以概括为六条基本原理:(1)用分阶段的生存周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)应能清楚地审查结果;(6)合理安排软件开发小组的人员。【试题1】软件开发的结构化生命周期方法将软件生命周期划分成______。A)计划阶段、开发阶段、运行阶段B)计划阶段、编程阶段、测试阶段C)总体设计、详细设计、编程调试D)需求分析、功能定义、系统设计答案:A【试题2】软件生命周期的最后的一个阶段是______。A)书写软件文档B)软件维护C)稳定性测试D)书写详细用户说明答案:B理论链接:软件生存(生命)周期软件生存周期:软件的产生直到报废的生命周期。从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。软件生存周期受软件规模、种类、开发方式、开发环境、方法论的影响有多种划分方法:一种划分方法为:软件定义(又称系统分析,包括问题定义,可行性研究,需求分析),软件开发(包括总体设计,详细设计,编码和单元测试,综合测试),软件使用与维护等三个时期。各阶段的关键问题和阶段性成果如表7-1所示:表7-1软件生存周期各阶段描述阶段关键问题阶段性成果问题定义问题是什么关于规模和目标的报告书可行性研究有可行的解吗系统的高层逻辑模型:数据流图成本/效益分析需求分析系统必须做什么系统的逻辑模型:数据流图(MSC图)数据字典(类清单、对象间关系)算法描述总体设计概括地说,应如何解决这个问题可能的解法:系统流程图成本/效益分析推荐的系统结构:层次图,结构图(SDL)详细设计怎样具体地实现这个系统编码规格说明(SDL)综合测试符合要求的软件综合测试方案和结果完整性一致的软件配置维护持久地满足用户需求的软件完整准确的维护记录另一种划分是把软件生命周期划分为6个阶段:即制定计划、需求分析、软件设计、程序编写、软件测试和运行维护。【试题3】瀑布模型(WaterfallModel)突出的缺点是不适应______的变动。(2002年上午填空22)A)算法B)平台C)程序语言D)用户需求答案:D分析:瀑布模型最为突出的缺点是缺乏灵活性,不能适应用户需求的动态变更。【试题4】在编制程序时,应采纳的原则之一是__A__。开发软件时对提高开发人员工作效率至关重要的是__B__。软件工程中描述生命周期的瀑布模型一般包括计划、__C__、设计、编码、测试、维护等几个阶段,其中设计阶段通常又可依次分成__D__和__E__两步。(1994年上半年题6)A;①不限制goto语句的使用②减少或取消注解行③程序越短越好④程序结构应有助于读者理解B;①操作系统的资源管理功能②程序开发环境③程序人员数量④计算机的并行处理能力C:①需求分析②需求调查③可行性分析④问题定义D,E:①数据结构设计②详细设计③概要设计④数据库设计⑤方案设计⑥代码设计答案:A)④B)②C)①D)③E)②【试题5】包含风险分析的软件工程模型是_____。A)螺旋模型B)瀑布模型C)增量模型D)喷泉模型答案:A理论链接:软件开发模型软件开发模型是软件开发全部过程、活动和任务的结构框架。常用的软件开发模型有:瀑布模型、演化模型、螺旋模型、喷泉模型等。CMM软件过程能力成熟度:1初始级可重复级已定义级已管理级优化级),成熟度反映了软件过程能力(SoftwareProcessCapability)的大小,任何一个软件机构的软件过程必定属于其中某个级别。除了第一级以外,每级成熟度又由若干关键过程域(KeyProcessArea)构成。五个成熟度及其关键过程领域如图所示:需要提出的是,任何一个成熟度级别的关键过程域集都是本级描述的关键过程域集和所有下级的关键过程域集的并集。如3级的关键过程域就应有13个不同的域,其中7个是3级自己包含的,6个属于2级成熟度,而4级应有15个域。五个成熟度级别:初始级、可重复级(有规章的过程)、定义级(标准化、一致的过程)、管理级(可预测过程)、优化级(可持续改进的过程)分别描述如下:第一级:初始级成功来源于个人英雄主义而非机构行为,因此它不可重复,更换人员后成功便难以维持。第二级:可重复级主要特点是项目计划和跟踪是确定且有效的,项目的软件过程是可控的,以及已有的成功经验是可重复的。第三级:定义级主要特征在于软件过程已被提升成标准化过程,从而更加具有稳定性、重复性和可控性。第四级:管理级主要特征是定量化、可预测、异常控制和高质量。对于软件的过程和产品有定量的质量指标。重要的软件过程活动均配有生产率和质量方面的度量指标;第五级:优化级主要特征是新技术的采用和软件过程的改进被作为日常的业务活动来加以计划和管理。考点2:面向对象技术基础★★★★★考点点拨:本考点考查面向对象的基本概念和面向对象分析与设计的基本知识。基本概念包括:对象、类、消息、继承、多态等。【试题17】在面向对象程序设计语言中,__(1)__是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性;__(2)__可以实现发送一个通用的消息而调用不同的方法;__(3)__是实现信息隐蔽的一种技术,其目的是使类的__(4)__相互分离。(2004年下半年上午填空31-34)(1)A)封装B)消息传递C)引用D)继承(2)A)封装B)多态C)引用D)继承(3)A)引用B)继承C)封装D)多态(4)A)定义与实现B)分析与测试C分析与设计D)实现与测试答案:(1)D(2)B(3)C(4)A分析:面向对象的主要特性有继承性、多态性和封装性。继承是在已有类的基础上增量构造新的类,它是利用可重用成分构造软件系统的最有效的特性;多态可以实现发送一个通用的消息而调用不同的方法;封装指将一个数据和与这个数据有关的操作集合放在一起,形成一个独立的实体,它是实现信息隐蔽的一种技术,其目的是使类的定义与实现相互分离。【试题18】采用面向对象技术开发的应用系统的特点是______。(2003年上午填空2)A)重用性更强B)运行速度更快C)占用存储量小D)维护更复杂分析:采用面向对象技术开发的应用系统的特点有:重用性更强、维护更简单等。答案:A【试题19】在面向对象方法中,对象可看成是属性(数据)以及这些属性上的专用操作的封装体。封装是一种___A___技术,封装的目的是使对象的___B___分离。类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个___C___。类之间共享属性和操作的机制称为___D___。一个对象通过发送___E___来请求另一对象为其服务。(1999年上午题5)A:(1)组装(2)产品化(3)固化(4)信息屏蔽B:(1)定义和实现(2)设计和测试(3)设计和实现(4)分析和定义C:(1)例证(illustration)(2)用例(use-case)(3)实例(instance)(4)例外(exception)D:(1)多态型(2)动态绑定(3)静态绑定(4)继承E:(1)调用语句(2)消息(3)命令(4)口令答案:A)4B)1C)3D)4E)2理论链接:面向对象的基本概念1.基本术语(1)对象:是对客观世界事务的一种抽象,是由数据(属性)及其上操作(行为)组成的封装体。(2)类:是一组具有相同属性和相同操作的对象的集合。(3)属性:每一对象的属性是一些有着确定值的、用于描述对象状态信息的数据。(4)方法:为了完成某一任务,一个对象所提供的、并体现其责任的操作。(5)消息:一个对象为实现其责任而与其他对象的通信,在面向对象方法中,对象之间只能通过消息进行通信。(6)继承:表达类之间相似性的一种机制,即在已有的类的基础之上增量构造新的类,前者称为父类(或超类),后者称为子类,如果子类只从一个父类继承,则称为单继承,如果子类从一个以上父类继承,则称为多继承。(7)封装:指将一个数据和与这个数据有关的操作集合放在一起,形成一个独立的实体——对象,用户不必知道对象行为的实现细节,只需根据对象提供的外部特性接口访问对象即可。因此,从用户的观点来看,这些对象的行为就像包含在一个“黑匣子”里,是隐蔽的、看不见的。(8)多态:描述的是同一个消息可以根据发送消息对象的不同采用多种不同的行为方式。(9)依赖:一个依赖规约了两个模型元素(或两个模型元素集合)之间的一种语义关系。(10)状态:一个状态是在对象的生命期内的一个条件,或在对象满足某个条件,进行某个动作或等待某个事件的期间内的一个交互。(11)事件:指可以引发状态转换的所发生的事情。2.对象的特点:自治性,对象具有一定的独立计算能力;封闭性,对象具有信息隐蔽的能力;通信性,对象具有与其他对象通信的能力。3.面向对象的主要特性:封装性、继承性和多态性。4.面向对象的模型(简单应用):包括三个,它们分别是:描述系统数据结构的对象模型、描述系统控制结构的动态模型和和描述系统功能的功能模型。【试题20】______是用面向对象的方法对目标系统的问题空间进行理解,分析和反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。A)面向对象分析B)面向对象设计C)抽象性D)对象图答案:A理论链接:面向对象分析与设计概述1.面向对象分析面向对象分析(Object-OrientedAnalysis,OOA)强调直接对问题论域中的各种事物建立OOA模型中的对象,用对象的属性和服务分别描述对象的静态特征和动态行为。同时,在OOA模型中保存了问题论域中各个事物之间的关系,把具有相同属性和相同服务的对象归于一类,用一般化∕特殊化关系(分类结构)和整体∕部分关系(组装结构)描述事物间的结构关系,用实例连接和消息连接描述事物之间的静态联系和动态联系,从而忠实地反映了问题论域的原貌。2.面向对象设计面向对象设计OOD(Object-OrientedDesign)通过对象的认定和对象层次结构的组织,确定解空间中应存在的对象和对象层次结构,并确定外部接口和主要的数据结构。面向对象的设计准则有:模块化、抽象、信息隐藏、弱耦合、强内聚、可重用。OOD分为四部分:1)问题域部分,保持系统总体结构的稳定性;2)人机交互部分;3)任务管理部分,简化总体设计和编码;4)数据管理部分,包括数据存放方法的设计和相应服务的设计。3.面向对象方法同结构化方法的比较:结构化方法强调过程抽象和模块化,将现实世界映射为数据流和加工,加工之间通过数据流进行通信,数据作为被动的实体被主动地操作所加工,是以过程(或操作)为中心来构造系统和设计程序的;面向对象方法把世界看成是独立对象的集合,对象将数据和操作封装在一起,提供有限的接口,其内部的实现细节、数据结构及对它们的操作是外部不可见的,对象之间通过消息相互通信,面向对
本文标题:软件工程基础知识
链接地址:https://www.777doc.com/doc-2011315 .html