Study/C#

202550327_(1) UML Class Diagram

joystothecore_ 2025. 3. 27. 18:00

 

 


 

 

복잡한 시스템을 만들 때를 생각해 보자. 단순히 머릿속 생각이나 코딩만으로 프로그래밍의 전체 구조와 흐름을 파악하기 쉽지가 않고, 팀원들과 협업할 때 서로 다른 표현방식으로 인해 커뮤니케이션에 문제가 생길 수도 있다. 또한 잘못된 설계를 초기에 잡기 힘들어 나중에 겉잡을 수 없이 큰 버그가 되기도 한다. 

프로그래밍도 디자인을 하는 것 처럼 사전에 구조 설계를 해놓아야 이러한 문제들을 사전에 방지하고, 좀 더 구조적이고 지속가능한 프로그래밍이 가능하다. 

UML 다이어그램은 코드간의 복잡한 상호관계를 시각화하여 설계를 돕는 역할을 한다.


1. UML (Unified Modeling Language) 의 기본 개념

- 소프트웨어를 시각적으로 모델링하기 위한 국제 표준 언어

- 코드에 종속되지 않도, 프로그래밍 언어에 구애받지 않고 자유롭게 설계 가능

- 건축 설계를 할 때 건축도면을 미리 그리는 것 처럼, 프로그래밍 설계를 위해 UML로 도면을 그린다는 개념

-> UML을 이용하면 시스템의 구조를 보다 이해하기 쉬워지고, 작업 팀원들 간 의사소통이 더 명확해지며, 분석, 설계, 유지보수가 체계적으로 이루어진다는 장점이 있음.

2. UML 다이어그램의 종류

UML 다이어그램은 크게 구조 다이어그램과 행위 다이어그램으로 구분함.

  1. 구조 다이어그램(Structural Diagrams) : 시스템이 어떻게 구성되어 있는지에 집중
    • 클래스 다이어그램 
    • 객체 다이어그램
    • 컴포넌트 다이어그램
    • 배치 다이어그램 등
  2. 행위 다이어그램(Behavioral Diagrams) : 시스템이 어떻게 동작하고 흐름이 어떤지를 표현함.
    • 유스케이스 다이어그램 
    • 시퀀스 다이어그램 
    • 활동 다이어그램
    • 상태 다이어그램 등

3. UML 다이어그램의 활용

요구사항 분석 단계 사용자가 원하는 기능을 분석하고 정리하기 위해 유스케이스 다이어그램 작성
설계 단계 예를들어, C# 코딩에서 클래스간 관계도나 분류를 위해 클래스 다이어그램 작성
구현단계 UML 다이어그램을 보며 실제 코드에 매핑
유지보수 단계 설계 다이어그램을 업데이트하며, 변경사항을 추적하고, 사후관리 진행

4. UML Class Diagram

  • 클래스들 사이의 구조적 관계를 가장 잘 보여주는 다이어그램.
  • 각 클래스가 어떤 속성(변수)과 어떤 메서드를 가지고 있는지, 그리고 클래스들 간의 상속, 의존, 연관 등의 관계를 시각적으로 표시함.

 

- 주말에 클래스 다이어그램 그려볼 것.