Class diagram
클래스 다이어그램은 클래스의 구성(속성+연산)과 클래스간의 관계를 표현한다. 클래스 다이어그램에 나타나는 사각형(클래스)와 원(인터페이스)가 존재한다. 클래스는 서로의 관계가 나타나야 한다. 아래 그림을 참고하여 클래스 관계를 적절하게 연결할 수 있다.
클래스는 객체를 실제화 할 수 있는 틀의 기능을 의미한다. 객체의 정보를 위한 속성과 기능인 연산으로 구성된다.
클래스는 가시성, 타입(각 속성이 가질 수 있는 값의 범위를 결정할 때 지정), 속성의 초기값, 유도 속성, 클래스 범위의 속성과 연산 그리고 인자전달 방향이 존재한다.
인터페이스
- 제공될 기능에 대한 명세 역할을 함
- 클래스와 달리 연산만으로 구성 됨
- 연산은 추상연산(구현의 수단이 아닌 명세이기 때문)
인터페이스 실현 관계
- 인터페이스에 기술 된 연산을 모두 구현하는 클래스/컴포넌트와 인터페이스 간의 관계
- 인터페이스 실현 틀래스는 인터페이스에 모든 연산을 구현
클래스 간의 관계
클래스 간의 관계는(연관, 집합, 일반화, 의존)
- 연관 관계: 두 개 이상의 크래스간의 관련성, 메세지 전달 통로. 시스템에서 객체는 독립적으로 존재할 수 없음
- 집합 관계: 하나의 클래스가 다른 클래스의 부분이나 구성원이 되는 의미 표현
- 일반화 관계: 유사한 두 클래스 간의 관계로서 상위 클래스가 하위 클래스보다 더 일반적인 개념을 뜻할 때 사용
- 의존 관계: 한 클래스의 변경이 다른 클래스의 수정을 유발
개념 클래스 다이어그램
- 엔티티 클래스: 영속적인 정보의 관리 기능을 하는 클래스
클래스 및 정보 추출 법은 시스템 관련 문서에서 명사를 추출하여 클래스 후보로 등록한다. 이후 불필요한 명사를 제거하고 문장 구조에서 클래스 관계를 설정한다. 일반적으로 동사를 행위로 사용한다. 또는 클래스가 될 수 있는 카탈로그를 미리 정의한 후 그것에 해당하는 명사를 추출할 수 있다.
분석 클래스 모델
분석 클래스 모델은 유스케이스 명세서를 바탕으로 분석 수준의 클래스 모델을 작성하는 것을 의미한다. 비기능적 요구사항은 고려하지 않고 기능적 요구사항만 고려한다. 운영체제, 미들웨어, 프레임워크 등의 플랫폼을 고려하지 않는다.
제어 클래스: 유스케이스의 비즈니스/제어 로직 제공
경계 클래스: 시스템과 외부 액터와의 상호 작용을 전담하는 클래스. 시스탬의 기능 중에서 입력과 출력만을 전담한다.
제어 클래스: 시스템이 실제로 제공하는 비즈니스 로직 및 제어 로직을 전담하는 클래스
엔티티 클래스: 시스템이 유지해아 하는 영속적인 데이터를 관리하는 기능을 전담하는 클래스