Software engineering is "the application of engineering to software" (IEEE 610.12). Goal of this course is to provide a broad overview of the challenges of software engineering and of the techniques and tools to address these challenges. We will discuss the main activities of software development (i.e., project management, requirements engineering, design, testing, and formal verification) with an emphasis on formal methods. We will study process models, software metrics, approaches to requirements specification and analysis, modeling and analysis techniques, design and architecture patterns, testing, and program verification.
Located in
Teaching
/
Summer Term 2024