免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2018年下半年 信息系统项目管理师 上午试卷 综合知识
  第26题      
  知识点:   面向对象基本概念   面向对象方法
  关键词:   面向对象方法   对象   面向对象        章/节:   信息系统及其技术和开发方法       

 
关于面向对象方法的描述,不正确的是()。
 
 
  A.  相比于面向过程设计方法,面向对象方法更符合人类思维习惯
 
  B.  封装性、继承性、模块性是面向对象的三大特征
 
  C.  面向对象中,应把握高内聚、低耦合的原则
 
  D.  使用面向对象方法构造的系统具有更好的复用性
 
 
 

 
  第25题    2016年上半年  
   52%
对象模型技术OMT把需求分析时收集的信息构造在三类模型中,即对象模型、动态模型和(25)。下图显示了这三个模型的建立次序。
  第25题    2018年上半年  
   52%
在面向对象的基本概念中,()体现对象间的交互,通过它向目标对象发送操作请求。
  第27题    2015年上半年  
   27%
以下关于UML的叙述中,()是正确的。
   知识点讲解    
   · 面向对象基本概念    · 面向对象方法
 
       面向对象基本概念
        面向对象是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。面向对象的主要思想是将现实世界中的对象映射为问题域中的要素,从而有效地连接计算机和现实问题域。面向对象的基本概念有对象、类、抽象、封装、封装、继承、多态、消息、模式和复用等。
        对象
        对象是由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个封装,是构成系统的基本单位,采用计算机语言描述,对象是由一组属性和对这组属性进行操作的一组服务构成。
        对象的三要素:对象标识、对象状态和对象行为。如对于教师Joe,其个人状态信息包括性别、年龄和职位等,其行为特征为授课,则Joe就是封装后的一个典型对象。
        
        类是现实世界中实体的形式化描述,类将该实体的数据和函数封装在一起。类的数据也叫属性、状态或特征,它表现类静态的一面。类的函数也叫功能、操作或服务,它表现类动态的一面。
        如教师类中,教师共同的状态通过属性表现出来,共同的行为通过操作表现出来。可用下图来表示。
        
        教师类的属性和操作
        类和对象的关系
        对象是类的实际例子,如所有教师可以抽象为教师类,教师Joe则是教师类的一个对象。
        类和对象的关系如下:
        .每个对象都是某个类的实例。
        .每个类在某一时刻都有零或更多的实例。
        .类是静态的,它们的存在、语义和关系在程序执行前就已经定义好了;对象是动态的,它们在程序执行时可以被创建和删除。
        .类是生成对象的模板。
        抽象
        抽象是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类是一组对象的抽象,抽象是一种单一化的描述,它强调给出与应用相关的特性,抛弃不相关的特性。
        封装
        封装是将相关的概念组成一个单元,然后通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
        继承
        继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的属性和操作。继承又可分为单继承和多继承,单继承是子类只从一个父类继承,而多继承中的子类可以从多于一个的父类继承,Java是单继承的语言,而C++允许多继承。
        如类B继承了类A,则类B中的对象具有类A的一切特征,类B还可以有一些扩展。类A称为基类、父类或超类,类B称为类A的派生类或子类。
        多态
        多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态性使得一个属性或变量在不同的时期可以表示不同类的对象。
        动态绑定
        绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,叫做静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。
        动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是父类的一个特例,所以父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。
        接口
        接口就是对操作规范的说明。接口只是说明操作应该做什么,但没有定义操作如何做。接口可以理解为类的一个特例,它只规定实现此接口的类的操作方法,而把实现细节交由实现该接口的类完成。
        消息
        消息(Message)是对象内操作之间的交互手段。一个对象执行一个操作后产生了消息,这个消息可以触发另一个操作。
        组件
        组件也叫构件。组件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能)并提供了一组接口的实现方法。可以认为组件是一个封装的代码模块或大粒度的运行时的模块,也可将组件理解为具有一定功能、能够独立工作或同其他组件组合起来协调工作的对象。
        模式
        每个模式描述了一个不断重复发生的问题,以及该问题的解决方案。它是一条由三部分组成的规则,表示了一个特定环境、一个问题和一个解决方案之间的关系。
        设计模式通常是对于某一类软件设计问题的可重用的解决方案。设计模式使人们可以更加简单和方便地去复用成功的软件设计和体系结构,能够帮助设计者更快更好地完成系统设计。
        设计模式的四要素:
        .模式名称(Pattern Name)
        .问题(Problem)
        .解决方案(Solution)
        .效果(Consequences)
        设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。按照设计模式的目的可以分为三类:
        .创建型模式:与对象的创建有关。
        .结构型模式:处理类或对象的组合。
        .行为型模式:对类或对象怎样交互和怎样分配职责进行描述。
        复用
        软件复用是指将已有的软件及其有效成分用于构造新的软件或系统。构件技术是软件复用实现的关键。
 
       面向对象方法
        面向对象方法是当前的主流开发方法,拥有大量不同的方法,主要包括OMT(Object Model Technology,对象建模技术)方法、Coad/Yourdon方法、OOSE(Object-Oriented Software Engineering,面向对象的软件工程)及Booch方法等,而OMT、OOSE及Booch最后统一成为UML(United Model Language,统一建模语言)。
               Coad/Yourdon方法
               Coad/Yourdon方法主要由面向对象的分析(Object-Oriented Analysis, OOA)和面向对象的设计(Object-Oriented Design, OOD)构成,特别强调OOA和OOD采用完全一致的概念和表示法,使分析和设计之间不需要表示法的转换。该方法的特点是表示简炼、易学,对于对象、结构、服务的认定较系统和完整,可操作性强。
               在Coda/Yourdon方法中,OOA的任务主要是建立问题域的分析模型。分析过程和构造OOA概念模型的顺序由5个层次组成,分别是类与对象层、属性层、服务层、结构层和主题层,它们表示分析的不同侧面。OOA需要经过5个步骤来完成整个分析工作,即标识对象类、标识结构与关联(包括继承、聚合、组合及实例化等)、划分主题、定义属性和定义服务。
               OOD中将继续贯穿OOA中的5个层次和5个活动,它由4个部分组成,分别是人机交互部件、问题域部件、任务管理部件和数据管理部件,其主要的活动就是这4个部件的设计工作。
               Booch方法
               Booch认为软件开发是一个螺旋上升的过程,每个周期包括4个步骤,分别是标识类和对象、确定类和对象的含义、标识关系、说明每个类的接口和实现。Booch方法的开发模型包括静态模型和动态模型,静态模型分为逻辑模型(类图、对象图)和物理模型(模块图、进程图),描述了系统的构成和结构。动态模型包括状态图和顺序图。该方法对每一步都做了详细的描述,描述手段丰富而灵活。
               Booch不仅建立了开发方法,还提出了设计人员的技术要求,以及不同开发阶段的人力资源配置。Booch方法的基本模型包括类图与对象图,主张在分析和设计中既使用类图,也使用对象图。
               OMT方法
               OMT作为一种软件工程方法学,支持整个软件生存周期,覆盖了问题构成分析、设计和实现等阶段。OMT方法使用了建模的思想,讨论如何建立一个实际的应用模型。从3个不同而又相关的角度建立了3类模型,分别是对象模型、动态模型和函数模型,OMT为每一个模型提供了图形表示。
               (1)对象模型。描述系统中对象的静态结构、对象之间的关系、属性和操作。它表示静态的、结构上的、系统的“数据”特征。主要用对象图来实现对象模型。
               (2)动态模型。描述与时间和操作顺序有关的系统特征,如激发事件、事件序列、确定事件先后关系的状态。它表示瞬时、行为上的和系统的“控制”特征。主要用状态图来实现动态模型。
               (3)函数模型。描述与值的变换有关的系统特征,包括功能、映射、约束和函数依赖。主要用数据流图来实现功能模型。
               在进行OMT建模时,通常包括4个活动,分别是分析、系统设计、对象设计和实现。
               (1)分析:建立可理解的现实世界模型。通常从问题陈述入手,通过与客户的不断交互及对现实世界背景知识的了解,对能够反映系统的3个本质特征(对象类及它们之间的关系,动态的控制流,受约束的数据的函数变换)进行分析,构造出现实世界的模型。
               (2)系统设计:确定整个系统的体系结构,形成求解问题和建立解答的高层策略。
               (3)对象设计:在分析的基础上,建立基于分析模型的设计模型,并考虑实现细节。其焦点是实现每个类的数据结构及所需的算法。
               (4)实现:将对象设计阶段开发的对象类及其关系转换为程序设计语言、数据库或硬件的实现。
               OOSE
               OOSE在OMT的基础上,对功能模型进行了补充,提出了用例(use case)的概念,最终取代了数据流图来进行需求分析和建立功能模型。
               OOSE方法采用5类模型来建立目标系统。
               (1)需求模型:获取用户的需求,识别对象,主要的描述手段有用例图、问题域对象模型及用户界面。
               (2)分析模型:定义系统的基本结构。将分析模型中的对象分别识别到分析模型中的实体对象、界面对象和控制对象三类对象中。每类对象都有自己的任务、目标并模拟系统的某个方面。实体对象模拟那些在系统中需要长期保存并加以处理的信息。实体对象由使用事件确定,通常与现实生活中的一些概念相符合。界面对象的任务是提供用户与系统之间的双向通信,在使用事件中所指定的所有功能都直接依赖于系统环境,它们都放在界面对象中。控制对象的典型作用是将另外一些对象组合形成一个事件。
               (3)设计模型:分析模型只注重系统的逻辑构造,而设计模型需要考虑具体的运行环境,即将分析模型中的对象定义为模块。
               (4)实现模型:用面向对象的语言来实现。
               (5)测试模型:测试的重要依据是需求模型和分析模型,测试的方法与9.8节所介绍的方法类似,而底层是对类(对象)的测试。测试模型实际上是一个测试报告。
               OOSE的开发活动主要分为3类,分别是分析、构造和测试。其中分析过程分为需求分析和健壮性分析两个子过程,分析活动分别产生需求模型和分析模型。构造活动包括设计和实现两个子过程,分别产生设计模型和实现模型。测试过程包括单元测试、集成测试和系统测试三个过程,共同产生测试模型。
               用例是OOSE中的重要概念,在开发各种模型时,它是贯穿OOSE活动的核心,描述了系统的需求及功能。用例实际上是描述系统用户(使用者、执行者)对于系统的使用情况,是从使用者的角度来确定系统的功能。因此,首先必须分析确定系统的使用者,然后进一步考虑使用者的主要任务、使用的方式、识别所使用的事件,即用例。
   题号导航      2018年下半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第26题    在手机中做本题