在Visual Studio中使用类图描述领域模型
右键解决方案,添加一个名称为"Domain Model"的UML类图。
首先站在整体的角度添加类,先不要任何属性。

添加Customer对Wishlist的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False。
添加Cusomter对Shopping Cart的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False。
添加Customer对Order的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False。
添加Shopping Cart对Shipping Cart Items的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False。
添加Order对Order Line Item的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False。
添加Wishlist对Toy的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False。
添加Shopping Cart Items对Toy的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False。
添加Order Line item对Toy的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False。

修改Customer与Order的关系为1对多关系。
修改Shopping Cart与Shopping Cart Items的关系为1对1或多关系。
修改Order与OrderLine item的关系为1对1或多关系。

如果某个类在某个时间点弃用该如何描述?
可以为弃用的类添加背景色,并添加备注,如下:

现在再对类具体化。
创建一个名称为"Orders Model"的UML类图。
从"UML模型资源管理器"中先后拉出"Order"和"Order Line item"这2个类,两者之间的关系也依然被保存着。

丰富Order的属性。
在Order中用到了Shipping Method属性,该属性是一个枚举类型。在界面上添加一个名称为"Shipping Methods"的枚举。
添加Order对Shipping Methods的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False,修改如下:

丰富Order Line item的属性。

备注:
● 类名语义明确,没有空格,不要写成缩写
● 不要创建多余的类,创建数据库需要用到的类
● 力求类之间的关系简单,不追求复杂的关系
● 添加属性的时候,在必要的时候明确属性类型
● 避免添加键属性,这些是在具体设计的时候用上
参考资料:https://channel9.msdn.com/Blogs/clinted
在Visual Studio中使用类图描述领域模型的更多相关文章
- 在Visual Studio中使用活动图描述业务流程
当希望描述某个流程的时候,用活动图表示. 在项目中添加一个名称为"Shopping"的文件夹. 把"Orders Model"这个UML类图拖放到Shoppin ...
- 在Visual Studio中使用组件图描述项目组件依赖关系
如果想描述项目组件的关系,可以考虑使用UML组建图. 在建模项目下添加一个名称为"Applicaiton Component Structure"的UML组建图. 添加各个组件,并 ...
- 在Visual Studio中使用序列图描述对象之间的互动
当需要描述多个对象之间的互动,可以考虑使用序列图. 在建模项目下添加一个名称为"Basic Flow"的序列图. 比如描述客户是如何在MVC下获取到视图信息的. 备注: ● 通常是 ...
- 在Visual Studio中使用用例图描述参与者与用例的关系
在"在Visual Studio中使用用例图描述系统与参与者间的关系"中,使用用例图表示参与者与系统的关系,本篇体验参与者与用例(参与者要做的事情)的关系. 首先创建有关Custo ...
- 在Visual Studio中使用用例图描述系统与参与者间的关系
"用例图"用来描述谁用系统,用系统做什么.用例图不涉及使用细节,只用来描述使用人员和系统的关系,也不涉及行动的顺序.一起来体验. 使用Visual Studio 2012创建解决方 ...
- 在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示
在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示 当我们在VS的C++中使用vector.list.map等这些STL容器,在开启调试的时 ...
- 在visual studio中设置点击左边选项卡中的类文件,右侧解决方案跳到对应的文件
在visual studio中如何设置点击左边选项卡中的类文件,右侧解决方案跳到对应的文件?比如说,VS上方的选项卡文件较多,我点击选项卡上的任一文件,解决方案中对应的文件突出显示 ...
- Visual Studio中开发
如何在Visual Studio中开发自己的代码生成器插件 Visual Studio是美国微软公司开发的一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代 ...
- Visual Studio中使用Macros插件给代码添加注释、时间和以及自动脚本
title: Visual Studio中使用Macros插件给代码添加注释.时间和以及自动脚本 date: 2020-09-11 sidebarDepth: 2 tags: 代码 Visual st ...
随机推荐
- trove远程连接mongodb
创建数据库 <pre> [root@a581c7388dca /]# trove database-create e50f3b40-5165-4ccc-af9f-c121089fd902 ...
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的解决办法
更换mysql数据目录后出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql ...
- dede列表页读取当前栏目名称
list或者arclist之内使用[field:typename/]之外使用{dede:field name='typename'/}
- 【PAT】1103 Integer Factorization(30 分)
The K−P factorization of a positive integer N is to write N as the sum of the P-th power of K positi ...
- 【LOJ】#2080. 「JSOI2016」病毒感染
题解 那个限制表示一回头要治完前面的所有病人 我们处理一个g[i][j]表示治疗i到j的病人至少会死多少病人 \(g[i][j] = g[i + 1][j] + sum[i + 1,j] + min( ...
- LOOPS 概率dp
题意:迷宫是一个R*C的布局,每个格子中给出停留在原地,往右走一个,往下走一格的概率,起点在(1,1),终点在(R,C),每走一格消耗两点能量,求出最后所需要的能量期望 简单概率dp 注意 原地不 ...
- linux中没有dos2UNIX或者UNIX2dos命令解决办法
安装方法: 在http://linux.softpedia.com/progDownload/Dos2Unix-Download-5519.html下载hd2u-1.0.0.tgz [root@loc ...
- 谈谈MySQL中的降序索引 order by id DESC / ASC
今天这篇主要讲order by 语句中的多个字段asc desc的问题.mysql5中,索引存储的排序方式是ASC的,没有DESC的索引.现在能够理解为啥order by 默认是按照ASC来排序的了吧 ...
- Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Maven)
写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 我这里,相信,能看此博客的朋友,想必是有一定基础的了.我前期写了大量的基础性博文. ...
- 002.SSH日常命令
一 远程登陆 ssh 用户名@远程主机ip:首次登陆需要下载对方公钥. 实例:ssh 192.168.10.129 二 远程复制 scp root@远程主机ip:[远程主机文件绝对路径] [需要保存的 ...