본문 바로가기

IT 관련 지식/소프트웨어공학

UMl 클래스다이어그램 기본

반응형

안녕하세요 시란입니다. 

이번 포스팅에서는 UML 작성에 쓰이는 클래스다이어그램을 알아보도록 하겠습니다. 

클래스 다이어그램은 대표적인 정적이고 , 구조를 표현하기 위한 다이어그램입니다. 

 

유스케이스를 통해서 사용자에게만 보여지는 기능을 작성했다면 

클래스다이어그램 이후부터는 개발자가 프로그램을 설계할때 도움이 되는 부분입니다. 

프로그램 할때 클래스를 설계하는 작업과 같습니다. 

 

클래스 내주의 내용 그리고 클래스 사이의 관계를 표현할 수 있습니다. 

또한 클래스 다이어그램은 의존관계를 잘 보여주고 이 의존 관계를 깨는 것이 목표입니다. 

전체 시스템에서 의존성을 파악하고 이것을 타파해야 좋은 시스템을 만들 수 있습니다. 

 

- 사용 시기

물론 팀원 또는 프로그램을 모르는 분들과 의사소통을 하며 설계 논의를 하기 위해 사용됩니다. 

이 뿐만 아니라 전체 시스템의 구조 및 클래스의 의존성을 파악할때 사용되며

유지보수를 위한 설계의 Back-end 문서를 작서할때도 도움이 됩니다. 

 

- 작성 시 주의사항

다이어그램을 보고 직관적으로 이해가 가능해야 합니다. => 접근성!

불필요한 내용을 제외하고 모델을 간결하게 그려야 합니다. => 간결성!

UML을 작성하는것이 개발 비용보다 더 들어가는 경우도 있으니 적당히 비용을 고려하고 작성여부를 검토하는 것이 중요 합니다. =>? 비용!

 

- 결국 최대한 알아보기 쉽게 작성하는게 포인트입니다. -

 

- 클래스 다이어그램 표기방법

클래스는 위에서 말씀드린대로 객체지향에서 사용되는 부분입니다. 

이 클래스를 표현할때는 세 가지 부분으로 나누어 표현합니다. 

 

클래스 이름, 멤버변수, 메서드로 이루어져 있습니다. 

그러면 각각의 요소에 대해서 설명하겠습니다.

먼저 클래스 이름은  네모 박스 안에 기입하며 아래의 규칙을 따라야 합니다. 

: 상자 가운데에 위치하며 굵은 글씨체로 기입하고 영어인경우 첫번째 글자는 대문자 입니다. 

 

멤버변수의 경우 다음과 같은 순서로 작성합니다. 

[Visiblity] Property-name: property-type

visiblitiy는 접근제어자를 의미하며 

Public, private protected package를 의미합니다. 프로그래머라면 익숙하시죠? 클래스 작성할때 접근 권한이라 생각하면 됩니다.  각각 + - # ~로 표현합니다. 

Property-name은 명칭이고, property-type은 변수타입 입니다. 

참고로 visiblity는 생략해도 됩니다. 

예시를 들면 위의 그림과 같이 되겠네요.

 

메서드는 UML에서 Operation이라는 개념의 한 종류이며 각 메서드 하나 하나가 operation 이 됩니다. 

opertaion은 다음과 같이 표시합니다. 

[visiblity] operation-name(property1, property2, ...) : return-type

operation-name은 메서드 명이고, 괄호안에는 파라미터를 작성하면 됩니다. 리턴타입은 : 콜론 뒤에 작성하면 됩니다. 

위의 그림이 메서드 까지 작성한 항목 예시입니다. 

 

클래스 다이어그램 관계도는 다음 포스팅에서 설명 드리겠습니다.

내용이 길어지겠네요. 아무래도 클래스다이어그램은 시스템 설계시 클래스에 직접 들어가며, 각각의 연결관계를 설명해야되기때문에 내용도 정확히 작성하는것이 중요합니다. 

 

다음번 포스팅에서 만나요.!

반응형