Withdrawal Transaction Use Case
Primary Actor: Customer
Pre-conditions: The customer must have a valid ATM
card and PIN.
Post-conditions: The customer receives the cash
amount that he wanted to withdraw, with a receipt, if indicated.
The customer’s account balance is updated in the system.
Normal flow of events:1. The customer inserts ATM card into the ATM machine and enters PIN.2. The system validates the ATM card and PIN .3. The customer selects the ‘Cash Withdrawal’ option from the Options Menu.…Alternate flow of events:1. The customer has entered invalid PIN; Thesystem prompts the customer toenter a valid PIN.2. If ATM card is not compatible-The system rejects the ATM card and displays an error message….
Review
12
Get luggage
ready
[on car]
[on train]
«local precondition»Have a license
Turn on the car
To motorway
tollgate
Exit to xxxxx
tollgate
Go home with the
car
Go to the station with a
friend
Buy the ticket
Obliterate the ticket
Catch the train
When the trainarrives to xxxxx
Get off the train
The trainderail
Car crash
The friend goes home
Go home with bus
Go to Heaven/Hell ;)
Go to Heaven/Hell ;)
Study for 5
minutes
[xxxxx is a long way]
[else]
Catch the
ticket
Fill up with fuel
[the tank is full]
[else]
Pay the ticket
Strategy Pattern
Decorator Pattern
UML Summary
• UML: a graphical language for modeling and designing software
• Semi-formal models using syntax and semantics
• UML 2.0 standard
• 3 stages of design before coding: business modeling (initiation), requirement analysis (what to do), architecture (how to do it)
• UML as a family of languages: extensibility - UML for real-time systems, e.g., meta-class, constraints
• Best open source UML tools: http://apps.open-libraries.com/best-OPEN-source-uml-tools/
UML Diagrams Summary
• Use Case Diagram: actor and use cases
– 2 usage: mainly for requirement (sometimes business modeling), a communication between users, customers, designers
– 4 elements: actor, system boundary, use cases, association
– 4 rules to write good use case diagram: less ambiguity, complete, consistent, no design details - cross check with text requirement
– 3 use case relations: include, extend, generalization/specialization
– 4 key elements in use cases: name, actor, pre/post conditions, flow (main, alternative flows), sometimes relations with other use cases
UML Diagrams Summary
• Sequence diagram: object interactions
– Requirement analysis – describe use cases, find more objects
– 4 elements: objects (actor), lifetime, activation, messages
UML Diagrams Summary
• Class Diagram: class and class relations
– Requirement and architecture design
– 3 elements: name, attribute (optional), operation (optional)
– 2 types of class relations: association (aggregation/composition), generalization/specialization – inheritance
– Identify names in the requirement as classes
UML Diagrams Summary• Activity diagram: capture an activity/action -- unit of executable
functionality
– Business modeling, requirement - both data and control flow, concurrent modeling
– 2 types of elements
1. Activity nodes • Parameter nodes• Action nodes• Control nodes: decision/merge, join/fork, initial/final/flow final• Object nodes (pin): value pin, exceptional pin
2. Activity edges• Direct, Weight (optional) - the minimum number of tokens that must
traverse the edge at the same time• Control /object edges