안드레이 2024. 1. 26. 15:31

클래스 다이어그램 관계 표현

 

▼ Class Diagram

시스템을 구성하는 객체간의 관계를 추상화한 모델을 논리적 구조로 표현한 것이다. 객체지향 개발에서는 공통으로  사용되며, 분석, 설계, 구현단계 전반에 지속해서 사용된다.

 

참조 : http://www.nextree.co.kr/p6753/

 

단방향 연관관계(일반화) : 한쪽은 알지만 반대쪽은 상대방의 존재를 모름

실체화 관계(실체화) : 첵임집합 인터페이스와 실제로 실현한  클레스들의 사이

의존관계 (의존): 연관 관계와  같지만  메소드를 사용할 때와  같이 매우 짧은 시간만 유지.

양방향 연관관계(연관) : 양쪽 클래스 객체들이 서로의 존재를 인식

일반화 관계(일반화) : 객체지향에서 상속관계를 표현하며, 한 클래스가 다른  클래스를 포함하는 상위개념일 떄 사용

집합관계(집합) : 클레스 사이 전체나 부분이 같은  관계

포합관계(합성):  전체/부분 객체 라이프타임 의존적(전체  객체 삭제 - 부분 객체 삭제)

 

UML 연관관계

한사물의 객체가 다른 사물의 객체와 연결된 것을 표현한다. 두 클래스가 서로  연관이 있다면 A,B 객체를 서로 참조할 수 있음을 표현한다.

이름: 관계의 의미를 표현하기 위해  이름을 지어줄 수 있다.

역활: 수행하는 열활의 명시적 이름을 가질 수 있다.

구성요소 :  객체, 생명선, 실행, 메세지,  시간

 

▼UML 의존 관계

연관 관계와 같지만 메소드를 사용할 때와  같이 매우 짧은 시간만 유지된다.

영향을 주는 객체에서 영향을 받는 객체 방향으로 점선 화살표를 연결한다.

 

▼ UML 일반화 관계

객체지향에서 상속관계를 표현한다.

한 클래스가 다른 클래스를 포함하는 상위 개념일 떄 사용한다.

 

▼  UML 집합관계

A객체가 B객체에 포함된  관계이다. 부분을 나타내는 객체를 다른 객체와 공유할 수 있다.

천체 클래스 방향에 빈마름모로 표시하고, or 관계에 놓이면 선사이에 점선을 잇고 (or)을 표시한다.

 

▼ UML 포함관계

부분 개체가 전체 객체에 속하는 강한  집합 연관의 관계를 표현하는 클래스이다.

부분 객체는 다른 객체와 공유 불가능하고, 천체 객체방향에 체워진 마름모로 표현된다.

 

▼ UML 실체화 관계

인터체이스와 실제 구현된일반 클레스 간의 관계로 존재하는 행동에 대한 구현을 표현한다.

한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 단계이다.

 

▼ 유스케이스 다이어그램( Use Case Diagram)
시스템과 사용자의 상호작용을 다이어그램으로 표현한 것으로 사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여주는 것이다.
사용자가 시스템 내부에 있는 기능 중에 어떤 기능을 사용 할 수 있는지 나타내며 유스케이스 다이어그램을 사용함으로써 고객과 개발자가 요구사항에 대한 의견을 조율 할 수 있다.
유스케이스 다이어그램은 프로젝트에 대한 요구사항을 정의하고 세부기능을 분석하며 개발 범위를 정할 때 작성한다.

 

▼ 유스 케이스  다이어그램 요소

 

시스템 경계  : 시스템이 제공하야 하는 사례들의  범위가 된다.   큰  규모의 객체로  구현되는 존재이다.

엑터  : 서비스를 이용하는외부  객체이다. 시스템이 특정 사례를 실행하도록 요구할 수 있는 존재이다.

유스케이스 : 시스템이 제공해야하는 개별적인 서비스 기능이며, 서비스는 특정 클래스의 맴버함수로 모델링한다.

접속관계 : 엑터/유스케이스 또는 유스케이스/유스케이스 사이에 연결되는 관계이다. 엑터나 유스케이스가 다른 유스케이스의 서비스를  이용하는 상황이다.

접속/연관관계(Association): 엑터/유스케이스 또는 유스케이스/유스케이스 사이의 연결에서 엑터나 유스케이스가 다른 유스케이스의 서비스를 이용하는 상황을 표현한다.유스케이스와 액터를 실선으로 연결한다.
포함 관계(Include): 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성되는 관계이다.
포함되는 유스케이스는 포함하는 유스케이스를 실행하기 위해 반드시 실행되어야 하는 경우에 적용한다.
포함하는 유스케이스에서 포함되는 유스케이스 방향으로 화살표를 점선으로 연결하고 <<include>>라고 표기한다.
확장 관계(Extend): 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성 되는 관계이다.
확장 대상 유스케이스를 수행 할 때 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우에 적용한다.
확장 기능 유스케이스에서 확장 대상 유스케이스 방향으로 화살표를 점선으로 연결하고 <<extend>>라고 표기한다.
일반화 관계(Generalization): 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스 또는 액터와 연결시켜 그룹을 만들어 이해도를 높이기 위한 관계이다.
구체적인 유스케이스에서 추상적인 유스케이스 방향으로 끝부분이 삼각형으로 표현된 화살표를 실선으로 연결하여 표현한다.

 

▼ 유스케이스 다이어그램 작성단계

엑터식별 : 모든 사용자 역활과 상호작용하는 타 시스템을 식별한다. 정보를 주고 받는 하드웨어 및 지능형  장치를 식별한다.

유스 케이스 식별 : 엑터가 요구하는 서비스와 정보를 식별한다. 엑터가 시스템과  상호작용하는 행위를 시별한다.

관계정의 : 엑터와  엑터 그리고 엑터와 유스케이스. 유스케이스와 유스케이스 간의 관계분석을 정의하는 것이다.

유스케이스의 구조화 : 두 개의 상위 유스케이스가 존재하는 공통 서비스를 추출해, 추출된 서비스로 유스케이스를 정의한다. 추출된 서비스를 사용하는  유스케이스와 관계를 정의해, 조건에  따른 서비스 수행부분을 분석하여 구조화  한다.