UI 설계를 위한 UML
UML의 유형
클래스 다이어그램
클래스 다이어그램(Class Diagram) 개념
- 객체 지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램
클래스 다이어그램 구성요소
클래스(Class)
- 공통의 속성, 연산(메서드), 관계, 의미를 공유하는 객체(Object)들의 집합
속성(Attribute)
- 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술
연산(Operation), 메서드(Method)
- 이름, 타입, 매개변수들과 연관된 행위를 호출하는데 요구되는 제약 사항들을 명시하는 클래스의 행위적 특징
- 객체에 요청하여 행동에 영향을 줄 수 있는 서비스
접근 제어자(Access Modifier)
- - : 클래스 내부 접근만 허용(private)
- + : 클래스 외부 접근을 허용(public)
- # : 동일 패키지/파생 클래스에서 접근 가능(Protected)
- ~ : 동일 패키지 클래스에서 접근 가능(default)
클래스 간의 관계(Relationships)
연관(Asociation) 관계
- 클래스가 서로 개념적으로 연결된 선
- 2개 이상의 사물이 서로 관련된 상태를 표현
- 사물 사이를 실선으로 연결하여 표현하며, 방향성은 화살표로 표현
- 서로에게 영향을 주는 양방향 관계의 경우 화살표를 생략하고 실선으로만 연결
의존(Dependency) 관계
- 하나의 클래스가 또 다른 클래스를 사용하는 관계
- 다른 클래스의 멤버 함수 사용
- 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현
- 하나의 클래스에 있는 멤버 함수의 인자가 변함에 따라 다른 클래스에 영향을 미칠 때의 관계
- 영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표를 연결하여 표현
일반화(Generalization) 관계
- 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현
- 일반적인 개념을 부모(상위)라고 하고, 구체적인 개념을 자식(하위)이라고 함
- 구체적(하위)인 사물에서 일반적(상위)인 사물 쪽으로 속이 빈 화살표를 연결하여 표현
- 다른 의미로 상속 관계라고 함
실체화(Realization) 관계
- 추상 클래스나 인터페이스를 상속받아 자식 클래스가 추상 메서드를 구현할 때 사용
- 사물이 할 수 있거나, 해야 하는 기능(행위, 인터페이스)으로 서로를 그룹화할 수 있는 관계를 표현
포함(Composition) 관계
- 영구적이고, 집합 관계보다 더 강한 관계로 구성
- 포함되는 쪽(부분, Part)에서 포함하는 쪽(전체, Whole)으로 속이 채워진 마름모를 연결하여 표현
- 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에 영향을 미치는 관계를 표현
- 복합 관계라고도 함
- 예를 들어, 엔진과 피스톤, 플러그
집합(Aggregation) 관계
- 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계
- 하나의 사물이 다른 사물에 포함된 관계 표현
- 포함되는 쪽(부분, Part)에서 포함하는 쪽(전체, Whole)으로 속이 빈 마름모를 연결하여 표현
- 예를 들어, 차와 엔진, 바퀴, 운전대
유스케이스 다이어그램
유스케이스 다이어그램(Usecase Diagram) 개념
- 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램
유스케이스 다이어그램 구성요소
유스케이스(Usecase)
- 시스템이 제공해야 하는 서비스, 기능
- 액터가 시스템을 통해 수행하는 일련의 행위
액터(Actor)
- 사용자가 시스템에 대해 수행하는 역할
- 시스템과 상호작용을 하는 사람 또는 사물
- 이벤트 흐름을 시작하게 하는 객체
시스템(System)
- 전체 시스템의 영역을 표현
시나리오(Scenario)
- 발생되는 이벤트의 흐름
이벤트의 흐름(Event Flow)
- 사람, 시스템, 하드웨어, 시간의 흐름에 의해 시작
유스케이스 다이어그램의 관계
포함(Include) 관계
- 유스케이스를 수행할 때 다른 유스케이스가 반드시 수행되는 관계
- 다른 유스케이스가 나타내는 이벤트 흐름을 포함(Include)하는 관계를 유스케이스 간에 표현
- 여러 유스케이스에서 공통적으로 발견되는 기능 표현
- 2개 이상의 유스케이스 이벤트 흐름에서 중복적인 부분이 발생하는 경우 유스케이스 간 포함 관계를 설정하여 해결
- <<include>>로 표현
확장(Extend) 관계
- 포함 관계처럼 여러 유스케이스에 걸쳐 중복적으로 사용되지 않고, 특정 조건에서 한 유스케이스로만 확장되는 관계
- 특정 조건이 만족되는 상황에서만 확장 유스케이스의 이벤트 흐름이 수행
- 한 유스케이스에서 추가되거나 확장된 기능 표현
- <<extend>>로 표현
일반화(Generalization) 관계
- 추상적인 액터와 좀 더 구체적인 액터 사이에 맺어주는 관계
- 액터에 적용하면 유스케이스 다이어그램에서 사용되는 여러 액터의 의미를 좀 더 명확하게 하고 다이어그램도 더욱 간결하게 작성
- 하위 액터나 유스케이스에서 상위 액터, 유스케이스 쪽으로 속이 빈 삼각형 화살표를 실선으로 연결
시퀀스 다이어그램
시퀀스 다이어그램(Sequence Diagram) 개념
- 객체 간 상호 작용을 메시지 흐름으로 표현한 다이어그램
- 객체 간의 동적 상호 작용을 시간적 개념을 중심으로 모델링하는 과정
- 객체의 연산(Operation)과 속성을 상세히 정의해야 함
- 유스케이스를 실현(Realization)함
시퀀스 다이어그램 구성요소
객체(Object)
- 위쪽에 표시되며 아래로 생명선을 가짐
- 사각형 안에 밑줄 친 이름으로 명시
생명선(Lifeline)
- 객체로부터 뻗어 나가는 점선
- 실제 시간이 흐름에 따라 객체의 생명주기 동안 발생하는 이벤트를 명시
실행(Activation)
- 직사각형은 연산(Operation)이 실행되는 시간을 의미
- 직사각형이 길어질수록 연산 수행시간이 긺
메시지(Message)
- 객체 간의 상호 작용은 메시지 교환으로 이루어짐
- 한 객체에서 다른 객체로의 메시지를 전달하여 전달받은 객체의 연산을 수행
'정보처리 > 소프트웨어설계' 카테고리의 다른 글
화면 설계 UI 설계 4/4 (1) | 2025.04.13 |
---|---|
화면 설계 UI 설계 3/4 (0) | 2025.04.12 |
화면 설계 UI 설계 1/4 (0) | 2025.04.10 |
화면 설계 UI 요구사항 확인 3/3 (2) | 2025.04.09 |
화면 설계 UI 요구사항 확인 2/3 (1) | 2025.04.08 |