右键解决方案,添加一个名称为"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中使用类图描述领域模型的更多相关文章

  1. 在Visual Studio中使用活动图描述业务流程

    当希望描述某个流程的时候,用活动图表示. 在项目中添加一个名称为"Shopping"的文件夹. 把"Orders Model"这个UML类图拖放到Shoppin ...

  2. 在Visual Studio中使用组件图描述项目组件依赖关系

    如果想描述项目组件的关系,可以考虑使用UML组建图. 在建模项目下添加一个名称为"Applicaiton Component Structure"的UML组建图. 添加各个组件,并 ...

  3. 在Visual Studio中使用序列图描述对象之间的互动

    当需要描述多个对象之间的互动,可以考虑使用序列图. 在建模项目下添加一个名称为"Basic Flow"的序列图. 比如描述客户是如何在MVC下获取到视图信息的. 备注: ● 通常是 ...

  4. 在Visual Studio中使用用例图描述参与者与用例的关系

    在"在Visual Studio中使用用例图描述系统与参与者间的关系"中,使用用例图表示参与者与系统的关系,本篇体验参与者与用例(参与者要做的事情)的关系. 首先创建有关Custo ...

  5. 在Visual Studio中使用用例图描述系统与参与者间的关系

    "用例图"用来描述谁用系统,用系统做什么.用例图不涉及使用细节,只用来描述使用人员和系统的关系,也不涉及行动的顺序.一起来体验. 使用Visual Studio 2012创建解决方 ...

  6. 在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示

    在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示 当我们在VS的C++中使用vector.list.map等这些STL容器,在开启调试的时 ...

  7. 在visual studio中设置点击左边选项卡中的类文件,右侧解决方案跳到对应的文件

    在visual studio中如何设置点击左边选项卡中的类文件,右侧解决方案跳到对应的文件?比如说,VS上方的选项卡文件较多,我点击选项卡上的任一文件,解决方案中对应的文件突出显示           ...

  8. Visual Studio中开发

    如何在Visual Studio中开发自己的代码生成器插件    Visual Studio是美国微软公司开发的一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代 ...

  9. Visual Studio中使用Macros插件给代码添加注释、时间和以及自动脚本

    title: Visual Studio中使用Macros插件给代码添加注释.时间和以及自动脚本 date: 2020-09-11 sidebarDepth: 2 tags: 代码 Visual st ...

随机推荐

  1. linux动态追踪神器——Strace实例介绍【转】

    Strace是Linux下一款通用的进程动态跟踪工具,用来追踪程序执行时的系统调用和所接收的信号.其应用方法如下图(部分). 首先,简单说说它的使用参数,Strace的参数包括输出参数.过滤参数.统计 ...

  2. MAC系统下Sublime Text3 配置Python3详细教程

    MAC系统下Sublime Text3 配置Python3详细教程(亲测有效) https://blog.csdn.net/weixin_41768008/article/details/798590 ...

  3. Project Euler Problem2

    Even Fibonacci numbers Problem 2 Each new term in the Fibonacci sequence is generated by adding the ...

  4. 报错stale element reference: element is not attached to the page document结局方案

    今天在调试脚本时,遇到如下报错: org.openqa.selenium.StaleElementReferenceException: stale element reference: elemen ...

  5. 微信小程序入门与实战

    1. 备注:并不是真的不需要下载,只是下载的包小于1MB,给人的感觉像是不用下载 2. 3. 理论上:同一级可以有无限个,纵向只能有五级 目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 ...

  6. Caffe学习系列(17): blob

    对于blob.h文件. 先看成员变量.定义了6个保护的成员变量,包括前.后向传播的数据,新.旧形状数据(?), 数据个数及容量. 再看成员函数.包括构造函数(4个参数),reshape(改变blob形 ...

  7. 3.命名规范《.NET设计规范》

    3.命名规范 3.1 大小写约定 使用合适的大小写增强名字可读性. 3.1.1 标识符的大小写规则 标识符的每个单词首写字幕大写.不要用下划线. PascalCasing camelCasing Pa ...

  8. NET-知识点:C#中Equals和==比较

    第一.相等性比较 其实这个问题的的本质就是C#的相等比较,相等比较可以分两类: 1.引用相等性,引用相等性指两个对象引用均引用同一基础对象. 2.值相等性,值相等性指两个对象包含相同的一个或多个值,其 ...

  9. word2vec 中的数学原理二 预备知识 霍夫曼树

    主要参考:    word2vec 中的数学原理详解                 自己动手写 word2vec 编码的话,根是不记录在编码中的 这一篇主要讲的就是霍夫曼树(最优二叉树)和编码.  ...

  10. CSS------如何让div中的div处于右下角

    如图: 代码: <div style="width:300px;height:300px"> <div style="position:absolute ...