CS 500 - Advanced Software Engineering

The course deals with the model-based specification of software systems and components as well as their verification, validation and quality assurance. The emphasis is on view-based specification methods that use multiple views, expressed in multiple languages, to describe orthogonal aspects of software systems/components. Key examples include structural views represented using class diagrams, operational views expressed using constraint languages and behavioural views expressed using state diagrams. An important focus of the course is the use of these views to define tests and extra-functional properties.

After taking the course, students will be familiar with the latest state-of-the-art techniques for specifying the externally visible properties of a software system/component – that is, for describing a software system/component as a 'black box'. Participants will also know how to use the expertise acquired during the course to describe the requirements that a system/component has to satisfy and to define tests to check whether a system/component fulfils these requirements. With the acquired skills and know-how, students will be able to play a key role in projects involving the development of systems, components and software applications.



Language: English

Prerequisites: None

Evaluation: written exam