💼
[Tasks] 객체지향설계 HW3
박용성 CRC 카드: User
Front 면
- Description: 시스템에서 활동하는 모든 사용자의 기본 정보와 행위를 관리하는 클래스.
- Associated Use Case: 사용자 등록 및 정보 수정, 도서 검색, 대출 및 반납, 예약하기
- Responsibilities:
- 로그인 및 로그아웃 수행
- 개인 정보 업데이트
- 도서 검색 요청
- 도서 대출 및 반납 요청
- 도서 예약
Back 면
- Attributes:
- UserId (int)
- Username (string)
- Password (string)
- Email (string)
- RegistrationDate (DateTime)
- Relationships:
- Generalization: None
- Aggregation: Database (포함)
- Other Associations:
- User에서 Loan (일대다)
- User에서 Reservation (일대다)
- User에서 Search (일대다)
CRC 카드: Administrator
Front 면
- Class Name: Administrator
- Description: 시스템 관리를 담당하는 사용자로, 도서 및 사용자 정보의 추가, 수정, 삭제 등을 관리.
- Associated Use Case: 사용자 및 도서 관리
Back 면
- Relationships:
- Generalization: User로부터 상속
- Aggregation: Database (포함)
- Other Associations:
- Book에서 Loan (일대다)
- Book에서 Reservation (일대다)
- Book에서 BookDatabase (일대일)
CRC 카드: Book
Front 면
- Description: 도서 정보 및 도서와 관련된 작업을 관리. 도서의 상세 정보와 대출 가능 여부를 포함.
- Associated Use Case: 도서 등록 및 수정, 도서 검색, 대출 및 예약 관리
- Responsibilities:
- 도서 정보 제공
- 도서 검색 결과 제공
- 대출 가능 여부 확인
- 위치 정보 제공
- Collaborators:
- Loan
- Reservation
- BookDatabase
Back 면
- Attributes:
- BookId (int)
- Title (string)
- Author (string)
- ISBN (string)
- PublicationYear (int)
- Publisher (string)
- Available (bool)
- Location (string)
- Relationships:
- Generalization: None
- Aggregation: Database (포함)
- Other Associations:
- Book에서 Loan (일대다)
- Book에서 Reservation (일대다)
CRC 카드: Loan
Front 면
- Description: 사용자에 의한 도서 대출 정보를 관리하는 클래스. 대출 기간, 상태 및 연관된 도서 정보 포함.
- Associated Use Case: 도서 대출 및 반납
- Responsibilities:
- 대출 기간 계산 및 관리
- 대출 및 반납 상태 업데이트
- 연체 상태 관리
Back 면
- Attributes:
- LoanId (int)
- BookId (int)
- UserId (int)
- LoanDate (DateTime)
- DueDate (DateTime)
- ReturnedDate (DateTime?)
- Relationships:
- Generalization: None
- Aggregation: Database (포함)
- Other Associations:
- Loan에서 User (다대일)
- Loan에서 Book (다대일)
CRC 카드: Reservation
Front 면
- Description: 사용자에 의해 요청된 도서 예약 정보를 관리. 예약 상태 및 예약된 도서의 상세 정보 포함.
- Associated Use Case: 도서 예약 및 예약 관리
- Responsibilities:
- 예약 상태 관리
- 예약 우선 순위 조정
- 예약 알림 발송
Back 면
- Attributes:
- ReservationId (int)
- BookId (int)
- UserId (int)
- ReservationDate (DateTime)
- Status (ReservationStatus)
- Relationships:
- Generalization: None
- Aggregation: Database (포함)
- Other Associations:
- Search에서 User (다대일)
- Search에서 BookDatabase (사용)
CRC 카드: Search
Front 면
- Description: 사용자의 검색 요청을 처리하고, 관련 도서 정보를 검색 결과로 제공하는 클래스.
- Associated Use Case: 도서 검색
Back 면
- Attributes:
- SearchId (int)
- Query (string)
- UserId (int)
- Date (DateTime)
- Relationships:
- Generalization: None
- Aggregation: Database (포함)
- Other Associations:
CRC 카드: Database
Front 면
- Description: 모든 도서 데이터와 유저 정보를 저장하고 관리하는 데이터 클래스. 사용자 정보의 관리, 도서의 검색, 추가, 수정, 삭제 작업을 수행. 관리자가 데이터베이스를 활용해 정보를 수정할 수 있음.
- Associated Use Case: 도서 검색, 도서 등록 및 수정
- Responsibilities:
- 관리자만 접근 가능
- 사용자 정보 관리
- 도서 데이터 관리
- 도서 정보 검색 및 반환
- 도서 정보의 추가, 수정, 삭제
- 사용자 대출 및 예약 관리
- Collaborators:
- Administrator
- Book
- Loan
- Reservation
Back 면
- Attributes:
- None (데이터 관리 및 접근에 필요한 메소드만 포함)
- Relationships:
- Generalization: None
- Aggregation: User, Administrator, Book, Loan, Reservation, Search
- Other Associations:
- Database에서 Administrator (일대다)
- Database에서 User (일대다)
- Database에서 Search (일대다)
- Database에서 Book (일대다, 가상)
- Database에서 Loan (일대다)
- Database에서 Reservation (일대다)
댓글