UML(Unified Modeling Language) -2-
클래스 다이어그램 관계 표현
▼ Class Diagram
시스템을 구성하는 객체간의 관계를 추상화한 모델을 논리적 구조로 표현한 것이다. 객체지향 개발에서는 공통으로 사용되며, 분석, 설계, 구현단계 전반에 지속해서 사용된다.

단방향 연관관계(일반화) : 한쪽은 알지만 반대쪽은 상대방의 존재를 모름
실체화 관계(실체화) : 첵임집합 인터페이스와 실제로 실현한 클레스들의 사이
의존관계 (의존): 연관 관계와 같지만 메소드를 사용할 때와 같이 매우 짧은 시간만 유지.
양방향 연관관계(연관) : 양쪽 클래스 객체들이 서로의 존재를 인식
일반화 관계(일반화) : 객체지향에서 상속관계를 표현하며, 한 클래스가 다른 클래스를 포함하는 상위개념일 떄 사용
집합관계(집합) : 클레스 사이 전체나 부분이 같은 관계
포합관계(합성): 전체/부분 객체 라이프타임 의존적(전체 객체 삭제 - 부분 객체 삭제)
UML 연관관계
한사물의 객체가 다른 사물의 객체와 연결된 것을 표현한다. 두 클래스가 서로 연관이 있다면 A,B 객체를 서로 참조할 수 있음을 표현한다.
이름: 관계의 의미를 표현하기 위해 이름을 지어줄 수 있다.
역활: 수행하는 열활의 명시적 이름을 가질 수 있다.
구성요소 : 객체, 생명선, 실행, 메세지, 시간
▼UML 의존 관계
연관 관계와 같지만 메소드를 사용할 때와 같이 매우 짧은 시간만 유지된다.
영향을 주는 객체에서 영향을 받는 객체 방향으로 점선 화살표를 연결한다.
▼ UML 일반화 관계
객체지향에서 상속관계를 표현한다.
한 클래스가 다른 클래스를 포함하는 상위 개념일 떄 사용한다.
▼ UML 집합관계
A객체가 B객체에 포함된 관계이다. 부분을 나타내는 객체를 다른 객체와 공유할 수 있다.
천체 클래스 방향에 빈마름모로 표시하고, or 관계에 놓이면 선사이에 점선을 잇고 (or)을 표시한다.
▼ UML 포함관계
부분 개체가 전체 객체에 속하는 강한 집합 연관의 관계를 표현하는 클래스이다.
부분 객체는 다른 객체와 공유 불가능하고, 천체 객체방향에 체워진 마름모로 표현된다.
▼ UML 실체화 관계
인터체이스와 실제 구현된일반 클레스 간의 관계로 존재하는 행동에 대한 구현을 표현한다.
한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 단계이다.
▼ 유스케이스 다이어그램( Use Case Diagram)
시스템과 사용자의 상호작용을 다이어그램으로 표현한 것으로 사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여주는 것이다.
사용자가 시스템 내부에 있는 기능 중에 어떤 기능을 사용 할 수 있는지 나타내며 유스케이스 다이어그램을 사용함으로써 고객과 개발자가 요구사항에 대한 의견을 조율 할 수 있다.
유스케이스 다이어그램은 프로젝트에 대한 요구사항을 정의하고 세부기능을 분석하며 개발 범위를 정할 때 작성한다.
▼ 유스 케이스 다이어그램 요소
시스템 경계 : 시스템이 제공하야 하는 사례들의 범위가 된다. 큰 규모의 객체로 구현되는 존재이다.
엑터 : 서비스를 이용하는외부 객체이다. 시스템이 특정 사례를 실행하도록 요구할 수 있는 존재이다.
유스케이스 : 시스템이 제공해야하는 개별적인 서비스 기능이며, 서비스는 특정 클래스의 맴버함수로 모델링한다.
접속관계 : 엑터/유스케이스 또는 유스케이스/유스케이스 사이에 연결되는 관계이다. 엑터나 유스케이스가 다른 유스케이스의 서비스를 이용하는 상황이다.
접속/연관관계(Association): 엑터/유스케이스 또는 유스케이스/유스케이스 사이의 연결에서 엑터나 유스케이스가 다른 유스케이스의 서비스를 이용하는 상황을 표현한다.유스케이스와 액터를 실선으로 연결한다.
포함 관계(Include): 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성되는 관계이다.
포함되는 유스케이스는 포함하는 유스케이스를 실행하기 위해 반드시 실행되어야 하는 경우에 적용한다.
포함하는 유스케이스에서 포함되는 유스케이스 방향으로 화살표를 점선으로 연결하고 <<include>>라고 표기한다.
확장 관계(Extend): 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성 되는 관계이다.
확장 대상 유스케이스를 수행 할 때 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우에 적용한다.
확장 기능 유스케이스에서 확장 대상 유스케이스 방향으로 화살표를 점선으로 연결하고 <<extend>>라고 표기한다.
일반화 관계(Generalization): 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스 또는 액터와 연결시켜 그룹을 만들어 이해도를 높이기 위한 관계이다.
구체적인 유스케이스에서 추상적인 유스케이스 방향으로 끝부분이 삼각형으로 표현된 화살표를 실선으로 연결하여 표현한다.
▼ 유스케이스 다이어그램 작성단계
엑터식별 : 모든 사용자 역활과 상호작용하는 타 시스템을 식별한다. 정보를 주고 받는 하드웨어 및 지능형 장치를 식별한다.
유스 케이스 식별 : 엑터가 요구하는 서비스와 정보를 식별한다. 엑터가 시스템과 상호작용하는 행위를 시별한다.
관계정의 : 엑터와 엑터 그리고 엑터와 유스케이스. 유스케이스와 유스케이스 간의 관계분석을 정의하는 것이다.
유스케이스의 구조화 : 두 개의 상위 유스케이스가 존재하는 공통 서비스를 추출해, 추출된 서비스로 유스케이스를 정의한다. 추출된 서비스를 사용하는 유스케이스와 관계를 정의해, 조건에 따른 서비스 수행부분을 분석하여 구조화 한다.