Sequence Diagrams (시퀀스 다이어그램)1. 사용자 등록 시퀀스 다이어그램2. 사용자 로그인 시퀀스 다이어그램3. 도서 검색 시퀀스 다이어그램4. 도서 상세 정보 조회 시퀀스 다이어그램5. 도서 대출 시퀀스 다이어그램6. 도서 반납 시퀀스 다이어그램7. 도서 예약 시퀀스 다이어그램8. 사용자 프로필 업데이트 시퀀스 다이어그램Communication Diagrams (커뮤니케이션 다이어그램)1. 사용자 등록 커뮤니케이션 다이어그램2. 사용자 로그인 커뮤니케이션 다이어그램3. 도서 검색 커뮤니케이션 다이어그램4. 도서 상세 정보 조회 커뮤니케이션 다이어그램5. 도서 대출 커뮤니케이션 다이어그램6. 도서 반납 커뮤니케이션 다이어그램7. 도서 예약 커뮤니케이션 다이어그램8. 사용자 프로필 업데이트 커뮤니케이션 다이어그램Behavioral State Machine Diagrams (상태 머신 다이어그램)Loan 클래스 상태 머신 다이어그램Reservation 클래스 상태 머신 다이어그램
Sequence Diagrams (시퀀스 다이어그램)
1. 사용자 등록 시퀀스 다이어그램
User -> Administrator: RegisterUser() Administrator -> Database: ManageUserInfo(User) Database -> Administrator: 사용자 정보 저장 성공 Administrator -> User: 사용자 등록 성공 알림
2. 사용자 로그인 시퀀스 다이어그램
User -> User: Login() User -> Database: 사용자 정보 검증 Database -> User: 검증 성공 User -> User: 로그인 성공
3. 도서 검색 시퀀스 다이어그램
User -> Search: PerformSearch(Query) Search -> Database: FindBooksByTitle(Query) Database -> Search: 도서 목록 반환 Search -> User: 도서 목록 반환
4. 도서 상세 정보 조회 시퀀스 다이어그램
User -> Database: FindBookByID(BookID) Database -> User: 도서 상세 정보 반환
5. 도서 대출 시퀀스 다이어그램
User -> Database: FindBookByID(BookID) Database -> User: 도서 정보 반환 User -> Loan: Loan() Loan -> Database: ManageUserLoan(Loan) Database -> Loan: 대출 정보 저장 Loan -> User: 대출 성공 알림
6. 도서 반납 시퀀스 다이어그램
User -> Loan: ExtendReservation() Loan -> Database: ManageUserLoan(Loan) Database -> Loan: 반납 정보 저장 Loan -> User: 반납 성공 알림
7. 도서 예약 시퀀스 다이어그램
User -> Reservation: Reservation() Reservation -> Database: ManageUserReservation(Reservation) Database -> Reservation: 예약 정보 저장 Reservation -> User: 예약 성공 알림
8. 사용자 프로필 업데이트 시퀀스 다이어그램
User -> User: UpdateProfile() User -> Database: 사용자 정보 업데이트 Database -> User: 업데이트 성공 알림
Communication Diagrams (커뮤니케이션 다이어그램)
1. 사용자 등록 커뮤니케이션 다이어그램
User <--> Administrator: RegisterUser() / 사용자 등록 성공 알림 Administrator <--> Database: ManageUserInfo(User) / 사용자 정보 저장
2. 사용자 로그인 커뮤니케이션 다이어그램
User <--> User: Login() / 로그인 성공 알림 User <--> Database: 사용자 정보 검증 / 검증 성공
3. 도서 검색 커뮤니케이션 다이어그램
User <--> Search: PerformSearch(Query) Search <--> Database: FindBooksByTitle(Query) / 도서 목록 반환
4. 도서 상세 정보 조회 커뮤니케이션 다이어그램
User <--> Database: FindBookByID(BookID) / 도서 상세 정보 반환
5. 도서 대출 커뮤니케이션 다이어그램
User <--> Database: FindBookByID(BookID) / 도서 정보 반환 User <--> Loan: Loan() / 대출 성공 알림 Loan <--> Database: ManageUserLoan(Loan) / 대출 정보 저장
6. 도서 반납 커뮤니케이션 다이어그램
User <--> Loan: ExtendReservation() / 반납 성공 알림 Loan <--> Database: ManageUserLoan(Loan) / 반납 정보 저장
7. 도서 예약 커뮤니케이션 다이어그램
User <--> Reservation: Reservation() / 예약 성공 알림 Reservation <--> Database: ManageUserReservation(Reservation) / 예약 정보 저장
8. 사용자 프로필 업데이트 커뮤니케이션 다이어그램
User <--> User: UpdateProfile() User <--> Database: 사용자 정보 업데이트 / 업데이트 성공 알림
Behavioral State Machine Diagrams (상태 머신 다이어그램)
Loan 클래스 상태 머신 다이어그램
States: - Available - On Loan - Overdue - Returned Transitions: - Available -> On Loan: Loan() - On Loan -> Overdue: 반납 기한 경과 - On Loan -> Returned: ExtendReservation() - Overdue -> Returned: ExtendReservation()
Reservation 클래스 상태 머신 다이어그램
States: - Reserved - Active - Cancelled - Completed Transitions: - Reserved -> Active: Reservation() - Active -> Cancelled: CancelReservation() - Active -> Completed: 대출로 전환 - Cancelled -> Reserved: 새로운 Reservation()
이 다이어그램들은 주어진 클래스와 메서드를 기반으로 작성되었으며, 각 Use Case마다 별도의 시퀀스 다이어그램과 커뮤니케이션 다이어그램을 포함하고 있습니다. 이를 통해 시스템의 다양한 시나리오를 이해하는 데 도움이 될 것입니다.
댓글