UML 다이어그램이란?
통합 모델링 언어를 사용하여 시스템 상호작용, 업무흐름, 시스템 구조, 컴포넌스 관계 등을 그린 도면입니다. UML다이어 그램을 사용하는 이유는 프로그래밍을 단순화시켜 표현하여 의사소통하기 좋고 또 대규모 프로젝트 구조의 로드맵을 만들거나 개발을 위한 시스템 구축에 기본을 마련합니다.
확실히 개발전에 다이어그램을 사용해서 구조가 어떻게 생겼나 생각하고 그려본 후 코딩을 하게 되면 훨씬 깔끔하고 빠르게 개발이 되는 것을 느꼈습니다. 그런데 다이어그램 종류가 이렇게 많을 줄은 몰랐네요. 자린이는 아직 Class Diagram밖에 모르는데... 일단 Class Diagram 부터 알아보죠.
아 그리고 Star UML이라는 것을 다운로드 하시면 제 글을 이해하는데 도움이 될 겁니다.
Use Case Diagram | 요구 분석 과정에서 시스템과 외부와의 상호 작용을 묘사 |
Activity Diagram | 업무의 흐름을 모델링하거나 객체의 생명주기를 표현 |
Sequence Diagram | 객체 간의 메세지 전달을 시간적 흐름에서 분석 |
Collaboration Diagram | 객체와 객체가 주고받는 메세지 중심 작성 |
Class Diagram | 시스템의 구조적인 모습 그림 |
Component Diagram | 소프트웨어 구조를 그림 |
Deployment Diagram | 기업 환경의 구성과 컴포넌트들 간의 관계 그림 |
Class Diagram이란?
시스템에서 사용되는 객체타입을 정의합니다. 그들 간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램입니다. 객체 지향 시스템 모델링에서 가장 공통적으로 많이 쓰이는 다이어그램입니다. 프로그램 코드로 변환이 가능합니다.
이런식으로 자신이 만드려는 프로그램을 보기 쉽게 그리는 것입니다. IDE에서 파일로 보고 있으면 정신이 혼미해질 때가 있을테니 이렇게 간편하게 그린 그림입니다.
혹시 객체지향 프로그램밍을 모르신다면 여기 어떠신가요?⬇⬇⬇⬇⬇⬇⬇
https://pabeba.tistory.com/109
Class는 이름(name), 속성(attribute), 연산(operation)으로 구성 됩니다. Class 박스를 세 부분으로 나누었을 때 첫 번째 영역에는 이름, 두 번째 부분은 속성, 세 번째 부분은 연산을 나타냅니다.
관계
class끼리의 관계를 나타내는 화살표가 있습니다.
- 의존 (Dependency) - 하나의 모델 요소가 다른 모델 요소를 사용하는 관계
- 일반화(Generalization) - 여러 Class가 가진 공통적인 특징을 추출하여 공통적인 Class를 일반화 하는 관계
상속 관계에서 사용합니다.
- 연관(Association) - Class로부터 생성된 인스턴스들 간의 관계
자신과 아예 독립적인 것?
- 복합 연관(Composition) - 전체와 부분을 나타내는 모델요소, 연관 관계를 맺고 있는 Class의 생명주기가 같음
말이 어려운 것 같은데 꼭 필요한 요소라고 할까요... 사람이 뇌와 심장 등 장기로 구성되어있는 것처럼요.
- Aggregation - 집합 관계를 뜻합니다. 생성 후 필요에 의해 만들어지는 관계랄까.... 사람과 핸드폰의 관계라고 하면 아시겠죠. 사람이 핸드폰을 소유하지만 없어도 되니까요.
소감
사실 아직 그렇다하는 프로젝트를 진행하지 않아서 이런 툴을 많이 사용하지는 않았지만, 예전에 ERD 설계할 때 확실히 전체적인 틀을 정립하고 프로젝트를 진행하면 업무 진행이 훨씬 수월하더라고요. 이 프로그램도 잘 사용해서 객체지향 프로그래밍을 숙달하는데 도움을 받겠습니다.
출처
'코딩 개발 > Java' 카테고리의 다른 글
Java - 상속(Inheritance) (0) | 2023.04.09 |
---|---|
Java - Array(배열) (0) | 2023.04.07 |
Java - Data Type (0) | 2023.04.05 |
Java - this (0) | 2023.04.03 |
Java - 캡슐화 (Encapsulation) (0) | 2023.04.03 |