- 上一篇 06年春软考网络类专题七:网络安全 [2006-4-3 16:19:35]
| 微软MCSE2003:Security | 微软MCSE2003+MCDBA |
| Cisco网络工程师CCNA | 华为认证网络工程师(HCNE) |
| CorelDRAW 12 官方认证 | Adobe平面设计师(ACCD) |
| AutoCAD(2006)认证专家 | Adobe网络设计师(ACCD) |
| 软件加密与解密工程师培训 | 网络应用工程师 |
| 国家信息化网络安全工程师 | CEAC网络应用工程师 |
重点:
① 类、对象、继承、多态和封装的概念、含义。
② 程序设计语言的OOP机制。
③ OOA、OOD、OOP的含义与应用。
④ UML的应用。
难点:
① 类、对象、继承、多态和封装的概念、含义。
② 程序设计语言的OOP机制。
③ OOA、OOD、OOP的含义与应用。
④ UML的应用。
亮点/应用/重要性:
本部分内容是下午考试的重头戏,要求应试者能够完成从过程化思维到面向对象化思维的转变,能够识别对象、判定对象之间的联系,而UML是面向对象分析的重要技术手段。
主要内容:
① 面向对象的基本概念:对象、类、消息和消息传递、继承、多态和动态绑定。
② 面向对象程序设计范型的概念,面向对象程序设计的特点,程序设计语言的OOP机制,类库的概念及其作用。
③ 面向对象分析与设计和面向对象的测试的基本概念。
④ 主流的面向对象分析与设计方法和UML基础知识。
⑤ 应用系统、应用系统族的基本概念,构件、构件系统的基本概念。
一、面向对象技术和方法、UML分析与设计(20060403)在线专题授课音视频
(本课程正式学员可登录学习系统,进入对应课程,在窗口左边的“课程资料室”内进行在线浏览。)
二、面向对象技术和方法、UML分析与设计(20060403)在线答疑整理
1. 程序设计语言中的OOP机制
A. 类
类具有实例化功能,包括实例生成和实例消除。类及其实例具有下面的特征:
(1)同一个类的不同实例具有相同的数据结构,承受的是同一方法集合所定义的操作,因而具有规律相同的行为;
(2)同一个类的不同实例可以持有不同的值,因而可以具有不同的状态;
(3)实例的初始状态(初值)可以在实例化时确定。
B. 继承和类层次结构
在一个面向系统中,子类与父类之间的继承关系构成了这个系统的类层次结构,可以用树(对应于单继承)或格(对应于多继承)这样的图来描述。
C. 对象、消息传递和方法
对象是类的实例。对象与一般数据类型存在本质区别:对象之间通过消息传递方式等待通信。
消息传递原是一种与通信有关的概念,OOP使得对象具有交互能力的主要模型就是消息传递模型。对象被看成用传递消息的方式互相联系的通信实体,它们既可以接收、也可以拒绝外界发来的消息。对于一个对象而言,任何外部的代码都不能以任何不可预知或事先不允许的方式与这个对象进行交互。
对于一个类来说,它关于方法界面的定义规定了实例的消息传递协议,而它本身则决定了消息传递的合法范围。
D. 对象自身引用
对象自身引用的值和类型分别扮演了两种意义的角色:对象自身引用的值使得方法体中引用的成员名与特定的对象相关,对象自身引用的类型则决定了方法体被实际共享的范围。
在程序运行过程中,消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同的对象在执行同样的方法体时,可以因对象的状态不同而产生不同的行为,从而使得方法对具体的对象具有个性。
E. 重置
重置(overriding)的基本思想是,通过一种动态绑定机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。在C++语言中,通过虚拟函数(virtual function)的定义来进行重置的声明,在Java语言中,通过抽象方法来进行重置的声明。
F. 类属类
类属是程序设计语言中普遍注重的一种参数多态机制。
类属类可以看成是类的模板。一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与具体类型无关的那些部分,而与具体类型相关性的那些部分则用变元来表示,这就使得对类的集合也可以按照特性的相似性再次进行划分。
G. 无实例的类
在C++中通过在类中定义纯虚拟函数来创建一个抽象类。
2. UML的词汇表
统一建模语言(unified modeling language,UML)是面向对象软件的标准化建模语言。目前已经成为可视化建模语言事实上的工业标准。UML由3个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则和运用于整个语言的一些公共机制。UML的词汇表包含3种构造块:事物、关系和图。
(1) 事物
UML中有4种事物:结构事物、行为事物、分组事物和注释事物。
1) 结构事物:是UML模型中的名词。它们通常是模型的静态部分,描述概念或物理元素。结构事物包括:类(class)、接口(interface)、协作(collaboration)、用例(use case)、主动类(active class)、构件(component)和节点(node)。
2) 行为事物:是UML模型的动态部分,它们是模型中的动词,描述了跨越时间和空间的行为。共有两类主要的行为事物:交互和状态机。
3) 分组事物:是UML模型的组织部分,它们是一些由模型分解成的“盒子”。最主要的分组事物是包(package)。
4) 注释事物:是UML模型的解释部分,这些注释事物用来描述、说明和标注模型的任何元素。注解(note)是一种主要的注释事物。
(2) 关系
UML中有4种关系:依赖、关联、泛化和实现。
1) 依赖(dependency):是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。
2) 关联(assosciation):是一种结构关系,它描述了一组链,链是对象之间的连接。聚集(aggregation)是一种特殊类型的关联。
3) 泛化(generazation):是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。
4) 实现(realization):是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。
(3) UML中的图
图(diagram)是一组元素的图形表示
UML提供了9种图,它们分别是:类图、对象图、用例图、序列图、协作图、状态图、活动图、构件图和部署图。
1) 类图(class diagram):展现了一组对象、接口、协作和它们之间的关系。类图给出系统的静态设计视图, 包含类的类图给出了系统的静态进程视图。类图用于对系统的静态设计视图建模。
2) 对象图(object diagram):展现了一组对象以及它们之间的关系。对象图描述了在类图中所建立的事物的实例的静态快照。对象图一般包括对象和链。
3) 用例图(use case diagram):展现了一组用例、参与者(actor)以及它们之间的关系。用例图用于对系统的静态用例视图进行建模。
4) 交互图:序列图和协作图均被称为交互图,它们用于对系统的动态方面进行建模。交互图用于对一个系统的动态方面建模。交互图一般包含对象、链和消息。序列图(sequence diagram):是场景(scenario)的图形化表示,描述了以时间顺序组织的对象之间的交互活动。序列图有两个不同呈协作图的特征:序列图有对象生命线,序列图有控制焦点。协作图:强调收发消息的对象的结构组织。协作图强调参加交互的对象的组织。协作图有两个不同于序列图的特性:协作图有路径,协作图有顺序号。序列图和协作图是同构的,它们之间可以相互转换。
5) 状态图:展现了一个状态机,它由状态、转换、事件和活动组成。状态图并且关注系统的动态视图。状态图通常包括:简单状态和组合状态、转换(事件和动作)。
6) 活动图(activity diagram):是一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程。活动图专注于系统的动态视图。它对于系统的功能建模特别重要,并强调对象间的控制流程。活动图一般包括:活动状态和动作状态、转换和对象。
7) 构件图(component diagram):展现了一组构件之间的组织和依赖。构件图专注于系统的静态实现视图,它与类图相关,通常把构件映射为一个或多个类、接口或协作。
8) 部署图:部署图(deployment diagram)展现了运行处理节点以及其中的构件的配置。部署图给出了体系结构的静态实施视图,它与构件图相关,通常一个节点包含一个或多个构件。
站内检索: |
|