[Tasks] 객체지향설계 HW4
💼

[Tasks] 객체지향설계 HW4

카테고리
📒 Assignment
작성자
박용성박용성
작성일
2024년 06월 02일
태그
UML
Slug
task-oj-4

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마다 별도의 시퀀스 다이어그램과 커뮤니케이션 다이어그램을 포함하고 있습니다. 이를 통해 시스템의 다양한 시나리오를 이해하는 데 도움이 될 것입니다.

댓글

guest