Skip to article frontmatterSkip to article content

Milestone 4: Design Patterns & Feature Integration

Utah Valley University

Overview

With your To-Do List app now architected for modularity and enhanced with a GUI, the next step is to infuse it with sophisticated design patterns—like a master craftsman selecting the perfect tools to elevate a creation from functional to elegant and extensible. In this milestone, you’ll select at least one (1+ recommended) design patterns from those covered in the course and apply them thoughtfully to implement 3+ new features from your product backlog. This isn’t just about adding functionality; it’s an opportunity to refine code quality, ensuring patterns integrate seamlessly with your existing MVC structure, SOLID principles, and UI elements. By weaving these patterns in only where they naturally solve specific design challenges, you’ll make your app more maintainable, scalable, and resilient—mirroring how professional teams evolve software to handle growing complexity while keeping the codebase clean and intuitive. Remember, forcing patterns where simpler solutions suffice can lead to unnecessary complexity; focus on genuine improvements.

By the end of this milestone, your app will boast new features powered by design patterns, validated manually for now (with testing on the horizon), setting a strong stage for quality assurance in the next phase. Continue using GitHub releases to version your progress, emphasizing iterative improvements.


Learning Objectives

Upon successful completion of this milestone, you will be able to:


Tasks and Instructions

1. Team Meetings

Foster collaboration to plan and review pattern adoption and feature implementation.

2. Implement New Features

Expand your app by adding backlog items, leveraging patterns for better design where appropriate.

3. Select and Draft Design Patterns

Choose patterns that align with your app’s needs and sketch their application.

4. Update UML Modeling

Reflect pattern integrations in your diagrams for accurate documentation.

5. Manual Validation

Verify that new features and patterns work as intended.

6. GitHub Project Board

7. Individual Reflections

8. GitHub Releases


Submission Checklist

Submit via Canvas:

A .md file containing:

Repository Documents

GitHub Releases

GitHub Project Board


Evaluation Rubric (100 Points)

CriteriaPointsDescription
Team Meetings5Detailed agendas and actionable minutes, emphasizing natural pattern use
Design Pattern Selection & Drafts10Thoughtful choice of 1+ patterns with strong rationale and alternatives considered
Feature Implementation & Integration653-7 new features integrated naturally with patterns, MVC/SOLID/UI; no forced applications
UML Updates5Accurate reflections of patterns in diagrams
Manual Validation and Testing10Comprehensive scenarios with proof of functionality and adherence to design principles
Individual Reflections5Insightful reflection on your experience and learning

Penalties: 20% for missing progress check after first week. Additional deductions for evidence of forced pattern use.


Resources

Textbook

Beginner Friendly Resources

Tutorials

Best Practices


All Project Milestones

  1. Milestone 1

  2. Milestone 2

  3. Milestone 3

  4. 📌 Milestone 4

  5. Milestone 5

  6. Presentation

  7. Final Submission