第4章 静态建模: 类图和对象图

第4章  静态建模:  类图和对象图
      构成面向对象模型的基本元素有class(类),objects(对象),类与类之间的关系等.
4.1 类和对象
  对象就是可以控制和操作的实体,是类的实例化,所有操作都是针对对象进行的.
4.2 类图
    是用类和它们之间的关系描述系统的一种图示,属于静态图.
    类的图示如下:


    1.定义类的方法:
      a>有没有一定要存储或分析的信息?如果存在需要存储,分析或处理的信息,那么该信息就可能是一个
        类.
      b>有没有处部系统?如果有,外部系统可以看作类,
      c>有没有模板,类库,组件等,有则当作类
      d>系统中有被控制的设备吗?有,则创建相应的类,由类来控制设备
      e>有无需要表示的组织机构?
      f>系统中有哪些角色?
    2.名字,属性和操作
      a>类名:表示为一个名词,无前缀,无后缀
      b>属性:抽取系统中需要使用的特征作为类的属性
        可见性:+表示公有,-表示私有,放在属性的左侧.static成员属性带下划线
        格式为:  可见性  属性名:类型名 = 初值{性质串}
      c>操作:格式:  可见性  操作员(参数表):返回值类型{性质串}
        static成员函数带下划线
        持久类:需要在类的名字旁边加上{persistent}标志
4.3 关系
      关联,通用化(继承),依赖,精化
    1.关联:一般双向,分为:普通,递归,限定,或,有序,三元关联和聚合共7种
      a>普通关联:
        如图:


        黑三角的尖角指明这个关联只能用在尖角所指的类上.
        导航关联:类与类之间的关联是单向的.如图:


        在图中,可以使用数量关系(重数):
              0...1     表示   零到1个对象
              0..*或*   表示   零到多个对象
              5..17     表示   5到17个对象
              2         表示   2个对象
              如果没有明确标识,即是1
              重数标识在表示关联关系的某一方向上直线的末端
        对于多对多的关联可以转化为两个一对多的关联,如图:


      b>递归关联(recursive association):  一个类与它本身有关联关系.指同类的对象之间语义的连接
        如图:(网络结点)


      c>关联中的角色:把角色的名字写在与此角色有关的关联关系(直线)的末端,紧挨使用该角色的类.
        如图:


      d>限定关联:如图


      e>或关联:如图


      f>有序关联:如图


      g>关联类:   与一个关联关系相连的类 .关联中的每个连接与关联类中的对象相联系,如图:


      h>三元关联:三元关联中不能出现限定词和聚合.


      i>聚合:类与类之间具有"整体与部分"的特点.
        如图:


   

 

2.通用化:
      一个类(通用元素)的所有信息(属性或操作)能被另一个类(具体元素)继承,
       继承某个类的类中不仅可以有属于自己的信息,而且还拥有了被继承类中的信息。
      a>普通通用化:子类从父类中继承的信息有属生,操作和所有的关联关系 
        抽象类:图示抽象类时,在类的名字下方附加一个标记值{abstract},子类一定要实现抽象类中的抽象操作


      b>受限通用化:多重,不相交,完全和不完全
    3.依赖和精化关系:
      a>依赖:描述两个模型元素之间的语义上的连接关系.
             一个模型元素是独立的,另一个是非独立的(依赖的),
        例如:一个类中使用另一个类的对象作为操作中的参数.一个类存取另一个类中的全局对象.
             一个类调用另一个类中的类作用域的操作.如图:


      b>精化关系:表示同一事物的两描述之间的关系.例如,抽象定义的类型与用语言实现的类之间就是精化关系
             用于模型的协调.


4.4约束 和 派生规则
    UML中的规则称为约束和派生.它们最常用于属性,关联,继承,角色和时间.
    a>约束:用于限制一个模型.或关联,有序关联,和四种继承(多重,不相交,完全和不完全).
      如图:"领导" 关联中的政治家是"组成"关联中成员的子集.


      如图:"VIP客户"关联就是派生而来,


    b>派生:描述某种事物的产生规则.
4.5 接口
    利用接口说明包,组件和类能够支持的行为. 如图:


4.6 包:
    通常用于对模型的组织管理,包与包之间不能共用一个相同的模型元素.如图:


4.7模板:
4.8模型质量:
    能够满足用户需求,抓住了事物的本质且能与之交互的模型,才能算得上"好". 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值