Complete Agile SDLC Documentation for a Personal Expense Dashboard Web Application
Requirements, user stories, acceptance criteria, and traceability
Functional requirements
- FR-01: The system shall allow a new user to register with name, email address, and password.
- FR-02: The system shall authenticate registered users and restrict private application features to authenticated sessions.
- FR-03: The user shall create income and expense transactions containing amount, transaction type, category, date, and optional note.
- FR-04: The user shall edit and delete transactions they own.
- FR-05: The user shall create or update one overall monthly budget and optional category-level budgets.
- FR-06: The dashboard shall show monthly income, monthly expenses, remaining balance, total budget, amount spent, and budget utilization.
- FR-07: The dashboard shall present expense totals grouped by category.
- FR-08: The dashboard shall present income and expense trends by month.
- FR-09: The user shall search and filter transactions by date range, category, and transaction type.
- FR-10: The user shall update profile settings including preferred currency.
Non-functional requirements
- NFR-01: Every request for private data shall enforce authenticated-user ownership on the server.
- NFR-02: Passwords shall be stored using an approved adaptive one-way password-hashing algorithm.
- NFR-03: Production traffic shall use HTTPS.
- NFR-04: The main dashboard should complete its server response within 2 seconds for at least 95% of requests under the defined initial expected workload.
- NFR-05: Core workflows shall work in current major desktop and mobile browsers supported by the project.
- NFR-06: Core workflows shall target WCAG 2.2 AA practices.
- NFR-07: Automated database backups shall run daily and be monitored for failure.
- NFR-08: Monetary values shall use fixed-precision decimal storage and consistent rounding rules.
User story US-03: Record a transaction
As a user, I want to record an income or expense transaction so that my financial dashboard reflects my activity.
- AC-03.1: Amount is required and must be greater than zero.
- AC-03.2: Transaction type must be Income or Expense.
- AC-03.3: Category and transaction date are required.
- AC-03.4: A successfully saved transaction appears in the authenticated user's transaction list.
- AC-03.5: Relevant dashboard totals reflect the saved transaction.
User story US-05: Manage a monthly budget
As a user, I want to define a monthly budget so that I can compare actual spending against my planned limit.
- AC-05.1: The user can define an overall budget for one month and year.
- AC-05.2: Budget must be greater than zero.
- AC-05.3: Dashboard displays budget, spent amount, remaining amount, and utilization percentage.
- AC-05.4: An exceeded budget is identified with text as well as visual styling.
Traceability matrix
OBJ-01 -> FR-03 -> US-03 -> AC-03.1..AC-03.5 -> DES-02/DES-03 -> TC-03A/TC-03B -> Sprint 1
OBJ-02 -> FR-05/FR-06 -> US-05 -> AC-05.1..AC-05.4 -> DES-05 -> TC-05A/TC-05B -> Sprint 2
OBJ-03 -> FR-07/FR-08 -> US-07/US-08 -> DES-07 -> TC-07A/TC-08A -> Sprint 3
OBJ-04 -> FR-02/NFR-01/NFR-02/NFR-03 -> SEC-01 -> TC-SEC-01..04 -> Sprints 1-4
Requirements approval
A story may enter a sprint only after its acceptance criteria are approved by the Product Owner. Security-sensitive stories also require technical review by the Lead Web Developer.