zoukankan      html  css  js  c++  java
  • Uml学习-类图简介

    类图(Class Diagram)简介 

    类图是面向对象分析(OOA,Object-Oriented Analysis)和面向对象设计(OOP,Object-Oriented Deisgn)思想的重要工具,是业务结构建模的重要工具。

     需求中提到的各种业务概念,人物等,经过抽象后都可以视之为类。将某类东西归纳在一起,可以称为一个类,类有很多种提炼角度,需要根据系统的目标,业务的场景等,选取合适的角度对事物进行归纳。

    类的识别:

    1.  类的识别

    将需求分析中遇到的人、物、概念识别为类,这是比较容易做到的,而对于事情,例如考试,我们就不一定能将其识别为类。因为普遍认为,类代表的是一些静态东西,而事情是动态的,不适合用类来表示。这并不是绝对的,由系统的目标出发,有时候我们需要将某些事情、动作等动态内容,识别为类。当我们做某某管理系统,而某某是指某个事情时,其实最终系统是通过管理该事情的记录来实现对该事情的管理。例如:考试管理系统,其实最终系统管理的是考试记录;请假管理系统,其实系统最终管理的是请假记录。为了能让这些事情能被管理,将这些事情识别为类是很必要的。

    2. 类与类之间的关系

    关联关系

       

        其中:*表示零到多名的意思,也可用数字表示,如: 10, 则表示10名的意思,

            1..100:表示1到100名的意思;

    包含关系:包括两种,聚合(Aggregation)和组合(Composition)

      聚合:

        

      组合:

           

        聚合表示如果部门没有了,员工可以继续存在,组合则表示如果部门没以了,那么员工也不存在了。

        软件需求分析时,可以先将所有的包含关系都作为聚合关系来表示,经过深入分析后再来确定某些关系为组合关系。

    继承关系(Generalization):

        

    依赖关系(Dependency):如下图,LogWapper则依赖于Log,

      所谓依赖关系,依赖程序是相对而言的,不一定是LogWapper没有Log就不能”生存”。

      在具体的业务逻辑中,对于某个事情,LogWapper需要Log来协助完成,这也一种依赖。

         

    类的”递归”关系与”三角”关系

    递归关系也就是自包含关系,如同文件夹一样,文件夹中即可以包含文件夹,也可以包含文件。

       

    三角关系是两个类之间用第三个类来实现关联,如下图的公司和员工之间,用劳动合动来关联。

       

    以上某些内容来自于 【火球UML大战需求分析】中,作为学习笔记记录一下

  • 相关阅读:
    【原创】只需3行代码,Python基础面试题:循环报数3的出圈
    【原创】MySQL同时取出最大值和最小值所在整行
    【原创】Python打印立方米
    【Python】如何像cmd一样操作系统命令
    【群答疑20210525-3】MySQL限制时间是当前月,或者月区间查询
    【群答疑20210525-1】MySQL列名相同,出现两列问题
    【原创】爬虫反爬基础常见类型总结
    【原创】Python基础面试题:按照年龄判断未成年还成年(条件语句)
    【原创】Python基础:你真的知道and和or的用法吗
    【Python】 读写MySQL
  • 原文地址:https://www.cnblogs.com/benwu/p/4060959.html
Copyright © 2011-2022 走看看