SENG 21553


Status : Core Pre-requisite : SENG 11512 Co-requisite : None


On completion of this course, the student should be able to:

  • Describe modelling principles
  • Use modelling principles to model an application domain
  • Describe different types of models used to model application domains
  • Select the best models to model the different features of an application domain
  • Construct different types of models for an application domain
  • Describe analysis fundamentals and use them to analyse the requirements of an application domain.

Decomposition, abstraction, generalization, projection/views, explicitness, pre & post conditions, properties of modelling languages, syntax vs. semantics, introduction to mathematical models and specification languages, introduction to Z specification language, VDM specification language.

Software modelling, object-oriented methods and the unified modeling language, software architectural design, comet: a UML-based software modelling and design method for software applications, UML as a standard, multiple views of software architecture, evolution of software modelling and design methods, evolution of object-oriented analysis and design methods Overview of the UML notation, UML diagrams, requirements modelling, static modelling, object andclass structuring, dynamic interaction modelling, finite state machines, state-dependent dynamic interaction modelling.

Analysing well-formedness, correctness, non-functional requirements, traceability.

Lectures, self-study assignments and group work.

End of course unit examination and continuous assessment.

  1. Gomaa, H (2011). Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures. Cambridge University Press
  2. Spivey, J M(2008). Understanding Z: A Specification Language and its Formal Semantics. Cambridge University Press
  3. Jones, C B (1990). Systematic Software Development Using VDM. Prentice-Hall.