이 블로그 검색

2012년 3월 21일 수요일

UML (Unified Modeling Language, 통합 모델링 언어)

객체 지향 분석/설계용의 모델링 언어. 기존의 객체 지향 방법론과 함께 제안되어 모델링 언어 표기법의 표준화를 목적으로 한 것이다. 주로 미국의 래셔널 소프트웨어(Rational Software)사에서 방법론의 통일과 표준화 작업에 전념한 결과 1997년 11월에 UML 1.1이 객체 관리 그룹(OMG)에 의해 표준으로 채택되었다. UML은 방법론이 아닌 소프트웨어 개발에 사용되는 다이어그램을 정의하는 것으로, 소프트웨어 개발 시 산출물들을 비주얼하게 제공함으로써 개발자와 고객 또는 개발자 상호 간의 의사 소통을 원활하게 할 수 있으며, 산업계 표준으로 채택되었기 때문에 UML을 적용한 시스템은 신뢰성이 있다





UML (Unified Modeling Language, 통합 모델링 언어) 는 시스템을 시각화하거나 시스템의 사양이나 설계를 문서화하기 위한 표현방법입니다. UML은 주로 객체 지향 프로그램의 구조를 나타내는데 사용되며, 클래스 다이어그램 (Class Diagram), 시퀀스 다이어그램 (Sequence Diagram) 등이 존재합니다.


1. 클래스 다이어그램


클래스 다이어그램은 클래스나 인스턴스, 인터페이스 등의 정적인 관계를 표현합니다.



<클래스 다이어그램의 예>


각각의 클래스는 위 그림과 같이 표현할 수 있으며, 표현하는데 필요한 몇 가지 기호들이 존재합니다.





<클래스의 표현>





클래스는 직사각형으로 표현합니다. 직사각형은 수평선으로 세개의 칸으로 분할됩니다. 첫번째 칸에는 클래스의 이름을 두번째 칸에는 필드의 이름을 쓰고 마지막 세번째 칸에는 메소드의 이름을 적습니다.


각각의 칸에는 이름 뿐 아니라 부가적인 정보를 적기도 합니다.


추상 클래스와 추상 메소드의 경우에는 이탤릭체를 사용합니다. static 필드와 static 메소드의 경우에는 밑줄을 사용합니다.





<상속 표현>




클래스간의 상속은 실선 화살표를 이용해 표시합니다. 화살표의 방향은 자식 클래스에서 부모 클래스로 향합니다.





<인터페이스, 집약의 표현>




점선 화살표는 인터페이스의 구현을 의미합니다. 화살표의 방향은 구현 클래스에서 인터페이스 방향으로 향합니다. 인터페이스를 표현하는 경우 <>와 같이 표현합니다.


마름모가 붙은 선은 집약 (aggregation) 을 의미합니다. 인스턴스를 갖고 있는 경우에는 두 클래스간의 관계는 집약입니다.


클래스 다이어그램에서 엑세스를 표현할 수도 있습니다.
  • +가 붙은 경우 : public
  • -가 붙은 경우 : private
  • #이 붙은 경우 : protect
  • ~이 붙은 경우 : 동일한 패키지 내에서만 사용할 수 있습니다.


2. 시퀀스 다이어그램





<시퀀스 다이어그램>




시퀀스 다이어그램은 프로그램이 작동될 때 어떤 순서로 실행되는지를 나타냅니다.


시퀀스 다이어그램의 가장 위에 있는 직사각형 안에는 인스턴스의 이름이 들어갑니다. 콜론 (:) 뒤에는 클래스의 이름을 표기하고 그 앞에는 인스턴스의 이름을 표기합니다. 만약 인스턴스의 이름을 따로 표기할 필요가 없을 경우에는 표기하지 않아도 상관없습니다.


인스턴스에서 아래로 뻗어있는 점선은 라이프 라인 (Life Line) 입니다. 시퀀스 다이어그램에서 시간은 위에서 아래 방향으로 흐릅니다. 라이프 라인 중간의 직사각형은 객체가 활동중임을 의미합니다.


각 객체 사이의 실선 화살표는 메소드의 호출을 점선 화살표는 메소드에서 리턴되었음을 의미합니다.




출처 - http://mutablearray.tistory.com/222

댓글 없음:

댓글 쓰기