Skip to main content
Unit of study_

ELEC5620: Model Based Software Engineering

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.

Code ELEC5620
Academic unit Electrical and Information Engineering
Credit points 6
Assumed knowledge:
A programming language, basic maths

At the completion of this unit, you should be able to:

  • LO1. understand approaches to MBSE technology and methodology: automated code generation, model analysis methods, tooling, architectural design, system and multi-model development
  • LO2. understand MBSE process models
  • LO3. demonstrate in-depth knowledge of the UML 2 modeling language
  • LO4. understand the role and nature model-based methods in SE
  • LO5. understand the theory of modeling language design
  • LO6. study MBSE systems based on comprehensive research in the open literature
  • LO7. write professional reports and do class presentations on a system design and its performance
  • LO8. work smoothly as a member of a project team.