Business Requirement - mbaron93/cs690project_learningtracker GitHub Wiki

Business Requirement 1:

We need a software that will appeal to and be used by those who prioritize learning for self-betterment, holding the largest use share among learning tracking apps. It should track and summarize their learning through print and electronic sources, allow them to set learning goals and priorities and provide feedback to aid in reaching those goals.


Use Case #1 ‐ Log Learning for Digital and Print Sources

FR #1 - A user selects a type of source (book, article) and specifies print or online.

FR #2 - A user enters identifying information like a title, author or webpage URL, depending on the source. The program verifies information is of appropraite type

FR #3 - A user adds notes to summarize their takeaways from the piece of information

FR #4 - A user notes whether the entire or a portion of the article has been completed, through chapter numbers or percentages depending on the information type

FR #5 - The system stores data in a persistent way including a timestamp.

Non-Functional Requirements

NFR #1- Must be accessible from computer and cell phone, depending on what learning source user interacts with.


Use Case #2 ‐ Update Learning Progress on Existing Source

Functional Requirements

FR #6 - A user selects an option to update a pre-existing source

FR #7 - A user edits a pre-existing source from a list

FR #8 - A user reinputs information on number of chapters read or percent of article read by changing the original value. The program verifies information fits constraints

NFR #5 - Program does not crash or save incorrect user input data


Use Case #3 ‐ Set Learning Goals

Functional Requirements

FR #9 - User selects from different goal options.

FR #10 - User inputs learning goals, including deadlines and timestamps.

FR #11 - Persistent data is saved about learning goals, including date of use.

Non-Functional Requirements

NFR #2 - Intuitive interface to access pre-existing pieces of information.


Use Case #4 ‐ Report Learning Progress and Goals

Functional Requirements

FR #12 - A user selects an option that summarizes learning goals and progress.

FR #13 - The app demonstrates upcoming goals and their due dates on a portion of the page.

FR #14 - A report explains key learning statistics about books and information read, average reading speed, and trends in learning.

FR #15 - The app communicates when learning goals have been met.

Non-Functional Requirements

NFR #3 - The summary page has distinct options that are easy for the user to navigate.

NFR #4 - The summary page aesthetically demonstrates key learning statistics in a way the user can easily see and understand.


Constraints

Constraint #1: Uses dotnet version 8

Constraint #2: Produce a console project as the user interface.