> Home

> Lectures

> Projects

Software Engineering


It is common knowledge that producing software means basically writing programs. Shortcomings of this 'definition' are often visible and sometimes painful: Writing good programs is much harder. This is why the aspects of, and activities related to software production are bundled together in an engineering discipline: Software Engineering.

This course will cover the most important topics in software engineering, a discipline that faces considerable challenges in an increasingly complex world, where the demand for good software has become imperative.

The most important topics covered by this course are:
  • Software processes: typology and characteristics;
  • Software development: general process and special cases;
  • Phases in software development
    1. Specification: elicitation and engineering of requirements, figuring out what the software is supposed to do.
    2. Development: Design & implementation. Planning in advance of the building blocks of the software product. Producing them by implementing in a programming language.
    3. Verification and validation: Have we built the right software? Does the software do things right?
    4. Evolution: The world changes: the software must change.


Dr. Petru Pau

Research Institute for Symbolic Computation (RISC)

To contact me:

E-mail: ppau@risc.uni-linz.ac.at