Software systems are typically built over a longer period of time (couple of years) with a constantly changing mix of people (both number of people and skill set) as well as with constantly changing requirements. This results in quite some challenges with respect to management, maintenance, and stability of the software system. In the course “Software Engineering”, we will look at methods and techniques needed to for designing and building these software systems. We therefore assume that you have already some practical knowledge in programming. As part of this course we will discuss: – development processes (incremental, iterative) – system modeling using UML – system architecting and design – quality of sofware – managing software projects (estimation, risk) – empirical research methods in software engineering
written examination and practicum
Sheets presented during class
All communication and materials are provided via blackboard.