在Visual Studio中使用类图描述领域模型
2015-08-13 15:52
295 查看
右键解决方案,添加一个名称为"Domain Model"的UML类图。
首先站在整体的角度添加类,先不要任何属性。
![](http://images0.cnblogs.com/blog/417212/201508/131551482856448.png)
添加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。
![](http://images0.cnblogs.com/blog/417212/201508/131551495203504.png)
修改Customer与Order的关系为1对多关系。
修改Shopping Cart与Shopping Cart Items的关系为1对1或多关系。
修改Order与OrderLine item的关系为1对1或多关系。
![](http://images0.cnblogs.com/blog/417212/201508/131551512858931.png)
如果某个类在某个时间点弃用该如何描述?
可以为弃用的类添加背景色,并添加备注,如下:
![](http://images0.cnblogs.com/blog/417212/201508/131551525359216.png)
现在再对类具体化。
创建一个名称为"Orders Model"的UML类图。
从"UML模型资源管理器"中先后拉出"Order"和"Order Line item"这2个类,两者之间的关系也依然被保存着。
![](http://images0.cnblogs.com/blog/417212/201508/131551537706272.png)
丰富Order的属性。
在Order中用到了Shipping Method属性,该属性是一个枚举类型。在界面上添加一个名称为"Shipping Methods"的枚举。
添加Order对Shipping Methods的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False,修改如下:
![](http://images0.cnblogs.com/blog/417212/201508/131551550984300.png)
丰富Order Line item的属性。
![](http://images0.cnblogs.com/blog/417212/201508/131551567708755.png)
备注:
● 类名语义明确,没有空格,不要写成缩写
● 不要创建多余的类,创建数据库需要用到的类
● 力求类之间的关系简单,不追求复杂的关系
● 添加属性的时候,在必要的时候明确属性类型
● 避免添加键属性,这些是在具体设计的时候用上
参考资料:https://channel9.msdn.com/Blogs/clinted
首先站在整体的角度添加类,先不要任何属性。
![](http://images0.cnblogs.com/blog/417212/201508/131551482856448.png)
添加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。
![](http://images0.cnblogs.com/blog/417212/201508/131551495203504.png)
修改Customer与Order的关系为1对多关系。
修改Shopping Cart与Shopping Cart Items的关系为1对1或多关系。
修改Order与OrderLine item的关系为1对1或多关系。
![](http://images0.cnblogs.com/blog/417212/201508/131551512858931.png)
如果某个类在某个时间点弃用该如何描述?
可以为弃用的类添加背景色,并添加备注,如下:
![](http://images0.cnblogs.com/blog/417212/201508/131551525359216.png)
现在再对类具体化。
创建一个名称为"Orders Model"的UML类图。
从"UML模型资源管理器"中先后拉出"Order"和"Order Line item"这2个类,两者之间的关系也依然被保存着。
![](http://images0.cnblogs.com/blog/417212/201508/131551537706272.png)
丰富Order的属性。
在Order中用到了Shipping Method属性,该属性是一个枚举类型。在界面上添加一个名称为"Shipping Methods"的枚举。
添加Order对Shipping Methods的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False,修改如下:
![](http://images0.cnblogs.com/blog/417212/201508/131551550984300.png)
丰富Order Line item的属性。
![](http://images0.cnblogs.com/blog/417212/201508/131551567708755.png)
备注:
● 类名语义明确,没有空格,不要写成缩写
● 不要创建多余的类,创建数据库需要用到的类
● 力求类之间的关系简单,不追求复杂的关系
● 添加属性的时候,在必要的时候明确属性类型
● 避免添加键属性,这些是在具体设计的时候用上
参考资料:https://channel9.msdn.com/Blogs/clinted
相关文章推荐
- 将指定文件夹下所有图片转换成base64并返回数组
- stm32开发之使用Keil MDK以及标准外设库创建STM32工程
- WIFI密码破解
- stm32开发之标准库的介绍
- stm32开发之标准库的介绍
- Couldn't load vi_voslib from loader dalvik.system.PathClassLoader
- Linux学习笔记----文件处理命令---more ==分页显示文件内容
- 如何根据bostype查找实体
- stm32开发之标准库的介绍
- windbg常用命令
- HDU 1285 确定比赛名次(toposort)
- stm32开发之标准库的介绍
- jquery中子元素和后代元素的区别
- Hadoop基础之---运行运营
- tornado curl_httpclient proxy
- nodejs co 本质学习 及演进代码
- Xcode 开发环境证书迁移心得
- QT做文件浏览器
- hdu 1316 How Many Fibs?(Fibonacci+高精度+二分)
- Android 通过WebService进行网络编程,使用工具类轻松实现