Skip to content

Business Requirements & Use Cases

smckenziebsu edited this page Apr 18, 2025 · 25 revisions

This page outlines the business requirements, use cases, and links to the related issues for the CS690 Final Project. The application is designed to help users track and manage their goals. The goal of the application is to allow users to break down large goals into smaller and manageable tasks. The following is a high level overview of the business requirements and use cases. Each requirement is broken down between nonfunctional and functional types, with appropriate links to each for additional details on priorities and types.


Scenario: A Day in the Life of Sofia

Morning

Sofia wakes up, grabs her journal, and writes down a few big goals she wants to achieve: learning French, running a half marathon, and writing her first novel. She feels inspired but wonders, “How do I even start tracking my progress for these?”

Late Morning

At work, Sofia gets distracted by back-to-back meetings and emails. She remembers her plan to spend 15 minutes learning new French words during her break but realizes she forgot to bring her vocabulary list. “I need a system to stay on track,” she thinks.

Lunch

During lunch, Sofia talks to her mentor, who encourages her to break her big goals into smaller, manageable tasks. “Track each step and celebrate your wins,” they suggest. Sofia loves the idea but isn’t sure how to structure it across multiple goals.

Afternoon

Later, Sofia reflects on her running progress. She remembers completing a 5K two weeks ago but doesn’t know how much further she needs to train for a half marathon. “If I could track my milestones, I’d know how close I am,” she mutters.

Evening

At the end of the day, Sofia feels overwhelmed by her big dreams but determined to achieve them. “If I had a tool to break these down into tasks and track my progress, I’d feel more confident about reaching my goals,” she resolves.


Business Requirements & Use Cases

1. Logging & Monitoring

Business Requirement (Nonfunctional):
The system should provide logging and monitoring to ensure issues can be identified and addressed quickly.

Use Case:

  • Actor: Developer
  • Scenario: As a developer, I need to ensure that all errors are logged so that issues can be easily tracked and resolved.
  • Outcome: Error logs should be accessible and stored for later review.

Related Issue:
Logging & Monitoring Issue #7


2. Maintainability

Business Requirement (Nonfunctional):
The system should be easy to maintain and update without causing major disruptions to existing functionality.

Use Case:

  • Actor: Developer
  • Scenario: As a developer, I want the code to be modular and well-documented, making it easier to update features without breaking the system.
  • Outcome: Features can be added or modified with minimal risk of impacting other parts of the system.

Related Issue:
Maintainability Issue #6


3. Reliability & Availability

Business Requirement (Nonfunctional):
The system must be highly reliable and always available for users.

Use Case:

  • Actor: User
  • Scenario: As a user, I expect the system to be available 24/7, with minimal downtime or disruptions.
  • Outcome: The system maintains high uptime and is resilient to failures.

Related Issue:
Reliability & Availability Issue #5


4. Rewards System

Business Requirement (Functional):
The system should provide users with rewards for achieving milestones and goals.

Use Case:

  • Actor: User
  • Scenario: As a user, I want to earn rewards for completing milestones within my goals so that I stay motivated.
  • Outcome: Rewards are awarded automatically when goals or milestones are reached.

Related Issue:
Rewards System Issue #4


5. Multi-Goal Management

Business Requirement (Functional):
The system should allow users to manage multiple goals simultaneously.

Use Case:

  • Actor: User
  • Scenario: As a user, I want to be able to manage several goals at once, tracking progress for each.
  • Outcome: Users can view, update, and track multiple goals at the same time.

Related Issue:
Multi-Goal Management Issue #3


6. Progress Tracking

Business Requirement (Functional):
The system should track the user’s progress toward their goals.

Use Case:

  • Actor: User
  • Scenario: As a user, I want to see my progress toward my goals so that I know how far I’ve come and how much is left to achieve.
  • Outcome: The system shows a visual representation of the user’s progress.

Related Issue:
Progress Tracking Issue #2


7. Goal Creation

Business Requirement (Functional):
The system should allow users to create their goals easily and efficiently.

Use Case:

  • Actor: User
  • Scenario: As a user, I want to create my goals easily.
  • Outcome: Goals can be created easily managed.

Related Issue:
Goal Creation & Categorization Issue #1


Constraints

Development Constraints

  • Technology Stack: The application must be developed using .NET version 8.
  • User Interface: The application's user interface must be a console application.

Notes

  • .NET 8: This constraint is set to ensure the application leverages the latest features and improvements provided by the .NET platform. It also helps in maintaining consistency with current development standards and best practices.
  • Console UI: This constraint is set to simplify the initial development and focus on the core functionality of the goal tracking application. A console interface allows for rapid prototyping and testing of the application's logic without the complexities of a graphical user interface. This approach is suitable for the initial phase of the project, where the emphasis is on the application's functionality rather than its visual presentation.

UI Diagram

image