zoukankan      html  css  js  c++  java
  • Studio-Class Diagram

    UML Design Via Visual Studio-Class Diagram

    用过几个建模设计工具,小的有staruml,大的有rational rose,EA。最后发现还是Visual Studio建模比较舒服(个人观点,不要争论)。

    打算对自己经常用的几个建模图做一个介绍,类图(Class Diagram),时序图(sequence diagram),用例图(use case giagram),组件图(component diagram),分层图(layer diagram)。

    本文主要介绍在Visual Studio中设计类图,主要包含一下内容:

    1. VS Modeling Project介绍
    2. 类图创建
    3. 类之间关系说明
    4. 根据类图自动生成代码

    VS Modeling Project介绍

    想使用Visual Studio进行建模,首先得创建一个Modeling Project。

    创建后Project如下:

    接下来所有在VS下面的建模都可以在这个Project中进行了。在Project中右键=》Add new item, 就可以创建所有VS支持的模型了。

    在上图中选择 UML Class diagram就可以创建类图画布进行类设计了。

    类图创建

     

    可以通过左侧的tool box进行类图的创建,上图演示了,接口,类,类的关系:继承,依赖,聚合,组合。Enum就不再演示,package是分包设计类图,把类图设计在package里面,个人觉得用处不大,如果需要分包就新建个类图文件吧。屏幕大小有限,把整个系统的类图按包放到一个画板是不现实的,也不再演示。

    类之间关系说明

    上面的类图展示了“继承(inheritance),依赖(dependence),聚合(aggregation),组合(composition)”这三类关系,其实还有一个关联(association)(people to country),这是类之间非常弱的关系,仅仅从视觉上告诉人,类之间有关联。继承都了解,下面着重介绍另外三个。

    依赖:A类依赖B,是指在A类中有方法的参数、方法体内或者方法的返回值用到了B。上图中Person依赖Mail

    聚合:A类和B类聚合,是只A类是B类的一个属性,但是B类可以单独存在,上图中Person和Book,Book是person的属性,但是Book可以单独存在

    组合:组合类似于聚合也是整体部分的关系,上图中Person和Hand的关系,hand作为Person的属性存在,区别在于Person和Hand的生命周期一样。

    聚合和组合在程序结构上本身是一样的,但是分开来从图上可以搞清楚的理解设计,以及对象的生命周期。

    根据类图自动生成代码

    在VS下面完全可以根据上面的类图生成代码,画板上右键:

    生成代码如下(类的生成目录自己是可以选择的):

    可以看到如类图所示Book,Hand,Country都作为Person的属性而存在。

    以上就是我对VS下面创建类图的一些总结,这个非常有用,便于team沟通。最终版一键生成代码,生产力也上去了。

    另外一些修改属性,比如是否是abstract、public等这些就不再演示了。

  • 相关阅读:
    Andorid开发中如何去除标题栏title
    Andorid自动读取短信验证码
    1020. Tree Traversals (25)
    1019. General Palindromic Number (20)
    1003. Emergency (25)
    1014. Waiting in Line (30)
    ubuntu14.04上java jdk & mvn安装
    LVM基本概念及工作原理
    利用Screen重启DevStack服务
    ubuntu14.04 桌面版/服务器版安装DevStack教程
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/4489192.html
Copyright © 2011-2022 走看看