This course for systems engineers covers software engineering principles, artifacts, and approaches for the development of software systems. Topics include software engineering processes and metrics; real-time, distributed, configurable, and object-oriented software; alignment of software systems with overall system design; software-unique aspects of planning, requirements, architecture analysis, design, implementation, testing, and maintenance; understanding important software engineering constraints (performance, security, networking, etc.); and technology trends in software engineering today. Student teams will conduct case studies for a project.
645.662 Introduction to Systems Engineering and 645.667 Management of Systems Projects or permission from the student's academic advisor and the course instructor.
For Technical Management students, as of fall 2017, 595.763 Software Engineering Management is no longer offered and 645.764 Software Systems Engineering is the replacement course. 645.764 will fulfill the Technical Management requirement. Students may not enroll in this course if they have already completed 595.763 Software Engineering Management.