ATM User Interface Design. Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM.

Slides:



Advertisements
Similar presentations
Context Diagram Yong Choi BPA CSUB.
Advertisements

ACM/JETT Workshop - August 4-5, :Design of Classes using CRC cards.
Chapter 4: Requirements Engineering
From use cases to classes (in UML). A use case for writing use cases Use case: writing a use case Actors: analyst, client(s) Client identifies and write.
Use Case Diagrams Damian Gordon.
Use Case & Use Case Diagram
Use Case Model. C-S 5462 Use case model describes what the user expects the system to do –functional requirements may describe only the functionalities.
9/10/2004Use Case Workshop 1 CSC480 Software Engineering Workshop 1 Requirements Modeling.
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Requirements and Design
Lecture 8 Electronic Commerce Modelling Techniques
ATM – requirements Team B Tom Hastjarjanto Martijn Nijenhof Ales Sturala Paul van der Ende.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Paul Deitel, CEO Deitel & Associates, Inc.. Contact Information  Paul Deitel, CEO  Deitel & Associates, Inc.  Twitter:  Facebook:
Information System Design IT60105
1 Classes. 2 Finding classes w Choosing classes is first step in defining essence of problem w If you can recognize an abstraction, you’ve found a candidate.
Lecture 9 Object-Oriented Analysis
Chapter 12 ATM Case Study, Part 1: Object-Oriented Design with the UML
Tutorial 2. What is a UML Use Case Diagram? Use case diagrams model the functionality of a system using actors and use cases. Use cases are services or.
Interaction Diagrams Activity Diagram State Machine Diagram
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Robustness Analysis Dr. Neal CIS 480. Outline What is robustness analysis? Key roles in robustness analysis Object types found in discovery Diagramming.
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
Lecture 4 Class Responsibility Collaboration Cards
Object Oriented Analysis Process
Inception What needs to be done? Describe the vision and business case for this project. Determine if the project is feasible. Determine if the enterprise.
Information for students Welcome to the S 3 P system. Login to the system by entering your User ID and password. The User ID is the same as your normal.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
 A data processing system is a combination of machines and people that for a set of inputs produces a defined set of outputs. The inputs and outputs.
McGraw-Hill/Irwin Introduction to QuickBooks Pro, 2004 © 2005 The McGraw-Hill Companies, Inc., All Rights Reserved. Chapter 4 Bank Reconciliation.
2013.  Reconcile your checking account  Create bank reconciliation reports  Find errors during reconciliation  Correct errors found during reconciliation.
Object-oriented Design CSCI 5801: Software Engineering.
Chapter 3 Use Cases.
Use Cases 2 ENGR ♯10 Peter Andreae
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Glenn David Blank Computer Science & Engineering Department Lehigh University, Bethlehem, PA, USA With support from the National Science Foundation (Grants.
Case Study :. Introduction The ATM network will consist of a large number of ATM machines distributed over a wide geographical area. The network must.
1 CMPT 275 Phase: Design. Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistance.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Chapter 14 System Testing.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
Faculty of Computer & Information Software Engineering Third year
SFWR ENG 3KO4 Software Development Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS) for the Automated Banking Machine.
SFWR ENG 3KO4 Software Development for Computer/Electrical Engineering Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS)
Information Systems Engineering Interaction Diagrams: Sequence Diagram Collbortion Diagram.
January Ron McFadyen1 January 2004 Assignment 1 Due: Friday Jan 23, Implement the ProductSpecification and Payment classes in any OO.
Verification & Validation. Batch processing In a batch processing system, documents such as sales orders are collected into batches of typically 50 documents.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Use Case Textual Analysis
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
25/2/16. 2 DVD MovieVHS MovieVideo Game Rental Item Rental Invoice 1..* 1 Customer Checkout Screen CusID Name Address Phonenumber Transactionlist.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Identification of Classes. Object Oriented Analysis (OOA) OOA is process by which we identify classes that play role in achieving system goals & requirements.
Bank Reconciliation Chapter 4. PAGE REF #CHAPTER 4: Bank Reconciliation SLIDE # 2 Objectives Reconcile your checking Create bank reconciliation reports.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
1 Case Study and Use Cases for Case Study Lecture # 28.
OPS Requirements Specification and Analysis Dustin Larson Bryan Campbell Charles Sears.
Elaboration popo.
CMPE 280 Web UI Design and Development August 29 Class Meeting
ATM OO Design and Implementation Case Study
Use Case Model.
OO Domain Modeling With UML Class Diagrams and CRC Cards
Concepts, Specifications, and Diagrams
Using Use Case Diagrams
Presentation transcript:

ATM User Interface Design

Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM a customer must first register an account number and a passcode number. The customer’s information is then added to a list of registered users. The ATM user interface consists of a keypad, a display window, a selection of choice options, and a help screen that displays instructions for completing an ATM transaction. Users are asked to enter their account number from the keypad followed by their passcode. If the customer is a valid user, instructions are given for choosing a transaction. During a transaction, the user’s account is accessed and updated. Upon completion of a transaction, the user may elect to make another transaction or to quit. A statement of requirements for a portion of the system may be extracted from the use cases and other Inception documents. A brief narrative is useful for identifying the problem domain objects (concepts). This prototype simulates the actual machine that includes a card reader and buttons implemented in the hardware.

Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM a customer must first register an account number and a passcode number. The customer’s information is then added to a list of registered users. The ATM user interface consists of a keypad, a display window, a selection of choice options, and a help screen that displays instructions for completing an ATM transaction. Users are asked to enter their account number from the keypad followed by their passcode. If the customer is a valid user, instructions are given for choosing a transaction. During a transaction, the user’s account is accessed and updated. Upon completion of a transaction, the user may elect to make another transaction or to quit. Identify the noun phrases and verb phrases in the narrative

List of Noun Phrases Bank customer Account Automatic teller machine ATM Account number Passcode number Customer information List of registered users ATM user interface Keypad Display window Help screen Selection of choice options Transaction Concept Redundant, same as ATM Concept Attribute Concept But in this example the ATM relates only to the user interface – same as ATM Concept InstructionsAttribute Text strings

Associations Customer accesses Account (via ATM) Customer Information is added to List of registered users ATM consists of Keypad, Display, Help screen, Selection of choice options Account is accessed by (ATM) ATM verifies Customer Information Implicit Customer has Account Keypad has Buttons Choice Selection uses Buttons Draw a Domain Model relating these Concepts

State Transition Diagram

Implementation of a Prototype To provide an illustration of the ATM user interface, we will implement an Applet that uses stubs to represent the Account, UserList, and CustomerInfo objects. The prototype shows a working model of the user interface with the message sequence that the customer will encounter. The purpose of the prototype is to examine the human factors issues relating to the interface and to make certain that there are no deadlocks or partial cycles and that each transaction will properly terminate and return the system to the welcome state. The ATM User Interface

Test Plan for the User Interface Prototype Test Plan for the Interface Prototype 1.Specify the paths through the system to be tested Welcome screen (ask for Account Number) (DIGITS + ENTER)  Passcode State (Ask for Passcode) (DIGITS + ENTER)  Select State (Show Options) (DEPOSIT or WITDRAW + ENTER)  Deposit State or Withdraw State (Key-in amount and press ENTER)  Other State (Ask if user wants to make another transaction) (CLEAR = NO)  Goodbye screen (if answer is NO) (CLEAR)  Welcome screen is returned Alternative paths from Select State User aborts transaction by pressing CLEAR  Goodbye (CLEAR)  Welcome User selects check balance (BALANCE)  Other State (CLEAR = NO)  Goodbye screen (CLEAR)  Welcome

Test Plan for User Interface Prototype Other Alternate Paths After a Deposit or Withdrawl make another transaction Deposit (ENTER)  Other State(ENTER = YES)  Select screen (BALANCE)  Other State (CLEAR = NO)  Goodbye screen (CLEAR)  Welcome Test that pressing ENTER before keying in the amount of the deposit or withdrawl will generate the appropriate error message recovery sequence. 2.When debugging and testing the prototype, keep a log of corrections and changes made in the code. You should NOT record simple errors like missing semicolons, missing parentheses, or misspelled identifiers, but errors that lead to changes in the code like adding the boolean hold flag to ensure that the goodbye screen would display after a balance check. Changes to the code made during debugging and testing can modify or override design decisions and should be documented for later review.

Results of Testing Errors Detected Account numbers and passcodes that are 9 digits or longer can cause integer overflow errors. If ENTER is pressed before an amount is indicated when performing a withdrawal, then ENTER must be pressed twice after an amount has been entered before the correct screen is displayed.

Plan for the Next Iteration Start Date: Sept. 9, 2004Due Date: Sept. 23, 2004 ArtifactComment Use cases: Withdrawal Deposit Check Balance Use cases describe the main sequence scenario and lists alternate sequence scenarios (to be developed in next iteration). Fully dressed use cases are begun for each of these goals. Use case diagrams From the Actor-Goal List, identify use cases and the actors that participate in each. Display the system boundary. Actor-Goal List Identify the stakeholders (and external systems) and make a list of the goals that each might have. State Model DiagramAdd error states for incorrect passcode – do not accept passcodes with more than 6 digits. Prototype Construct a table for verifying user accounts/passcode. Construct a database for user accounts and incorporate these data bases into the ATM simulation.

Homework Complete the artifacts listed in the iteration Plan. In particular: 1.Write use cases for Witrhdraw, Deposit, and Check Balance (as described in the comments.) 2.Construct an Actor-Goal List and Use Case Diagram. 3.Construct a Table for verifying account number/passcode pair. Assume that Account numbers are pre-assignned and let the passcodes be established at that time. (You may add the ability for a user to change his/her passcode as an option in this iteration. 4.Construct a database for user accounts. (A structure of your own creation holding account information and providing methods for performing transactions will suffice here.) 5.Incorporate the databases into the prototype system. Add checking of account number/passcode for valid user (and don’t allow passcode numbers greater than 6 digits). 6.Write a test plan for testing the prototype and perform test.