PlanetUML의 클래스 쓰기 요약
PlanetUML이란
이것은 간단한 코드로UML의 각종 도형을 설명할 수 있는 도구입니다.
UML의 과제인 '유지보수하기 어렵다' 를 활용하는 데 있어서, 우리는 코드로 기술하는 방법으로 해결하려고 시도하고 있다.
분류도
시스템 구조는 클래스와 클래스 간의 관계로 표시된다.
UML에서 가장 대표적인 그림은 추상적인 개념도부터 분석용 그림, 코드에 직접 들어가는 상세한 설계도까지 다양한 장소에서 사용할 수 있다.
예제
'인터넷 보도 투고 서비스'에서 어떤 유형과 관련된 그림이 필요한지 분석해 보는 인상으로 제작됐다.
@startuml
class ユーザー
class 記事
class コメント
class マガジン
class タグ
class ジャンル
class 支払先 {
- 銀行コード
- 支店コード
- 口座番号
}
note left of 支払先 : サービス上で得た報酬を振り込む先の情報
class 個人支払先 {
- 姓
- 名
}
class 法人支払先 {
- 法人名
}
note top of カード情報 : サービス上で支払を行うための情報
class カード情報 {
- カード番号
- カード名義
}
ユーザー "1" -up- "0..1" カード情報
ユーザー "1" -up- "0..1" "支払先"
"個人支払先" --|> "支払先"
"法人支払先" --|> "支払先"
ユーザー "1" -- "*" 記事
記事 "1" -- "*" コメント
ユーザー "1" -- "*" コメント
ジャンル "1..*" -- "*" 記事
タグ "*" -- "*" 記事
マガジン "0..1" -- "*" 記事
package リアクション {
class サポート {
- サポートするユーザー
- サポートされるユーザー
- 金額
}
ユーザー "1" --> "*" サポート
サポート "*" --> "1" ユーザー
class フォロー {
- フォローするユーザー
- フォローされるユーザー
}
(ユーザー, ユーザー).. フォロー
class スキ
ユーザー "1" -- "*" スキ
スキ "*" -- "1" 記事
}
class SNSアカウント
ユーザー "1"-up-"*" SNSアカウント
class Twitterアカウント
class Facebookアカウント
Twitterアカウント --|> SNSアカウント
Facebookアカウント --|> SNSアカウント
@enduml
묘사 방법
기본적인 기술 방법
기본적인 기술 방법을 기억하면 간단한 분류도를 쓸 수 있다.
카테고리
class ユーザー
클래스는 필드와 방법을 설정할 수 있습니다.다음과 같은 두 가지 방법으로 설정할 수 있습니다.
/' クラス定義後に個別に指定する書き方 '/
class ユーザー
ユーザー : int id
ユーザー : string firstName
ユーザー : string familyName
ユーザー : string fullName()
/' クラス定義と同時にまとめて指定する書き方 '/
class ユーザー {
int id
string firstName
string familyName
string fullName()
}
연관성
--
로 클래스를 연결함으로써 학급 간의 관련성을 구축할 수 있다.class ユーザー
class SNSアカウント
ユーザー -- SNSアカウント
클래스명과--
사이에 끼우고""
관련 한쪽에 라벨을 붙일 수 있다.이렇게 하면 얼마나 무거운지 나타낼 수 있다.
class ユーザー
class 記事
ユーザー "1" -- "*" 記事
관련 정의의 끝에 : 関連名
를 더하면 이름을 연결할 수 있다.끝
<
또는 >
에 그래픽 화살표를 추가할 수 있습니다.class ユーザー
class 記事
ユーザー -- 記事 : 投稿 >
클래스 간..>
을 연결함으로써 의존 관계를 구축할 수 있다.class User
class PaymentHistory {
int userId
date paymentDate
int paymentAmount
}
User -- PaymentHistory
class PaymentProcess {
run()
}
PaymentProcess ..> PaymentHistory : create
일반화하다
학급 간
--|>
으로 연결하면 범용 관계를 맺을 수 있다.class SNSアカウント
class Twitterアカウント
class Facebookアカウント
Twitterアカウント --|> SNSアカウント
Facebookアカウント --|> SNSアカウント
큰 가방
package リアクション {
class フォロー
class スキ
}
공통요소의 기술방법(자주 사용하는 것)
plantul은 모든 그림에서 통용되는 일반적인 요소가 있습니다.
각양각색의 공통 요소가 있지만'사용이 편리하고 자주 사용한다'는 요소를 소개한다.
타이틀
그래픽 제목
title タイトル名
클래스 주석
아래의 기법에 클래스에 주석을 추가할 수 있습니다.
note left|right|top|bottom of クラス名 : 注釈内容
class カード情報 {
カード番号
カード名義
}
note top of カード情報 : サービス上で支払を行うための情報
여러 줄 주석
note left|right of 要素名
注釈内容A
注釈内容B
end note
/' または '/
note left|right of 要素名 : 注釈内容A\n注釈内容B
도면 방향 지정하기
top to bottom direction
위에서 아래로 그리기(기본값)left to right direction
왼쪽에서 오른쪽으로 그리기코드의 주석
' 行コメント
/'
ブロックコメント
'/
고도의 서법
더 풍부한 그림을 쓰기 위해 다양한 요소를 제공했다.
교환 위치
class 記事
class 段落
class 文章
class 単語
記事 *-- 段落
段落 *-- 文章
文章 *-- 単語
취합
class 記事
class マガジン
マガジン o-- 記事
관련 클래스
class ユーザー
class マガジン
class マガジン購読 {
datetime 購読日時
}
(マガジン, ユーザー) .. マガジン購読
가시성
class ユーザー {
- privateField
# protectedField
~ packagePrivateField
+ publicField
- privateMethod()
# protectedMethod()
~ packagePrivateMethod()
+ publicMethod()
}
skinparam classAttributeIconSize 0
에서 아이콘 표시를 해제할 수 있습니다.image visibility_none.png
Abstract 및 Static
class ユーザー {
{static} staticField
{abstract} abstractMethod()
}
추상류
abstract class SNSAccount
class TwitterAccount
TwitterAccount --|> SNSAccount
이음매
interface SNSAccount
class TwitterAccount
TwitterAccount --|> SNSAccount
enum
enum 口座種別 {
普通預金
当座預金
定期預金
}
(홍보) PlanetUML 고급 편집을 탑재한 IntelliJ Plugin 제작 중
유료 플러그인으로 앞으로도 개발을 적극적으로 추진해 피드백을 받을 수 있다면 매우 기쁠 것이다.
Reference
이 문제에 관하여(PlanetUML의 클래스 쓰기 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kitabatake/articles/ff586edd162789862d71텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)