반응형
1과목. 소프트웨어 구축
📒 07. UML
계획 - 요구사항 분석 - 소프트웨어 설계 - 구현 - 테스트 - 유지보수
1. UML(Unified Modeling Language)
(1) UML 개념
- 소프트웨어 시스템을 시각화 및 문서화
- 시스템의 구조와 동작을 명세하는 표준화된 모델링 언어로, 그림 그리는 언어
- 표준화된 도형을 가지고 그림을 그리는 것
(2) UML 특징
- a) 가시화 언어 : 다양한 다이어그램을 통해 시각적으로 표현하며, 복잡한 시스템을 이해하기 쉽게 함
- b) 명세화 언어 : 표준화된 언어로 시스템의 요구사항과 기능을 명세하는데 사용
- c) 구축 언어 : 설계와 구현에 도움이 되는 도구로, 객체 지향 소프트웨어 개발에서 중요한 역할을 함
- d) 문서 언어 : 표준화된 형태로 문서화하여 커뮤니케이션을 개선함
2. UML 구성요소
(1) 사물(Things)
- a) 구조사물
- 시스템의 개념적, 물리적 요소
- ex. 클래스, 유스케이스 컴포넌트 등 - b) 행동사물
- 시간과 공간에 따른 요소들의 행위
- ex. 상호작용, 상태머신 - c) 그룹사물
- 요소들을 그룹으로 묶은 것
- ex. 패키지 - d) 주해사물
- 부가적 설명이나 제약조건
- ex. 주석, 노트
(2) 관계(Relationship)
- a) 일반화 관계(Generalization)
- 한 클래스가 다른 클래스를 포함하는 상위 개념일 때의 관계
- 객체지향 개념에서는 일반화 관계를 상속관계라고 함 - b) 연관관계(Association)
- 2개 이상 사물이 서로 관련된 관계
- 한 클래스가 다른 클래스에서 제공하는 기능을 사용할 때 표시
- 의존관계보다는 긴밀한 관계 - c) 의존관계(Dependency)
- 연관 관계와 비슷하지만, 두 클래스의 관계가 한 메서드를 실행하는 동안과 같이 매우 짧은 시간만 유지
- 매개변수로 사용하여 잠깐만 사용하는 것 - d) 실체화 관계(Realization)
- 인터페이스를 구현받아 추상 메서드를 오버라이딩하는 것을 의미
- 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정 - e) 집합관계 - 집약관계(Aggregation)
- 한 객체가 다른 객체를 소유하는 'has a' 관계
- 라이프타임은 독립적으로 전체 객체가 사라진다 해도 부분 객체는 사라지지 않음 - f) 집합관계 - 합성관계(Composition)
- 부분 객체가 전체 객체에 속하는 관계로 긴밀한 필수적 관계
- 전체 객체의 라이프타임과 부분 객체의 라이프타임은 의존적으로, 전체 객체가 없어지면 부분 객체도 없어짐
(3) 다이어그램(Diagram)
- a) 구조 다이어그램
- 안에 들어가 있는 속성들
- 클래스 다이어그램, 객체 다이어그램, 컴포넌트 다이어그램, 배치 다이어그램, 복합체 구조 다이어그램, 패키지 다이어그램 - b) 행위 다이어그램
- 안에 있는 기능과 상태가 어떻게 변경되는지 나타냄
- 유스케이스 다이어그램, 순차 다이어그램, 커뮤니케이션 다이어그램, 상태 다이어그램, 활동 다이어그램, 상호작용 다이어그램, 타이밍 다이어그램
3. 주요 다이어그램
(1) 클래스 다이어그램
- a) 개념
- 자기만의 속성과 일정한 행동으로 구성
- 여러 개의 클래스들은 서로 연관이나 상속, 의존 관계 등으로 서로 간의 상호작용을 표현 - b) 접근제한자 표기법
- '-' : private 해당 클래스 내에서만 접근 가능
- '#' : protected 상속, 동일 패키지 내에서만 접근 가능
- '+' : public 어디서든 접근 가능
(2) 유스케이스 다이어그램
- a) 개념
- 사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여줌
- 행위 다이어그램의 대표적인 다이어그램으로 기능들을 명세하는 것 - b) 구성요소
- 시스템 : 만들고자 하는 프로그램 명칭
- 액터 : 행위를 하는 사용자나 외부에 있는 시스템
- 유스케이스 : 사용자 입장에서 바라본 시스템의 기능
- 관계 : 액터와 유스케이스 사이의 의미 있는 관계 - c) 다이어그램 관계
- 연관 관계(Association) : 유스케이스와 액터 간의 상호작용이 있음을 실선으로 표현
- 포함 관계(Include) : 유스케이스를 실행할 때 반드시 실행되어야 하는 경우(<<Include>>)
- 확장 관계(Extend) : 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우(<<Extend>>)
- 일반화 관계(Generalization) : 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스(상속)
(3) 시퀀스 다이어그램
- a) 개념
- 객체 간의 상호작용 메시지 시퀀스를 시간의 흐름에 따라 나타내는 다이어그램 - b) 구성요소
- 객체와 생명선 : 객체는 직사각형, 라이프 라인은 점선으로 표현하고 점선은 아래로 갈수록 시간의 경과를 의미
- 활성 박스 : 현재 객체가 어떤 활동을 하고 있는지 기다란 직사각형으로 표현
- 메시지 : 인스턴스 간 주고받은 데이터로 동기 메시지, 동기 메시지, 자체 메시지, 반환 메시지가 있음 - c) 다이어그램 관계
- 연관 관계(Association) : 유스케이스와 액터 간의 상호작용이 있음을 실선으로 표현
- 포함 관계(Include) : 유스케이스를 실행할 때 반드시 실행되어야 하는 경우(<<Include>>)
- 확장 관계(Extend) : 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우(<<Extend>>)
- 일반화 관계(Generalization) : 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스(상속)
(4) 상태 다이어그램
- a) 개념
- 한 객체의 상태 변화를 나타내는 다이어그램
더보기
💡 다이어그램의 종류와 특징만 알아두기
참고자료
흥달쌤, '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
반응형
댓글