UMLPart 1
UMLPart 1
Contents
System failure can occur at any time *a Connection to member bank is lost
during the transaction State information must be maintained in ATM
1. Consortium computer reconnects
2. System reconstructs prior state
2a. System unable to reconnect or recover
1. System alerts user of failure
2. System displays Welcome Screen
7a. Amount is greater than account balance
1. System voids transaction
2. System notifies user that the request
cannot be processed
3. System displays transaction screen
7b. Amount is not multiple of base denomination
There can be more than one
alternate path at a numbered flow 1. System prompts user to re-enter
Requirements Analysis
“Factor out” the sequence of actions common to more than one use case
and create a new Use Case – Verify Patron
“Include” notation shortens the Use Case
2. Process Patron’s Card: Verify Patron notation and modularizes the description.
The new Use Case is an “Abstract Use Case” -- It is never instantiated by itself,
but is a subfunction Use Case.
Requirements Analysis
An example of extending a Use Case Description
POST
Log in
<<actor>>
Accounting
System
Buy Items
Terminology
attributes
primitive data members Integers, reals, Strings, etc.
Bound objects opaque to the
object data members
rest of the system
references to other objects Independent objects that
receive messages from this
ID_num: String
owner: String Attributes
balance: double
Customer Account
1..2 *
owns
An association
A customer hashave
may a label reading
multiple from
bank left to right
accounts (or fromby
as indicated top to
An
bottom)
Account
the may have
multiplicity a multiplicity
star (* = 0 or more)of 1 or 2 (joint) owners
System Analysis – Building the Conceptual Model
Distinguish between the physical object and the specification
of that object when: deleting the physical object leads to loss
of information that needs to be maintained
description
1 price
UPC
used_by
* 1 describes
Store *
1 stocks *
name Item
address serial #
System Analysis – Building the Conceptual Model
endSale()
presentCard(CreditCard)
recordPayment(amount)
if accepted
Attribute Modification
Changes: Account.balance
Transaction.data
BankRecord
Menu
Reads: Account.balance
Transaction_limit
Min_denomination
Creates/Dissolves: Transaction
Output: Bills – to Customer
Analysis Phase