(软件工程复习核心重点)第八章面向对象方法学-第三节:面向对象建模之对象模型

文章目录

  • 一:概念
    • (1)定义
    • (2)工具
  • 二:类图的基本符
    • (1)定义类
      • A:表示
      • B:命名规则
    • (2)定义属性
    • (3)定义服务
  • 三:表示关系的符
    • (1)关联
      • A:定义
      • B:关联的角色
      • C:普通关联
        • ①:定义
        • ②:表示
      • D:限定关联
        • ①:定义
        • ②:表示
        • ③:意义
      • E:关联类
        • ①:定义
        • ②:表示
    • (2)聚集(它是关联的特例)
      • A:共享聚集
      • B:组合聚集
    • (3)泛化(本质就是继承)
      • A:普通泛化
        • ①:抽象类
        • ②:具体类
      • B:受限泛化
        • ①:定义
        • ②:约束
    • (4)依赖和细化
      • A:依赖关系
      • B:细化关系

一:概念

(1)定义

对象模型表示静态的、结构化的系统的数据性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。对象模型为建立动态模型和功能模型,提供了实质性的框架。

(2)工具

使用UML(统一建模语言)提供的类图来建立对象模型。在UML中,类的实际含义是一个类及属于该类的对象

具体来说,UML提供了以下13种图

  • 用例图:从用户角度描述系统功能。
  • 类图:描述系统中类的静态结构。
  • 对象图:系统中的多个对象在某一时刻的状态。
  • 状态图:是描述状态到状态控制流,常用于动态特性建模
  • 活动图:描述了业务实现用例的工作流程
  • 顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互
  • 协作图:描述对象之间的协助关系
  • 构件图:一种特殊的UML图来描述系统的静态实现视图
  • 部署图:定义系统中软硬件的物理体系结构
  • 包图:对构成系统的模型元素进行分组整理的图
  • 组合结构图:表示类或者构建内部结构的图
  • 交互概览图:用活动图来表示多个交互之间的控制关系的图

二:类图的基本符

(1)定义类

A:表示

UML中类的图形符 为长方形,用两条横线把长方形分上、中、下3个区域,3个区域分别放类的名字、属性和服务

  • 可见性:有公有的(+)、私有的(-)和保护的(#)
  • 类型名:表示该属性的数据类型
  • 赋值:在创建类的实例时应给其他属性赋值,如果给某个属性定义了初值,则该初值可作为创建实例时这个属性的默认值
  • 性质串:明确地列出该属性所有可能取值,用逗 隔开

(3)定义服务

具体格式为

  • 如果没有显式标出角色名,则意味着用类名作为角色名

C:普通关联

①:定义

普通关联是最常见的关联关系,只要在类与类之间存在连接关系就可以用普通关联表示

②:表示

  • 第一,普通关联的图示符 是连接两个类之间的直线,如下图
  • 第二,关联是双向的,可为关联起一个名字。在名字前面(或后面)加一个表示关联方向的黑三角
  • 第三,在表示关联的直线两端可以写上重数,它表示该类有多少个对象与对方的一个对象连接。未明确标出关联的重数,则默认重数是1

  • 利用限定词“文件名”表示了目录与文件之间的关系,利用限定词把一对多关系简化成了一对一关系

③:意义

限定提高了语义精确性,增强了查询能力

E:关联类

①:定义

为了说明关联的性质,可能需要一些附加信息。关联类可以用来记录相关信息

②:表示

关联类通过一条虚线与关联连接

  • 一般聚集和共享聚集的图示符 ,都是在表示关联关系的直线末端紧挨着整体类的地方画一个空心菱形

B:组合聚集

如果部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失, 则该聚集称为组合聚集(组成)

  • 表示抽象类是在类名下方附加一个标记值{abstract},表示抽象操作是在操作标记后面跟随一个性质串{abstract}

②:具体类

具体类有自己的对象,并且该类的操作都有具体的实现方法

  • 不相交:一个子类不能多次继承同一个基类。-般的继承都是不相交继承

  • 完全:父类的所有子类都已在类图中穷举出来了

  • 不完全:父类的子类并没有都穷举出来,随着对问题理解的深入,可不断补充和维护。是默认的继承关系

  • (4)依赖和细化

    A:依赖关系

    依赖关系描述两个模型元素之间的语义连接关系:其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素,如果独立的模型元素改变了,将影响依赖于它的模型元素

    • 细化的图示符 为由元素B指向元素A的一端为空心三角形的虚线

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年1月16日
    下一篇 2022年1月16日

    相关推荐