본문 바로가기
소프트웨어공학

Class Diagram

by Backchus 2017. 10. 26.

Class Diagram

  • 시스템의 정적인 구조를 나타냄
  • 시스템을 구성하는 클래스와 이들 클래스들 간의 관계를 표현
  • Package: 관련 있는 여러 클래스들을 묶어서 표현

- 하나의 클래스는 하나의 package 내에서 유일한 이름을 가져야 한다.

- 다른 클래스를 가리킬 때 만약 package가 다르다면 그 reference의 이름은 Package-name::class-name으로 표기


객체 모델링


  • 객체 모델링

- 사용사례를 작성하여 도메인 분석이 어느 정도 된 후 객체를 찾고 관계를 정의하는 작업


  • 클래스가 될 수 있는 요소들

- 구조

- 외부시스템

- 디바이스

- 역할

- 운용절차

- 장소

- 조직

- 완성된 시스템에 의하여 조작되어야 할 정보


  • 클래스 후보의 세가지 유형

- Entity 클래스(수강신청정보, 학생 정보, 강좌정보)

- Boundary 클래스(수강신청 메인화면, 수강신청 등록화면)

- Control 클래스(수강신청 컨트롤)


<<Entitiy>> 클래스

  • 엔티티 클래스

- 시스템에서 계속 추적해야 할 자료가 들어 있는 클래스


  • 엔티티 클래스를 발견하는 휴리스틱

- 사용사례를 이해하기 위하여 사용자와 개발자가 명확히 규정된 용어

- 사용사례에서 반복되어 나오는 용어

- 시스템이 계속 추적하여야 하는 실세계의 엔티티

- 자료저장소 또는 단말

- 자주 사용하는 응용 도메인의 용어


<<Boundary>>클래스

  • 시스템 외부의 액터와 상호 작용하는 클래스로 사용자 인터페이스를 제어하는 역할
  • 액터와 연결된 시스템의 인터페이스 표현
  • 사용자 인터페이스를 개괄적으로 모형화
  • 타입으로 도출된 분석 클래스는 설계 단계에서 UI를 구현하기 위한 클래스로 상세화



<<Control>>클래스

  • 경계 클래스와 엔티티 클래스 사이에 중간 역할
  • 사용 사례의 초기에 생성되고 끝까지 존재
  • 경계 클래스로부터 정보를 받아 엔티티 클래스에 전달

- 예) 양식의 순서, undo, 히스토리 저장 큐 등

  • 자료를 다른 클래스로부터 받아 처리하는 것이 주임무인 클래스
  • 업무로직을 담당하고 있는 클래스와 데이터의 Delegation 역할을 하는 클래스

- 데이터의 Delegation 역할을 하는 클래스는 <<control>> 클래스로 정의하고, 업무로직을 담당하고 있는 클래스는 <<entity>> 클래스로 전환하여 정의

'소프트웨어공학' 카테고리의 다른 글

Use Case Diagram  (0) 2017.10.26
객체지향  (0) 2017.10.26
소프트웨어공학  (0) 2017.10.26