系统分析师-面向对象技术

1. 什么是面向对象:

对象:一组属性及这组属性的操作封装体,通常由三部分组成(对象名,属性,操作)

类:具有一组相同属性或操作的对象的集合(类名,属性,操作),没有实例的类称为抽象类;

继承:继承关系表示了对象间"is-a"的关系,对于两个类A和B,如果A类是B类的子类,则说B类是A类的泛化。

类的成员:类的成员有动态和静态之分,默认情况下,为动态成员。静态成员包括静态方法和静态属性

多态性:多态性是指同一个操作作用于不同的对象可以有不同的解释,产生不同的执行结果多态性密切相关的一个概念就是动态绑定。传统的程序设计语言把过程调用与目标代码的连接放在程序运行前进行,称为静态绑定

通用多态

     参数多态:一个方法,参数个数和参数类型不同;

     包含多态:参数采用Object或基类,其子类也可以作为参数;

特定多态

     过载多态:String 的 + 代表拼接,int 的 + 代表相加;

     强制多态: 变量 int  和 String  的 ‘+’  ,强制转换为String 拼接;

2. 统一建模语言(UML)

UML有四种事务:

1)结构事务:名词,静态部分,物理元素()

2)行为事务:动词,动态部分,行为(消息,状态,动作)

3)分组事务:包

4)注释事务:注解

3. 用例图:

由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图是系统的蓝图,用于需求分析阶段。

1)包含(include)关系,< 箭头从基用例指向子用例。
系统分析师-面向对象技术_第1张图片
2) 扩展(extend)关系,是对基用例的 扩展 基用例是一个完整的用例 ,即使没有子用例的参与,也可以完成一个完整的功能。 <> 箭头从子用例指向基用例

系统分析师-面向对象技术_第2张图片

4. 类图

类图是静态视图,

类图中包括:

1)类

2)接口

3)协作

4)依赖、泛化和关联关系

系统分析师-面向对象技术_第3张图片

类图的分类:

1)实体类:实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,一般使用数据库表或文件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。实体类来源于需求说明中的名词

2) 控制类:控制类用于体现应用程序的执行逻辑,提供相应的业务操作,将控制类抽象出来可以降低界面和数据库之间的耦合度

3) 边界类:边界类用于对外部用户与系统之间的交互对象进行抽象,主要包括界面类,如对话框、窗口、菜单等。

 

类之间的关系:

系统分析师-面向对象技术_第4张图片

依赖(Dependency)

系统分析师-面向对象技术_第5张图片

是一种使用的关系,  即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖。依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

泛化(Generalization)关系

系统分析师-面向对象技术_第6张图片

也就是继承关系的反关系,用于描述父类与子类之间的关系, 父类又称作基类或超类 子类又称作派生类 。在UML中,泛化关系用带空心三角形的直线来表示。

子类继承自父类,父类是子类的泛化。

关联(Association)

系统分析师-面向对象技术_第7张图片

系统分析师-面向对象技术_第8张图片

是一种拥有的关系, 它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子.

聚合(Aggregation)

系统分析师-面向对象技术_第9张图片

聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的.

组合(Composition)

系统分析师-面向对象技术_第10张图片

组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。在UML中,组合关系用带实心菱形的直线表示。

实现关系(Implementation)

系统分析师-面向对象技术_第11张图片

是用来规定接口和实现接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。

5. 对象图

对象图(ObjectDiagram) 展现了某一时刻一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例的静态快照。

系统分析师-面向对象技术_第12张图片

系统分析师-面向对象技术_第13张图片

6.交互图

交互图表现为序列图(顺序图)、通信图(协作图)、交互概览图和计时图。用于 动态建模
序列图强调消息时间顺序的交互
通信图强调接收和发送信息的对象的结构组织的交互
交互概览图强调控制流的交互图
计时图适合嵌入式系统建模的交互图
 
 

系统分析师-面向对象技术_第14张图片

系统分析师-面向对象技术_第15张图片

对象:图中的矩形元素即为对象,其中冒号前面部分为对象名,后面为类名,表示类的一个实例。

链接:两个对象之间的单一线条表示,用来在通信图中关联对象,目的是让消息在不同系统对象之间传递。可以理解链接是公路,消息是车。

消息:通信图中对象之间通信的方式

系统分析师-面向对象技术_第16张图片

系统分析师-面向对象技术_第17张图片

7. 状态图

用来描述一个特定的对象所有可能的状态,以及由于各种事件的发生而引起的状态之间的转移和变化。用于对系统的 动态方面建模。
系统分析师-面向对象技术_第18张图片
 

8. 活动图

将进程或其他计算的结构展示为计算内部一步步的控制流和数据流,主要用来描述系统的动态视图。

系统分析师-面向对象技术_第19张图片

9. 构件图(组件图)使用构件图的思想是复用

系统分析师-面向对象技术_第20张图片

构件有一下几种类型:
1 )部署构件: dll 文件、 exe 文件、 com+ 对象、 CORBA 对象、 EJB 、动态 Web 页和数据库表等。
2 )工作产品构件:源代码文件、数据文件等
3 )执行构件:系统执行后得到的构件。
 
 

10 .部署图,是用来显示系统中软件和硬件的物理架构

系统分析师-面向对象技术_第21张图片

11. UML分类

(1)静态模型(系统结构)
  用例图、类图、对象图、构件图、部署图
(2)动态模型(系统行为)
状态图、活动图、顺序图、协作图

 

 

你可能感兴趣的:(架构师软考知识,软考,面向对象,java)