5-1 모델링 기초
- 복잡한 시스템을 다루는 방법
- 모델링 하는 이유
- 복잡함 관리
- 형체가 없는 소프트웨어 구조 시각화
- 다른 사람과 커뮤니케이션
- 문제 도메인 및 제품 요구 사항을 이해하기 위해서
- 개발 중인 시스템 이해
- 관점과 추상화 수준
- 특정 관점, 추상화 수준에 따라 달라짐
5-2 UML
- 객체지향 소프트웨어를 모델링 하는 표준 그래픽 언어
- 시스템의 여러 측면을 그림으로 모델링
- 시스템의 모델링은 기능적 관점, 구조적 관점, 동적 관점
5-3 정적 모델링
- 정적 모델
- 객체들의 공통 구조와 동작들을 추상화 시킨 것
- 객체지향 기본 개념의 이해가 필요
- 객체와 속성, 연관, 집합, 상속, 다형성
- 클래스 다이어그램이 대표적
- 도메인 개념과 속성
- 연관
- 서비스를 제공하는 객체와 서비스를 요청하는 객체가 상호작용
- 표현 수준
- 관계의 표현
5-4 동적 모델링
- 동적 측면
- 소프트웨어가 실행될 때 변경 될 수 있는 뷰
- 시간의 함수로만 이해
- 정적 다이어그램 보완
- 상호작용 다이어그램
- 시퀀스 다이어그램
- 협동 다이어그램
- 시퀀스 다이어그램
- 시퀀스 다이어그램 요소
- 작성과정
- 참여하는 객체 파악
- 파악한 객체를 X축에 나열하고 라이프라인을 그음
- 사용사례에 기술된 이벤트 순서에 따라 객체의 메시지 호출을 화살표로 나타냄
- 협동 다이어그램
- 상호 작용에 필요한 객체들 간의 링크를 포함한 객체 다이어그램
- 상태 다이어그램
- 동작을 수신 이벤트와 이에 대한 응답을 기반으로 상태 사이의 전환으로 모델링
5-5 제어 모델링
- 액티비티 다이어그램
- 액티비티 사이의 제어흐름을 보여 주는 일종의 흐름도
- 액티비티 다이어그램 모양
5-6 모델 검증
- 일관성 체크
- 유스케이스 다이어그램과 시퀀스 다이어그램
- 상태 다이어그램과 클래스 다이어그램을 크로스체크