《系统集成项目管理工程师考试试题分类精解.doc》由会员分享,可在线阅读,更多相关《系统集成项目管理工程师考试试题分类精解.doc(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、系统集成项目管理工程师考试试题分类精解第1章信息系统开发基础1.12009年上半年试题5 试题1(2009年上半年试题5) 与客户机/服务器(Client/Server,C/S)架构相比,浏览器/服务器(Browser/Server,B/S)架构的最大优点是(5)。 (5)A具有强大的数据操作和事务处理能力B部署和维护方便、易于扩展 C适用于分布式系统,支持多层应用架构D将应用一分为二,允许网络分布操作 试题1分析 C/S架构(体系结构)是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,C/S架构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S
2、架构有三个主要组成部分,分别是数据库服务器、客户应用程序和网络。 C/S架构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。服务器为多个客户应用程序管理数据,而客户程序发送、请求和分析从服务器接收的数据,这是一种“胖客户机”和“瘦服务器”的架构。其数据流图如图1-1所示。图1-1 C/S架构的一般处理流程 在一个C/S架构的软件系统中,由于客户应用程序是针对一个小的、特定的数据集,如一个表的行来进行操作,而不是像文件服务器那样针对整个文件进行;对某一条记录进行封锁,而不是对整个文件进行封锁,因此保证了系统的并发性,并使网络上传输的数据量减到最少,从而改善了系统的
3、性能。 与二层C/S架构相比,在三层C/S架构中,增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种结构被称为“瘦客户机”。三层C/S架构是将应用功能分成表示层、功能层和数据层三个部分,如图1-2所示。图1-2三层C/S架构的一般处理流程 在三层C/S架构中,中间件是最重要的构件。所谓中间件是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。它的功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。其工作流程是:当客户机里的应用程序需要驻留网络上某个服务器的数据或服务时,搜索此数据的C/S
4、应用程序需访问中间件系统。该系统将查找数据源或服务,并在发送应用程序请求后重新打包响应,将其传送回应用程序。 在三层C/S架构中,表示层负责处理用户的输入和向客户的输出(出于效率的考虑,它可能在向上传输用户的输入前进行合法性验证)。功能层负责建立数据库的连接,根据用户的请求生成访问数据库的SQL语句,并将结果返回给客户端。数据层负责实际的数据库存储和检索,响应功能层的数据处理请求,并将结果返回给功能层。 B/S架构风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。B/S架构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现
5、了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。 在B/S架构中,除了数据库服务器外,应用程序以网页形式存放于Web服务器上,用户运行某个应用程序时只需在客户端上的浏览器中键入相应的网址(URL),调用Web服务器上的应用程序并对数据库进行操作完成相应的数据处理工作,最后将结果通过浏览器显示给用户。可以说,在B/S模式的计算机应用系统中,应用(程序)在一定程度上具有集中特征。 基于B/S架构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。B/S架构还提供了异种机、异种网、异
6、种应用服务的联机、联网、统一服务的最现实的开放性基础。 试题1参考答案(5)B 1.22009年上半年试题11 试题2(2009年上半年试题11) UML 2.0支持14种图,它们可以分成两大类:结构图和行为图。以下( 11 )说法不正确。 (11)A部署图是行为图 B顺序图是行为图 C用例图是行为图 D构件图是结构图 试题2分析 UML是一个通用的可视化建模语言,它是面向对象分析和设计的一种标准化表示,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。它记录了对所构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML 适用于各种软件开发方法、软件生命周期
7、的各个阶段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML标准包括相关概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。它可被可视化建模工具所支持,这些工具提供了代码生成器和报表生成器等。UML标准并没有定义一种标准的开发过程,但它比较适用于迭代式的开发过程,是为支持大部分现存的面向对象开发过程而设计的。 UML描述了系统的静态结构和动态行为,它将系统描述为一些独立的相互作用的对象,构成为外界提供一定功能的模型结构,静态结构定义了系统中重要对象的属性和服务,以及这些对象之间的相互关系,动态行为定义了对象的时间特性和对象为
8、完成目标而相互进行通信的机制。 UML 2.0包括下列14种图: (1)类图:展现了一组类、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图。包含主动类的类图给出系统的静态进程视图。 (2)对象图:展现了一组对象以及它们之间的关系。对象图描述了在类图中所建立的事物的实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。 (3)构件图:展现了一个封装的类和它的接口、端口以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件
9、图是很重要的。构件图是类图的变体。 (4)组合结构图:它可以描绘结构化类(例如构件或类)的内部结构,包括结构化类与系统其余部分的交互点。它显示联合执行包含结构化类的行为的部件配置。组合结构图用于画出结构化类的内部内容。 (5)用例图:现了一组用例、参与者(一种特殊的类)及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模上是非常重要的。 (6)序列图(顺序图)和通信图:两者都是交互图。交互图展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。序列图是强调消息的时间次序的交互图;通信图也是一种交互图,它强调收发消息的对象或角
10、色的结构组织。序列图和通信图表达了类似的基本概念,但每种图强调概念的不同视图,序列图强调时序,通信图强调消息流经的数据结构。 (7)状态图:展现了一个状态机,它由状态、转移、事件和活动组成。状态图展现了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。 (8)活动图:将进程或其他计算的结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对于系统的功能建模特别重要,并强调对象间的控制流程。 (9)部署图和制品图:展现了对运行时的处理结点以及在其中生存的构件的配置。部署图给出了体系结构的静态部署视图。通常一个结点
11、包含一个或多个制品。制品图展现了计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品常与部署图一起使用。制品也展现了它们实现的类和构件。 (10)包图:展现了由模型本身分解而成的组织单元以及它们的依赖关系。 (11)定时图(时序图):是一种交互图,它展现了消息跨越不同对象或角色的实际时间,而不仅仅是关心消息的相对顺序。 (12)交互概览图:是活动图和序列图的混合物。 以上图形可以分成两大类,分别是结构图和行为图。结构图表示系统的静态结构,属于静态模型,包括类图、组合结构图、构件图、部署图、制品图、对象图和包图;行为图表示系统的动态结构,属于动态模型,包括活动图、交互图、用
12、例图和状态图,其中交互图是顺序图、通信图、交互概览图和定时图的统称。 试题2参考答案 (11)A 1.32009年上半年试题65 试题3(2009年上半年试题65) 目前,企业信息化系统所使用的数据库管理系统的结构,大多数为(65)。 (65)A层次结构B关系结构C网状结构D链表结构 试题3分析 大多数数据库系统都是基于某种数据库模型建立起来的。常见的数据库模型包括层次模型、网状模型、关系模型、对象关系模型、对象模型、多维模型等。下面,主要分析层次模型、网状模型和关系模型的特点。 层次模型是一种按照树状结构来组织数据的方式,对应数据结构中的树结构。层次模型主要用于早期大型机的数据库管理系统中和
13、对XML文档数据的描述。这种模型适合描述两种数据之间存在一对多的父子关系的客观对象,例如,组织结构、产品结构、生物分类、XML文档等数据。 网状模型是一种按照网状结构来组织数据的方式,对应数据结构中的图结构。在此结构中,每个节点都可能与其他节点之间建立关系。网状模型适合于描述具有冗余数据的数据元素之间的关系。 关系模型最早是由E. F. Codd于1970年基于关系代数理论提出的,目的是使得数据库管理系统独立于各种应用程序。关系模型的基本数据结构是用来描述实体的表,表是数据行的集合,表中的列描述了数据行的属性。数据库中的多个表之间往往彼此关联。目前,企业信息化系统所使用的数据库管理系统的结构,
14、大多数为关系结构,即目前主流的数据库管理系统都是关系型数据库。 试题3参考答案 (65)B 1.42009年上半年试题66 试题4(2009年上半年试题66) 管理信息系统建设的结构化方法中,用户参与的原则是用户必须参与(66)。 (66)A系统建设中各阶段工作B系统分析工作 C系统设计工作 D系统实施工作 试题4分析 结构化方法是由结构化系统分析和设计组成的一种信息系统开发方法。结构化方法是目前最成熟、应用最广泛的信息系统开发方法之一。由于它是假定被开发的系统是一个结构化的系统,因此,其基本思想是将系统的生命周期划分为系统调查、系统分析、系统设计、系统实施、系统维护等阶段。 结构化方法遵循系
15、统工程原理,按照事先设计好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化和模块化的基础上进行信息系统的开发工作。结构化方法的开发过程一般是先将系统的功能看成是一个大的模块,再根据系统分析与设计的要求对其进行进一步的模块分解或组合。 结构化方法的主要原则,归纳起来有以下4条: (1)用户参与的原则。管理信息系统的用户是各级各类管理者,满足他们在管理活动中的信息需求,是管理信息系统建设的直接目地。由于系统本身和系统建设工作的复杂性,用户需求的表达和系统建设的专业人员对用户需求的理解需要逐步明确、深化和细化。而且,管理信息系统是人机系统,在实现各种功能时,人与计算机的合理分工和相互密切配
16、合至关重要。这就需要用户对系统的功能、结构和运行规律有较深入的了解,专业人员也必须充分考虑用户的特点和使用方面的习惯与要求,以协调人一机关系。总之,用户必须作为管理信息系统主要建设者的一部分在系统建设的各个阶段直接参与工作。用户与建设工作脱节,常常是系统建设工作失败的重要原因之一。管理信息系统的建设,关系到一个组织的信息处理能力和管理决策的水平,是涉及该组织的全局,与近期和长远发展密切相关的战略问题。此组织的主要领导必须十分重视,亲自领导和直接参与这一工作,特别是用户的高层领导。国内外经验表明:各级管理人员,特别是主要决策者的参与和重视,是管理信息系统建设成功的重要条件。 (2)“先逻辑,后物
17、理”的原则。为了建立系统建设的科学秩序,保证建设工作的质量与效率,结构的方法强调在进行技术设计和实施之前,要进行充分的调查、分析、论证,进行逻辑方案的探索,弄清系统要为用户解决哪些问题,即解决“系统做什么”的问题,尽量避免过早地进入物理设计阶段。 (3)“自顶向下”的原则。在系统分析、系统设计与系统实施各阶段,结构化方法强调在工作中贯彻执行“自须向下”的原则,先把握系统的总体目标和功能,然后逐级分解,逐步细化。系统测试也从总体功能开始,先检查有关总体问题,然后逐级向下测试这一原则使建设者在系统建设整个过程中始终把握全局,致力于总体目标与功能的实现,把以下各级作为实现总体功能与目标的保证,这有利
18、于各部分的合理分工、协调与正确配置。“自项向下”的原则在应用时并不完全排斥“自底向上”原则,在结构化方法中,“自顶向下”原则是主导原则,“自底向上”是辅助原则。 (4)工作成果描述标准化原则。结构化方法强调各阶段工作成果描述的标准化。每一工作阶段的成果,必须用明确的文字和标准化的图形、图表,完整、准确地进行描述,这不仅作为一个阶段工作完成的标志和管理决策的依据,并且作为系统建设必需的文件进行交流和积累存档,有的文件还是下一阶段工作的依据。工作成果描述的标准化,可以防止由于描述的随意性造成建设者之间的误解而贻误工作,便于工作交流和各阶段的交接,便于今后对系统进行检查、修改和补充。 结构化方法具有
19、如下特点: (1)遵循用户至上原则。 (2)严格区分工作阶段,每个阶段有明确的任务和取得的成果。 (3)强调系统开发过程的整体性和全局性。 (4)系统开发过程工程化,文档资料标准化。 结构化方法的优点是:理论基础严密,它的指导思想是用户需求在系统建立之前就能被充分了解和理解。由此可见,结构化方法注重开发过程的整体性和全局性。 结构化方法的缺点是:开发周期长;文档、设计说明繁琐,工作效率低;要求在开发之初全面认识系统的信息需求,充分预料各种可能发生的变化,但这并不十分现实;若用户参与系统开发的积极性没有充分调动,造成系统交接过程不平稳,系统运行与维护管理难度加大。 试题4参考答案 (66)A 1
20、.52009年下半年试题9 试题5(2009年下半年试题9) 常用的信息系统开发方法中,不包括(9)。 (9)A结构化方法B关系方法C原型法D面向对象方法 试题5分析 常用的信息系统开发方法包括结构化方法、快速原型法、企业系统规划法、战略数据规划法、信息工程法和面向对象方法。 (1)结构化方法。请参考4的分析。 (2)快速原型法。是一种根据用户需求,利用系统开发工具,快速地建立一个系统模型并展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。应用快速原型法开发过程包括系统需求分析、系统初步设计、系统调试、系统检测等阶段。用户仅需在系统分析与系统初步设计阶段完成对应用系统
21、的简单描述,开发者在获取一组基本需求定义后,利用开发工具生成应用系统原型,快速建立一个目标应用系统的最初版本,并将它提交给用户试用、评价,根据用户提出的意见和建议进行修改和补充,从而形成新的版本,再返回给用户。通过这样多次反复,使得系统不断地细化和扩充,直到生成一个用户满意的解决方案为止。快速原型法具有开发周期短、见效快、与业务人员交流方便的优点,特别适用于那些用户需求模糊,结构性比较差的信息系统的开发。 (3)企业系统规划方法。BSP(Business System Planning,企业系统规划方法)是企业战略数据规划方法和信息工程方法的基础和,也就是说,后两种方法是在BSP方法的基础上发
22、展起来的,BSP方法的目标是提供一个信息系统规划,用以支持企业短期的和长期的信息需求。 (4)战略数据规划方法。战略数据规划方法是由世界级的信息系统大师詹姆斯?马丁提出的一种信息系统开发方法。这个方法认为,一个企业要建设信息系统,它的首要任务应该是在企业战略目标的指导下做好企业战略数据规划。一个好的企业战略数据规划应该是企业核心竞争力的重要构成因素,它有非常明显的异质性和专有性,好的企业战略数据规划必将成为企业在市场竞争中的制胜法宝。战略数据规划方法的要点主要有: 数据环境对于信息系统至关重要。企业数据环境是随着企业的发展不断变化的,也是企业发展的基础条件。信息系统建设极大影响着企业的未来发展
23、方向,对企业的数据环境提出了更高的要求。将静态的、独立的信息资源通过战略数据规划重建企业数据环境,使其成为集成化、网络化的信息资源,对一个现代化企业来说是更为迫切的任务。 四种数据环境。在信息系统发展的历程中共有四类数据环境,即数据文件、应用数据库、主题数据库和信息检索系统。 建设主题数据库是信息系统开发的中心任务。这里的主题数据库并不是指数据库的大小,也不是指数据库的功能,而是指哪些数据库是面向企业的业务主题的,哪些不是面向业务主题的。所谓业务主题,就是指企业的核心业务和主导流程。比如,对于一个汽车制造企业来说,生产整车就是其核心竞争力,相应地,围绕核心业务建立的数据库就是企业的主题数据库;
24、而对于一个物流企业来说,围绕着物流业务处理的数据库就是企业的主题数据库。 围绕主题数据库搞好应用软件开发。 (5)信息工程方法。信息工程方法与企业系统规划方法和战略数据规划方法是一种交叉关系,即信息工程方法是其他两种方法的总结和提升,而其他两种方法则是信息工程方法的基础和核心。信息工程方法与信息系统开发的其他方法相比,有一点很大的不同,就是信息工程不仅是一种方法,它还是一门工程学科。它第一次将信息系统开发过程工程化了。所谓工程化,就是指有一整套成熟的、规范的工程方法、技术、标准、程序和规范,使得开发工作摆脱随意性和多变性,其目标是信息系统的开发走上智能化、程序化和自动化的道路。 (6)面向对象
25、方法。在面向对象方法中将客观世界从概念上看成是一个由许多相互配合而协作的对象所组成的系统。面向对象的分析方法是利用面向对象的信息建模概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法。传统的结构化设计方法的基本点是面向过程,系统被分解成若干个过程,而面向对象的方法是采用构造模型的观点,在系统的开发过程中,各个步骤的共同的目标是建造一个问题域的模型。在面向对象的设计中,初始元素是对象,然后将具有共同特征的对象归纳成类,组织类之间的等级关系,从而构造出类库。在应用时,就可直接在类库中选择已有的类,从而达到复用的目的。 试题5参考答案 (9)B 1.62009年下半年
26、试题10 试题6(2009年下半年试题10) 应用已有软件的各种资产构造新的软件,以缩减软件开发和维护的费用,称为( 10)。 (10)A软件继承B软件利用C软件复用D软件复制 试题6分析 软件复用是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。 软件复用是一种计算机软件工程方法和理论。20世纪60年代的“软件危机”使程序员明白难于维护的软件的成本是极其高昂的,当软件的规模不断扩大时,
27、这种软件的综合成本可以说是没有人能负担的,并且即使投入了高昂的资金也难以得到可靠的产品,而软件重用是解决这一问题的有效方法。 软件复用的主要思想是,将软件看成是由不同功能的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具,这样,如果完成各种工作的组件被建立起来以后,编写某一特定软件的工作就变成了将各种不同组件组织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。 软件制品的复用,按抽象程度的高低,可以划分为如下复用级别:代码的复用、设计的复用、分析的复用、测试信息的复用等 支持软件复用是人们对面向对象方法寄托的主要希望之一,也是这种方法受到
28、广泛重视的主要原因之一。面向对象方法之所以特别有利于软件复用,是由于它的主要概念及原则与软件复用的要求十分吻合。 面向对象的软件开发和软件复用之间的关系是相辅相成的。一方面,面向对象的方法的基本概念、原则与技术提供了实现软件复用的有利条件;另一方面,软件复用技术也对面向对象的软件开发提供了有力的支持。 试题6参考答案 (10)C 1.72009年下半年试题15 试题7(2009年下半年试题15) 关于UML,错误的说法是( 15)。 (15)AUML是一种可视化的程序设计语言 BUML不是过程,也不是方法,但允许任何一种过程和方法使用 CUML简单且可扩展 DUML是面向对象分析与设计的一种标
29、准表示 试题7分析 UML具有如下的语言特征: (1)不是一种可视化的程序设计语言,而是一种可视化的建模语言。 (2)是一种建模语言规范说明,是面向对象分析与设计的一种标准表示。 (3)不是过程,也不是方法,但允许任何一种过程和方法使用它。 (4)简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改。 (5)为面向对象的设计与开发中涌现出的高级概念(如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的复用。 (6)与最好的软件工程实践经验集成。 UML最重要的目标是使UML成为一个通用的建模语言,可供所有建模者使用。它并非某人专有,而是建立在计算机
30、界普遍认同的基础上,即它包括了各种主要的方法并可作为它们的建模语言。其次,UML应能够很好地支持设计工作,像封装、划分等记录模型构造思路。此外,UML 应该能够准确表达当前软件开发中的热点问题,比如软件规模、分布、并发、方式和团队开发等。 UML并不试图成为一个完整的开发方法,它不包括一步一步的开发过程。UML和使用UML的软件开发过程是两回事。UML可以支持很多的,至少是目前现有的大部分软件开发过程。UML包含了完整的概念,这些概念对于支持基于一个健壮的架构来解决用例驱动的迭代式开发过程是必要的。 UML的最终目标是在尽可能简单的同时能够对应用系统的各个方面建模。UML需要有足够的表达能力以
31、便可以处理现代软件系统中出现的所有概念,如并发和分布,以及软件工程中使用的技巧,如封装和组件。它必须是一个通用语言,像任何一种通用程序设计语言一样,这就意味着UML必将十分庞大,它比先前的建模语言更复杂、更全面。 试题7参考答案 (15)A 1.82009年下半年试题16 试题8(2009年下半年试题16) 在UML中,动态行为描述了系统随时间变化的行为,下面不属于动态行为视图的是( 16)。 (16)A状态机视图B实现视图C交互视图D活动视图 试题8分析 UML中的各种组件和概念之间没有明显的划分界限,但为方便起见,用视图来划分这些概念和组件。视图只是表达系统某一方面特征的UML建模组件的子
32、集。在每一类视图中使用一种或多种特定的图来可视化地表示视图中的各种概念。 在最上一层,视图被划分成三个视图域,分别是结构、动态行为和模型管理。 结构描述了系统中的结构成员及其相互关系。模型元素包括类、用例、构件和节点。模型元素为研究系统动态行为奠定了基础。结构视图包括静态视图、用例视图和实现视图。 动态行为描述了系统随时间变化的行为。行为用从静态视图中抽取的瞬间值的变化来描述。动态行为视图包括状态机视图、活动视图和交互视图。 模型管理说明了模型的分层组织结构。包是模型的基本组织单元,特殊的包还包括模型和子系统。模型管理视图跨越了其他视图并根据系统开发和配置组织这些视图。 UML还包括多种具有扩
33、展能力的组件,这些扩展能力有限但很有用。这些组件包括约束、构造型和标记值,它们适用于所有的视图元素。 在UML中,使用各种不同的符号元素,根据需求调研的结果,再由符号画成图形以表示待建系统的结构和行为。 试题8参考答案 (16)B 1.92009年下半年试题17-18 试题9(2009年下半年试题17-18) 面向对象中的( 17)机制是对现实世界中遗传现象的模拟。通过该机制,基类的属性和方法被遗传给派生类;( 18)是指把数据以及操作数据的相关方法组合在同一单元中,使我们可以把类作为软件复用中的基本单元,提高内聚度,降低耦合度。 (17)A复用B消息C继承D变异 (18)A多态B封装C抽象D
34、接口 试题9分析 面向对象的基本概念有对象、类、抽象、封装、继承、多态、接口、消息、组件、模式和复用等。 (1)对象。对象是由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个封装,是构成系统的基本单位,采用计算机语言描述,对象是由一组属性和对这组属性进行操作的一组服务构成。对象包含三个基本要素,分别是对象标识、对象状态和对象行为。每一个对象必须有一个名字以区别于其他对象,这就是对象标识;状态用来描述对象的某些特征;对象行为用来封装对象所拥有的业务操作。例如,对于希赛教育软考学院老师Joe而言,包含性别、年龄、职位等个人状态信息,同时还具有授课的行为特征,那么Joe老师就是封装后的一个
35、典型对象。 (2)类。类是现实世界中实体的形式化描述,类将该实体的数据和函数封装在一起。类的数据也叫属性、状态或特征,它表现类静态的一面。类的函数也叫功能、操作或服务,它表现类动态的一面。Joe是一名教师,也就拥有了教师的特征,这个特征就是教师这个类所特有的,具体而言,共同的状态通过属性表现出来,共同的行为通过操作表现出来。对象是类的实际例子。如果将对象比作房子,那么类就是房子的设计图纸。例如:银行里所有储户的账户,可以抽象为账户类。账户类的对象,可以是一个个具体的储户,例如,张三工行的账户、张三建行的账户、李四工行的账户等。类和对象的关系可以总结为: 每一个对象都是某一个类的实例。 每一个类
36、在某一时刻都有零或更多的实例。 类是静态的,它们的存在、语义和关系在程序执行前就已经定义好了,对象是动态的,它们在程序执行时可以被创建和删除。 类是生成对象的模板。 (3)抽象。抽象是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类是一组对象的抽象,抽象是一种单一化的描述,它强调给出与应用相关的特性,抛弃不相关的特性。 (4)封装。封装是将相关的概念组成一个单元,然后通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。对于银行账户类而言,有取款和存款
37、的行为特征,但实现细节对于客户而言并不可见,所以在进行ATM提款交易的过程中,我们并不知道交易如何进行,对应账户是如何保存状态的,这就体现了对象的封装。 (5)继承。继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的特征和能力,继承又可分为单重继承和多重继承,单重继承是子类只从一个父类继承,而多重继承中的子类可以从多于一个的父类继承,Java是单重继承的语言,而C+允许多重继承。假设类B继承类A,即类B中的对象具有类A 的一切特征(包括属性和操作)。类A称为基类或父类或超类,类B称为类A的派生类或子类,类B在类A的基础上还可以有一些扩展。 (6)多态。多态性是一种方法,这种方
38、法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态性使得一个属性或变量在不同的时期可以表示不同类的对象。例如,Rectangle和Circle都继承于Shape,对于Shape而言,会有getArea()的操作。但显而易见,Rectangle和Circle的getArea()方法的实现是完全不一样的,这就体现了多态的特征。 (7)接口。所谓接口就是对操作规范的说明。接口只是说明操作应该做什么,但没有定义操作如何做。接口可以理解成为类的一个特例,它只规定实现此接口的类的操作方法,而把真正的实现细节交由实现该接口的类去完成。接口在面向对象分析和设计过程中起到了至关重要的
39、桥梁作用,系统分析员通常先把有待实现的功能封装并定义成接口,而后期程序员依据此接口进行编码实现。 (8)消息。消息是指向对象发出的服务请求,它应该含有下述信息:提供服务的对象标志、消息名、输入信息和回答信息。对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。消息通信也是面向对象方法学中的一条重要原则,它与对象的封装原则密不可分。封装使对象成为一些各司其职、互不干扰的独立单位;消息通信则为它们提供了惟一合法的动态联系途径,使它们的行为能够互相配合,构成一个有机的系统。
40、 (9)组件。组件也称为构件,是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能),并提供了一组接口的实现方法。可以认为组件是一个封装的代码模块或大粒度的运行时的模块,也可将组件理解为具有一定功能、能够独立工作或同其他组件组合起来协调工作的对象。对于组件,应当按可复用的要求进行设计、实现、打包、编写文档。组件应当是内聚的,并具有相当稳定的公开的接口。为了使组件更切合实际、更有效地被复用,组件应当具备“可变性”,以提高其通用性。组件应向复用者提供一些公共“特性”,另一方面还要提供可变的“特性”。针对不同的应用系统,只需对其可变部分进行适当的调节,复用者要根据复用的具体需要,改造组件
41、的可变“特性”,即“客户化”。 (10)模式。模式是一条由三部分组成的规则,它表示了一个特定环境、一个问题和一个解决方案之间的关系。每一个模式描述了一个不断重复发生的问题,以及该问题的解决方案。这样就能一次又一次地使用该方案而不必做重复劳动。将设计模式引入软件设计和开发过程的目的在于充分利用已有的软件开发经验,这是因为设计模式通常是对于某一类软件设计问题的可重用的解决方案。设计模式使得人们可以更加简单和方便地去复用成功的软件设计和体系结构,从而能够帮助设计者更快更好地完成系统设计。 试题9参考答案 (17)C(18)B 1.102010年上半年试题7 试题10(2010年上半年试题7) 与基于
42、C/S架构的信息系统相比,基于B/S架构的信息系统(7)。 (7)A具备更强的事务处理能力,易于实现复杂的业务流程 B人机界面友好,具备更加快速的用户响应速度 C更加容易部署和升级维护 D具备更高的安全性 试题10分析 与基于C/S架构的信息系统相比,基于B/S架构的信息系统,应用软件的升级维护均在服务器上进行,客户端是“零”维护。有关这方面的详细知识,请阅读试题1的分析。 试题10参考答案 (7)C 1.112010年上半年试题9 试题11(2010年上半年试题9) 以下关于软件测试的描述,(9)是正确的。 (9)A系统测试应尽可能在实际运行使用的环境下进行 B软件测试是编码阶段完成之后进行
43、的一项活动 C专业测试人员通常采用白盒测试法去检查程序的功能是否符合用户需求 D软件测试工作的好坏,取决于测试发现错误的数量 试题11分析 测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。软件测试是针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为,需要选取适当的测试用例。 测试不再只是一种仅在编码阶段完成后才开始的活动。现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,它本身是实际产品构造的一个重要部分。测试不仅是检查预防措施是否有效的主要手段,而且是识别由于某种原因预防措施无效而产生的错误的主要手段。需要注意的是,在广泛的测试活动成功完成后,软
44、件可能仍包含错误,交付后出现的软件失效的补救措施是由软件维护达成的。 根据测试的目的、阶段的不同,可以将测试分为单元测试、集成测试、确认测试、系统测试等种类。 (1)单元测试:又称为模块测试,是针对软件设计的最小单位(程序模块)进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现模块内部可能存在的各种错误。 (2)集成测试:也称为组装测试、联合测试(对于子系统而言,则称为部件测试)。它主要是将已通过单元测试的模块集成在一起,主要测试模块之间的协作性。集成测试计划通常是在软件概要设计阶段完成。 (3)确认测试:也称为有效性测试
45、,主要是验证软件的功能、性能及其他特性是否与用户要求(需求)一致。确认测试计划通常是在需求分析阶段完成。 (4)系统测试:如果项目不只包含软件,还有硬件和网络等,则要将软件与外部支持的硬件、外设、支持软件、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行的一系列集成与确认测试。一般地,系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等。系统测试计划通常是在系统分析阶段(需求分析阶段)完成。 试题11参考答案 (9)A 1.122010年上半年试题11 试题12(2010年上半年试题11) 在软件生存周期中,将某种形式表示的软件转换成更高抽象形式表示的软件的活动属于( 11 )。 (11)A逆向工程 B代码重构 C程序结构重构 D数据结构重构 试题12分析 随着维护次数的增加,可能会造成软件结构的混乱,使软件的可维护性降低,束缚了新软件的开发。同时,那些待维护的软件又常是业务的关键,不可能废弃或重新开发。于是引出了软件再工程(Reengineering),即需要对旧的软件进行重新处理、调整,提高其可维护性。 再工程是对现有软件系统的重新开发过程,包括逆向工程(Reverse Engineering,反向工程)、新需求的考虑(软件重构)和正向工程三个步骤。再工程不仅能从已有的程序中重新获
限制150内