카테고리 없음

UML

chojdsj 2023. 7. 18. 00:03
728x90
UML

 

- 통합 모델링 언어( UML, Unified Modeling Language)는 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어로 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적인 표기법

 

 

 

 

 

 

소프트웨어(프로그램) 개발 프로세스

 

 

 

 

 

요구사항

 

- 고객 및 소프트웨어 개발에 관계된 사람들이 시스템 개발에 앞서 개발되는 프로그램에 필요한 조건이나 능력을 말함.

 

 

 

* 요구사항 조건 * 

 

1) 명확성 : 기술된 요구사항은 항상 동일한 의미로 해석되어야함 -> 모호하지 않아야 함

2) 완전성 : 사용자가 기대하는 모든 요구사항이 기술되어야 함 - > 누락되어서는 안됨 

3) 일관성 : 서로 상충되는 요구사항이 있어서는 안됨

4) 검증 가능성 : 객관적으로 검증할 수 있도록 구체적이어야 함 

 

 

 

 

유스케이스 다이어그램

동적(행위) 다이어그램으로 사용자 관점에서 바라본 시스템 동작 요구사항을 표현한 다이어그램.

여러 업무 프로세스를 설명하는데 자주 활용

 

 

 

* 액터 * 

 

- 시스템과 상호작용을 하는 시스템 외부의 존재로 개발 대상에 따라 달라질 수 있음

시스템 관점에서 바라본 사용자, 타 시스템의 역할을 뜻해야 함

 

 

* 유스케이스 * 

 

- 개발 대상이 되는 시스템이 제공하는 개별적인 기능. 사용자가 인지할 수 있는(눈에 보이는) 하나의 기능 단위

 

 

유스케이스 다이어그램 관계 종류

 

 

 

 

 

 

클래스 다이어그램

 

- 정적(구조) 다이어그램으로 UML 모델링에서 가장 일반적으로 사용. 시스템의 구조와 구조 간 상호관계를 나타내며 시스템의 논리적 및 물리적 구성요소 설계 시 주로 활용

 

 

 

 

 

클래스 다이어그램의 관계

 

 

 

 

* 연관 관계 * 

 

- 한 클래스가 필드로 다른 클래스를 참조할 때를 의미. 클래스 간의 관련성을 뜻하는 것으로 메시지 전달의 통로 역할을 함

 

 

* 의존 관계 * 

 

- 두 클래스의 연산 간의 호출 관계를 표현한 것으로 제공자의 변경이 이용자에 영향을 미칠 수 있음을 의미함.(대상 클래스의 객체를 전달 받거나, 생성하여 사용하는 것을 의미)

 

 

 

 

 

* 일반화 관계(상속) *

 

- 보다 일반적인 클래스와 보다 구체적인 클래스 간의 관계를 뜻하는 것으로 한 클래스(상위 클래스)가 다른 클래스(하위 클래스)보다 일반적인 개념/대상 임을 의미하는 관계

 

 

 

* 실체화(인터페이스 구현) 관계 * 

 

- 인터페이스에 명세 된 기능을 상속받은 클래스에서 구현한 관계 의미

 

 

 

 

 

* 집합 관계 * 

 

- 부분 객체가 다수의 전체 객체에 의해 공유 될 수 있음

-> 전체 객체가 사라져도 부분 객체는 존재한다.

ex) 생성자에서 참조값을 인자로 받아 멤버 변수를 세팅

 

 

 

 

* 합성 관계 *

 

- 부분 객체가 오직 하나의 전체 객체에 포함 될 수 있음

-> 전체 객체가 사라지면 부분 객체도 사라진다.

ex) 생성자에서 필드에 대한 객체를 생성

 

 

 

 

 

 

 

 

연관 관계와 의존 관계