100 likes | 227 Views
End of analysis. System sequence diagram Operation contract. We have. Functional requirement Use case model Use case diagram Brief use case description Ranking of the use cases Fully dressed for the most important Information requirement Domain model
E N D
End of analysis System sequence diagram Operation contract
We have Functional requirement • Use case model • Use case diagram • Brief use case description • Ranking of the use cases • Fully dressed for the most important Information requirement • Domain model • The classes in the system and the structure between them
Moving from analyses to design • System sequence diagram • For each fully dressed use case make a system sequence diagram • For each system operation that changes the state of the domain model write an operation contract (we will not do much about operation contracts in this course just mention their existence)
System sequence diagram In the systems sequence diagram the system is seen as a black box. The system events (the arrows between the actor an the system) are found from the Fully dressed description The response from the system can shown as dottetlinies
System events • Name the system event with a verb • Put the values (parameters) on • Response from the system can be shown as information on a dotted line • Loops can be shown as a box around system events. Please see the book for details on how it is written in UML
System operations and contract • A system operation is an operation the system has to offer, to handle the system events. • There are different kind op system operations, the one that changes the state of the domain model is the one you should consider making a contract on. • The contract describe in detail what state the domain model is in after the system operation.
Example of operation contract Part of the domain model Operations contract Operation: addLineItem (itemID, quantity) Use-cases: Process sale Precondition: A Sale instance (object) has been created Post conditions: • A SalesLineItem instance (object) sli was created • sli was associated with the current Sale • sli.quantity became quantity • sli was associated with a ProductSpecification (object), based on itemID match (association formed).
Operation contracts Operations contract Operation: addLineItem (itemID, quantity) Use-cases: Process sale Precondition: A Sale instance (object) has been created Postconditions: • A SalesLineItem instance (object) sli was created • sli was associated with the current Sale • sli.quantity became quantity • sli was associated with a ProductSpecification (object), based on itemID match (association formed). Important notes: Reference to the use case Precondition: what information has to be present in the system, before the operations starts Postcondition: Which object has been created Which attributes has been changed Which object structure has been created