UML(Unified Modeling Language) 
프로그램 설계를 표현하기 위해 사용

 

 

시스템, 업무, 모델링,산출물 을 규정하고

시각화하여, 문서화하는 언어이다.

+객체 지향 모델링을 위한 그래픽 언어

 

 

 

혹시나 이해가 안간다면, 아래 위키백과 참조하기.

https://ko.wikipedia.org/wiki/%ED%86%B5%ED%95%A9_%EB%AA%A8%EB%8D%B8%EB%A7%81_%EC%96%B8%EC%96%B4

 

통합 모델링 언어 - 위키백과, 우리 모두의 백과사전

통합 모델링 언어(UML, 영어: Unified Modeling Language)는 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어이다.[1] 이 표준은 UML을 고안한 객체 관리 그룹에서 관리 하고 있다. UML은 소프트웨

ko.wikipedia.org

 

 


 

사용하는 이유 : 

한 번에 이해하기 복잡한 시스템이 늘어나면서,

건물을 지을때 청사진을 그리는 것과 마찬가지로,

uml을 사용하여 시각적인 모델링을 설계 한다.

 

좋은 모델은 아키텍처를 건전하게 하고 프로젝트 팀의 의사소통을 원활히 하는데 있어 필수적이다.

 

 

추가적인 설명 : 

시스템개발은 복잡한 업무를 이해하기쉽도록

*추상화하는 작업으로부터 시작한다.

ex.추상 : 실체들간의 공통되는 특성을 추출한것.

예1:새,곤충, 물고기 -> 동물(추상)

예2:삼성,현대,LG ->회사(추상)

그 다음단계는,

추상화된 업무를 세부적으로 구현하는 전개과정으로 발전하게되는것이다.

즉, 모델링을 통해 추상화할 수 있다.

따라서 모델링은 소프트웨어 시스템의 추상화 결과가 되는것이다.

그래서 모델을 만들때 사용하는 언어가 UML이다.

UML은 문서화하는 역할을 할 뿐만아니라,

생소한 다음 단계로서의 프로그래밍언어로서의 역할도한다.

*추상화 : 내부의 복잡한 사실들을 감추고 이해하기 쉽도록

단순화한것이다.

 


 

모델링은 크게 '구조다이어그램''행위다이어그램' 이있고,

시스템의 개념, 관계 등을 나타내는 구조 다이어그램에는

클래스 다이어그램, 객체 다이어그램 등.. 이있고,

요소들간의 변화나 흐름 ,동작을 나타내는 행위다이어그램

유스케이스 다이어그램, 엑티비티 다이어그램 등 이있다. (총 14개의 다어이그램이있다)

 

 

UML관계 유형 :

크게 연관관계, 의존관계, 일반화관계, 실체화관계 로 나뉜다.

 

 

연관관계

1-1 연관관계는 다음과 같이 실선으로 표현한다.

서로다른 객체의 참조를 가지는 필드를의미한다.

ex. 게시물과 댓글

연관관계를 사용하여 설계하면

게시물은 댓글 목록을 가지고있고, 댓글은 어떤 게시글에 대해서 답을 달았는지에 대한 정보를 가지고있다.

1-2직접연관관계는 다음과 같은 화살표를 이용한다.

ex. 게시물과 댓글

다음과같이 연관관계를 사용하여 설계를하면,

게시물은 댓글의 목록을 가지고있고,

댓글은 어떤 게시글에 대해서 답을 달았는지에 대한정보를 가지고 있지않는다.

1-3집합연관관계는 다음과같이 속이 빈 마름모로 표현한다.

(전체와 부분의 관계를 나타낸다.)

 

ex.

댓글은 게시물에 표함이되지만,

게시글을 삭제해도 댓글은 내가 쓴 댓글 목록에서 확인할 수 있다.

1-4합성연관관계 속이 찬 마름모로 표현한다.

강한 결합의 관계를 의미한다.

따라서 참조하는 객체가 사라지면, 종속된 객체도 같이 사라진다.

ex.

게시물을 삭제하면 댓글도 함께 사라진다.



의존관계
2-1확장의존관계

점선화살표로 표시하고, 위에는 Extend라는스테레오타입을 적는다.

(맨 아래 참고)


확장관계는 어떤 행동을 수행할때,

선택적으로 수행할 수 있는 관계를 나타낸다.

ex.

확장관계로 설계하면, 글을 등록할때 파일을 첨부하는 기능을

선택적으로 수행할 수 있음을 표현한다.

2-2포함의존관계

점선 화살표 + 위에는 Include라고 스테레오타입을 적는다.

포함의존관계는 반드시 포함하는 관계를 나타냄.

ex.

로그인을 해야지만 글을 등록 할 수 있는 것을 표현한다.

일반화관계
3.빈삼각형으로 표시

부모클래스와 자식클래스간의 상속관계를 나타낸다.

실체화관계
4.점선+빈삼각형으로 표시

ex.

동물이 무엇을 하는지 정의만해놓고,

속성과, 실제 동작하는 메서드는 자식클래스에서 구현하는것을 표현한다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기