Lab 8: Requirements Review & Acceptance Planning - bounswe/bounswe2025group7 GitHub Wiki

Lab 8: Requirements Review & Acceptance Planning


1. Requirements Review

1.1 Updated Functional Requirements

ID Requirement Status Notes
FR-1 Search recipes. βœ” Completed β€”
FR-2 Filter by dietary preferences, calorie ranges, allergens. βœ” Completed β€”
FR-3 Display detailed recipe info. βœ” Completed β€”
FR-4 Healthiness score must be generated automatically from nutrition values (not user-rated). ⚠ In Progress Updated per instructor feedback.
FR-5 Easiness score must be rated by users. ⚠ In Progress UI updated accordingly.
FR-6 Ingredient quantities support g/ml/piece. ⏳ Planned β€”
FR-7 Add tablespoon (tbsp), teaspoon (tsp), and cup as measurement units. ⏳ Planned Backend enum + UI dropdown updates required.
FR-8 Favorite recipes. βœ” Completed β€”
FR-9 Log meals & track calories. βœ” Completed β€”
FR-10 Daily nutrition summary aggregated automatically. βœ” Completed β€”
FR-11 General UI Improvements. ⏳ Planned Screen alignment + Button functionality check + Color Coherency

1.2 Updated Non-Functional Requirements

ID NFR Status Notes
NFR-1 WCAG AA accessibility compliance. βœ” Completed -
NFR-2 ActivityStreams 2.0 compliance. βœ” Completed -
NFR-3 Avg. API response < 400ms. βœ” Completed Load tests passed.

1.3 Remaining Gaps & Action Plan

Requirement Gap Planned Action Owner Deadline
Healthiness score auto-calculation Algorithm missing Design scoring model + integrate backend Backend Team 1 week
New units (tbsp/tsp/cup) Missing in schema & UI Update enum + conversion logic + UI Backend + Frontend Web Next sprint
Accessibility issues Missing alt-texts, focus indicators Automated + manual audits UX Team Before final delivery

2. Acceptance Test Planning

2.1 Strategy

Acceptance testing will combine:

  • Requirements-based testing (linked directly to requirement IDs)
  • Scenario-based testing (user-centered flows)
  • Validation (ensuring the product solves user needs)
  • Verification (ensuring implementation meets specification)

Coverage includes:

  • Functional behaviors
  • Non-functional performance and constraints
  • Accessibility
  • Standards compliance (ActivityStreams, JSON-LD, WCAG)

2.2 Acceptance Criteria Structure

Each acceptance test follows the template:

  • Given: Initial state
  • When: User action
  • Then: Expected system behavior
  • And: Requirement IDs for traceability

2.3 Acceptance Criteria Examples

AC-01: Automatic Healthiness Score

  • Given a recipe with stored nutrition values
  • When the user views the recipe
  • Then the system displays an automatically calculated healthiness score
  • And the user must not be able to edit it

AC-02: User-Rated Easiness Score

  • Given a logged-in user
  • When they provide an easiness rating
  • Then the system saves and updates the average easiness score

AC-03: New Ingredient Units

  • Given the recipe creation interface
  • When the user enters quantities
  • Then the unit dropdown must include g, ml, piece, tbsp, tsp, cup

AC-04: ActivityStreams / JSON-LD Compliance

  • Given a recipe creation or update
  • When the system publishes an activity
  • Then it must comply with AS vocabulary and JSON-LD context rules

AC-05: Accessibility

  • Given a user navigating with keyboard or screen reader
  • When they interact with any interface element
  • Then the UI must remain perceivable, operable, and understandable

3. Standards Compliance Status

3.1 ActivityStreams 2.0

Status: Partial

  • Some activities missing required fields (type, actor, object).
  • Vocabulary usage inconsistent.

3.2 JSON-LD

Status: Partial

  • Context compaction/expansion inconsistent.
  • Requires automated schema validation before final commit.

3.3 Accessibility (WCAG AA)

Status: In Progress
Issues include:

  • Missing aria-labels
  • Insufficient contrast in some UI elements
  • Incomplete keyboard navigation

3.4 Plan for Full Compliance

  • Implement consistency checks for JSON-LD representations
  • Add schema validation to CI pipeline
  • Run Lighthouse + WAVE audits
  • Conduct manual accessibility walkthrough

4. User Experience Assessment

4.1 Feedback Summary

Received from TA, instructor, and demo reviewers:

  • Healthiness score should not be user-rated
  • Easiness score must remain user-rated
  • Ingredient units require more intuitive cooking measurements
  • Recipe creation flow needs clearer instructions
  • Navigation must be more consistent across web/mobile

4.2 UX Improvements Needed

Area Improvement
Nutrition scoring Clarify messaging + enforce auto-calculation
Measurement units Add tbsp / tsp / cup
Onboarding Provide contextual hints, short tooltips
Navigation Standardize patterns across screens
Accessibility Improve color contrast and labeling

4.3 UX Goals for Final Delivery

  • Intuitive recipe creation and editing
  • Clear understanding of nutrition and healthiness metrics
  • Consistent, predictable navigation
  • WCAG AA–compliant interfaces
  • More motivating calorie and meal tracking flow