You are on page 1of 2

CARLETON UNIVERSITY

Department of Systems and Computer Engineering


SYSC 5708 (ELG 6178) Model-Driven Development of
Real-Time and Distributed Software
Fall'2017

PROJECT REPORT GUIDELINES

DUE DATE: December 13, 2015. Early submission is encouraged. Submit to cuLearn as a single
file.

GUIDELINES

These guidelines are for the type of project that develops a UML model with COMET. If you have
selected a different type of project, please contact me for guidelines.
Start by describing the problem statement you have selected and perform the following steps of the
COMET methodology:

1. Requirements Model
a. Develop the use case diagram for your selected problem. Consider different alternatives and
employ use case relationships as necessary.
b. Select at least two use cases that are more complex and describe them in English by using the
COMET template.
2. Analysis Model
2.1. Develop the analysis static model:
a. Identify the physical objects (classes) in the problem domain and build the corresponding
class diagram;
b. Develop the system context model;
c. Identify the entity classes;
d. Add boundary objects;
e. Start developing the system structure, by grouping classes into subsystems. (Please note
that the subsystem design will be finalized during the Design Model phase)
2.2. Develop the analysis dynamic model for the system. For each of the use cases described in
detail in step 1.b do the following:
a. Identify the participant objects (classes).
b. Develop sequence diagrams for the use cases described in detail in step 1.b, describing the
“happy path” and possible alternatives. (You may use opt or alt fragments for modeling the
alternatives on the same sequence diagram as the happy path).
c. Identify information passed between objects, which may lead (or not) to the discovery of
other objects.
d. Develop a statechart for the state-dependent controller involved in the realization of the
selected use cases. Explain how the consistency between the sequence diagrams and the
statechart is maintained.
Note that the statechart you will build has contributions from the selected use cases.
However, the statechart will be incomplete, as other system use cases not detailed in the
project may contribute to it.
3. Design Model
3.1. Develop the overall software architecture starting from the analysis model built in the previous
phase:
a. Structure the application into subsystems
b. Define the interfaces between subsystems
c. Develop a high-level structure diagram for the whole system and lower-level structure
diagrams for each subsystem, showing their internal structure.

3.2. Design the distributed software architecture


a. Identify distributed components (that correspond to subsystems) and define their interfaces.
b. For each distributed component, design its internal concurrent architecture showing the
active objects (which represent concurrent tasks) and the passive objects.
c. Give an example of deployment diagram.

What to hand in: Your project report starts with the problem statement. Then, for every step
described above, include the corresponding UML 2 diagram and/or English text.

You might also like