Carnegie Mellon University

Electrical and Computer Engineering

College of Engineering

Course Information

18-658SV: Software Requirements and Interaction Design




Good software systems should be engineered with usefulness and usability in mind. How can we define software systems addressing real users' needs while achieving superior user experience?

This course addresses this challenge by drawing from two disciplines, requirements engineering and interaction design, in an integrated fashion. Students learn a systematic approach to requirements elicitation, envisioning, and just-in-time elaboration, while leveraging design-based ideation and validation.

Students apply this knowledge in the context of a semester-long project. Their goal is to define a set of concrete requirements for and create prototypes of a new software system. The system should address a real problem, satisfy real stakeholders' needs, and provide a delightful user experience. Students leverage a variety of models and notations for specifying functional requirements, quality attributes, and design constraints. They leverage storyboarding and prototyping for designing the interactions between the users and the system. Students collaborate closely with real stakeholders in different settings for requirements elicitation, solution validation, and usability testing.

Please note that this course is intended for ECE master students with a concentration in Software Engineering and will satisfy the "Software Engineering and Design" course area requirement.

Last Modified: 2019-04-10 4:03PM

Semesters offered:

  • Fall 2019
  • Fall 2018
  • Fall 2017
  • Fall 2016
  • Fall 2015