Model Based Software Engineering (ELEC5620)


Model-Based Software Engineering focuses on modern software engineering methods, technologies, and processes used in professional development projects. It covers both the pragmatic engineering elements and the underlying theory of the model-based approach to the analysis, design, implementation, and maintenance of complex software-intensive systems.
Students will participate in a group project, which will entail developing and/or evolving a software system, following a full development cycle from requirements specification through to implementation and testing using up-to-date industrial development tools and processes. At the end of the course they will provide a presentation and demonstration of their project work to the class. There is no formal teaching of a programming language in this unit, although students will be expected to demonstrate through their project work their general software engineering and architectural skills as well as their mastery of model-based methods and technologies.
Students successfully completing this unit will have a strong practical and theoretical understanding of the modern software development cycle as applied in industrial settings. In particular, they will be familiar with the latest model-based software engineering approaches necessary for successfully dealing with today's highly complex and challenging software systems.
The pedagogic grounds for this course and its focus on model-based approaches are to arm new software engineers with skills and perspectives that extend beyond the level of basic programming. Such skills are essential to success in software development nowadays, and are in great demand but very low supply. The dearth of such expertise is one of the key reasons behind the alarmingly high failure rate of industrial software projects (currently estimated at being greater than 40%). Therefore, this unit complements SQE and strengthens a key area in the program.

Further unit of study information


Lecture 2 hrs/week; Tutorial 1 hr/week; Laboratory - Project Work - in class 2 hrs/week; Project Work - own time 2 hrs.


Through semester assessment (80%) Final Exam (20%)

Faculty/department permission required?


Unit of study rules

Prerequisites and assumed knowledge

A programming language, basic maths.

Study this unit outside a degree

Non-award/non-degree study

If you wish to undertake one or more units of study (subjects) for your own interest but not towards a degree, you may enrol in single units as a non-award student.

Cross-institutional study

If you are from another Australian tertiary institution you may be permitted to underake cross-institutional study in one or more units of study at the University of Sydney.