Reference no: EM133091649
CO7207 Generative Development - University of Leicester
Task 1: System Description
Firstly, you must choose a business that you will model. Please describe this business, list its stakeholders (e.g. customers, staff, etc), list the important information about the business entities (e.g. products and services), and informally describe the main use cases and activities of the business.
• Identifying the main stakeholders (e.g. actors)
• Identifying business entities (e.g. classes)
• Describing use cases and activities
• The word limit can be increased by 10% without penalty. Every further 10% after this leads to a removal of 10% of the highest possible mark. For example, 218 words is fine; 265 words would lead to -3 marks. Please ensure good use of language and grammar, and that your description matches the system you later develop.
Task 2: Behaviour Model
Part a) Use Case Diagram
Create a Use Case diagram for the system supporting your chosen business (as described in Task 1 above).
Marking Criteria
• Identifying at least 6 meaningful Use Cases
• Correct and non-trivial participation of actors in Use Cases (at least one example of more than one actor involved in a Use Case) (0.5 mark each)
• Correct use of at least one <<extends>> and <<includes>>
• Good use of generalisation for Use Cases or actors
Part b) Activity Diagram
Create one activity diagram for the system supporting your chosen business (as described in
Task 1 above).
Task 3: Structural Model
The following tasks will require the use of Eclipse and the Eclipse Modelling Framework. The previous lab sessions will help you with learning the necessary techniques.
Part a) Class Diagram
Using EMF, design a class diagram for the system of your chosen business. Use role names and multiplicities on all association ends
Part b) OCL Invariants
Add three meaningful OCL class invariants to the Ecore model that follow your description in Task 1. Do this using the OCLinEcore editor ( see here for details). The names of invariants must start with "inv1", "inv2", and "inv3" respectively. [9 marks]
Marking Criteria
• Class Diagram
o Identify at least 5 classes with correct and meaningful class names
o Use generalisations at least two times
o Use at least one abstract class
o Use of attributes (at least one per class)
o At least 4 correct associations with association role names and non-trivial multiplicities (not all * or 0..*)
• OCL class invariants
o Use attributes
o Use of navigation leading to a single instance
o Use of navigation leading to a set of instances
o Use navigation via multiple associations
o Use of if-then-else
o Use of comparison operator (e.g. "<" or ">")
o Use of size(), exists(), forall() (1 mark each)
Task 4: Instances
You will now continue your use of EMF, this time focusing on instances.
Part a) Instance of Ecore Model (Object Diagram)
Using EMF API (and not the editor), create an instance of the Ecore Model (in other words, an Object Diagram). This should have at least 5 objects and 5 links and should be saved into XMI format.
Part b) Instances of OCL Invariants
Using the Dynamic Instance Editor, create two instances per OCL invariant. One instance must satisfy the OCL invariant, while the other must violate the OCL invariant. All instances must be valid in the Class Diagram when ignoring the OCL invariants.
Attachment:- Generative Development.rar