右键解决方案,添加一个名称为"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. 【转】SpringMVC Controller 介绍

    转自:原文url 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ...

  2. MySQL Dual-Master 双向同步

    本文介绍的Mysql Dual-Master 复制实施方法可能不是最完美.最强大的.但是在我的应用环境下能很好的满足各项需求. 本文基于我们仅仅使用两台MySQL服务器的情况下,但是你会发现文章中介绍 ...

  3. 如何将IOS版本的更新下载文件指向到自己的服务器

    针对那些使用企业签名但是没有发布到AppSotre的IOS版本APP自动更新问题解决方案: 在apicloud中是这样说明的: 因为要填写plist地址所以不能向安卓那样直接填写服务器文件地址,但是直 ...

  4. 自定义Web组件

    一.Session 1.面向对象基础 面向对象中通过索引的方式访问对象,需要内部实现 __getitem__ .__delitem__.__setitem__方法 +? 1 2 3 4 5 6 7 8 ...

  5. linux服务器安装anaconda,然后远程使用jupyter

    linux服务器安装anaconda: 1.1 下载安装脚本: wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64. ...

  6. PGP工作原理及其安全体制

    现代信息社会里,当电子邮件广受欢迎的同时,其安全性问题也很突出.实际上,电子邮件的传递过程是邮件在网络上反复复制的过程,其网络传输路径不确定,很容易遭到不明身份者的窃取.篡改.冒用甚至恶意破坏,给收发 ...

  7. linux内核内存分配(三、虚拟内存管理)

    在分析虚拟内存管理前要先看下linux内核内存的具体分配我開始就是困在这个地方.对内核内存的分类不是非常清晰.我摘录当中的一段: 内核内存地址 ============================ ...

  8. 【LOJ】#2265. 「CTSC2017」最长上升子序列

    题解 点了一个新技能叫杨表(事实上集训的时候听过,但是一直不会 这道题就是让我们找到k个不上升子序列,要求长度加和最大 我们用杨表去维护,但是由于杨表的行数可能是n的,复杂度会炸 我们只维护前\(\s ...

  9. 恢复spark挂掉的节点

    背景: 某个Worker节点挂掉了,我们需要将Worker进行启动恢复,同时可以恢复streaming中的executor 解决办法: 其实很简单,去worker节点中执行sbin/start-sla ...

  10. spring过滤器

    什么是过滤器 Spring 中不能处理用户请求,但可以用来提供过滤作用的一种Servlet规范.在请求进入容器之后,还未进入Servlet之前进行预处理,并且在请求结束返回给前端这之间进行后期处理.具 ...