Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UML 적절하게 사용하기
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Jongbin Oh
May 20, 2022
Programming
0
250
UML 적절하게 사용하기
Jongbin Oh
May 20, 2022
Tweet
Share
More Decks by Jongbin Oh
See All by Jongbin Oh
NDC22 <달빛조각사>에서 서버 테스트 코드를 작성하는 방법
ohyecloudy
0
380
트위터 봇 개발 후기
ohyecloudy
0
190
Multithread design pattern
ohyecloudy
0
66
적당한 스터디 발표자료 만들기
ohyecloudy
0
260
넘쳐나는 정보 소화 노하우
ohyecloudy
0
70
Intrusive data structure 소개
ohyecloudy
0
220
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
ohyecloudy
0
1.7k
비트 경제와 공짜
ohyecloudy
0
49
내가 본 미드 이야기
ohyecloudy
0
58
Other Decks in Programming
See All in Programming
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
570
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.2k
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
170
How to stabilize UI tests using XCTest
akkeylab
0
130
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
7
2.6k
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
120
へんな働き方
yusukebe
5
2.7k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
280
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
240
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
830
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
220
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
250
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
480
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
A Tale of Four Properties
chriscoyier
163
24k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
Paper Plane (Part 1)
katiecoart
PRO
0
5.7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Practical Orchestrator
shlominoach
191
11k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
UML 적절하게 사용하기. http://ohyecloudy.com http://cafe.naver.com/architect1 2009-07-18
Unified Modeling Language 소프트웨어의 개발에 관련된 설계뿐만 아니라 … 범용적인
목적
Unified Modeling Language 도식graphical notation을 사용해서 모델을 표현한다.
모델model을 다이어그램diagram으로 그리기 위해 사용하는 시각적인 표기법
왜? 모델을 만들어야 하는가?
실제 물건을 만드는 비용 모델로 설계를 검사하는 비용 건축가, 항공우주
엔지니어, 토목 엔지니어…
하지만 소프트웨어 개발에서는..
실제 구현을 하는 비용 모델로 설계를 검사하는 비용 소프트웨어 개발자
실제 구현을 하는 비용 모델로 설계를 검사하는 비용 ! UML을
효과적으로 사용
효과적으로 사용하기 의사소통 로드맵road map 백엔드Back-end 문서 보관하거나 버리기 설계에
대한 토론에 편리 코드가 더 명확할 땐 코드로 토론
효과적으로 사용하기 의사소통 로드맵road map 백엔드Back-end 문서 보관하거나 버리기 코드를
읽는 것보다 클래스 의존관계 빨리 파악 전체 시스템에 대한 교육용 도구 핵심 다이어그램 몇 개면 충분하다
효과적으로 사용하기 의사소통 로드맵road map 백엔드Back-end 문서 보관하거나 버리기 던져
버리는 습관을 길러라. 단, 설계 모임에서 반복적으로 나타나는 다이어그램을 보관하라.
언제 다이어그램을 그려야 하며 언제 그리지 말아야 하는가
여러 사람을 이해시켜야 할 때 설계에 대한 의견이 다를 때
설계 아이디어로 이것저것 시도해 보고 싶을 때 고객이 다이어그램을 요구할 때 그려라
다이어그램을 그리고 코딩 하는 룰 훌륭한 설계자는 다이어그램을 그린다는 생각
이 든다면 그리지 마라. 훌륭한 설계자는 코 드를 작성하며 다이어그램을 꼭 필요할 때만 그린다 코딩에 앞서 설계 단계의 포괄적인 문서를 만 들기 위해서 다이어그램을 그리지 마라. 다른 사람에게 어떻게 코딩을 해야 할지 알려 주기 위해 다이어그램을 그리지 마라. 설계 만 하지 말고 실제 코딩에도 참여하라. 그리지 마
UML은 도구일뿐 그 자체가 목적이 되어서는 안 된다
UML 실전에서는 이것만 쓴다! 클래스 다이어그램class diagram 시퀀스 다이어그램sequence diagram
유스케이스 usecase 객체 다이어그램 object diagram 상태 다이어그램 state diagram 에서도 조금 빼먹고~
클래스 다이어그램 시퀀스 다이어그램 유스케이스 객체 다이어그램 상태 다이어그램 클래스
이름 클래스 변수 클래스 메서드 + public - private # protected 변수 타입 인자 이름 : 타입 리턴 타입
모든 변수와 메서드를 기록할 필요 없다. 중요한 메서드만 기록한다. 규칙을
가지면 좀 더 읽기 쉽다. 연관은 가로, 상속은 세로 그룹 짓기 실전에서는
연관관계는 가로 상속관계는 세로 트랜잭션과 이것들의 행동 UI 인터페이스 UI
구현 클래스 스테레오 타입
집합aggregation 합성composition 이 관계를 뚜렷하게 따져야 하는 경우는 얼마나 될까?
연관association 관계만으로도 충분하다.
클래스 다이어그램 시퀀스 다이어그램 유스케이스 객체 다이어그램 상태 다이어그램 생명선
메시지 인자 객체 리턴
큰 시퀀스 다이어그램을 그리지 마라 핵심만 집어서 작은 시퀀스 다이어
그램을 여러 개 그려라 차이점보다 공통점을 찾아서 초점을 맞춰라 코드가 더 전달하기 쉬울 때도 있다 실전에서는
코드가 더 나을 때가 있다. 코드가 알아보기 쉬울까? 이 시퀀스
다이어그램이 알아보기 쉬울까?
클래스 다이어그램 시퀀스 다이어그램 유스케이스 객체 다이어그램 상태 다이어그램 그리지마!
유스케이스는 내일이면 다 바뀐다. 단순하게 유지해라 빈 종이 워드프로세서 텅
빈 인덱스 카드 프리젠테이션할 때 멋진 표지로만 사 용해라. 실전에서는
클래스 다이어그램 시퀀스 다이어그램 유스케이스 객체 다이어그램 상태 다이어그램 이
클래스 다이어그램의 스냅샷
마음의 눈에는 모든 오브젝트 이름에 밑줄이 그어져 있습니다. 객체 활동적인
객체active object
어떤 순간의 객체들과 그 객체 사이의 관 계 그리고 속성
값을 보여준다. 시스템의 스냅샷 대부분 클래스 다이어그램에서 유추할 수 있다. 유추하기 힘들 때만 사용해라. 실전에서는
객체 다이어그램 클래스 다이어그램 시퀀스 다이어그램 유스케이스 객체 다이어그램 상태
다이어그램 이벤트 액션 상태state
유한 상태 기계(Finite State Machine)를 설 명하기에 적합하다. 하위시스템의 상태
기계를 파악하는 일에 굉 장한 도움이 된다. 다른 다이어그램과 마찬가지로 자주 변경해야 하는 시스템을 표현하기는 좋은 매체가 아니 다. 로버트 C. 마틴은 텍스트를 FSM으로 변환하는 프로 그램을 짜서 쓴다. 실전에서는
UML 언어 법률가가 되지 마라. 의사 소통의 수단으로 간단하게 사용해라.
결론
절제! 절제! 절제!
참고
UML 어떻게 사용하고 계신가요?