-
[분석 & 설계] 시스템_Class Diagram, Sequence DiagrmProjects/MoimMoim 2024. 6. 2. 17:30
2023년 6월 9일 글을 이전함.
시작하며,
클래스 다이어그램과 시퀸스 다이어그램을 작성해봅시다.
클래스 다이어그램을 통해 우리 프로젝트의 구조를 어떻게 짤지 생각해보고, 시퀸스를 통해 어떤식으로 동작하는지 알아봅시다.
이 두가지를 잘해두면 나중에 비즈니스 로직을 짤때 도움이 되더라구요
Class Diagram
mvc 패턴을 사용할 프로젝트여서 저희는 크게
Do, So, Dao
로 클래스를 나눴습니다.Do / Domain Object, Data Object
데이터를 담고 전달하는 역할의 객체
So / Service Object
비즈니스 로직을 수행하는 객체
Dao / Data Access Object
데이터베이스와 상호작용하는 객체
데이터베이스와 연결해서 읽고, 쓰고, 수정하고, 삭제 등을 담당
티켓 구매 클래스 다이어그램
DB : 오라클xe11g, 인터페이스 클래스와 마이바티스로 연결 구현
TicketDao : 티켓 정보 생성, 주문번호로 티켓 정보 가져오기 등 db에서 TICKET 테이블과 상호작용하는 객체
TicketDo : 티켓번호, 주문번호, 결제식별번호, 주문일자, 가격, 모임번호, 판매자 회원 번호등 티켓 정보를 가진 객체
OrderDao : Order 테이블과 상호 작용하는 객체
OrderDo : 주문 정보를 담은 객체
OrderSo : 주문번호 생성, 주문 생성, 주문 취소 등의 서비스를 제공하는 객체실제 클래스명과 메서드 명으로 작성된 사진도 아니고 추후에 구현하면서 위와 같이 만들진 않았습니다...
Sequence Diagram
결제 부분 시퀸스 다이어그램을 작성해보겠습니다. 저는 아임포트를 이용해서 결제를 진행하겠습니다.
- 티켓 구매를 누른다면
- 티켓 구매 메서드가 실행되고
- 주문을 생성합니다. 주문번호가 생성되고 주문정보들이 담긴 객체들을 db에 등록합니다.
- 아임포트 api에 필요한 정보들을 전달합니다.
- api에서 결제가 진행되고 결제 결과를 전달 받습니다.
- 결제가 정상적으로 되었는지 확인합니다.
- 주문 정보에서 결제 상태를 `주문 완료` 로 수정합니다.
- 티켓을 발권합니다. 티켓 정보를 생성하고 db에 저장합니다.
- 티켓(정보)을 사용자에게 제공/보여줍니다.
- 결제된 금액에서 수수료를 제하고 모임의 주최자/판매자의 DB의 수령금액의 값에 합산합니다.
마치며,
열심히 다이어그램을 만들었지만 실제로 구현하면서 많은 변경이 있었습니다. 완전히 다르게 제작한 부분도 있고 오류도 있었고 하하
하지만, 해당 다이어그램들을 만들어 두면 로직을 구현하실때 방향성을 잡아주더라구요 😀 다음 프로젝트에는 꼭 변경사항에 대해 문서 업데이트를 잘해야지...🤔진짜?'Projects > MoimMoim' 카테고리의 다른 글
[구현 & 테스트] 디렉토리, 클래스 (1) 2024.06.02 [구현 & 테스트] 개발, 배포 환경 세팅 (0) 2024.06.02 [분석 & 설계] 데이터 (0) 2024.06.02 [분석 & 설계] 화면 (0) 2024.06.02 [분석 & 설계] 시스템_Use Case Diagram (0) 2024.06.02