Skip to content
lopezls edited this page Mar 12, 2026 · 15 revisions

Hojas πŸƒ | A Day in the Life of Sofia πŸ“– | CS690 Final Project

Home

πŸ“–Assigned Scenario:

Sofia is a book lover, with too many books, and no way to keep track of them. With over 200+ books in her collection she has no way to keep track of what she has purchased, what she has already read, and what she has yet to read. She also looses track of her favorites, and the titles she regrets buying.

Click here to be directed to the full scenario.

πŸƒBusiness Requirement

BR-1: Develop a software that allows the user to easily track books purchased and give the user the ability to search and sort them based on: genre, author, alphabetical, favorites, re-read, TBR (to-be-read), and regrets. This will help the user easily track large collections of books.

πŸ“– Use Cases

  • UC-1: Add a book

    • A user can add a purchased book to the collection, this will include title, author, and genre.
    • FR-1: A user shall be able to enter a book into their collection using title and author.
    • FR-2: A user shall be able to tag a book into their collection with the corresponding genre.
  • UC-2: View Collection

    • A user call view a complete list of books in the collection which can be sorted or filtered based off of: genre or alphabetical order.
    • FR-3: A user shall be able to pull a list of books from their collection based off genre.
    • FR-4: A user shall be able to pull a list of books from their collection in alphabetical order
  • UC-3: Tag Collection

    • A user will be able to tag individual books in their collection based off of: favorites, re-read, regrets, and TBR.
    • FR-5: A user shall be able to tag books in their collection with the following tags: favorites, re-read, regrets, and TBR
    • FR-6: A user shall be able to view books based on their tags
  • UC-4: Search Collection

    • A user will be able to search their collection based on titles or author.
    • FR-7: A user shall be able to search their collection by using the title or author.
    • FR-8: A user will be notified if the title or author are not found in their collection.
  • UC-5: Edit Collection

    • A user will be able to edit the details, tags, or remove a book from their collection.
    • FR-9: A user shall be able to edit the tags and details of book already in their collection.
    • FR-10: A user will be able to delete a book completely from their collection.

πŸƒ Non-functional requirements (NFR)

  • NFR-1 | Usability: The software will be easy for a user to navigate and the user should be able to input a new book and assign the appropriate tags in less than 1 minute.

πŸ“– Constraints

  • The UI will be console-based.

  • You have to use dotnet latest version (10 currently)

πŸƒ Prototype

  • Click here to be directed to prototype diagram, done using Excalidraw.

πŸ“– Prioritization

  • High-Priority: FR-1 & FR-7 are essential to be completed first because without them, no collection is being built and the collection cannot be searched. At the very basis of being useable the user must be able to create the collection and search it which is the foundation for all other functional requirements.

  • Medium-Priority: FR-2, FR-3, FR-4, FR-5, FR-6 are expansions upon the high-priority functional requirements. They add an additional layer of cataloging which will allow the user to review their collection easily. This needs to done after books can be added and a search function is implemented.

  • Low-Priority: FR-8, FR-9, & FR-10 are lower priority because they allow editing and more fine tunning of the user's collection when it comes to cataloging. These will allow editing existing book entries, deleting, and also ensuring that if a book is searched with no results the user is notified.

Clone this wiki locally