Team 정보
Project Naming → BookSage - Book + Sage(현명한, 현자)
Project Vision - 이 시스템을 프로젝트로 하는 목표
BookSage는 성곡도서관에 비치된 다양한 책 속에서 어떤 책을 선택할지 망설이는
학우들을 위해 여러 대형 서점의 베스트셀러 정보를 가져와 제공하는 서비스입니다. 이를 통해 학우들은 여러 방향의 도서 추천을 받을 수 있을 것이며, 이에 연계된 성곡도서관의 활용도가 높아질 것으로 기대됩니다.
Project Scope - Use Case 3개
Tech Stack
Functional Requirements
Use Case Description
대형서점 베스트셀러 리스트 조회하기
도서 검색하기
최근 검색어 저장하기
Use Case Diagram
Non-Functional Requirements
Use Case Name | Non-Funtional Requirement | Quality Category | Quality Attribute |
---|---|---|---|
베스트셀러 리스트 조회하기 | 사용자가 오래 기다리지 않도록 빠르게 검색하고 데이터를 가공한다. | Performance efficiency - Time behavior | 결과 화면을 4s 이내에 출력한다. |
도서 검색하기 | 잘못된 입력을 받지 않는다. | Usability - User error protection | 빈 문자열이나 공백 문자로만 이루어진 문자열이 들어오면 기본 상태인 “베스트셀러 리스트 조회”로 넘어간다.(Whitespace, Newline, tab) |
UC1, UC2 | 사용자가 응답을 기다릴 때 느끼는 지루함을 줄인다. | Usability - User Interface Aesthetics | 서버로부터의 응답이 오는 동안 스켈레톤 이미지를 보여준다. |
Domain Model - Conceptual class table
Design Model
System Sequence Diagram
Operation Contracts
Contract CO1
Operation: getBestSellers()
Cross references: UC_대형서점 베스트셀러 리스트 조회하기
Preconditions: none
Postconditions:
Contract CO2
Operation: SearchBook(query: String)
Cross references: UC_도서 검색하기
Preconditions: 검색어(query)가 입력됨
Postconditions:
Contract CO3
Operation: updateHistory(query: string)
Cross references: UC_최근 검색어 저장하기
Preconditions:
Postconditions:
Contract CO4 (Unfinished)
Operation: addBookmark(String memberId, Bookmark bookmark)
Cross references: UC_북마크 등록하기
Preconditions:
Postconditions:
Sequence Diagram
UC_베스트셀러 리스트 조회하기
UC_도서 검색하기
UC_최근 검색어 저장
UC_북마크 등록하기
Class Diagram (Before)
Class Diagram (After)