Lecture 9 - atomic use cases Flashcards
(high-level petri net) contains what?
places - represents points in time
transitions - representing the steps (inputs, outputs, pre and post conditions)
what is an atomic use case?
a use case that ends in the system changing, eg error occurs system exits (system hasnt changed), person enters new employee id, person added saved to system (system changed therefore it is an atomic use case)
what are the 2 types of responses involved in a petri net?
negative response - system unchanged.
positive response - changes the system and is therefore and atomic use case
how are responses handled?
an atomic use cases are positive responses that are indivisible (instantaneous from the perspective of the system)
how are exceptional use cases handled?
exceptional cases result when preconditions are not satisfied
what is the simplistic way of representing an atomic use case?
input, output, precondition and postcondition. sometimes one of these is empty as long as postcondition or output contain something its correct.
how do atomic use cases affect UI?
buttons call a check and then initiate the use case OR (better) form checks fields as they are written and button initiates atomic use case
what is the use of a ui?
a well-designed system will separate user from business logic layer (implementation of atomic use cases)
how do we represent input and output variables?
input - question mark id?: String
output - exclamation mark (no need for type) eg permitDetails! could be output represents list of permit number, reg number and owner id
how do we determine local variables from diagram?
they're variables appearing in the pre and post conditions (NOT input, output variables) let e = element in employeeList | e.id = id? (employee whose id = id we input)
what are parallel lists?
2 lists where the item from the Nth element of one list corresponds with the Nth element of the other
how do we represent a parallel list?
lists with same number of stars are parallel eg
a?: List *
b?: List *