관리 메뉴

DevBlackCat

정보처리기사 필수 학습: UML 다이어그램 완전 정복 본문

정보처리기사/소프트웨어 설계

정보처리기사 필수 학습: UML 다이어그램 완전 정복

DevBlackCat 2024. 9. 27. 22:02
728x90

UML 개념

시스템을 시각화 및 문서화하고 구조와 동작을 명세하는 모델링 언어

UML 특징

  • 가시화 언어 (Visualization Language)
  • 명세화 언어 (Specification Language)
  • 구축 언어 (Construction Language)
  • 문서화 언어 (Documentation Language)

UML 구성요소

  • 사물 (Things)
  • 관계 (Relationships)
  • 다이어그램 (Diagrams)
  • 스테레오 타입 (Stereotypes)

 

1. 사물 (Things)

  • 구조 사물 (Structural Things)
  • 행동 사물 (Behavioral Things)
  • 그룹 사물 (Grouping Things)
  • 주해 사물 (Annotational Things)

 

2. 관계 (Relationships)

  • 일반화 관계 (Generalization)
  • 연관 관계 (Association)
  • 의존 관계 (Dependency)
  • 실체화 관계 (Realization)
  • 집합 관계 - 집약 관계 (Aggregation)
  • 집합 관계 - 합성 관계 (Composition)

 

3. 다이어그램 (Diagrams)

 

1) 구조 다이어그램 (Structural Diagrams)

  1. 클래스 다이어그램 (Class Diagram)
  2. 객체 다이어그램 (Object Diagram)
  3. 컴포넌트 다이어그램 (Component Diagram)
  4. 배치 다이어그램 (Deployment Diagram)
  5. 복합체 구조 다이어그램 (Complex Structure Diagram)
  6. 패키지 다이어그램 (Package Diagram)

1.클래스 다이어그램 (Class Diagram)

- 대표적 구조 다이어그램

- 정적구조를 표현

- 클래스간 관계를 표현

 

제한 표기법

    1. 공용(public):
      • 기호: +
      • 설명: 클래스 외부에서 접근 가능한 속성이나 메서드. 누구나 사용할 수 있습니다.
    2. 비공용(private):
      • 기호: -
      • 설명: 클래스 내부에서만 접근 가능한 속성이나 메서드. 외부에서 직접 접근할 수 없습니다.
    3. 보호(protected):
      • 기호: #
      • 설명: 해당 클래스 및 그 하위 클래스에서 접근 가능한 속성이나 메서드.
    4. 패키지(package):
      • 기호: ~
      • 설명: 동일한 패키지 내에서만 접근 가능한 속성이나 메서드.

2.객체 다이어그램 (Object Diagram)

- 객체간 관계를 표현

- 실제 인스턴스 표현

 

3.컴포넌트 다이어그램 (Component Diagram)

 

- 물리적 구조를 표현

- 구성요소간 상호작용을 표현

 

4.배치 다이어그램 (Deployment Diagram)

 

- 물리적인 배치를 표현

- 시스템 구성요소와 그들의 관계표현

 

5.복합체 구조 다이어그램 (Complex Structure Diagram)

- 복합구조 표현

6.패키지 다이어그램 (Package Diagram)

- 그룹화 및 복잡성 관리

2) 행위 다이어그램 (Behavioral Diagrams)

  1. 유스케이스 다이어그램 (Use Case Diagram)
  2. 활동 다이어그램 (Activity Diagram)
  3. 시퀀스 다이어그램 (Sequence Diagram)
  4. 상태 다이어그램 (State Diagram)
  5. 커뮤니케이션 다이어그램 (Communication Diagram)
  6. 인터랙션 오버뷰 다이어그램 (Interaction Overview Diagram)
  7. 타이밍 다이어그램 (Timing Diagram)

 

1.유스케이스 다이어그램 (Use Case Diagram)

유스케이스는 시스템이 사용자와 상호작용하는 방식을 시나리오 형태로 설명한 것입니다.

유스케이스의 주요 구성요소

  • 액터(Actor): 시스템 외부에서 시스템과 상호작용 하는 시스템 또는 사람 ex) 유저, 관리자, 외부 API, 결제 시스템...
  • 시스템(System): 만들고자 하는 프로그램 명칭   ex) 웹사이트, 모바일 앱, 은행 시스템...
  • 유스케이스(Use Case): 시스템 기능 ex) 회원 가입, 상품 구매, 비밀번호 변경, 데이터 조회, 파일 업로드...
  •  관계(Relation): 액터와 유스케이스 사이의 관계 ex) 회원 가입 API와 사용자 등록 기능, 결제 API와 주문 처리 기능, 이메일 API와 비밀번호 재설정 기능...

유스케이스의 관계 다이어그램 

 

연관 관계 (Association): 액터와 유스케이스 사이의 기본적인 관계

 

포함 관계 (Include): 하나의 유스케이스가 다른 유스케이스를 반드시 포함할 때

 

확장 관계 (Extend): 유스케이스가 특정 조건에서만 다른 유스케이스를 확장할 때

 

일반화 관계 (Generalization): 유스케이스나 액터가 다른 유스케이스나 액터를 상속할 때

 

 

2.시퀀스 다이어그램 (Sequence Diagram)

- 객체간 메세지 교환을 시간순서에 따라 표현하는 다이어그램

구성항목

  • 생명선/객체
  • 실행
  • 메시지
  • 활성 박스

객체와 생명선

  • 객체는 직사각형 표현
  • 라이프라인은 점선으로 표현
  • 점선은 위에서 아래로 시간의 경과 표현

활성 박스

  • 생명선상 기다란 직사각형 표현
  • 객체가 어떤 활동 하고 있음을 의미

메시지

  • 인스턴스 간 메시지
  • 동기, 비동기, 자체, 반환 메시지

 

3.상태 다이어그램 (State Diagram)

 

- 한객체의 변화를 나타내는 다이어그램

 

4.활동 다이어그램 (Activity Diagram)

- 시스템의 프로세스 또는 흐름을 표현

- 비지니스 프로세스 모델링에 사용[플로우 차트에 활용]

5.커뮤니케이션 다이어그램 (Communication Diagram)

- 객체간 상호작용과 통신을 표현

- 시간에 초점을 두지않고 관계를 더 큰 중점으로 표시

6.인터랙션 오버뷰 다이어그램 (Interaction Overview Diagram)

- 시스템의 상호작용을 하나의 워크플로우로 표현

7.타이밍 다이어그램 (Timing Diagram)

- 객체가 어떻게 활동하고 시간에 따라 상호작용을 표현

- 실시간 시스템이나 복잡한 시퀀스 다이어그램을 표현

 

728x90