|
Module Availability |
Autumn Semester.
|
|
|
Assessment Pattern |
Unit(s) of Assessment
|
Weighting Towards Module Mark( %)
|
Coursework: You will be asked to develop an example project using IUMLite. This will be in a different domain to the course example, but enable you to demonstrate expertise with the course material as the course develops.
|
40%
|
Exam: A 2-hour examination covering all topics within the course. Students must answer 3 questions out of 4
|
60%
|
|
|
|
|
|
|
Qualifying Condition(s)
|
|
|
|
Module Overview |
|
|
|
Prerequisites/Co-requisites |
None. |
|
|
Module Aims |
This course provides advanced training in modelling software systems using the Unified Modelling Language (UML). In particular, it introduces latest developments in “executable UML” which enable code to be generated automatically from specifications.
With executable UML, we produce precise models of proposed systems. Model compilers are then used to automatically generate the code for a specific target. Model compilers may be built to generate code for an extensive range of platforms, including a direct animation of the model on the development host. Porting a system to a new platform is then simply a matter of running the model through a different model compiler.
In order to build executable models, we focus on three views of the system under development:
- Class diagrams to classify the “things” in the problem domain – including their attributes, and relationships between them;
- UML statecharts to describe the lifecycles of the objects (or class instances) in the system; and
- An action language to describe the procedures that are executed when an object changes state.
This course will enable you to gain sufficient experience in building precise UML models in order to be able to construct an example application by working completely at the modelling level. |
|
|
Learning Outcomes |
At the end of the module students should be able to:
- Build complete, compilable models using an executable UML modelling tool
- Develop precise class models for a range of different domains
- Use State Charts to describe object lifecycles
- Understand the use of action languages and the Object Constraint Language to provide detailed specifications of procedures within a system
- Build a fully executable UML model for a real-world application.
|
|
|
Module Content |
The course is divided into the following areas:
- Domain models and bridges
- Formalising Use Cases
- Classes and attributes
- Relationships and associations
- Class actions and constraints
- Lifecycles and communicating objects
- Synchronisation and relationship dynamics
- Domain dynamics and verification
- Model management
The course will use a single running example of a lift system, in order to build up a complete “life-size” application by the end of the course. |
|
|
Methods of Teaching/Learning |
30 hours in weeks 1-10, consisting of:
- 10 one-hour lectures (1 per week)
- 20 hours of lab classes (2 hours per week
|
|
|
Selected Texts/Journals |
Course Text:
Mellor, Stephen J. and Balcer, Marc J. (2002) Executable UML – A Foundation for Model-Driven Architecture. London : Addison-Wesley.
Recommended:
Starr, (2002), Executable UML – How to Build Class Models. Upper Sadle River, NJ , Prentice Hall.
Frankel, David S. (2003), Model Driven Architecture – Applying MDA to Enterprise Computing, Indianapolis , John Wiley.
|
|
|
Last Updated |
July 2007 |
|