클래스다이어그램 과 유즈케이스

dano Lee·2023년 11월 25일
0

CS

목록 보기
1/1

트리구조에 대한 클래스 다이어그램, 유즈케이스 작성 기회가 있어 공부했던 내용을 정리해 보았다.

클래스다이어그램

  1. 목적

    • 의사소통 또는 설계 논의를 위해
    • 전체 시스템의 구조 및 클래스의 의존성 파악을 위해
    • 유지보수를 위한 설계의 back-end 문서 제작을 위해
  2. UML(Unified Modeling Language) 이란?

    • 시스템을 모델로 표현해주는 대표적인 모델링 언어
  3. UML 클래스의 표현

    UML클래스다이어그램
    • 3-1) 가장 윗부분: 클래스 이름
    • 3-2) 중간 부분: 속성(클래스의 특징)
    • 3-3) 마지막 부분: 연산(클래스가 수행하는 책임)
  4. 클래스 다이어그램 표현

  • 접근제어자

    • (+) == public :: 어떤 클래스의 객체에서도 접근 가능
    • (-) == private :: 이 클래스에서 생성된 객체들만 접근 가능
    • (#) == protected :: 이 클래스와 동일 패키지에 있거나 상속 관계에 있는 하위 클래스의 객체들만 접근 가능
    • (~) == package :: 동일 패키지에 있는 클래스의 객체들만 접근 가능
  • 관계 표현

    • 의존관계 - 점선화살표 :: 한 객체가 다른 객체에 있는 기능을 사용할 때 나타냄, 두 클래스의 관계가 메서드를 실행 하는 동안과 같은 짧은 시간만 유지된다는 점
    • 연관관계 - 실선이나 화살표 :: 클래스들이 개념상 서로 연결 되어있음을 나타낸다. 보통은 한 클래스가 다른 클래스에서 제공하는 기능을 사용하는 상황일 때 표시한다.
      단방향은 화살표로 양방향은 실선으로 표시된다.
    • 일반화관계 - 속이 빈 화살표 :: 객체지향 개념에서 상속관계라고 말합니다. 한 클래스가 다른 클래스를 포함하는 상위 개념일 때 이를 IS-A 관계라고 하며 UML에서는 일반화 관계로 모델링합니다.
      1. 부모클래스 :: 추상적인 개념이며, 삼각형 표시가 향하는 방향을 의미합니다.
      2. 자식클래스 :: 추상적인 개념을 물려받은 구체적인 개념입니다. 삼각형표시가 없는쪽이며 부모클래스는 자식클래스의 공통적인 속성과 연산을 제공하는 틀입니다.
      관계표현 이미지

유즈케이스

  • 시스템이 제공해주는 서비스와 기능을 나타내며 사용자의 요구사항을 구조화 한 것
  1. 유즈케이스 작성시 주의사항

    • 어떻게가 아니라 무엇을 시스템이 하는가를 담는 것
  2. 유즈케이스 다이어그램

    • 구성

      • 유스케이스: 시스템 내에서 일련의 작업을 수행하기 위한 행위들을 나타냄
      • 액터
        • 프라이머리 액터 (Primary Actor) : 시스템을 사용하고, 직접 이득을 보는 액터이며 졸라맨으로 표기합니다. 보통 시스템의 왼쪽에 표시합니다.
        • 세컨더리 액터 (Secondary Actor) : 프라이머리 액터가 목적을 달성하기 위해 도움을 주는 액터이며 사각형 박스에 << actor >>를 입력하여 표기합니다. 보통 시스템의 오른쪽에 표시합니다.
    • 관계

      • 연관관계: 유스케이스와 액터 사이에 상호작용이 있다는 뜻으로, 실선으로 표시합니다.

        연관관계 예시
      • 포함관계: 두 개의 유스케이스 간의 의존성을 나타내며 하나의 유스케이스가 실행될 때 포함 관계에 있는 유스케이스가 반드시 실행되어야 함, 점선화살표를 사용하며 << include >> 를 중앙에 표시해야한다.

        포함관계 예시
      • 확장관계: 두 개의 유스케이스 간의 확장성을 나타내며 하나의 유스케이스가 실행될 때 확장관계에 있는 유스케이스가 특정 상황에서만 실행되어야 함, 점선화살표를 사용하며 << extend >>를 화살표 중앙에 표시해야한다.

        확장관계 예시
      • 일반화관계: 부모와 자식 유스케이스들 간의 상속관계를 나타내며 특정 유스케이스들이 하나의 특수화된 유스케이스라 한다, 자식 에서 부모 유스케이스 방향으로 실선 화살표를 사용한다.

        포함관계 예시

마무리

  • 개발에 앞서 전체적인 흐름에 대해 먼저 생각해보게 되었다.
  • 틀을 짜놓은 상태에서 코드를 작성한다는 점이 좋았다.
profile
세상에 이로운 영향력을 퍼뜨리고 싶은 프론트엔드 개발자 입니다.

0개의 댓글