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