软件工程:第五章:面向对象基础与UML


第五章:面向对象基础与UML

1、面向对象的几个核心概念;

对象+分类+继承+通过消息的通信


2、面向对象方法的基本思想:理解;

  1. 从现实世界中客观存在的事务出发建立软件系统
  2. 充分运用人类日常的思维方法
  3. 解决分析与设计期间的复杂性并实现分析与设计的复用

3、面向对象方法的内容体系:0OA,OOD,OOP;

0OA面向对象分析:
OOD面向对象设计
OOP面向对象的程序设计


4、面向对象的核心概念:类、对象、属性、方法,继承,消息,多态,抽象类,接口,用例,组件,包,

对象(object) 对象是指一组属性以及这组属性上的专用操作的封装体
属性(attribute) 通常是一些数据,有时它也可以是另一个对象。每个对象都有它自己的属性值,表示该对象的状态。对象中的属性只能通过该对象所提供的操作来存取或修改
操作(operation) ( 也称方法或服务)规定了对象的行为,表示对象所能提供的服务
类(class) 是一组具有相同属性和操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance);是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。
继承(inheritance)
继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。
消息(message)
消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务;一个消息通常包括接收对象名、调用的操作名和适当的参数(如果有必要的话);消息完全由接收者解释执行,发送者只告诉接收对象需要完成什么操作,但并不指示如何完成,接收者独立决定采用什么方法完成所需的操作。
抽象类(abstract class)
把一些类组织起来,提供一些公共的行为,但并不需要使用这个类的实例,而仅使用其子类的实例。把这种没有实例的类称为抽象类(abstract class)。在抽象类中可以定义抽象操作,即:只定义操作接口,不定义它的实现,其实现部分由其子类定义。抽象操作的名称用斜体字表示,也可以加上特征字符串{abstract}修饰
多态性(polymorphism)
指同一个操作作用于不同的对象上,可以有不同的解释,并产生不同的执行结果;例如“draw”方法,作用在“矩形”对象上,则在屏幕上画一个矩形,作用在“圆”对象上,则画一个圆;相同消息发送给不同对象时,每个对象将根据自己所属类中定义的这个操作去执行,从而产生不同的结果
接口(interface
接口(interface)是一组操作的集合,其中每个操作描述了类或构件的一个服务。
用例(use case)
是对一组动作序列的描述,系统执行这些动作产生对特定的参与者一个有值的、可观察的结果。
包(package)
包是模型元素的一个分组。一个包本身可以被嵌套在其它包中,并且可以含有子包和其它种类的模型元素。
构件(component)
构件是系统中逻辑的并且可替换的成分,它遵循并提供了一组接口的实现。
在这里插入图片描述


5、类和对象之间的关系;

类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。


6、UML中的4种基本关系:关联(聚合、组合),泛化,实现和依赖,几种关系的UML表示符号;

关联(聚合、组合):
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
【箭头及指向】:带普通箭头的实心线,指向被拥有者
在这里插入图片描述
泛化:
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
【箭头指向】:带三角箭头的实线,箭头指向父类

在这里插入图片描述
实现:
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现.
【箭头指向】:带三角箭头的虚线,箭头指向接口

在这里插入图片描述
依赖
【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法(单例)的调用
【箭头及指向】:带箭头的虚线,指向被使用者
在这里插入图片描述


7、UML的概念;

统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。
在这里插入图片描述


8、UML基本图表的作用:总体了解;

类图:用于表示类(及其接口)、类的内部结构及与其它类的联系,是面向对象分析与设计中最重要的模型。

  • 公有可见性(+):对能看到这个类的任何元素都可见。
  • 保护可见性(#):对这个类及其子类的其他元素可见。
  • 私有可见性(-):对这个类的其他元素可见。
  • 包可见性(~):对同一个包中的其他元素可见。

类图示例

在重点汇总有
在这里插入图片描述


10、用例图的核心要素,要熟练绘制用例图;

在这里插入图片描述


11、顺序图的内容、作用和绘制方法;

顺序图包含的内容
对象生命线,消息,约束条件,对象,控制操作符
作用
★顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。
★顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。 顺序图属于动态建模。
★顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。
绘制方法:

  1. 画好对象时间线,确定交互各方
  2. 确定控制结构
  3. 按照时间顺序绘制顺序图并将约束条件补充在线上
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值