SlideShare a Scribd company logo
1 of 34
ALTAF HUSSAIN
SSO, KRL
BS (CS), AUP. MS (CSE), NUST Pakistan
CASE STUDY Lecture – USE CASE DIAGRAMS
ï‚žAddress Book Application
2
ï‚ž The software to be designed is a program that can be used to maintain
an address book. An address book holds a collection of entries, each
recording a person's first and last names, address, city, state, zip, and
phone number.
ï‚ž It must be possible to add a new person to an address book, to edit
existing information about a person (except the person's name), and to
delete a person. It must be possible to sort the entries in the address
book alphabetically by last name (with ties broken by first name if
necessary), or by ZIP code (with ties broken by name if necessary). It
must be possible to print out all the entries in the address book in
"mailing label" format.
ï‚ž It must be possible to create a new address book, to open a disk file
containing an existing address book to close an address book, and to
save an address book to a disk file, using standard New, Open, Close,
Save and Save As ... File menu options. The program's File menu will
also have a Quit option to allow closing all open address books and
terminating the program.
3
ï‚ž The initial requirements call for the program to only be able to work with
a single address book at a time; therefore, if the user chooses the New
or Open menu option, any current address book will be closed before
creating/opening a new one. A later extension might allow for multiple
address books to be open, each with its own window which can be
closed separately, with closing the last open window resulting in
terminating the program. In this case, New and Open will result in
creating a new window, without affecting the current window.
ï‚ž The program will keep track of whether any changes have been made to
an address book since it was last saved, and will offer the user the
opportunity to save changes when an address book is closed either
explicitly or as a result of choosing to create/open another or to quit the
program.
ï‚ž The program will keep track of the file that the current address book was
read from or most recently saved to, will display the file's name as the
title of the main window, and will use that file when executing the Save
option. When a New address book is initially created, its window will be
titled "Untitled", and a Save operation will be converted to Save As ... -
i.e. the user will be required to specify a file. 4
ï‚ž Because this is to be a "standard GUI" style application, some attention
needs to be given to the user interface at this point. A user interface like
the following might be adopted. Not shown in the screen shot is a File
menu with New, Open, Close, Save, Save As ..., Print, and Quit options.
For the "Edit" and "Delete" buttons, the user must first select a person in
the scrolling list of names, and then can click the appropriate button to
edit/delete that person.
5
Address Book (Use Case Diagram)
6
ï‚ž Add a Person Use Case
• The Add a Person use case is initiated when the user
clicks the "Add" button in the main window. A dialog
box appears, with title "New Person", containing fields
for the user to fill in the new person's first and last
names and other information. The box can be
dismissed by clicking either "OK" or "Cancel". If the
"OK" button is clicked, a new person is added to the
end of the address book, and the person's name is
added to the end of the list of names in the main
window. If the "Cancel" button is clicked, no changes
are made either to the address book or to the main
window.
7
ï‚ž Edit a Person Use Case
• The Edit a Person use case is initiated when the user
either highlights a name in the list of names in the
main window and then clicks the "Edit" button, or the
user double-clicks a name. In either case, a dialog
box, with title "Edit person's name", appears
containing current information about the person
selected, (except the person's name, which appears
only in the title). The user can then edit the individual
fields. The box can be dismissed by clicking either
"OK" or "Cancel". If the "OK" button is clicked, the
entry in the address book for the selected person is
updated to reflect any changes made by the user. If
the "Cancel" button is clicked, no changes are made to
the address book.
8
ï‚žDelete a Person Use Case
• The Delete a Person use case is initiated when
the user highlights a name in the list of names in
the main window and then clicks the "Delete"
button. A dialog box appears, asking the user to
confirm deleting this particular individual. The box
can be dismissed by clicking either "OK" or
"Cancel". If the "OK" button is clicked, the entry in
the address book for the selected person is
deleted, and the person's name is deleted from
the list of names in the main window. If the
"Cancel" button is clicked, no changes are made
either to the address book or to the main window.
9
ï‚ž Sort entries by Name Use Case
• The Sort Entries by Name use case is initiated when
the user clicks the Sort by Name button in the main
window. The entries in the address book are sorted
alphabetically by name, and the list in the main
window is updated to reflect this order as well.
ï‚ž Sort entries by ZIP Use Case
• The Sort Entries by ZIP use case is initiated when
the user clicks the Sort by ZIP button in the main
window. The entries in the address book are
sorted by zip code, and the list in the main window
is updated to reflect this order as well.
10
ï‚žPrint Entries Use Case
• The Print Entries use case is initiated when the
user chooses "Print" from the File menu. A save
file dialog is displayed, and the user is allowed to
choose a file to print the labels to. (If the user
cancels the file dialog, the Print operation is
canceled.) The current contents of the address
book are written out to the specified file (in their
current order) in "mailing label" format. No
information maintained by the program is
changed.
11
ï‚ž Create New Address Book Use Case
• The Create a New Address Book use case is initiated
when the user chooses "New" from the File menu. If
the current address book contents have been changed
since the last successful New, Open, Save, or
Save As ... operation was done, the Offer to Save
Changes extension is executed. Unless the user
cancels the operation, a new empty address book is
then created and replaces the current address book.
This results in the list of names in the main window
being cleared, the current file becoming undefined,
and the title of the main window becomes "Untitled".
(NOTE: These conditions will also be in effect when
the program initially starts up.)
12
ï‚ž Open Existing Address Book Use Case
• The Open Existing Address Book use case is initiated when the
user chooses "Open" from the File menu. If the current address
book contents have been changed since the last successful New,
Open, Save, or Save As ... operation was done, the Offer to Save
Changes extension is executed. Unless the user cancels the
operation, a load file dialog is displayed and the user is allowed to
choose a file to open. Once the user chooses a file, the current
address book is replaced by the result of reading in the specified
address book. This results in the list of names in the main window
being replaced by the names in the address book that was read,
the file that was opened becoming the current file, and its name
being displayed as the title of the main window. (If the user
cancels the file dialog, or attempting to read the file results in an
error, the current address book is left unchanged. If the
cancellation results from an error reading the file, a dialog box is
displayed warning the user of the error.)
13
ï‚ž Save Address Book Use Case
• The Save Address Book use case is initiated when the
user chooses "Save" from the File menu. (The Save
option is grayed out unless changes have been made
to the address book since the last New, Open, Save,
or Save As ... operation was done.) If there is a current
file, the current address book is saved to this file. (If
attempting to write the file results in an error, a dialog
box is displayed warning the user of the error.) If there
is no current file, the Save Address Book As .. use
case is done instead. In all cases, the current address
book and window list are left unchanged.
14
ï‚ž Offer to Save Changes Extension Use Case
• The Offer to Save Changes extension is initiated from
within the Create New Address Book, Open Existing
Address Book, or Quit program use cases, if the current
address book has been changed since the last successful
New, Open, Save, or Save As ... operation was done. A
dialog box is displayed, informing the user that there are
unsaved changes, and asking the user whether to save
changes, not save changes, or cancel the operation. If the
user chooses to save changes, the Save Address Book
Use Case is executed (which may result in executing the
Save Address Book As ... Use Case if there is no current
file). If the user chooses not to save changes, the original
operation is simply resumed. If the user chooses to cancel
(or cancels the save file dialog if one is needed), the
original operation is canceled.
15
ï‚ž Save Address Book As Use Case
• The Save Address Book As ... use case is initiated when
the user chooses "Save As ..." from the File menu. (The
Save As ... option is always available.) A save file dialog is
displayed and the user is allowed to choose the name of a
file in which to save the address book. (If the user cancels
the file dialog, the Save As ... operation is canceled.) The
current address book is saved to the specified file, and the
file to which it was saved becomes the current file and its
name is displayed as the title of the main window. (If
attempting to write the file results in an error, a dialog box is
displayed warning the user of the error, and the current file
and main window title are unchanged.) In all cases, the
current address book and window list are left unchanged.
16
ï‚žATM Simulation Application
17
ï‚ž The software to be designed will control a simulated automated teller
machine (ATM) having a magnetic stripe reader for reading an ATM card,
a customer console (keyboard and display) for interaction with the
customer, a slot for depositing envelopes, a dispenser for cash (in
multiples of $20), a printer for printing customer receipts, and a key-
operated switch to allow an operator to start or stop the machine. The
ATM will communicate with the bank's computer over an appropriate
communication link. (The software on the latter is not part of the
requirements for this problem.)
ï‚ž The ATM will service one customer at a time. A customer will be required
to insert an ATM card and enter a personal identification number (PIN) -
both of which will be sent to the bank for validation as part of each
transaction. The customer will then be able to perform one or more
transactions. The card will be retained in the machine until the customer
indicates that he/she desires no further transactions, at which point it will
be returned - except as noted below.
18
ï‚ž The ATM must be able to provide the following services to the customer:
1. A customer must be able to make a cash withdrawal from any
suitable account linked to the card, in multiples of $20.00. Approval
must be obtained from the bank before cash is dispensed.
2. A customer must be able to make a deposit to any account linked to
the card, consisting of cash and/or checks in an envelope. The
customer will enter the amount of the deposit into the ATM, subject to
manual verification when the envelope is removed from the machine
by an operator. Approval must be obtained from the bank before
physically accepting the envelope.
3. A customer must be able to make a transfer of money between any
two accounts linked to the card.
4. A customer must be able to make a balance inquiry of any account
linked to the card.
ï‚ž A customer must be able to abort a transaction in progress by pressing
the Cancel key instead of responding to a request from the machine.
19
ï‚ž The ATM will communicate each transaction to the bank and obtain
verification that it was allowed by the bank. Ordinarily, a transaction will
be considered complete by the bank once it has been approved. In the
case of a deposit, a second message will be sent to the bank indicating
that the customer has deposited the envelope. (If the customer fails to
deposit the envelope within the timeout period, or presses cancel
instead, no second message will be sent to the bank and the deposit will
not be credited to the customer.)
ï‚ž If the bank determines that the customer's PIN is invalid, the customer
will be required to re-enter the PIN before a transaction can proceed. If
the customer is unable to successfully enter the PIN after three tries, the
card will be permanently retained by the machine, and the customer will
have to contact the bank to get it back.
ï‚ž If a transaction fails for any reason other than an invalid PIN, the ATM
will display an explanation of the problem, and will then ask the customer
whether he/she wants to do another transaction.
20
ï‚ž The ATM will provide the customer with a printed receipt for each
successful transaction, showing the date, time, machine location, type of
transaction, account(s), amount, and ending and available balance(s) of
the affected account ("to" account for transfers).
ï‚ž The ATM will have a key-operated switch that will allow an operator to
start and stop the servicing of customers. After turning the switch to the
"on" position, the operator will be required to verify and enter the total
cash on hand. The machine can only be turned off when it is not
servicing a customer. When the switch is moved to the "off" position, the
machine will shut down, so that the operator may remove deposit
envelopes and reload the machine with cash, blank receipts, etc.
ï‚ž The ATM will also maintain an internal log of transactions to facilitate
resolving ambiguities arising from a hardware failure in the middle of a
transaction. Entries will be made in the log when the ATM is started up
and shut down, for each message sent to the Bank (along with the
response back, if one is expected), for the dispensing of cash, and for
the receiving of an envelope. Log entries may contain card numbers and
dollar amounts, but for security will never contain a PIN.
21
ATM Simulation (Use Case Diagram)
22
ï‚žSystem Startup Use Case
• The system is started up when the operator turns
the operator switch to the "on" position. The
operator will be asked to enter the amount of
money currently in the cash dispenser, and a
connection to the bank will be established. Then
the servicing of customers can begin.
23
ï‚žSystem Shutdown Use Case
• The system is shut down when the operator
makes sure that no customer is using the
machine, and then turns the operator switch to the
"off" position. The connection to the bank will be
shut down. Then the operator is free to remove
deposited envelopes, replenish cash and paper,
etc.
• .
24
ï‚ž Session Use Case
ï‚ž A session is started when a customer inserts an ATM card into
the card reader slot of the machine. The ATM pulls the card
into the machine and reads it. (If the reader cannot read the
card due to improper insertion or a damaged stripe, the card is
ejected, an error screen is displayed, and the session is
aborted.) The customer is asked to enter his/her PIN, and is
then allowed to perform one or more transactions, choosing
from a menu of possible types of transaction in each case.
After each transaction, the customer is asked whether he/she
would like to perform another. When the customer is through
performing transactions, the card is ejected from the machine
and the session ends. If a transaction is aborted due to too
many invalid PIN entries, the session is also aborted, with the
card being retained in the machine.
The customer may abort the session by pressing the Cancel
key when entering a PIN or choosing a transaction type.
25
ï‚ž Transaction Use Case
• Note: Transaction is an abstract generalization. Each specific
concrete type of transaction implements certain operations in the
appropriate way. The flow of events given here describes the
behavior common to all types of transaction. The flows of events
for the individual types of transaction (withdrawal, deposit,
transfer, inquiry) give the features that are specific to that type of
transaction.
• A transaction use case is started within a session when the
customer chooses a transaction type from a menu of options. The
customer will be asked to furnish appropriate details (e.g.
account(s) involved, amount). The transaction will then be sent to
the bank, along with information from the customer's card and the
PIN the customer entered.
26
 Transaction Use Case…..
• If the bank approves the transaction, any steps needed to
complete the transaction (e.g. dispensing cash or accepting an
envelope) will be performed, and then a receipt will be printed.
Then the customer will be asked whether he/she wishes to do
another transaction.
• If the bank reports that the customer's PIN is invalid, the Invalid
PIN extension will be performed and then an attempt will be made
to continue the transaction. If the customer's card is retained due
to too many invalid PINs, the transaction will be aborted, and the
customer will not be offered the option of doing another.
• If a transaction is cancelled by the customer, or fails for any
reason other than repeated entries of an invalid PIN, a screen will
be displayed informing the customer of the reason for the failure
of the transaction, and then the customer will be offered the
opportunity to do another.
• The customer may cancel a transaction by pressing the Cancel
key as described for each individual type of transaction below.
• All messages to the bank and responses back are recorded in the
ATM's log. 27
ï‚ž Withdrawal Transaction Use Case
• A withdrawal transaction asks the customer to choose
a type of account to withdraw from (e.g. checking)
from a menu of possible accounts, and to choose a
dollar amount from a menu of possible amounts. The
system verifies that it has sufficient money on hand to
satisfy the request before sending the transaction to
the bank. (If not, the customer is informed and asked
to enter a different amount.) If the transaction is
approved by the bank, the appropriate amount of cash
is dispensed by the machine before it issues a receipt.
(The dispensing of cash is also recorded in the ATM's
log.)
• A withdrawal transaction can be cancelled by the
customer pressing the Cancel key any time prior to
choosing the dollar amount.
28
ï‚ž Deposit Transaction Use Case
• A deposit transaction asks the customer to choose a type of
account to deposit to (e.g. checking) from a menu of possible
accounts, and to type in a dollar amount on the keyboard. The
transaction is initially sent to the bank to verify that the ATM can
accept a deposit from this customer to this account. If the
transaction is approved, the machine accepts an envelope from
the customer containing cash and/or checks before it issues a
receipt. Once the envelope has been received, a second
message is sent to the bank, to confirm that the bank can credit
the customer's account - contingent on manual verification of the
deposit envelope contents by an operator later. (The receipt of an
envelope is also recorded in the ATM's log.)
• A deposit transaction can be cancelled by the customer pressing
the Cancel key any time prior to inserting the envelope containing
the deposit. The transaction is automatically cancelled if the
customer fails to insert the envelope containing the deposit within
a reasonable period of time after being asked to do so.
29
ï‚ž Transfer Transaction Use Case
• A transfer transaction asks the customer to choose a
type of account to transfer from (e.g. checking) from a
menu of possible accounts, to choose a different
account to transfer to, and to type in a dollar amount
on the keyboard. No further action is required once the
transaction is approved by the bank before printing the
receipt.
• A transfer transaction can be cancelled by the
customer pressing the Cancel key any time prior to
entering a dollar amount.
30
ï‚žInquiry Transaction Use Case
• An inquiry transaction asks the customer to choose a
type of account to inquire about from a menu of
possible accounts. No further action is required once
the transaction is approved by the bank before printing
the receipt.
• An inquiry transaction can be cancelled by the
customer pressing the Cancel key any time prior to
choosing the account to inquire about.
•
31
ï‚ž Invalid PIN Extension Use Case
• An invalid PIN extension is started from within a transaction
when the bank reports that the customer's transaction is
disapproved due to an invalid PIN. The customer is
required to re-enter the PIN and the original request is sent
to the bank again. If the bank now approves the
transaction, or disapproves it for some other reason, the
original use case is continued; otherwise the process of re-
entering the PIN is repeated. Once the PIN is successfully
re-entered, it is used for both the current transaction and all
subsequent transactions in the session. If the customer fails
three times to enter the correct PIN, the card is
permanently retained, a screen is displayed informing the
customer of this and suggesting he/she contact the bank,
and the entire customer session is aborted.
• If the customer presses Cancel instead of re-entering a
PIN, the original transaction is cancelled.
32
ï‚žFinalize your Degree Project accurate Use
Case Diagram
ï‚žPrepare its MS Word document as well as
MS PowerPoint Presentation
ï‚žPrepare all groups for presentation any
time after assignment submission.
33
Case studies  use cases ASE

More Related Content

What's hot

Form 1 Term 2 Week 4.1
Form 1   Term 2   Week 4.1Form 1   Term 2   Week 4.1
Form 1 Term 2 Week 4.1Harley Greenberg
 
Computer packages
Computer packagesComputer packages
Computer packagesIbrahim Ochu
 
Microsft access 2003 tutorial isa
Microsft access 2003 tutorial isaMicrosft access 2003 tutorial isa
Microsft access 2003 tutorial isaisawaroh74
 
intro of ms word 2007
intro of ms word 2007intro of ms word 2007
intro of ms word 2007Pakeeza Noor
 
Beginner word class_1
Beginner word class_1Beginner word class_1
Beginner word class_1Nicholas Charles
 
EndNote X7 Fall 2013
EndNote X7 Fall 2013EndNote X7 Fall 2013
EndNote X7 Fall 2013hubbardd
 
Ms access 2010 lesson 3 (Interface)
Ms access 2010 lesson 3 (Interface)Ms access 2010 lesson 3 (Interface)
Ms access 2010 lesson 3 (Interface)teng113
 
L3 ms access 2010 interface
L3 ms access 2010 interfaceL3 ms access 2010 interface
L3 ms access 2010 interfaceBryan Corpuz
 
MS Access 2007 in ITT
MS Access 2007 in ITTMS Access 2007 in ITT
MS Access 2007 in ITTpillai college
 
Migrating to Word 2010 from Word 2003 | Microsoft
Migrating to Word 2010 from Word 2003 | MicrosoftMigrating to Word 2010 from Word 2003 | Microsoft
Migrating to Word 2010 from Word 2003 | MicrosoftAnatoliy Bakal
 
Parts of m.s word
Parts of m.s wordParts of m.s word
Parts of m.s wordJohn Lloyd
 

What's hot (20)

Form 1 Term 2 Week 4.1
Form 1   Term 2   Week 4.1Form 1   Term 2   Week 4.1
Form 1 Term 2 Week 4.1
 
Libre Office Writer Lesson 5: Mail Merge
Libre Office Writer Lesson 5: Mail MergeLibre Office Writer Lesson 5: Mail Merge
Libre Office Writer Lesson 5: Mail Merge
 
Computer packages
Computer packagesComputer packages
Computer packages
 
Microsft access 2003 tutorial isa
Microsft access 2003 tutorial isaMicrosft access 2003 tutorial isa
Microsft access 2003 tutorial isa
 
intro of ms word 2007
intro of ms word 2007intro of ms word 2007
intro of ms word 2007
 
Word 2003
Word 2003Word 2003
Word 2003
 
Beginner word class_1
Beginner word class_1Beginner word class_1
Beginner word class_1
 
EndNote X7 Fall 2013
EndNote X7 Fall 2013EndNote X7 Fall 2013
EndNote X7 Fall 2013
 
Zotero
ZoteroZotero
Zotero
 
Mail merge
Mail mergeMail merge
Mail merge
 
Ms access 2010 lesson 3 (Interface)
Ms access 2010 lesson 3 (Interface)Ms access 2010 lesson 3 (Interface)
Ms access 2010 lesson 3 (Interface)
 
L3 ms access 2010 interface
L3 ms access 2010 interfaceL3 ms access 2010 interface
L3 ms access 2010 interface
 
Mail merge in_word_2010
Mail merge in_word_2010Mail merge in_word_2010
Mail merge in_word_2010
 
Microsoft word
Microsoft wordMicrosoft word
Microsoft word
 
Search++ Manual
Search++ ManualSearch++ Manual
Search++ Manual
 
MS Access 2007 in ITT
MS Access 2007 in ITTMS Access 2007 in ITT
MS Access 2007 in ITT
 
MS Word Window Elements
MS Word Window ElementsMS Word Window Elements
MS Word Window Elements
 
Ms office 2010
Ms office 2010Ms office 2010
Ms office 2010
 
Migrating to Word 2010 from Word 2003 | Microsoft
Migrating to Word 2010 from Word 2003 | MicrosoftMigrating to Word 2010 from Word 2003 | Microsoft
Migrating to Word 2010 from Word 2003 | Microsoft
 
Parts of m.s word
Parts of m.s wordParts of m.s word
Parts of m.s word
 

Viewers also liked

1st and 2nd Lecture
1st and 2nd Lecture1st and 2nd Lecture
1st and 2nd Lecturebabak danyal
 
UML Use Case & Class Diagrams (College 2003)
UML Use Case & Class Diagrams (College 2003)UML Use Case & Class Diagrams (College 2003)
UML Use Case & Class Diagrams (College 2003)Irene Tosch
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagramsjsm1979
 
2 class use case
2 class use case2 class use case
2 class use caseMinal Maniar
 
Use case+2-0
Use case+2-0Use case+2-0
Use case+2-0MikeSorokin
 
UML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionUML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionCherryBerry2
 
Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2Ramakant Soni
 
Software Engineering: Models
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: ModelsDavid Millard
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagramsartgreen
 
Sample Business Requirement Document
Sample Business Requirement DocumentSample Business Requirement Document
Sample Business Requirement DocumentIsabel Elaine Leong
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 

Viewers also liked (12)

1st and 2nd Lecture
1st and 2nd Lecture1st and 2nd Lecture
1st and 2nd Lecture
 
UML Use Case & Class Diagrams (College 2003)
UML Use Case & Class Diagrams (College 2003)UML Use Case & Class Diagrams (College 2003)
UML Use Case & Class Diagrams (College 2003)
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
2 class use case
2 class use case2 class use case
2 class use case
 
Use case+2-0
Use case+2-0Use case+2-0
Use case+2-0
 
UML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionUML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussion
 
Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2
 
Software Engineering: Models
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: Models
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
 
Sample Business Requirement Document
Sample Business Requirement DocumentSample Business Requirement Document
Sample Business Requirement Document
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 

Similar to Case studies use cases ASE

Microsoft Office Word 2007 - Lesson 3
Microsoft Office Word 2007 - Lesson 3Microsoft Office Word 2007 - Lesson 3
Microsoft Office Word 2007 - Lesson 3Samantha TerBeest
 
Understanding File Management and Editing Documents in WordThe edi.docx
Understanding File Management and Editing Documents in WordThe edi.docxUnderstanding File Management and Editing Documents in WordThe edi.docx
Understanding File Management and Editing Documents in WordThe edi.docxTakishaPeck109
 
Google training I for 5.7.2014 ERPD
Google training I for 5.7.2014 ERPDGoogle training I for 5.7.2014 ERPD
Google training I for 5.7.2014 ERPDcindy_farmer
 
Power Point Lesson 10 Part1
Power Point  Lesson 10  Part1Power Point  Lesson 10  Part1
Power Point Lesson 10 Part1Nasir Jumani
 
User interface introduction openbravo
User interface introduction   openbravoUser interface introduction   openbravo
User interface introduction openbravoAbul Khayer
 
Ms Word 2010 Training In Ambala ! Batra Computer Centre
Ms Word 2010 Training In Ambala ! Batra Computer CentreMs Word 2010 Training In Ambala ! Batra Computer Centre
Ms Word 2010 Training In Ambala ! Batra Computer Centrejatin batra
 
Win 7 file saving
Win 7 file savingWin 7 file saving
Win 7 file savingJacqui Sharp
 
week 1.docx
week 1.docxweek 1.docx
week 1.docxrom barcia
 
Lesson 1.pptx
Lesson 1.pptxLesson 1.pptx
Lesson 1.pptxRammel1
 
Computer fundamentals lab 1
Computer fundamentals lab 1Computer fundamentals lab 1
Computer fundamentals lab 1Ayesha459815
 
Excel review and view tab
Excel review and view tabExcel review and view tab
Excel review and view tababhijeet choudhary
 
What's New in Office 2016
What's New in Office 2016What's New in Office 2016
What's New in Office 2016Dave Umberger
 
Form 1 Term 2 Week 1.3
Form 1   Term 2   Week 1.3Form 1   Term 2   Week 1.3
Form 1 Term 2 Week 1.3Harley Greenberg
 
Mail Backup X user guide
Mail Backup X user guideMail Backup X user guide
Mail Backup X user guideInventpure
 
Word documents using google docs
Word documents using google docsWord documents using google docs
Word documents using google docsBilly Jean Morado
 
Lesson 7 using my docs
Lesson 7   using my docsLesson 7   using my docs
Lesson 7 using my docsguevarra_2000
 
Excel 2013
Excel 2013Excel 2013
Excel 2013RShankar31
 

Similar to Case studies use cases ASE (20)

Microsoft Office Word 2007 - Lesson 3
Microsoft Office Word 2007 - Lesson 3Microsoft Office Word 2007 - Lesson 3
Microsoft Office Word 2007 - Lesson 3
 
Understanding File Management and Editing Documents in WordThe edi.docx
Understanding File Management and Editing Documents in WordThe edi.docxUnderstanding File Management and Editing Documents in WordThe edi.docx
Understanding File Management and Editing Documents in WordThe edi.docx
 
Google training I for 5.7.2014 ERPD
Google training I for 5.7.2014 ERPDGoogle training I for 5.7.2014 ERPD
Google training I for 5.7.2014 ERPD
 
Power Point Lesson 10 Part1
Power Point  Lesson 10  Part1Power Point  Lesson 10  Part1
Power Point Lesson 10 Part1
 
User interface introduction openbravo
User interface introduction   openbravoUser interface introduction   openbravo
User interface introduction openbravo
 
Ms Word 2010 Training In Ambala ! Batra Computer Centre
Ms Word 2010 Training In Ambala ! Batra Computer CentreMs Word 2010 Training In Ambala ! Batra Computer Centre
Ms Word 2010 Training In Ambala ! Batra Computer Centre
 
Win 7 file saving
Win 7 file savingWin 7 file saving
Win 7 file saving
 
week 1.docx
week 1.docxweek 1.docx
week 1.docx
 
Lesson 1.pptx
Lesson 1.pptxLesson 1.pptx
Lesson 1.pptx
 
Computer fundamentals lab 1
Computer fundamentals lab 1Computer fundamentals lab 1
Computer fundamentals lab 1
 
Excel review and view tab
Excel review and view tabExcel review and view tab
Excel review and view tab
 
Office 2019 tips & tricks
Office 2019 tips & tricksOffice 2019 tips & tricks
Office 2019 tips & tricks
 
Word Processor
Word ProcessorWord Processor
Word Processor
 
What's New in Office 2016
What's New in Office 2016What's New in Office 2016
What's New in Office 2016
 
Form 1 Term 2 Week 1.3
Form 1   Term 2   Week 1.3Form 1   Term 2   Week 1.3
Form 1 Term 2 Week 1.3
 
Microsoft word
Microsoft wordMicrosoft word
Microsoft word
 
Mail Backup X user guide
Mail Backup X user guideMail Backup X user guide
Mail Backup X user guide
 
Word documents using google docs
Word documents using google docsWord documents using google docs
Word documents using google docs
 
Lesson 7 using my docs
Lesson 7   using my docsLesson 7   using my docs
Lesson 7 using my docs
 
Excel 2013
Excel 2013Excel 2013
Excel 2013
 

More from babak danyal

Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Socketsbabak danyal
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streamsbabak danyal
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Javababak danyal
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the desbabak danyal
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network securitybabak danyal
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systemsbabak danyal
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systemsbabak danyal
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systemsbabak danyal
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systemsbabak danyal
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systemsbabak danyal
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systemsbabak danyal
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systemsbabak danyal
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systemsbabak danyal
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signababak danyal
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systemsbabak danyal
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniquesbabak danyal
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Securitybabak danyal
 

More from babak danyal (20)

applist
applistapplist
applist
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
Tcp sockets
Tcp socketsTcp sockets
Tcp sockets
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the des
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systems
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systems
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systems
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systems
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systems
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systems
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systems
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systems
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systems
 
Lecture9
Lecture9Lecture9
Lecture9
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniques
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 

Recently uploaded

Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Dr. Mazin Mohamed alkathiri
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 

Recently uploaded (20)

Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 

Case studies use cases ASE

  • 1. ALTAF HUSSAIN SSO, KRL BS (CS), AUP. MS (CSE), NUST Pakistan CASE STUDY Lecture – USE CASE DIAGRAMS
  • 3. ï‚ž The software to be designed is a program that can be used to maintain an address book. An address book holds a collection of entries, each recording a person's first and last names, address, city, state, zip, and phone number. ï‚ž It must be possible to add a new person to an address book, to edit existing information about a person (except the person's name), and to delete a person. It must be possible to sort the entries in the address book alphabetically by last name (with ties broken by first name if necessary), or by ZIP code (with ties broken by name if necessary). It must be possible to print out all the entries in the address book in "mailing label" format. ï‚ž It must be possible to create a new address book, to open a disk file containing an existing address book to close an address book, and to save an address book to a disk file, using standard New, Open, Close, Save and Save As ... File menu options. The program's File menu will also have a Quit option to allow closing all open address books and terminating the program. 3
  • 4. ï‚ž The initial requirements call for the program to only be able to work with a single address book at a time; therefore, if the user chooses the New or Open menu option, any current address book will be closed before creating/opening a new one. A later extension might allow for multiple address books to be open, each with its own window which can be closed separately, with closing the last open window resulting in terminating the program. In this case, New and Open will result in creating a new window, without affecting the current window. ï‚ž The program will keep track of whether any changes have been made to an address book since it was last saved, and will offer the user the opportunity to save changes when an address book is closed either explicitly or as a result of choosing to create/open another or to quit the program. ï‚ž The program will keep track of the file that the current address book was read from or most recently saved to, will display the file's name as the title of the main window, and will use that file when executing the Save option. When a New address book is initially created, its window will be titled "Untitled", and a Save operation will be converted to Save As ... - i.e. the user will be required to specify a file. 4
  • 5. ï‚ž Because this is to be a "standard GUI" style application, some attention needs to be given to the user interface at this point. A user interface like the following might be adopted. Not shown in the screen shot is a File menu with New, Open, Close, Save, Save As ..., Print, and Quit options. For the "Edit" and "Delete" buttons, the user must first select a person in the scrolling list of names, and then can click the appropriate button to edit/delete that person. 5
  • 6. Address Book (Use Case Diagram) 6
  • 7. ï‚ž Add a Person Use Case • The Add a Person use case is initiated when the user clicks the "Add" button in the main window. A dialog box appears, with title "New Person", containing fields for the user to fill in the new person's first and last names and other information. The box can be dismissed by clicking either "OK" or "Cancel". If the "OK" button is clicked, a new person is added to the end of the address book, and the person's name is added to the end of the list of names in the main window. If the "Cancel" button is clicked, no changes are made either to the address book or to the main window. 7
  • 8. ï‚ž Edit a Person Use Case • The Edit a Person use case is initiated when the user either highlights a name in the list of names in the main window and then clicks the "Edit" button, or the user double-clicks a name. In either case, a dialog box, with title "Edit person's name", appears containing current information about the person selected, (except the person's name, which appears only in the title). The user can then edit the individual fields. The box can be dismissed by clicking either "OK" or "Cancel". If the "OK" button is clicked, the entry in the address book for the selected person is updated to reflect any changes made by the user. If the "Cancel" button is clicked, no changes are made to the address book. 8
  • 9. ï‚žDelete a Person Use Case • The Delete a Person use case is initiated when the user highlights a name in the list of names in the main window and then clicks the "Delete" button. A dialog box appears, asking the user to confirm deleting this particular individual. The box can be dismissed by clicking either "OK" or "Cancel". If the "OK" button is clicked, the entry in the address book for the selected person is deleted, and the person's name is deleted from the list of names in the main window. If the "Cancel" button is clicked, no changes are made either to the address book or to the main window. 9
  • 10. ï‚ž Sort entries by Name Use Case • The Sort Entries by Name use case is initiated when the user clicks the Sort by Name button in the main window. The entries in the address book are sorted alphabetically by name, and the list in the main window is updated to reflect this order as well. ï‚ž Sort entries by ZIP Use Case • The Sort Entries by ZIP use case is initiated when the user clicks the Sort by ZIP button in the main window. The entries in the address book are sorted by zip code, and the list in the main window is updated to reflect this order as well. 10
  • 11. ï‚žPrint Entries Use Case • The Print Entries use case is initiated when the user chooses "Print" from the File menu. A save file dialog is displayed, and the user is allowed to choose a file to print the labels to. (If the user cancels the file dialog, the Print operation is canceled.) The current contents of the address book are written out to the specified file (in their current order) in "mailing label" format. No information maintained by the program is changed. 11
  • 12. ï‚ž Create New Address Book Use Case • The Create a New Address Book use case is initiated when the user chooses "New" from the File menu. If the current address book contents have been changed since the last successful New, Open, Save, or Save As ... operation was done, the Offer to Save Changes extension is executed. Unless the user cancels the operation, a new empty address book is then created and replaces the current address book. This results in the list of names in the main window being cleared, the current file becoming undefined, and the title of the main window becomes "Untitled". (NOTE: These conditions will also be in effect when the program initially starts up.) 12
  • 13. ï‚ž Open Existing Address Book Use Case • The Open Existing Address Book use case is initiated when the user chooses "Open" from the File menu. If the current address book contents have been changed since the last successful New, Open, Save, or Save As ... operation was done, the Offer to Save Changes extension is executed. Unless the user cancels the operation, a load file dialog is displayed and the user is allowed to choose a file to open. Once the user chooses a file, the current address book is replaced by the result of reading in the specified address book. This results in the list of names in the main window being replaced by the names in the address book that was read, the file that was opened becoming the current file, and its name being displayed as the title of the main window. (If the user cancels the file dialog, or attempting to read the file results in an error, the current address book is left unchanged. If the cancellation results from an error reading the file, a dialog box is displayed warning the user of the error.) 13
  • 14. ï‚ž Save Address Book Use Case • The Save Address Book use case is initiated when the user chooses "Save" from the File menu. (The Save option is grayed out unless changes have been made to the address book since the last New, Open, Save, or Save As ... operation was done.) If there is a current file, the current address book is saved to this file. (If attempting to write the file results in an error, a dialog box is displayed warning the user of the error.) If there is no current file, the Save Address Book As .. use case is done instead. In all cases, the current address book and window list are left unchanged. 14
  • 15. ï‚ž Offer to Save Changes Extension Use Case • The Offer to Save Changes extension is initiated from within the Create New Address Book, Open Existing Address Book, or Quit program use cases, if the current address book has been changed since the last successful New, Open, Save, or Save As ... operation was done. A dialog box is displayed, informing the user that there are unsaved changes, and asking the user whether to save changes, not save changes, or cancel the operation. If the user chooses to save changes, the Save Address Book Use Case is executed (which may result in executing the Save Address Book As ... Use Case if there is no current file). If the user chooses not to save changes, the original operation is simply resumed. If the user chooses to cancel (or cancels the save file dialog if one is needed), the original operation is canceled. 15
  • 16. ï‚ž Save Address Book As Use Case • The Save Address Book As ... use case is initiated when the user chooses "Save As ..." from the File menu. (The Save As ... option is always available.) A save file dialog is displayed and the user is allowed to choose the name of a file in which to save the address book. (If the user cancels the file dialog, the Save As ... operation is canceled.) The current address book is saved to the specified file, and the file to which it was saved becomes the current file and its name is displayed as the title of the main window. (If attempting to write the file results in an error, a dialog box is displayed warning the user of the error, and the current file and main window title are unchanged.) In all cases, the current address book and window list are left unchanged. 16
  • 18. ï‚ž The software to be designed will control a simulated automated teller machine (ATM) having a magnetic stripe reader for reading an ATM card, a customer console (keyboard and display) for interaction with the customer, a slot for depositing envelopes, a dispenser for cash (in multiples of $20), a printer for printing customer receipts, and a key- operated switch to allow an operator to start or stop the machine. The ATM will communicate with the bank's computer over an appropriate communication link. (The software on the latter is not part of the requirements for this problem.) ï‚ž The ATM will service one customer at a time. A customer will be required to insert an ATM card and enter a personal identification number (PIN) - both of which will be sent to the bank for validation as part of each transaction. The customer will then be able to perform one or more transactions. The card will be retained in the machine until the customer indicates that he/she desires no further transactions, at which point it will be returned - except as noted below. 18
  • 19. ï‚ž The ATM must be able to provide the following services to the customer: 1. A customer must be able to make a cash withdrawal from any suitable account linked to the card, in multiples of $20.00. Approval must be obtained from the bank before cash is dispensed. 2. A customer must be able to make a deposit to any account linked to the card, consisting of cash and/or checks in an envelope. The customer will enter the amount of the deposit into the ATM, subject to manual verification when the envelope is removed from the machine by an operator. Approval must be obtained from the bank before physically accepting the envelope. 3. A customer must be able to make a transfer of money between any two accounts linked to the card. 4. A customer must be able to make a balance inquiry of any account linked to the card. ï‚ž A customer must be able to abort a transaction in progress by pressing the Cancel key instead of responding to a request from the machine. 19
  • 20. ï‚ž The ATM will communicate each transaction to the bank and obtain verification that it was allowed by the bank. Ordinarily, a transaction will be considered complete by the bank once it has been approved. In the case of a deposit, a second message will be sent to the bank indicating that the customer has deposited the envelope. (If the customer fails to deposit the envelope within the timeout period, or presses cancel instead, no second message will be sent to the bank and the deposit will not be credited to the customer.) ï‚ž If the bank determines that the customer's PIN is invalid, the customer will be required to re-enter the PIN before a transaction can proceed. If the customer is unable to successfully enter the PIN after three tries, the card will be permanently retained by the machine, and the customer will have to contact the bank to get it back. ï‚ž If a transaction fails for any reason other than an invalid PIN, the ATM will display an explanation of the problem, and will then ask the customer whether he/she wants to do another transaction. 20
  • 21. ï‚ž The ATM will provide the customer with a printed receipt for each successful transaction, showing the date, time, machine location, type of transaction, account(s), amount, and ending and available balance(s) of the affected account ("to" account for transfers). ï‚ž The ATM will have a key-operated switch that will allow an operator to start and stop the servicing of customers. After turning the switch to the "on" position, the operator will be required to verify and enter the total cash on hand. The machine can only be turned off when it is not servicing a customer. When the switch is moved to the "off" position, the machine will shut down, so that the operator may remove deposit envelopes and reload the machine with cash, blank receipts, etc. ï‚ž The ATM will also maintain an internal log of transactions to facilitate resolving ambiguities arising from a hardware failure in the middle of a transaction. Entries will be made in the log when the ATM is started up and shut down, for each message sent to the Bank (along with the response back, if one is expected), for the dispensing of cash, and for the receiving of an envelope. Log entries may contain card numbers and dollar amounts, but for security will never contain a PIN. 21
  • 22. ATM Simulation (Use Case Diagram) 22
  • 23. ï‚žSystem Startup Use Case • The system is started up when the operator turns the operator switch to the "on" position. The operator will be asked to enter the amount of money currently in the cash dispenser, and a connection to the bank will be established. Then the servicing of customers can begin. 23
  • 24. ï‚žSystem Shutdown Use Case • The system is shut down when the operator makes sure that no customer is using the machine, and then turns the operator switch to the "off" position. The connection to the bank will be shut down. Then the operator is free to remove deposited envelopes, replenish cash and paper, etc. • . 24
  • 25. ï‚ž Session Use Case ï‚ž A session is started when a customer inserts an ATM card into the card reader slot of the machine. The ATM pulls the card into the machine and reads it. (If the reader cannot read the card due to improper insertion or a damaged stripe, the card is ejected, an error screen is displayed, and the session is aborted.) The customer is asked to enter his/her PIN, and is then allowed to perform one or more transactions, choosing from a menu of possible types of transaction in each case. After each transaction, the customer is asked whether he/she would like to perform another. When the customer is through performing transactions, the card is ejected from the machine and the session ends. If a transaction is aborted due to too many invalid PIN entries, the session is also aborted, with the card being retained in the machine. The customer may abort the session by pressing the Cancel key when entering a PIN or choosing a transaction type. 25
  • 26. ï‚ž Transaction Use Case • Note: Transaction is an abstract generalization. Each specific concrete type of transaction implements certain operations in the appropriate way. The flow of events given here describes the behavior common to all types of transaction. The flows of events for the individual types of transaction (withdrawal, deposit, transfer, inquiry) give the features that are specific to that type of transaction. • A transaction use case is started within a session when the customer chooses a transaction type from a menu of options. The customer will be asked to furnish appropriate details (e.g. account(s) involved, amount). The transaction will then be sent to the bank, along with information from the customer's card and the PIN the customer entered. 26
  • 27. ï‚ž Transaction Use Case….. • If the bank approves the transaction, any steps needed to complete the transaction (e.g. dispensing cash or accepting an envelope) will be performed, and then a receipt will be printed. Then the customer will be asked whether he/she wishes to do another transaction. • If the bank reports that the customer's PIN is invalid, the Invalid PIN extension will be performed and then an attempt will be made to continue the transaction. If the customer's card is retained due to too many invalid PINs, the transaction will be aborted, and the customer will not be offered the option of doing another. • If a transaction is cancelled by the customer, or fails for any reason other than repeated entries of an invalid PIN, a screen will be displayed informing the customer of the reason for the failure of the transaction, and then the customer will be offered the opportunity to do another. • The customer may cancel a transaction by pressing the Cancel key as described for each individual type of transaction below. • All messages to the bank and responses back are recorded in the ATM's log. 27
  • 28. ï‚ž Withdrawal Transaction Use Case • A withdrawal transaction asks the customer to choose a type of account to withdraw from (e.g. checking) from a menu of possible accounts, and to choose a dollar amount from a menu of possible amounts. The system verifies that it has sufficient money on hand to satisfy the request before sending the transaction to the bank. (If not, the customer is informed and asked to enter a different amount.) If the transaction is approved by the bank, the appropriate amount of cash is dispensed by the machine before it issues a receipt. (The dispensing of cash is also recorded in the ATM's log.) • A withdrawal transaction can be cancelled by the customer pressing the Cancel key any time prior to choosing the dollar amount. 28
  • 29. ï‚ž Deposit Transaction Use Case • A deposit transaction asks the customer to choose a type of account to deposit to (e.g. checking) from a menu of possible accounts, and to type in a dollar amount on the keyboard. The transaction is initially sent to the bank to verify that the ATM can accept a deposit from this customer to this account. If the transaction is approved, the machine accepts an envelope from the customer containing cash and/or checks before it issues a receipt. Once the envelope has been received, a second message is sent to the bank, to confirm that the bank can credit the customer's account - contingent on manual verification of the deposit envelope contents by an operator later. (The receipt of an envelope is also recorded in the ATM's log.) • A deposit transaction can be cancelled by the customer pressing the Cancel key any time prior to inserting the envelope containing the deposit. The transaction is automatically cancelled if the customer fails to insert the envelope containing the deposit within a reasonable period of time after being asked to do so. 29
  • 30. ï‚ž Transfer Transaction Use Case • A transfer transaction asks the customer to choose a type of account to transfer from (e.g. checking) from a menu of possible accounts, to choose a different account to transfer to, and to type in a dollar amount on the keyboard. No further action is required once the transaction is approved by the bank before printing the receipt. • A transfer transaction can be cancelled by the customer pressing the Cancel key any time prior to entering a dollar amount. 30
  • 31. ï‚žInquiry Transaction Use Case • An inquiry transaction asks the customer to choose a type of account to inquire about from a menu of possible accounts. No further action is required once the transaction is approved by the bank before printing the receipt. • An inquiry transaction can be cancelled by the customer pressing the Cancel key any time prior to choosing the account to inquire about. • 31
  • 32. ï‚ž Invalid PIN Extension Use Case • An invalid PIN extension is started from within a transaction when the bank reports that the customer's transaction is disapproved due to an invalid PIN. The customer is required to re-enter the PIN and the original request is sent to the bank again. If the bank now approves the transaction, or disapproves it for some other reason, the original use case is continued; otherwise the process of re- entering the PIN is repeated. Once the PIN is successfully re-entered, it is used for both the current transaction and all subsequent transactions in the session. If the customer fails three times to enter the correct PIN, the card is permanently retained, a screen is displayed informing the customer of this and suggesting he/she contact the bank, and the entire customer session is aborted. • If the customer presses Cancel instead of re-entering a PIN, the original transaction is cancelled. 32
  • 33. ï‚žFinalize your Degree Project accurate Use Case Diagram ï‚žPrepare its MS Word document as well as MS PowerPoint Presentation ï‚žPrepare all groups for presentation any time after assignment submission. 33