We investigate technologies that enable the development of large, complex, and long-living software systems. For that we devise software development theories, models, and tools to provide evolvability and maintainability of software. As software development is a multi-team, multi-technology, and multi-platform effort, we are especially interested in software technology to support product families, software architectures as well as distributed and mobile software engineering processes.
The Software Engineering Group of the Department of Informatics (IfI) at the University of Zurich was founded in March 2004 and conducts research and teaching in software engineering with particular emphasis on
- software evolution,
- software architectures,
- software quality analysis,
- software maintenance and reengineering,
- service-centric software systems,
- collaborative and distributed software engineering processes,
- and methodologies and paradigms for software development.
We investigate the application of these technologies to the development of large software systems and distributed software services.
- software engineering is more than programming
- software engineering emphasizes fundamental principles and techniques as opposed to specific tools
- software engineering follows engineering principles and processes
The IEEE Std 610.12-1990's Standard Glossary of Software Engineering Terminology (ANSI) defines software engineering as the application of a systematic, dicsiplined, quantifiable approach to the development, operation, and maintenance of software.