右键解决方案,添加一个名称为"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. C#使用mybatis学习笔记

    1.官网:http://mybatis.org/index.html 2.代码:https://code.google.com/p/mybatisnet/ 3.wiki:http://zh.wikip ...

  2. rank over partition by

    高级函数,分组排序 over: 在什么条件之上. partition by e.deptno: 按部门编号划分(分区). order by e.sal desc: 按工资从高到低排序(使用rank() ...

  3. three.js 初探

    2014年3月3日 22:18:40 简单旋转立方体: http://blog.163.com/hailin_xin/blog/static/21816219020136103402812 简单球体入 ...

  4. protected

    protected  继承访问权限 在同一包中可以访问protected成员. 继承状态可以访问protected成员 在不同包中非继承不可以访问protected成员.

  5. ***Linux系统下如何查看及修改文件读写权限

    查看文件权限的语句: 在终端输入:ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些:-rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表的是 ...

  6. 2018 Arab Collegiate Programming Contest (ACPC 2018) H - Hawawshi Decryption 数学 + BSGS

    H - Hawawshi Decryption 对于一个给定的生成数列 R[ 0 ] 已知, (R[ i - 1 ] * a + b) % p = R[ i ] (p 是 质数), 求最小的 x 使得 ...

  7. 035 spark与hive的集成

    一:介绍 1.在spark编译时支持hive 2.默认的db 当Spark在编译的时候给定了hive的支持参数,但是没有配置和hive的集成,此时默认使用hive自带的元数据管理:Derby数据库. ...

  8. php 结合redis实现高并发下的抢购、秒杀功能

    抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存 ...

  9. grid网格系统布局

    grid布局: 基于网格的2维布局方法1:display: grid | inline-grid | subgrid作用:启用网格grid容器 grid:定义一个块级的网格容器 inline-grid ...

  10. Prufer codes与Generalized Cayley's Formula

    Prufer序列 在一棵n个节点带标号树中,我们认为度数为1的点为叶子.n个点的树的Prufer序列是经过下面流程得到的一个长度为n-2的序列. 1.若当前树中只剩下两个点,退出,否则执行2. 2.找 ...