UML复习及重点整理

分为两部分:

  1. 基础知识部分
  2. 各类图的实际画法画法掌握及需要注意的地方

part1 important point:

  • 面向对象方法

    • 面向对象与面向过程?
      面向过程:面向的是数据流,简单易懂易掌握,但开发效率低,重用性不好 面向对象:对现实中的事物进行抽象,描述成**对象**,按对象的一致属性,将对象划分为**类**
    • 面向对象设计的基本原则?
      开闭原则,替换原则,依赖倒置原则,接口分离原则
  • 统一建模语言
    UML中图的分类:结构图 行为图

  • 统一过程

    • 软件生命周期:问题集中在 做什么?怎么做?怎么用电脑做?做的对不对?长时间运行需要改变吗?
      就是 需求分析 设计模型 编码 测试分析 维护
  • UML的构成

    • 关系
      依赖,关联,泛化,实现
  • 正向工程和反向工程的概念

part2 各种图

  • 用例图 use case diagram

    • 什么是用例、用例图?有什么用?

      用例:系统外在的需求情况.一般是一个动作,一个由系统提供用户使用的动作.在UML中一半用椭圆表示
      用例图:用例图(use case diagram)是显示一组用例、参与者以及它们之间的关系的图
      作用:帮助你分析系统有哪些功能,以及让你明确系统内部和系统外部(也就是角色)的交互的

    • 用例图有哪些主要的建模元素?

      用例,参与者,系统边界,和他们之间的关系

    • 什么是参与者?

      是指系统以外的、需要使用系统或与系统交互的事物, 包括: 人、设备、外部系统等

    • 什么是用例?

      用户使用系统一项功能所进行交互的文字描述

    • 参与者、用例之间有哪些关系?

      参与者之间有泛化(generalization)关系,特殊指向一般 用空心三角+实线表示
      参与者和用例之间是关联关系,表示了参与者与用例间的通信
      用例之间的关系:泛化,包含,扩展
      包含关系:基本用例的行为包含了另一个用例的行为。基本用例描述在多个用例中都有的公共行为。包含关系本质上是比较特殊的依赖关系。
      用例的泛化、包含、扩展关系的比较。一般来说可以使用“is a”和“has a”来判断使用那种关系。泛化和扩展关系表示用例之间是“is a”关系,包含关系表示用例之间是“has a”关系

    • 如何获取参与者?

      谁来使用系统的主要功能
      谁来维护系统
      谁对系统的结果感兴趣
      系统需要操作哪些硬件
      需要与系统交互的其他系统有哪些

    • 如何获取用例?

      和用户交互
      系统交互的目的是什么?
      需要向系统输入什么信息?
      希望由系统进行什么处理并从它得到何种结果?
      * 如何详述用例?

  • 类图

    • 什么是类图?类图有什么用?

      类图:显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。
      作用:展示一个工程中每个类所包含的函数和属性,类之间的关系,类的组织方式等

    • 类图包含哪些建模元素?

      类、接口 包以及它们之间的静态结构和关系

    • 类的种类

      抽象类 --不能实现的类,是一种抽象
      接口 --类似抽象类,所有操作都未实现
      关联类
      模板类 --可以根据占位符或参数来定义类
      主动类
      嵌套类 --java中的内置类

    • 类之间的关系有哪些?如何表示?

      • 组合 是一类“强”的整体与部分的包含关系。成分类别必须依靠合成类别而存在 例如汽车与化油器 用实心菱形和实线表示
      • 聚合 是一种has a 的弱关系 如池塘中有一只鸭子 这样的关系 用空心菱形和实线表示
      • 依赖 是一种弱化形式的关系,表示一类别依赖于另外的类别
      • 关联 当一个类作为另一个类某个方法的参数时,为关联。
      • 泛化 --感觉上就像是继承,
      • 实现 和泛化一样 用空心三角加实线表示
      • 关系之间的强弱:组合>聚合>关联>依赖
        而对于两种关联关系(组合和聚合之间的区分,个人觉得维基百科上的例子特别形象:

        例如,一个大学包含若干个系(如化学系),每个系由若干名教授。如果大学撤销,这些系也就不复存在了,但这些教授仍会继续存在。还需注意,一名教授可以在不同系甚至不同学校兼职,而一个系不能属于两所大学。所以,大学与系之间是组成关系,而系与教授是聚合关系

    • 聚合与组合的区别?

      两者的差别主要描述了子类的生命周期的不同。组合关系中,一旦父类被销毁子类也会随之销毁;聚合关系中,子类的生命周期与父类独立。

    • 派生属性与派生关联?
      可以从其它属性和关联计算推演得到的属性和关联

    • 类图中的常用版型?类图的抽象层次?
      边界类 ,实体类 , 控制类

    • 类图的抽象层次?
      概念层
      说明层
      实现层

    • 面向对象设计的原则?

      1. 开闭原则:开:对扩展开放 闭:对修改封闭
      2. 替换原则:子类可以在任何地方替换父类
      3. 依赖倒置原则:依赖关系应该是尽量依赖接口(或抽象类),而不是依赖于具体类
      4. 接口分离原则:使用多个专门的接口比使用单一的总接口要好,使用多个专用接口比使用单一的复合接口更好
  • 活动图

    • 什么是活动图?活动图有什么用?

      活动图描述系统从一种活动转换到另一种活动的整个过程
      活动图通常对业务过程、工作流和用例实现进行建模

    • 活动图中包含哪些建模元素?

      • 初始节点 一个黑点,表示活动的开始,只能有一个
      • 活动终点 圆圈套黑点,表示活动处理完成
      • 活动节点 表示一个活动 用半椭圆表示(区分于状态)
      • 转换 当一个活动结束时,控制流就会马上传递给下一个活动节点 一条带箭头的直线
      • 分支和监护条件 用菱形表示,它有一个进入转换(箭头从外指向菱形),一个或多个离开转换(箭头从菱形指向外)
        在分支的每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换
      • 分岔与汇合 在UML中,采用同步线对分岔和汇合来对并发事件流建模,同步线是一种水平或垂直的粗线段
      • 带泳道 区分操作角色
    • 活动图中的分支和分岔?
      分支是一个控制流选择某一个方向继续执行,控制流是串行的
      而分岔则是控制流的分开 控制流是并行的

    • 活动图中的对象流?

  • 包图

    • 什么是包图?包图有什么用?

      组织代码

    • 包图包含哪些基本建模元素?
      包 类

    • 什么是包?

      在UML中,包是用于把建模元素组织成组的通用机制。
      分组事物 是其他建模元素的容器
      * 包图的建模原则?
      重用等价原则、共同重用原则、共同闭包原则、非循环依赖原则

  • 对象图

    • 什么是对象图?对象图有什么用?

      对象图表示一组对象和它们之间的联系

    • 对象图中包含哪些建模元素?

      对象
      链接

    • 对象图与类图的比较?

      对象是类的实例
      对象图组织类 类图组织类

  • 状态机图

    • 什么是状态机图?状态机图有什么用?

      状态机图描述状态到状态的控制流程,常用来对系统的动态特征建模

    • 状态机图包含哪些建模元素?

      • 初态和终态

        开始的状态 用实心圆表示 只能有一个
        终态 点外有圈 可以有多个

      • 源状态和目标状态

        两个状态,看名字也能知道这两个状态是要做什么的

      • 转换
        事件[监护条件]/动作

        • 触发事件
        • 监护条件
        • 动作
      • 分支

    • 怎样建模状态机图?

      1. 寻找主要的状态
      2. 确定状态之间的转换
      3. 细化状态内的活动和转换
      4. 用复合状态展开细节
  • 交互图

    • 交互图包括几类图?分别描述什么,有什么用?
      顺序图、通信图、定时图、交互概述图

    • 顺序图包含哪些基本建模元素?
      --对象、生命线、控制焦点、消息

    • 通信图?

      通信图描述了系统中对象之间通过消息进行的交互,强调了对象在交互行为中承担的角色

    • 顺序图与通信图的比较?

      • 顺序图强调消息的时间顺序,通信图强调参加交互的对象的组织,两者可以相互转换
      • 顺序图不同于通信图的两个特征:
        • 顺序图有对象生命线
        • 顺序图有控制焦点
      • 通信图不同于顺序图的特征:
        • 通信图必须有消息顺序号
    • 顺序图与定时图的不同?

    • 交互概述图是哪两种图的综合?

  • 其他图

    • 构件图
    • 部署图
    • 复合结构图
    • Profile图

part3 实际作图

下面对着几个图重点建模:
用例图,类图,活动图,状态机图
使用工具Enterprise Architect 8.0

问题背景

随着网络的不断发展,web2.0时代早已全面到来,web2.0最鲜明的特点就是与用户的交互越来越多,这就导致了用户所参与的网站也越来越多
但是,这些网站都有一个共同的特点--需要登录进行操作,这就使得用户的账号密码不断增加,能否使得账号密码的管理更加轻松?比如用手机
登录网站?

需求分析

对于用户:他们需要输入账号之后,用手机确认该请求之后就可以登录了,用户也可以向数据库中添加网站信息(包括地址,账号和密码)
对于网站:他们收到用户请求之后,由服务器向用户的手机发送登录请求,用户如果在规定时间内确认该请求,将登录,否则登录超时

用例图

(这里等简书markdown下可以传图片再增加吧)


Image
Image

类图

Image
Image

活动图

Image
Image

状态机图

Image
Image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • UML概述 UML简介 UML (Unified Modeling Language)为面向对象软件设计提供统一的...
    aron1992阅读 511评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,560评论 18 399
  • 以前老是听到UML的大名,不过很少去真正地了解它,无非以为只是一种建模的方法,乍看这封面或许和产品经理毫无相关,但...
    mon_liu阅读 3,395评论 2 10
  • 爱神丘比特拿着弓箭到处寻找他觉得适合在一起的男女,然后把箭射到他们的心上,这样他们就会坠入爱河了。听起来,真是件功...
    深井冰4353阅读 348评论 0 0