软件设计师备考笔记(十六)UML建模及习题

文章概述了UML图在技术考试中的重要性,特别是用例图、类图、对象图、顺序图、活动图、状态图和通信图。它强调了识别参与者、用例、关系以及理解包含、拓展、泛化等概念的重要性。同时,文章提供了类图中继承、聚合和组合关系的例子,并提到了顺序图和通信图在表示对象交互方面的区别。
摘要由CSDN通过智能技术生成

概述

  • 必考一题;但是UML图比较多;所以难度高一些;

  • 知识面要求比较广;

  • 一般考 用例图、类图;

    • 再加上其他图

目录

  • 用例图

  • 类图与对象图

  • 顺序图

  • 活动图

  • 状态图

  • 通信图

  • 构件图

用例图

两种考法

  • 题干里面有关项目的详细描述;考试时把参与者和用例扣掉;

    • 根据题干和已有结构分析哪个用例叫什么;

    • 哪个地方的参与者对应什么角色;

  • 根据题目意思;分析两个用例图是什么关系;包含、拓展、泛化;

符号及其含义

·* 人形符号:参与者;

·* 人形符号开始的箭头指向的用例:表示参与者使用这些用例

技巧

  • 对于参与者和用例的识别,通过分析题干进行匹配;

    • 前提:知道图例表达的含义;
  • 分析用例之间的关系,判断用例表示的具体功能;

包含和拓展

  • 包含用include表达、扩展关系用extend;

    • 包含:A用例必然会使用B用例则表示包含;

    • 扩展:A用例不一定每次都使用B用例;

      • 查询书籍时很多次都没问题,某一次发现书籍信息错误那么修改书籍信息,

        • 此时修改书籍信息时查询书籍信息的拓展
    • 例子:

      • 以前ATM取钱后一定会吐凭条;现在可以选择是否打印;

类图与对象图

考法

  • 填类名、方法名、属性名

  • 填多重度

  • 填关系

多重度

  • 0…* 和 * 等价:多个对象都可以是0个和多个;

关系

  • 需要了解到:泛化、组合、聚合;

    • 记得泛化就记得实现了,实现是对接口的,泛化是对类的

顺序图

  • 特点:表现出来处理事务时的时间顺序;

  • 考点:

    • 扣掉消息,分析消息是干嘛的

      • 如 第六个空
  • 已经是动态图,重点表现对象的交互关系

活动图

  • 结构上和程序流程图非常接近;

    • 能表现整个处理流程的基本情况、分支状况;
  • 注意事项

    • 粗横线,表示从该处产生了多个并行线程;

    • 带泳道的活动图(下下张图);

      • 能更明确哪个活动归属于谁;
  • 考点:

    • 一个流程和图的对应,扣出一些空出来是否能还原;

    • 根据描述自己画图;再跟图例匹配;

状态图

  • 表现状态的变迁;也是动态图;

  • 注意事项

    • 以状态为结点;

    • 箭线表示触发事件;

  • 考试方法:

    • 给系统描述,涉及多种变迁;然后把图扣掉,填写状态和触发事件;
  • 技巧:

    • 识别有哪几种状态;状态转换的条件;

通信图

  • 又称为协作图;

    • 是顺序图的另一种表达方式;
  • 结点表示对象;对象的交互用箭头;

    • 消息标注在箭头上;

    • 除了不强调时间和顺序图一样;

  • 顺序图和通信图统称为交互图

  • 考试方法:

    • 扣掉对象、消息、做成填空题

试题1

问题1、2

  • 艺术家分为歌手和乐队;

    • 所以艺术家(父类)和歌手乐队有继承关系;

    • 所以A表示艺术家;

  • 多个歌手聚成一个乐队;聚合关系;

    • 菱形代表整体的部分;

    • 所以C表示乐队D表示歌手;

  • 被演奏和被编写的肯定是歌曲;

    • B是歌曲
  • 音轨包含歌曲、唱片包含音轨;

    • 歌曲不可能分布在0条音轨上,所以(4)是1…*;

问题3

  • 音轨要和上下音轨建立关联,所以音轨和自己有一条关系;

问题4

  • 按任意键、选择歌曲、播放

试题2

  • 利用状态模式:把每一个状态抽象为一个类;

问题3:

  • 状态模式;

  • CLevel的对象,因为操作的就是Clevel各种状态变迁的情况;

  • 功能:计算飞行里程数,并判断是否需要调级别;

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值