1.     Introduction and Course Description

CMPSCI 520: Software Engineering: Synthesis and Development

Professor: Adrion

This course introduces students to the principal activities involved in developing high-quality software systems.  The course stresses the use of defined, systematic processes in the creation of carefully defined and engineered software products.  Among the topics covered are requirements analysis, software architecture, formal specification methods, process definition, software design methods, and test planning.  Issues specific to the development of software by teams and groups will also be addressed.  Students will be required to read selected papers from the literature and complete homework and projects.  This course focuses on synthesis activities and complements CMPSCI 521, which focuses on software analysis techniques.  Students are encouraged to take both courses but may take either course independently.

1.     Prerequisites

For both CMPSCI 520 and CMPSCI 620: CMPSCI 320 (or equivalent, e.g., ECE 397B ST-Software Engr) or consent of instructor.  3 credits