OOA_OOD_UML
OOAD与UML
OOAD是根据OO的方法学,对软件系统进行分析和设计的过程
--OOA 分析阶段
--OOD 设计阶段
定义OOA阶段:
分析阶段主要解决一下问题:
--建立针对业务问题域的清晰视图
--列出系统必须要完成的核心任务
--针对对此问题域的最佳解决方案
--列出针对此问题域的最佳解决方案
此阶段要解决的核心问题是"What to do?"
定义OOD阶段:
设计阶段
OOP主要的特征:
抽象(abstract):
忽略掉一个对象或实体的细节尔只关注其本质特征的过程,简化功能与格式,帮助用户与对象交互
封装(encapsulation):
隐藏数据和实现,提供公共方法供用户调用功能,对象的两种视图:--外部视图:对象能做的工作,--内部视图:对象如何完成工作
继承(inheritance):
通过存在的类型定义新类型的机制,通常在两个类型之间存在"is a "或"kind of"这样的关系,通过继承可实现代码重用,另外继承也多肽的基础,如苹果"is a"水果
多台(polymorphism):一个名称,多种形式,基于继承的多肽,调用方法时根据所给对象的不同选择不同的处理方式,如Football--play():使用脚来完成,Basketball--play():使用手来完成,给出一个具体的足球或篮球,用户自动知道使用谁的方式去执行play()
关联(association):对象之间交互时的一种引用方式,当一个对象通过对另一个对象的引用去使用另一个对象的服务或操作时,两个对象之间便产生了关联,如person使用computer,person与computer之间就存在了关联关系
聚合(aggregation): 关联关系的一种,一个对象成为另外一个对象的组成部分,是一种关系较强的关联,在两个对象之间存在"has a"这样的关系,一个对象作为另外一个镀锡iang的属性存在,在外部对象被生产时,可由客户指定与其关联的内部对象,如汽车与轮胎,轮胎作为汽车的一个组成部分,它和汽车可以分别生产以后装配起来使用,但汽车可以换新轮胎,轮胎也可以卸下来给其它汽车使用
组合(composition):当一个对象包含另一个对象时,外部对象负责管理内部对象的生命期的情况,关联关系中最为强烈的一种,内部对象的创建由外部对象自己控制,外部对象不存在时,内部对象也不能存在,如电视机与显示器
内聚与耦合(cohesion&coupling)
域模型:是面向对象的,在面向对象术语中,域模型也可称为设计模型,域模型由以下内容组成:具体状态和行为的域对象,域对象之间的关系:关联(Association),依赖(Dependency),聚集(Aggregation),一般化(泛化)(Generalization)
从Order到Customer的多对一单向关联:
从Customer到Order的一对多单向关联:
从Customer到Order的一对多双向关联: