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

 
面向对象的方法构建在类和对象之上,通过建模技术将相关对象按照()进行分组,形成()。
 
 
  A.  管理 接口
 
  B.  流程 用例
 
  C.  活动 系统
 
  D.  业务 构件
 
 
 

 
  第27题    2013年下半年  
   53%
下图为一个UML序列图的一部分,正确的理解是(27)。

①订单类发消息给客户类
②客户类发消息给订单类
③..
  第27题    2019年上半年  
   79%
项目成员张工绘制了四张类图,其中不正确的是( )。
  第14题    2008年上半年  
   51%
(14)可以帮助人们简单方便地复用已经成功的设计或体系结构。
   知识点讲解    
   · 面向对象基本概念    · 建模    · 建模技术    · 类和对象
 
       面向对象基本概念
        面向对象是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。面向对象的主要思想是将现实世界中的对象映射为问题域中的要素,从而有效地连接计算机和现实问题域。面向对象的基本概念有对象、类、抽象、封装、封装、继承、多态、消息、模式和复用等。
        对象
        对象是由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个封装,是构成系统的基本单位,采用计算机语言描述,对象是由一组属性和对这组属性进行操作的一组服务构成。
        对象的三要素:对象标识、对象状态和对象行为。如对于教师Joe,其个人状态信息包括性别、年龄和职位等,其行为特征为授课,则Joe就是封装后的一个典型对象。
        
        类是现实世界中实体的形式化描述,类将该实体的数据和函数封装在一起。类的数据也叫属性、状态或特征,它表现类静态的一面。类的函数也叫功能、操作或服务,它表现类动态的一面。
        如教师类中,教师共同的状态通过属性表现出来,共同的行为通过操作表现出来。可用下图来表示。
        
        教师类的属性和操作
        类和对象的关系
        对象是类的实际例子,如所有教师可以抽象为教师类,教师Joe则是教师类的一个对象。
        类和对象的关系如下:
        .每个对象都是某个类的实例。
        .每个类在某一时刻都有零或更多的实例。
        .类是静态的,它们的存在、语义和关系在程序执行前就已经定义好了;对象是动态的,它们在程序执行时可以被创建和删除。
        .类是生成对象的模板。
        抽象
        抽象是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类是一组对象的抽象,抽象是一种单一化的描述,它强调给出与应用相关的特性,抛弃不相关的特性。
        封装
        封装是将相关的概念组成一个单元,然后通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
        继承
        继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的属性和操作。继承又可分为单继承和多继承,单继承是子类只从一个父类继承,而多继承中的子类可以从多于一个的父类继承,Java是单继承的语言,而C++允许多继承。
        如类B继承了类A,则类B中的对象具有类A的一切特征,类B还可以有一些扩展。类A称为基类、父类或超类,类B称为类A的派生类或子类。
        多态
        多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态性使得一个属性或变量在不同的时期可以表示不同类的对象。
        动态绑定
        绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,叫做静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。
        动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是父类的一个特例,所以父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。
        接口
        接口就是对操作规范的说明。接口只是说明操作应该做什么,但没有定义操作如何做。接口可以理解为类的一个特例,它只规定实现此接口的类的操作方法,而把实现细节交由实现该接口的类完成。
        消息
        消息(Message)是对象内操作之间的交互手段。一个对象执行一个操作后产生了消息,这个消息可以触发另一个操作。
        组件
        组件也叫构件。组件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能)并提供了一组接口的实现方法。可以认为组件是一个封装的代码模块或大粒度的运行时的模块,也可将组件理解为具有一定功能、能够独立工作或同其他组件组合起来协调工作的对象。
        模式
        每个模式描述了一个不断重复发生的问题,以及该问题的解决方案。它是一条由三部分组成的规则,表示了一个特定环境、一个问题和一个解决方案之间的关系。
        设计模式通常是对于某一类软件设计问题的可重用的解决方案。设计模式使人们可以更加简单和方便地去复用成功的软件设计和体系结构,能够帮助设计者更快更好地完成系统设计。
        设计模式的四要素:
        .模式名称(Pattern Name)
        .问题(Problem)
        .解决方案(Solution)
        .效果(Consequences)
        设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。按照设计模式的目的可以分为三类:
        .创建型模式:与对象的创建有关。
        .结构型模式:处理类或对象的组合。
        .行为型模式:对类或对象怎样交互和怎样分配职责进行描述。
        复用
        软件复用是指将已有的软件及其有效成分用于构造新的软件或系统。构件技术是软件复用实现的关键。
 
       建模
        建模是在计算机上创造三维形体的过程,建模是三维动画的基础,没有一个好的模型,其他好的效果都难以表现。三维建模的基本方法主要有:利用二维形体的技术、直接进行三维物体建模、造型组合等。
        利用二维形体进行建模的技术的主要思想是首先创建简单的二维形体,如样条线和形状等,然后对这些创建的二维形体进行挤压、旋转、放样等操作以创建三维造型。
        直接进行三维物体建模的常用方法有多边形建模、面片建模、NURBS建模等。
        造型组合是把已有的物体组合成新的物体,其中布尔运算是最重要的组合技术。
 
       建模技术
        制订进度计划时可能用到的建模技术包括:
        .假设情景分析。假设情景分析是对各种情景进行评估,预测它们对项目目标的影响(积极或消极的)。例如,推迟某主要部件的交货日期,延长某设计工作的时间,或加入外部因素等。可以根据假设情景分析的结果,评估项目进度计划在不利条件下的可行性,以及为克服或减轻意外情况的影响而编制应急和应对计划。
        .模拟。模拟技术基于多种不同的活动假设(通常使用三点估算的概率分布)计算出多种可能的项目工期,以应对不确定性。最常用的模拟技术是蒙特卡洛分析,它首先确定每个活动的可能持续时间的概率分布,然后据此计算出整个项目的可能工期的概率分布。
 
       类和对象
        1)类的概念
        类是数据以及用于操纵该数据的方法(函数)的集合,是逻辑上相关函数与数据的封装。它是对所要处理问题的抽象描述,它把数据(事物的属性)和函数(事物的行为/操作)封装为一个整体。
        2)类的定义格式
        类的定义格式如下:
        
        其中,private、 public、 protected称为访问权限控制关键字,其作用是限制"可见性"。在类的定义中,以上3种关键字出现的次数和先后次序都没有限制,默认被认为是private。这3种关键字对应的访问可见性如下。
        .private:私有成员,只能在成员函数内访问。
        .public:公有成员,可以在对象的外部访问。
        .protected:保护成员,只能由对象内部或其派生类对象访问。
        面向对象的思想是对对象的属性(成员变量)进行操作,应该通过对象的方法(成员函数)来进行,对象的方法是对象和外部的接口。将类的成员变量声明为private,能保证对该成员的操作都是通过类的方法来进行的。这样可以避免出错(如对成员变量不恰当地赋值),也便于修改程序。在修改类的定义时,只要修改类的成员函数就可以了,不需要修改使用该类成员的代码。如果某些成员函数只被其他成员函数调用,不作为对象的界面,那么也可以将它声明为private。
        成员函数定义通常在类的说明之后进行,其格式如下:
        
        其中,运算符"::"称为作用域解析运算符,它指出该函数是属于哪一个类的成员函数。当然也可以在类的定义中直接定义函数。
        3)对象
        对象即类的实例(Instance)。
        创建类的对象可以有两种常用方法。
        (1)第一种是直接定义类的对象。如CGoodsCar这个定义创建了CGoods类的一个对象Car,同时为它分配了属于它自己的存储块,用来存放数据和对这些数据实施操作的成员函数(代码)。与变量定义一样,一个对象只在定义它的域中有效。第一种方法通过"对象名.成员名"方式访问对象成员。
        (2)第二种是采用动态创建类的对象的方法,当然变量也同样可动态创建。所谓动态,是指在程序运行时建立对象。而第一种方法是在编译时(程序运行前)建立。第二种方法通过对象指针访问对象成员。
   题号导航      2022年上半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第2题    在手机中做本题