1. UML의 이해
•
12개의 다이어그램을 통해 소프트웨어의 전체 윤곽을 알 수 있는 것
•
시스템이 상호작용하는 측면, 시스템 전체 구조 측면, 컴포넌트의 관계 등을 시각적으로 나타낸 도면
2. 유스케이스 다이어그램
객체지향 방법론에서 사용자의 요구사항을 표현하는 방법
액터
•
사용자 액터 : 시스템 사용자
•
시스템 액터 : 연동되는 다른 시스템
•
주요 액터 : 능동적 액터
•
보조 액터 : 수동적 액터
•
프록시 액터 : 액터 사이에서 무언가를 대신하는 액터
유스케이스
•
사용자가 시스템을 통해 사용하고 싶은 기능
•
실제로 코딩할 수 있을 만큼 작은 단위의 기능
•
원 안에 이름적어서 표기
•
설계나 구현 환경 염두 없이 사용자 요구사항을 바탕으로 작성
유스케이스 검증
•
수작업은 유스케이스가 아님
•
최종 결과만 나타내는 유스케이스인지 확인
•
액터가 수행하는 유스케이스인지 확인
•
이벤트 플로우 전체를 액터가 사용하는지 확인
관계
•
액터 유스케이스 관계
◦
제어하는 주체에서 제어 받는 대상으로 연관
•
유스케이스 액터 관계
◦
유스케이스의 수행 결과를 액터에게 알려줄때
•
유스케이스 시스템 액터 관계
•
액터의 일반화 관계
◦
액터를 일반화 해서 표현해야 보기 편하다
•
액터의 연관 관계
◦
액터가 또 다른 액터를 통해 유스케이스를 이용
•
포함 관계
◦
2개 이상의 유스케이스에서 같은 유스케이스를 사용하는 경우 포함 관계로 표기
◦
선행 조건과 다름
◦
점선 화살표에 <<include>>
•
확장 관계
◦
유스케이스의 특정 조건에서 다른 유스케이스는 수행해야 할 경우 확장 관계로 표기
◦
포털 사이트는 검색만 하다가 메일이 오면 메일 확인도 하니까 메일 유스케이스는 포털 유스케이스와 확장 관계에 있다.
3. 클래스 다이어그램
클래스 정의 표기
Class Name, Attribute, Method 모음
public은 +, private는 -, protected는 #
4. 순차 다이어그램
실행 시점에 객체들이 상호작용하는 것을 메세지 순서에 초점을 맞춰 나타낸것
•
객체
•
객체 생명선
•
메시지
◦
동기 메시지 (실선, 찬삼각형)
◦
비동기 메시지 (실선, 빈삼각형)
◦
재귀 메시지 (재귀처럼 생김)
◦
답신 메세지 (점선, 찬삼각형)
▪
호출 메서드의 결과를 반환할 때 사용
5. 통신 다이어그램
•
링크
◦
객체간에 메시지를 주고받는 관계
•
객체와 링크를 적고 메세지에 화살표를 적어서 표기
6. 활동 다이어그램
플로우 차트랑 비슷함
•
시작점 : 찬원
•
종료점 : 이중원
•
활동 : 둥근 사각형
•
전이 : 화살표
•
분기 : 마름모, <<조건>>
•
병합 : 마름모
7. 상태 다이어그램
•
상태 : 객체가 존재하는 조건, 둥근 사각형
•
전이 : 객체의 상태가 바뀌는 것, 화살표
•
이벤트 : 상태를 바뀌게 하는 자극
8. 컴포넌트 다이어그램
•
컴포넌트는 시스템을 구성하는 물리적 요소로 프로그램 코드를 포함
◦
<<excutable>> 실행파일
◦
<<library>> 라이브러리
◦
<<table>> 디비 테이블
◦
<<file>> 소스코드를 포함한 파일
•
인터페이스
◦
클래스 모양이나 아이콘으로 표기
•
의존 관계
◦
점선 화살표
•
컴포넌트 대상 정의
◦
무엇을 컴포넌트로 할지? 실행모듈? 소스코드?
•
컴포넌트 찾기
•
컴포넌트 배치
•
의존관계 정의
9. 배치 다이어그램
•
하드웨어 자원을 명시적으로 정의해 시스템의 물리적인 요소를 모델링하고 노드간의 관계를 나타내는 것
•
노드 간의 관계는 다양한 통신 방식을 의미 HTTP, TCPIP, RPC...