JAVA学习笔记Ⅴ——UML 类图绘制

UML简介参见JAVA学习笔记Ⅳ——多态

常用UML图示
用例图(The Use Case Diagram) 序列图(The Sequence Diagram) 类图(The Class Diagram)
用例图能够以可视化的方式,表达系统如何满足所收集的业务规则,以及特定的用户需求等信息
序列图用于按照交互发生的一系列顺序,显示对象之间的这些交互
UML 类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构

软件安装

PowerDesigner官网
JAVA学习笔记Ⅴ——UML 类图绘制_第1张图片
百度云链接(可自行百度,安装教程都有),如有需要可留言或私信,安装完成后的界面如下,切记最好不要汉化,汉化会造成字体以及布局上的改变,并且工程软件最好使用英文原版。
JAVA学习笔记Ⅴ——UML 类图绘制_第2张图片

开始绘制

我们使用JAVA学习笔记Ⅳ——多态中的手机关系作为对照进行编辑

创建一个工程,顺序如下,选择创建的模型为OO模型【Object-Oriented Model】,创建的图为类图【Class Diagram】,Object Language会默认选择JAVA,命名自定义就行了
JAVA学习笔记Ⅴ——UML 类图绘制_第3张图片
工程创建完成后的界面效果如下
JAVA学习笔记Ⅴ——UML 类图绘制_第4张图片
前情介绍 Toolbox,Toolbox是界面排布在右边的工具箱,在创建的OO模型中具有放置类、接口,构造继承关系等的功能,将鼠标移动至图标位置就能显示其相应的功能,具体不再详述,参见如下:

JAVA学习笔记Ⅴ——UML 类图绘制_第5张图片

最后通过添加类与接口,选择ClassInterface一次排布如下
JAVA学习笔记Ⅴ——UML 类图绘制_第6张图片
Class_1→Telphone

JAVA学习笔记Ⅴ——UML 类图绘制_第7张图片JAVA学习笔记Ⅴ——UML 类图绘制_第8张图片

Class_2→CellPhone通过点击方法重写按钮添加需要重写的父类方法

JAVA学习笔记Ⅴ——UML 类图绘制_第9张图片JAVA学习笔记Ⅴ——UML 类图绘制_第10张图片

Interface→IPlayGame

JAVA学习笔记Ⅴ——UML 类图绘制_第11张图片JAVA学习笔记Ⅴ——UML 类图绘制_第12张图片

Class_3→SmartPhone 以及 Class_4→Psp,先通过Realization添加连接关系,最后通过接口implement按钮添加即可,以SmartPhone为例

JAVA学习笔记Ⅴ——UML 类图绘制_第13张图片JAVA学习笔记Ⅴ——UML 类图绘制_第14张图片 JAVA学习笔记Ⅴ——UML 类图绘制_第15张图片JAVA学习笔记Ⅴ——UML 类图绘制_第16张图片

绘制完成后,界面效果如下
JAVA学习笔记Ⅴ——UML 类图绘制_第17张图片

代码生成

通过选择LanguageGenerate Java Code...产生JAVA代码
JAVA学习笔记Ⅴ——UML 类图绘制_第18张图片
最终在自己指定的文件夹下产生相应的JAVA文件

JAVA学习笔记Ⅴ——UML 类图绘制_第19张图片

对比代码
SmartPhone.java

/***********************************************************************
 * Module:  SmartPhone.java
 * Author:  Administrator
 * Purpose: Defines the Class SmartPhone
 ***********************************************************************/

import java.util.*;

/** @pdOid f79214aa-8392-479d-abdf-b3e0e2cae12e */
public class SmartPhone extends Telphone implements IPlayGame {
   /** @pdOid 6051a422-8ae5-4119-976d-8359a2550fb5 */
   public void sendMessage() {
      // TODO: implement
   }
   
   /** @pdOid 587cb306-af14-4ea6-b8ff-d363f3f7944c */
   public void call() {
      // TODO: implement
   }
   
   /** @pdOid 25c0a07d-ac8b-4dbf-b48e-d574644c9dcc */
   public void playGame() {
      // TODO: implement
   }

}

JAVA学习笔记Ⅳ——多态中的SmartPhone.java

package com.template20;

public class SmartPhone extends Telphone implements IPlayGame{
    @Override
    public void call() {
        System.out.println("通过语音来打电话");
    }

    @Override
    public void message() {
        System.out.println("通过语音发短信");
    }

    @Override
    public void playGame() {
        System.out.println("具有玩游戏的功能");
    }
}

你可能感兴趣的:(JAVA学习笔记)