After successful completion of the course, students are able to understand Software and Systems Engineering as a systematic process that includes requirements engineering for a software-intensive system and development of architecture and design according to the requirements as well as an implementation.
While also this course deals with object-oriented approaches, other approaches and topics are included as well:
- Requirements Engineering (related to Systems Engineering in general)
- Systems Architecting (for systems incl. hardware)
- Software Design (not only object-oriented, with a focus on principles like modularization, etc.)
- Software Patterns (several of them in some detail)
- Operations and Maintenance, system evolution
- Life Cycle Approaches
- Re-Engineering (incl. Reverse Engineering)
- Documentation of software and systems
- Product-line Engineering
- Rapid Prototyping of software
I. Sommerville, Software Engineering, Ninth Edition, Addison Wesley, 2009.
INCOSE Systems Engineering Handbook: A Guide for System Life Cycle Processes and Activities, 4th Edition, Wiley, 2015.