학교 과제로 여러 다이어그램을 그려보고 있다. 본 게시글은 시퀀스 다이어그램를 그리는 과정이다.
액터 - 시스템으로부터 서비스를 제공받는 사람, 시퀀스diagram의 맨 위 왼편에 위치 졸라맨 그리고서 액터명 밑에 써준다.
객체 - 메시지 교환에 참여하는 객체, 다이어그램 맨 위에 위치한다.
객체명 : 클래스명
안에 적고 사각형으로 감싸준다.
o | 객체명 |
---|---|
o:C | C 클래스에 속하는 o 객체 |
:C | C 클래스의 무명 객체 |
o[ i ] | 객체 집합 o 중에서 i번째 객체 |
라이프라인 - 객체가 메모리에 존재함을 나타냄 , X
표시한 지점에서 더 소멸
액티베이션 박스 - 객체가 메시지를 주고 받는 것을 나타낸다.
프레임 - if (opt), if-else is (alt) 반복구조(loof), 병렬구조(par) , 영역묶기 (sd), 참조 (ref)
if , for문은 [ ] 안에 표현해준다.
정상-비정상 경우의 프레임 작성법 🔼
메시지
➡️ | 리턴 있는 메서드 |
---|---|
ㅡ> | 객체가 메시지 결과 안 기다림 다른 작업 수행 |
<> -----> | 메시지 받는 새로운 객체 생성 |
------> | 메시지를 받은 객체로부터 응답 메시지 return |
다이어그램 범위 설정 - ex) 인터넷 서점 시스템의 주문취소
useCase / 서브시스템 / 클래스 등
오퍼레이션의 수행을 위해 필요한 객체들을 파악
여러가지 시나리오 생각
작성
각각의 시나리오에 대해서 작성
통합하기
검색 -> 장바구니 담기 or 주문 -> 로그인 -> 결제 -> 관리자확인 -> 주문생성 -> 택배 or (지점)픽업 or 재입고알림 시스템 등록
: 고객, 관리자 , 택배업체, 오프라인지점, 카드결제시스템, 은행계좌 생성시스템
상품조회
상품구매
상품결제
로그인
정상, 비정상
회원가입
CustomerInfo
, Prducts
, Coustomers
, Orders
, OrderDetails
, ShoppingCart
, payment
- Card
/Account
화살표 방향에 따른 오퍼레이션 가지고 있는 클래스, 수행되는 클래스 위피 헷갈리지 않게 주의하기
메시지에 매개변수가 포함되어 있으면, 관련 클래스에 속성으로 포함되어야 한다.
메시지 호출에 조건 체크문이 있다면, 클래스의 속성 혹은 오펄이션에 반영 되야 한다. ex) 만약 age>19
경우만 카드 결제가 가능한 선택문을 만들었다면, 확인 받는 클래스에 age
라는 속성이 있어야 한다.
클래스 다이어그램의 오퍼레이션으로 포함된 메시지만 쓸 것
➡️ 필요하면, 클래스 다이어그램 고치면서 하자