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 |