Android Studio中绘制UML类图介绍

内容概要:本文主要介绍UML类图的概念,以及如何在Android Studio中利用代码来编写一个UML类图,偏于新手向。

动机

最近开始阅读项目源码,从其中一个模块开始看,奈何大项目中的一个模块,对于萌新而言,也太过于复杂。类和类之间的继承,接口的定义及回调时机,各种设计模式下的逻辑跳转。。。随着代码不断跟踪,回过头来已不知身处何处。因此想着,能把大致的类图框架绘制出来,在此基础上学习,无论是帮助自己理清逻辑,还是对于讲来给他人讲解都大有帮助,那么,开始UML吧!

UML介绍

统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。

UML类图基础

首先需要说明的是,UML可以干很多事,画各种各样的逻辑图,这里只关心它在类图中的使用。

下图是一个典型的类图,包括类名,类中有的属性和方法,也展现了响应的访问级别(虽然不是必需的):

Alt pic

当多个类图放置在一起时,通过各种连接线将类图之间的关系表示出来,就表达出了我们需要的类的结构信息,典型如下图:

Alt pic

上图每个类做了简化,只体现出其类名,我们重点关注的是类和类之间的连接。 图中有6中连接线,一般可以表达我们常见的类和类之间的关系。 标准的连接线内涵的定义可见此:http://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html 这里我结合网上的说明,简化一下表达而更好的用于java类图当中。

Alt pic 空心箭头实线: 表示类A继承于类B

Alt pic 空心箭头虚线:表示小汽车和自行车实现了“车”这个接口

Alt pic 带方向的实线: 表示A中具有B这个成员变量

Alt pic 带方向的虚线:表示A中的一般方法需要B作为传入参数

Alt pic 空心棱形实线: 表示B中的构造方法(或set方法)需要A作为传入参数

Alt pic 实心棱形实线: 表示B中构造函数中将A进行了实例化

OK,六种基本线的涵义大致如上,可能有偏差,具体还是以UML的定义为准,这里只是为了更好的理解和使用。

UML类图的绘制

Talk is easy, show me the code.

绘制UML类图的工具有很多,在线的、本地的、收费的、免费的。本文中使用的绘制UML类图的,是PlantUML,这实际上是一个java类库,能够将代码转化成UML类图。 因此我们绘制UML的过程,实际上就是一个编写代码的过程,相比于拖动控件,更为适合程序员?。? 在Android Studio中,需要做的准备有:

  • 在file --> settings --> plugins中搜索UML,搜索结果中安装plantUML插件,重启AS;
  • 安装plantUML绘图的依赖库,大名鼎鼎的贝尔实验室开发的一个工具包:Graphviz;

详细的安装请参考:http://blog.csdn.net/u013831257/article/details/50118461

PlantUML的使用

先来一幅图看看效果:

Alt pic

上图就是利用PlantUML代码编写的UML类图。实际上,PlantUML的语法非常简单,和Markdown语法有的一比。 先贴代码,然后分析:

Fragment <|-- BillMainFragment
class BillMainFragment{
    +{static}CategorySelectorState
    +{static}CategorySelectorChangeEvent
    #ViewPager;
    #DataSelectView;

}
ViewPager <--> DataSelectView
CategorySelectorState --> BillModule

BillMainFragment --> MonthPagerAdapter
BillMainFragment --> YearPagerAdapter
BillMainFragment --> CustomPagerAdapter

CalendarModel <|.. MonthPagerAdapter
CalendarModel <|.. YearPagerAdapter
CalendarModel <|.. CustomPagerAdapter

MonthPagerAdapter --|> FragmentStatePagerAdapter
YearPagerAdapter --|> FragmentStatePagerAdapter
CustomPagerAdapter --|> FragmentStatePagerAdapter

讲道理,自己对着代码和类图看看就能明白,这里大概总结一下:

  • (“>")代表方向箭头,("--")代表实线,("..")代表虚线,("|>")代表封闭的空心箭头,(”*“)代表实心棱形,(”o“)代表空心棱形
  • 箭头具有方向行,代码中的箭头方向和类图中的会保持一致
  • 两端都可以有箭头或者其他标志,可以自由组合,试试就清楚
  • 可以定义类,用class关键字;也可以不定义直接使用
  • 相同名字的类会被认为是同一个
  • 可以用+、#、-、等来定义一个类中的访问控制
  • 代码中的先后顺序和绘制图中的顺序没有必然联系
  • 更多的还是要参看plantUML的语法,本文中没有使用到更多的语法,附件里有plantuml的语法书

    PlantUML_Language_Reference_Guide.pdf

总结

内容不多,希望提供一个指引作用,要了解的更多还是使用一下就好。使用代码生成的好处是能更理解类之间的关系,但是坏处是当类关系复杂时,画出的UML类图不能排版, 特别乱。

工欲善其事,必先利其器。

画好UML类图后,再去看源码,再也不怕迷路了。

修改1

发现更简单的编写方式,class A extends B implements C plantUML支持这种写法!可以自动绘制类A、类B、接口C并生成连接关系!

### 回答1: Android Studio可以通过插件或者第三方工具来生成类图。其,常用的插件有PlantUML和ObjectAid UML Explorer,而第三方工具则包括Visual Paradigm和StarUML等。 使用PlantUML插件生成类图的步骤如下: 1. 在Android Studio打开需要生成类图的项目。 2. 在菜单栏选择“File”->“Settings”->“Plugins”,搜索并安装PlantUML插件。 3. 在项目选择需要生成类图的类或者包,右键点击选择“Diagram”->“Show Diagram”。 4. 在弹出的对话框选择“PlantUML Class Diagram”,点击“OK”按钮。 5. 等待一段时间,即可在新的窗口看到生成的类图。 使用ObjectAid UML Explorer插件生成类图的步骤如下: 1. 在Android Studio打开需要生成类图的项目。 2. 在菜单栏选择“File”->“Settings”->“Plugins”,搜索并安装ObjectAid UML Explorer插件。 3. 在项目选择需要生成类图的类或者包,右键点击选择“ObjectAid UML”->“Show Diagram”。 4. 在弹出的对话框选择“Class Diagram”,点击“OK”按钮。 5. 等待一段时间,即可在新的窗口看到生成的类图。 需要注意的是,生成类图需要一定的时间,而且对于较大的项目可能会出现卡顿或者崩溃的情况。因此,在生成类图之前,最好先备份好项目,以免出现意外情况。 ### 回答2: Android Studio是一款流行的Android应用开发工具,可以帮助开发者创建和管理不同类型的Android应用程序。其包括生成类图的功能,利用它可以快速理解Android应用程序的结构。 要生成类图,我们可以按照以下步骤进行操作: 第一步:打开Android Studio并创建你的项目 首先,我们需要确保已经在Android Studio创建了我们的项目。我们可以在顶部菜单栏选择“File”->“New”->“New Project”来进行创建。 第二步:创建类图 接下来,我们需要创建一个新的类图。我们可以在导航栏上右键单击,然后选择“New”->“Diagram”->“Class Diagram”创建。将出现一个新窗口,要求我们输入类图的名称和位置。 第三步:添加类 接下来,我们可以通过在类图选择“Add Class”(加入类) 来添加类。我们可以在出现的对话框输入类名及其属性和方法。 第四步:添加继承关系 在我们的应用程序,类可能会继承其他类,我们也需要在类图以适当的方式表示这种继承关系。我们可以通过选择一个类,然后单击右键选择“Add”并选择“Inheritance”来创建继承关系。 第五步:添加实现关系 除了继承关系外,类通常还需要实现某个接口。我们可以通过选择一个类,然后单击右键选择“Add”并选择“Implementation”来创建实现关系。 第六步:生成类图 完成以上步骤后,我们就可以从Android Studio生成我们的类图了。我们可以右键单击类图文件,并选择“Generate Diagram”->“Entity Relationship Diagram”来生成类图。然后,我们的类图就会出现在一个新的窗口。 总之,生成类图可以让我们更好地理解我们的应用程序的结构和组成部分。在准备上线之前,我们可以通过类图来检查我们应用程序的不同组件是否相互协调,并对重要的组件进行重点优化。 ### 回答3: Android Studio是一款由Google开发的用于Android开发的集成开发环境(IDE)。它为开发者提供了强大的工具和各种功能来编写高质量的Android应用程序。其一个非常有用的功能是生成类图类图是软件系统很重要的一种UML图,它描述了软件系统的静态结构,即类和它们之间的关系。类图是一种高级的图形表示形式,它可以让我们更好地理解和维护代码。在Android应用程序的开发过程,为了了解类和它们之间的关系,生成类图是必不可少的。 下面是在Android Studio生成类图的步骤: 1.右键单击项目名称,选择"Diagram" - "Show Diagrams" - "Class Diagram",或者使用"Ctrl+Alt+Shift+U"快捷键打开class diagram视图。 2.选择要生成类图的包,然后右键单击它并选择"Add to class diagram",或者直接拖动它到class diagram视图。此时,该包的所有类都将显示在class diagram。 3.对于一个给定的类,在class diagram,右键单击该类并选择"Show Dependencies",可以查看该类所有的引用以及该类引用的其他类。 4.如果要修改类关系和属性,请在class diagram直接对图形进行操作。 5.当完成对类图的编辑和修改后,可以生成自己定制的类图,以供参考和使用。 从上述步骤可以看到,在Android Studio生成类图是非常简单和直观的。它为开发人员提供了极大的方便,可以快速地进行代码阅读和维护,使系统的开发变得更加高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值