CST 438 — Software Engineering
Course Overview
A team-based course covering the full software development lifecycle. Practiced Agile/Scrum methodologies, requirements engineering, system design, testing, and deployment through a semester-long group project.
Learning Outcomes
- Plan and manage a software project using Agile/Scrum practices.
- Write and evaluate software requirements and user stories.
- Design systems using UML diagrams and architecture patterns.
- Collaborate using Git, CI/CD pipelines, and code review workflows.
Course Evidence
This course was built around team delivery under Agile/Scrum. I worked through requirements engineering from user stories into a formal software requirements specification, then into system design using UML class, sequence, and use-case diagrams alongside entity-relationship models for the data layer. A significant graded component was structured peer review of other teams' SRS documents — I reviewed a ride-share application specification against the course rubric, checking requirement testability, diagram correctness, and traceability between requirements and design. The semester group project applied the same cycle to our own system: sprint planning, issue tracking, code review on pull requests, and testing before release.