1. UML

모델링

  • 말 그대로 모델을 만드는 작업을 뜻함. 즉, 현실 세계를 단순화 시켜 표현하는 기법

  • 모델링의 필요성:
    1) 의사소통 하기 좋다.
    2) 대규모 프로젝트 구조의 로드맵(길잡이)을 만들 때 유용하다.
    3) 개발할 시스템 구축에 대한 기초를 마련할 수 있다.
    4) 백엔드 문서용으로 제격이다.

UML

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


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


모델링 시 주의할 점

  • 1) 핵심적인 기능 위주로 작업한다.
    2) 모델링 작업은 개발 프로세스 분석/설계 단계에서만 하는 것이 아니다.
    3) 모델을 보고 개발하려는 기능의 코드를 떠올릴 수 있어야 한다.

2. 유스케이스 다이어그램(Usecase Diagram)

요구사항

  • 고객 및 소프트웨어 개발에 관계된 사람들이 시스템 개발에 앞서
    개발되는 프로그램에 필요한 조건이나 능력을 말함
  • 유스케이스 다이어그램:
    동적(행위) 다이어그램으로 사용자 관점에서 바라본 시스템 동작 요구사항을 표현한 다이어그램
    여러 업무 프로세스를 설명하는데 자주 활용
  • https://app.diagrams.net/



  • 연관 관계: 유스케이스와 액터 간 상호작용을 의미하는 관계
  • 포함 관계: 한 유스케이스가 다른 유스케이스의 기능을 포함하는 관계
    (반드시 해야만 하는 관계)
  • 확장 관계: 기본 유스케이스에서 특정 조건이나 액터의 선택에 따라 발생하는 유스케이스
    (선택적으로 할 수 있는 관계)
  • 일반화 관계: 유사한 유스케이스들 또는 액터들을 추상화한 하나의 유스케이스로 그룹핑하여 이해도를 높인 관계


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

클래스 다이어그램

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


클래스 다이어그램의 관계

  • 연관 관계:
    한 클래스가 필드로 다른 클래스를 참조할 때를 의미
    클래스 간의 관련성을 뜻하는 것으로 메시지 전달의 통로 역할을 함
  • 일반화 관계(상속):
    보다 일반적인 클래스와 보다 구체적인 클래스 간의 관계를 뜻하는 것으로
    한 클래스(상위 클래스)가 다른 클래스(하위 클래스)보다 일반적인 개념/대상 임을 의미하는 관계
  • 실체화 관계(인터페이스 구현):
    인터페이스에 명세 된 기능을 상속받은 클래스에서 구현한 관계 의미
  • 의존 관계:
    두 클래스의 연산 간의 호출 관계를 표현한 것으로
    제공자의 변경이 이용자에 영향을 미칠 수 있음을 의미함
    (대상 클래스의 객체를 전달 받거나, 생성하여 사용하는 것을 의미)
  • 집합 관계:
    부분 객체가 다수의 전체 객체에 의해 공유될 수 있음
  • 합성 관계:
    부분 객체가 오직 하나의 전체 객체에 포함될 수 있음

0개의 댓글

Powered by GraphCDN, the GraphQL CDN