본문 바로가기

0x01 Programming/0x011 CBD 개발 방법론

# 4. 클래스 다이어그램과 분석 클래스 모델의 작성

  • 클래스 다이어그램 : 시스템을 구성하는 기본 단위인 클래스의 내부 구조, 즉 클래스의 속성과 연산, 클래스 간의 관계를 표현한다.
  • 클래스 다이어그램의 관계 요약
    • 연관관계 : 클래스 A와 클래스 B는 연관관계를 가지고 있다.
    • 포함관계 : 클래스 B는 클래스 A의 부분이다.
    • 일반화관계 : 클래스 B는 클래스 A의 하위 클래스 이다.
    • 의존관계 : 클래스 A는 클래스 B에 의존한다.
    • 인터페이스 실현 관계 : 클래스  B는 인터페이스 A를 실현한다.
    • 인터페이스 의존관계 : 클래스 A는 인터페이스  B에 의존한다.

 

  •  클래스와 객체
    • 객체는 상태와 행동을 가지는 개별적인 실체이다
    • 클래스는 유사한 객체들의 묶음이다.
    • 객체는 특정 클래스의 실체다.
    • 클래스는 오직 한가지 유형의 대상과 개념만을 나타낸다
    • 클래스의 이름은 명확하고 구체적이어야 한다.
  • 클래스 다이어그램에서 사용할 수 있는 타입의 유형
    • UML기본 타입, 사용자 정의 타입, 대상 프로그래밍 언어의 타입
  • 연산
    • 연산은 객체가 제공하는 행동을 표현한다.
    • 연산은 가시성, 이름, 인자, 반환타입으로 정의된다.
  • 분석 클래스 모델의 작성 : 요구사항을 바탕으로 시스템에 대한 분석 모델을 작성하는 첫 작업이다. 요구사항, 즉 각 유스케이스에 대한 명세서를 바탕으로 분석 수준의 클래스 모델을 작성하는 것을 목표로 한다.
     - 경계 클래스 : 시스템과 외부 액터와의 상호 작용을 전담하는 클래스
     - 제어 클래스 : 시스템이 실제로 제공하는 비즈니스 로직 및 제어 로직을 전담하는 클래스다.
     - 엔티티 클래스 : 시스템이 유지해야하는 persistent 데이터를 관리하는 기능을 전담하는 클래스다.