Study/C#
202550327_(1) UML Class Diagram
joystothecore_
2025. 3. 27. 18:00
복잡한 시스템을 만들 때를 생각해 보자. 단순히 머릿속 생각이나 코딩만으로 프로그래밍의 전체 구조와 흐름을 파악하기 쉽지가 않고, 팀원들과 협업할 때 서로 다른 표현방식으로 인해 커뮤니케이션에 문제가 생길 수도 있다. 또한 잘못된 설계를 초기에 잡기 힘들어 나중에 겉잡을 수 없이 큰 버그가 되기도 한다.
프로그래밍도 디자인을 하는 것 처럼 사전에 구조 설계를 해놓아야 이러한 문제들을 사전에 방지하고, 좀 더 구조적이고 지속가능한 프로그래밍이 가능하다.
UML 다이어그램은 코드간의 복잡한 상호관계를 시각화하여 설계를 돕는 역할을 한다.
1. UML (Unified Modeling Language) 의 기본 개념
- 소프트웨어를 시각적으로 모델링하기 위한 국제 표준 언어
- 코드에 종속되지 않도, 프로그래밍 언어에 구애받지 않고 자유롭게 설계 가능
- 건축 설계를 할 때 건축도면을 미리 그리는 것 처럼, 프로그래밍 설계를 위해 UML로 도면을 그린다는 개념
-> UML을 이용하면 시스템의 구조를 보다 이해하기 쉬워지고, 작업 팀원들 간 의사소통이 더 명확해지며, 분석, 설계, 유지보수가 체계적으로 이루어진다는 장점이 있음.
2. UML 다이어그램의 종류
UML 다이어그램은 크게 구조 다이어그램과 행위 다이어그램으로 구분함.
- 구조 다이어그램(Structural Diagrams) : 시스템이 어떻게 구성되어 있는지에 집중
- 클래스 다이어그램
- 객체 다이어그램
- 컴포넌트 다이어그램
- 배치 다이어그램 등
- 행위 다이어그램(Behavioral Diagrams) : 시스템이 어떻게 동작하고 흐름이 어떤지를 표현함.
- 유스케이스 다이어그램
- 시퀀스 다이어그램
- 활동 다이어그램
- 상태 다이어그램 등
3. UML 다이어그램의 활용
요구사항 분석 단계 | 사용자가 원하는 기능을 분석하고 정리하기 위해 유스케이스 다이어그램 작성 |
설계 단계 | 예를들어, C# 코딩에서 클래스간 관계도나 분류를 위해 클래스 다이어그램 작성 |
구현단계 | UML 다이어그램을 보며 실제 코드에 매핑 |
유지보수 단계 | 설계 다이어그램을 업데이트하며, 변경사항을 추적하고, 사후관리 진행 |
4. UML Class Diagram
- 클래스들 사이의 구조적 관계를 가장 잘 보여주는 다이어그램.
- 각 클래스가 어떤 속성(변수)과 어떤 메서드를 가지고 있는지, 그리고 클래스들 간의 상속, 의존, 연관 등의 관계를 시각적으로 표시함.
- 주말에 클래스 다이어그램 그려볼 것.