免费智能真题库 > 历年试卷 > 系统集成项目管理工程师 > 2012年下半年 系统集成项目管理工程师 上午试卷 综合知识
  第18题      
  知识点:   面向对象的基本概念   基本概念   建模
  关键词:   UML   接口   面向对象建模   语言   对象   建模   面向对象        章/节:   信息系统建设与开发       

 
面向对象的基本概念中,接口可以被理解为是类的一个特例。如果用可视化面向对象建模语言(UML)来表示,则(18)图表示了类和接口之间的这种关系。
 
 
  A. 
 
  B. 
 
  C. 
 
  D. 
 
 
 

 
  第17题    2012年上半年  
   66%
关于图1的叙述 (17) 是不正确的。


  第12题    2021年下半年  
   36%
()描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。
  第13题    2022年上半年  
   58%
有两个类Apple和Tomato均继承父类Food,这三个类均实现了getTaste()方法,但Apple、getTaste()和Tomato。getTaste()的实现..
   知识点讲解    
   · 面向对象的基本概念    · 基本概念    · 建模
 
       面向对象的基本概念
        面向对象是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。面向对象的主要思想是将现实世界中的对象映射为问题域中的要素,从而有效地连接计算机和现实问题域。面向对象的基本概念有对象、类、抽象、封装、继承、多态、消息、模式和复用等。
               对象
               对象是由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位。采用计算机语言描述,对象是由一组属性和对这组属性进行的操作构成的。
               对象的三要素是对象标识、对象状态和对象行为。例如对于教师Joe,其个人状态信息包括性别、年龄和职位等,其行为特征为授课,则Joe就是封装后的一个典型对象。
               类
               类是现实世界中实体的形式化描述,类将该实体的数据和函数封装在一起。类的数据也叫属性、状态或特征,它表现类静态的一面。类的函数也叫功能、操作或服务,它表现类动态的一面。
               如教师类中,教师共同的状态通过属性表现出来,共同的行为通过操作表现出来,如下图所示。
               
               教师类的属性和操作
               对象是类的实际例子,如将所有教师抽象为教师类,则教师Joe是教师类的一个对象。
               类和对象的关系如下:
               .每个对象都是某个类的实例。
               .每个类在某一时刻都有零或更多的实例。
               .类是静态的,它们的存在、语义和关系在程序执行前就已经定义好了;对象是动态的,它们在程序执行时可以被创建和删除。
               .类是生成对象的模板。
               抽象
               抽象是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类是一组对象的抽象,抽象是一种单一化的描述,它强调给出与应用相关的特性,抛弃不相关的特性。
               封装
               封装是将相关的概念组成一个单元,然后通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
               继承
               继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的属性和操作。继承又可分为单继承和多继承,单继承是子类只从一个父类继承,而多继承中的子类可以从多于一个的父类继承,Java是单继承的语言,而C++允许多继承。
               如类B继承了类A,则类B中的对象具有类A的一切特征,类B还可以有一些扩展。类A称为基类、父类或超类,类B称为类A的派生类或子类。
               多态
               多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态使得某个属性或操作在不同的时期可以表示不同类的对象特征。
               动态绑定
               绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,叫作静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。
               动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是父类的一个特例,所以父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。
               接口
               接口就是对操作规范的说明。接口只是说明操作应该做什么,但没有定义操作如何做。接口可以理解为类的一个特例,它只规定实现此接口的类的操作方法,而把实现细节交由实现该接口的类完成。
               消息
               消息体现对象间的交互,通过它向目标对象发送操作请求。
               组件
               组件也叫构件。组件是软件系统可替换的、物理的组成部分,封装了模块功能的实现。组件应当是内聚的,并且具有相对稳定的公开接口。
               模式
               每个模式描述了一个不断重复发生的问题,以及该问题的解决方案。它是一条由三部分组成的规则,表示了一个特定环境、一个问题和一个解决方案之间的关系。
               设计模式通常是对于某一类软件设计问题的可重用的解决方案。设计模式使人们可以更加简单和方便地去复用成功的软件设计和体系结构,能够帮助设计者更快更好地完成系统设计。
               设计模式的四要素:
               .模式名称(Pattern Name)。
               .问题(Problem)。
               .解决方案(Solution)。
               .效果(Consequences)。
               设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。按照设计模式的目的可以分为三类:
               .创建型模式:与对象的创建有关。
               .结构型模式:处理类或对象的组合。
               .行为型模式:对类或对象怎样交互和怎样分配职责进行描述。
               复用
               软件复用是指将已有的软件及其有效成分用于构造新的软件或系统。构件技术是软件复用实现的关键。
 
       基本概念
               程序与进程
                      程序顺序执行的特征
                      前趋图是一个有向无循环图,由结点和有向边组成,结点代表各程序段的操作,而结点间的有向边表示两个程序段操作之间存在的前趋关系(→)。程序段Pi和Pj的前趋关系表示成Pi→Pj,其中,Pi是Pj的前趋,Pj是Pi的后继,其含义是Pi执行结束后Pj才能执行。例如,下图为3个程序段,其中输入是计算的前驱(计算是输入的后继),输入结束才能进行计算;计算是输出的前驱,计算结束才能进行输出。
                      
                      3个结点的前驱图
                      程序顺序执行时的主要特征包括顺序性、封闭性和可再现性。
                      程序并发执行的特征
                      若在计算机系统中采用多道程序设计技术,则主存中的多道程序可处于并发执行状态。对于上述有3个程序段的作业类,虽然每个作业有前趋关系的各程序段不能在CPU和输入/输出各部件并行执行,但是同一个作业内没有前趋关系的程序段或不同作业的程序段可以分别在CPU和各输入/输出部件上并行执行。例如,某系统中有一个CPU、一台输入设备和一台输出设备,每个作业具有3个程序段,输入I、计算Ci和输出Pii=l,2,3)。下图为3个作业的各程序段并发执行的前驱图,图中的前驱关系可记为:
                      →={I1→C1,I1→I2,I2→C2,I2→I3,I3→C3,C1→P1,C1→C2,C2→P2,C2→C3,C3→P3,P1→P2,P2→P3
                      
                      程序并发执行的前驱图
                      从上图中可以看出,I2与C1并行执行;I3、C2与P1并行执行;C3与P2并行执行。其中,I2、I3受到I1的间接制约,C2、C3受到C1的间接制约,P2、P3受到P1的间接制约,而C1、P1受到I1的直接制约,等等。
                      程序并发执行时的特征如下:
                      (1)失去了程序的封闭性。
                      (2)程序和机器的执行程序的活动不再一一对应。
                      (3)并发程序间的相互制约性。
                      例如,两个并发执行的程序段完成交通流量的统计,其中,“观察者”P1识别通过的车辆数,“报告者”P2定时将观察者的计数值清0。程序实现如下:
                      
                      对于上例,由于程序可并发执行,所以可能有以下3种执行序列:
                      ①COUNT:=COUNT+1;PRINT COUNT;COUNT:=0
                      ②PRINT COUNT;COUNT:=0;COUNT:=COUNT+1
                      ③PRINT COUNT;COUNT:=COUNT+1;COUNT:=0
                      假定COUNT的某个循环的初值为n,那么这3种执行序列得到的COUNT结果不同,如下表所示。
                      
                      程序并发执行的结果
                      这种不正确结果的发生是因为两个程序P1和P2共享变量COUNT引起的,即程序并发执行破坏了程序的封闭性和可再现性,使得程序和执行程序的活动不再一一对应。为了解决这一问题,需要研究进程间的同步与互斥问题。
               进程的组成
               进程是程序的一次执行,该程序可以和其他程序并发执行。进程通常是由程序、数据和进程控制块(Process Control Block,PCB)组成的。
               (1)PCB。PCB是进程存在的唯一标志,其主要内容如下表所示。
               
               PCB的内容
               (2)程序。程序部分描述了进程需要完成的功能。假如一个程序能被多个进程同时共享执行,那么这一部分就应该以可再入(纯)码的形式编制,它是程序执行时不可修改的部分。
               (3)数据。数据部分包括程序执行时所需的数据及工作区。该部分只能为一个进程所专用,是进程的可修改部分。
               进程的状态及其状态间的切换
                      三态模型
                      在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化,因此进程一般有3种基本状态:运行、就绪和阻塞。下图显示了进程基本状态及其转换,也称三态模型。
                      
                      进程的三态模型
                      (1)运行。当一个进程在处理机上运行时,则称该进程处于运行状态。显然,对于单处理机系统,处于运行状态的进程只有一个。
                      (2)就绪。一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
                      (3)阻塞。阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O,等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。
                      五态模型
                      事实上,对于一个实际的系统,进程的状态及其转换更复杂。例如,引入新建态和终止态构成了进程的五态模型,如下图所示。
                      
                      进程的五态模型
                      其中,新建态对应于进程刚刚被创建时没有被提交的状态,并等待系统完成创建进程的所有必要信息。因为创建进程时分为两个阶段,第一个阶段为一个新进程创建必要的管理信息,第二个阶段让该进程进入就绪状态。由于有了新建态操作系统,往往可以根据系统的性能和主存容量的限制推迟新建态进程的提交。类似地,进程的终止也可分为两个阶段,第一个阶段等待操作系统进行善后处理,第二个阶段释放主存。
                      具有挂起状态的进程状态及其转换
                      由于进程的不断创建,系统资源特别是主存资源已不能满足进程运行的要求。这时,就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以平衡系统负载。或者是系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题。下图是具有挂起状态的进程状态及其转换。
                      
                      细分进程状态及其转换
                      (1)活跃就绪。活跃就绪是指进程在主存并且可被调度的状态。
                      (2)静止就绪。静止就绪是指就绪进程被对换到辅存时的状态,它是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级时,系统将把挂起就绪态进程调回主存并转换为活跃就绪。
                      (3)活跃阻塞。活跃阻塞是指进程在主存,一旦等待的事件产生便进入活跃就绪状态。
                      (4)静止阻塞。静止阻塞是指阻塞进程对换到辅存时的状态,一旦等待的事件产生便进入静止就绪状态。
 
       建模
        建模是在计算机上创造三维形体的过程,建模是三维动画的基础,没有一个好的模型,其他好的效果都难以表现。三维建模的基本方法主要有:利用二维形体的技术、直接进行三维物体建模、造型组合等。
        利用二维形体进行建模的技术的主要思想是首先创建简单的二维形体,如样条线和形状等,然后对这些创建的二维形体进行挤压、旋转、放样等操作以创建三维造型。
        直接进行三维物体建模的常用方法有多边形建模、面片建模、NURBS建模等。
        造型组合是把已有的物体组合成新的物体,其中布尔运算是最重要的组合技术。
   题号导航      2012年下半年 系统集成项目管理工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第18题    在手机中做本题