面向对象软考知识点。
基础概念
模型
顶层架构图、用例与用例图、 领域概念模型
工具(基于UML)
用例、用例图 、类图、包图、交互图(时序图、协作图)、状态图、活动图
用例、用例图
- 功能与结构化设计中的 DFD图 相同
- 阶段:ooa、用来表示用户需求
- 构成:
- 通信关联
- 参与者:存在于系统外部与系统交互的任何事物,人、时钟、其他系统、物
- 用例
- 用例间关系
- 包含(—▶️)
- 扩展(<—)
- 泛化(<1——)
类
- 阶段:ooa、ood,表示领域模型
- 实体类、边界类、控制类
- 类间关系
- 关联关系 类A —— 类B
- 依赖关系 类A ——实三角 类B
- 聚合关系 部分 ——空棱形 整体
- 组合关系 部分 ——实棱形 整体
- 泛化关系 子类 ——空三角 父类
- 实现关系 类A ——空三角 类B
包图
- 阶段:ooa、ood ,表示 架构图
交互图
- 阶段:ood,对用例实现方案的精准表示
- 时序图、协作图
运用面向对象方法,对问题域进行分析和理解,正确认识其中的事物及他们之间的关系,找出描述问题域和系统功能所需的类和对象,定义他们的属性、职责、关系。
其他
- 状态图
- 活动图
面向对象分析(OOA)
步骤
- 第一版教材:基于uml的面向对象需求分析过程:
- 利用用例及用例图表示需求
- 利用包图及类图表示目标软件系统的总体框架结构。
- 顶层架构图、领域概念模型、类图
- 第二版教材:OOA步骤
- 确定对象和类
- 确定结构,指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。
- 确定主题,主题是指事物的总体概貌和总体分析模型。
- 确定属性
- 确定方法
面向对象设计(OOD)
步骤
- 设计用例的实现方案
- 提取 边界类、实体类、控制类
- 构造交互图,UML交互图,以交互图作为用例的精确实现方案。
- 根据交互图精化类图
- 设计技术的支撑方案
- 数据持久化、分布式事务管理服务、安全控制服务、并发与同步控制服务、可靠消息服务等。
- 设计用户界面
- 精化设计模型
设计原则
- 单一职责,设计目的单一的类。
- 里式替换,子类可以替换父类。
- 开闭原则,开放扩展、关闭修改
- 依赖倒置,要依赖于抽象,而非具体实践。面向接口编程。
- 接口隔离,使用多个专门的借口比使用单一的总接口好。
- 组合重用,尽量使用组合、而非继承;
- 迪米特原则, 一个对象应当对其他对象有尽可能少的了解。
设计模式
- 创建型模式、单抽元件(建)厂
- 单例模式
- 抽象工厂模式
- 原型模式
- 建造者模式
- 工厂模式
- 结构型模式、外侨(桥)组员(元)戴(代)配饰
- 外观模式
- 桥接模式
- 组合模式
- 享元模式
- 代理模式
- 适配器模式
- 装饰器模式
- 行为型模式、观摩(模)对(迭)策,责令解放(访),戒(介)忘台(态)
- 观察者模式
- 模版方法模式
- 迭代子模式
- 策略模式
- 责任链模式
- 命令模式
- 解释器模式
- 访问者模式
- 中介者模式
- 备忘录模式
- 状态模式