UML期末复习题——2.8:UML Design Class Diagram(DCD)
第八题:设计类图
重要概念:
1. 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。UML用类图表示类、接口及其关联。
2. 表示类元属性的方法:
a.属性文本:如currentSale:Sale
b.关联线表示法
c.两者兼有
属性文本表示法的完整格式:visibility name : type multiplicity = default {property-string}
关联线表示的属性:导航性箭头+多重性(放在目标一端,而不是源的一端)+角色名(只放在目标一段,用以表示属性名称)+不需要关联名称
准则:通常对数据类型对象使用属性文本表示法,对其他对象使用关联线。
3.关联端点的描述法
关联的端点可以附加导航性箭头,也可包含可选的角色名(关联端点名)来表示属性名称。
关联端点还可以附加多重性值。
关联端点还可以使用{ordered}、{ordered、list}这样的特殊字符串。
4.对象之间的关系
接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。UML类图中接口有两种表示方法:矩形表示法(如图-2中的飞翔的接口)和棒棒糖表示法(如图-2中唐老鸭类中实现讲人话的接口)。矩形表示法,顶端有<<接口>>或者<<interface>>,第一行:接口名称,第二行:接口方法。棒棒糖表示法,圆圈旁为接口名称,接口方法在实现类中出现,如唐老鸭类中的讲话。
5.约束
UML约束是对UML元素的限制条件。约束以花括号之间的文本表示,如{size>10}
对属性的约束条件,写在属性后面。对操作的约束,以注释或后置条件的形式写出。但是都要有{}。
绘制要点:
具体方法:http://www.cnblogs.com/riky/archive/2007/04/07/704298.html
http://www.uml.org.cn/oobject/201104212.asp
http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html
http://developer.51cto.com/art/201007/209503.htm
实现实例:http://blog.csdn.net/flanet/article/details/7746004
根据实例来看,可以很好的理解掌握类图中需要可以熟练运用的知识点。
注意事项:
1.画图步骤
首先把顺序图里面的类抄过来。
然后查看领域模型,把领域模型里面对应这里的类的属性copy过来,然后把领域模型里面的关联到这里变成实现。
补充类的方法。
控制器类方法的数量只能与前面的系统事件数量一样,系统事件有多少个就只能写多少个方法。
1) 前面的has,own这种关联不能留下来,如果留下来,扣分,应把概念类图中的关联改为有箭头没文字(或有在关联端点有文字)的表示
2) 多重性要保持
3) 不要写什么set方法、get方法,这是编程的问题,不是这里的问题
2.一定要与交互图一一对应
方法和对象都要一一对应!!
3.Domain中先把除了UI和Controller之外的都放进去
分别确定每个对象的属性,依赖,实现
画出domain中的各个对象之间的关系(存在的方法)
4.领域模型==》概念透视图
设计模型(DCD)==》软件透视图
试题答案:
UML期末复习题——2.8:UML Design Class Diagram(DCD)的更多相关文章
- UML期末复习题——2.5:System Sequence Diagram & Post-condition
第五题:系统顺序图 重要概念: 1.对象: 对象是特定行为与属性的集合. 对象的表示方式有三种: a.包括对象名和类名 b.只有类名. c.只有对象名 2.消息表示形式: 消息用于描述对象间交互的方式 ...
- UML期末复习题——2.1:Use Case Diagram
第一题:用例图 重要概念: 1.采用参与者和参与者目标的观点: 一组用例实例,每个实例是系统所执行的一系列活动,以此产生对特定参与者具有价值的客观结果. 短语“对特定参与者具有价值的客观结果”是细微而 ...
- UML期末复习题——2.9:UML Deployment Diagram
附加题:部署图 重要概念: 1. 部署图 部署图表示的是,如何将具体的软件制品(例如可执行文件)分配到计算节点(具有处理服务的某种事物)上.部署图表示了软件元素在物理架构上的部署,以及物理元素之间的通 ...
- UML期末复习题——2.7:UML Sequence Diagram
第七题:顺序图 重要概念: 1. 顺序图的主要介绍,在之前对第5题“系统顺序图”的解析讲解里已经很详细了,在这里只是对部分不全面的内容进行补充. 第五题:系统顺序图&后置条件 http://w ...
- UML期末复习题——2.6:Package Diagram
第六题 包图 重要概念: 1.包图(package Diagram) 由若干个包以及包之间的关系组成.包是一种分组机制,其将一些相关的类集合为一个包,形成高内聚,低耦合的类集合,可以说,一个包相当于一 ...
- UML期末复习题——2.4:Domain Model
第四题:领域模型 重要概念: 1. 领域模型:是对领域内的概念类或现实世界中对象的可视化表示.领域模型也称为概念模型,领域对象模型和分析对象模型. 2. 应用UML表示法,领域模型被描述为一组没有定义 ...
- UML期末复习题
看了网上的各种UML图的相关资料,找到的都是差不多一样的对图的基本介绍.之前复习的时候也想对不同UML图单独进行复习总结,后来发现这样复习好像没什么用,不能理解每个图之间的关系,所以就没有进一步总结. ...
- UML期末复习题——2.3:UML State Diagram
第三题 状态图 重要概念: 1.定义:事件.状态和转换: 事件:指一件值得注意的事情的发生. 状态:指对象在事件发生之间某时刻所处的情形. 转换:两个状态之间的关系.它表明当某事件发生时,对象从先前 ...
- UML期末复习题——2.2:UML Activity Diagram.
第二题:活动图 重要概念: 活动图:一种有助于使工作流和业务过程可视化的图. 绘制要点: 具体方法见:http://www.cnblogs.com/xiaolongbao-lzh/p/4591953. ...
随机推荐
- [LeetCode] 784. 字母大小写全排列 ☆☆☆(回溯、深度优先遍历)
https://leetcode-cn.com/problems/letter-case-permutation/solution/shen-du-you-xian-bian-li-hui-su-su ...
- 使用url_for()时,会自动调用转换器的to_url()方法
视图反推url,在动态url(转换器)反推中的应用 # -*- coding: utf-8 -*- from flask import Flask, url_for, redirect from we ...
- 判断一个ip地址是动态的还是静态的
要确定计算机的IP是静态IP还是动态IP,请执行以下步骤: 通过单击开始打开命令提示符并搜索CMD,然后单击cmd.exe 键入ipconfig / all. 找到“以太网本地连接”列表.找到“ I ...
- YouTube下载方法
复制要下载的视频的地址 打开此链接:https://y2mate.com/youtube/9wxePpNYShQ 如下图位置粘贴视频地址,然后选择想要的分辨率点击右面的“Download”进行下载即可
- OpenCV读取图像问题:OpenCV(3.4.3) D:\Build\OpenCV\opencv-size.width0 && size.height0 in function 'cvimshow'
版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/83280067 - 问题与解决 最近正在学OpenCV,发现 ...
- SQL Server CET 通用表表达式 之 精典递归
SQL2005 Common Table Expressions(CET)即通用表表达式. SQLSERVER CET递归使用案例: 1.普通案例 表结构如下: ;WITH cet_depart ...
- java8之Metaspace
HotSpot JVM是java中最常用的java虚拟机.在java8 HotSpot JVM 中,虚拟机的内存模型做了修改调整.以前HotSpot JVM的内存模型分为新生代,老年代,永久 ...
- 「Django」Django内置email发送邮件
Django内置email发送邮件 1.首先在settings.py文件设置相关参数 STATIC_URL = '/static/' # 设置邮件域名 EMAIL_HOST = 'smtp.163.c ...
- SpringBoot + MySQL + MyBatis 整合 Redis 实现缓存操作
本地安装 Redis Redis 安装:https://www.cnblogs.com/oukele/p/11373052.html 项目结构: SpringBootRedis 工程项目结构如下: ...
- GET 和 POST is so different
.原理区别 一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式. HTTP定义了与服务器交互的 ...