(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

Similar documents
Object-Oriented Analysis, Design and Implementation. Case Study Part II

Unified Modeling Language (UML)

Introduction to Classes and Objects Pearson Education, Inc. All rights reserved.

Introduction to Classes and Objects

470 C h a p ter 2 A T M C a s e S tu dy, P a rt : O b jec t-o riented D es ign w ith th e U M L 2. C ase S tud y Introd uction 2.2 E xam ining the R e

The Object-Oriented Design Process

UML Is Not a Methodology

Object Oriented Methods with UML

Relationships. Association Aggregation/Composition Multiplicity Dependencies

Conceptual and Logical Design

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017

Sofware Requirements Engineeing

Introduction to C++ Programming Pearson Education, Inc. All rights reserved.

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account

Header Description: This use case describes how the ATM user withdraws cash from the ATM.

UML Class Diagrams Revisited

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Systems Development: Using the Unified Modeling Language

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Modern Systems Analysis and Design Seventh Edition

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development


ATM Audio Users Guide

Use C ases Cases 7/09

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

OBJECT-ORIENTED MODELING AND DESIGN. Domain Analysis

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

Object-Oriented Systems Analysis and Design Using UML

UML Tutorial. Unified Modeling Language UML Tutorial

Lab 3 Finite State Machines Automated Teller Machine

CPS122 Lecture: Detailed Design and Implementation

Design First ITS Instructor Tool

Basic Structural Modeling. Copyright Joey Paquet,

Object-Oriented and Classical Software Engineering

Unified Modeling Language (UML) Class Diagram

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Steps in Using COMET/UML

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

Restricted Use Case Modeling Approach

3. How do I transfer money using PesaLink from my ABC Bank account?

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Administrivia. IBM Info Session Date: Wed,, Jan 13 Time: 5:30 7 pm Location: Wesbrook 100

Practical UML - A Hands-On Introduction for Developers

A l Ain University Of Science and Technology

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

Database Management System 5 ER Modeling

Software Engineering Lab Manual

Customer Bank Account System Requirement

HSBC Talking ATMs. Instructions and Guidance Handbook

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Chapter 5: Structural Modeling

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Working with VIEW. Page 1

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 14 - Course Review

Working with VIEW Datamatic All rights reserved.

Object Oriented Modeling and Design

Practical UML : A Hands-On Introduction for Developers

Frequently Asked Questions

Requirements document for an automated teller machine. network

CS 451 Software Engineering

emobile Banking emobile Web Banking Requirements Enrolling through Online Banking

Introduction to Unified Modelling Language (UML)

06. Analysis Modeling

Criticality Factor of Modules with the Application of Modified Neighborhood Integration Testing and Initiating Build Testing

The Hong Kong Polytechnic University

OBJECT ORIENTED MODELLING & DESIGN 1

BASICS OF UML (PART-2)

PNB KIOSK BANKING SOLUTION KBS MANUAL FOR BCAs

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

ECE 462 Object-Oriented Programming using C++ and Java. Flickering and Double Buffering

Banking System Upgrade - Frequently Asked Questions (FAQs)

In addition to these resources, our staff will be on hand to help walk you through any questions or concerns you have post-conversion.

A l Ain University Of Science and Technology

Software Engineering Fall 2014

PAC Bank Functions. Page 1 of 17

MechEng SE3 Lecture 7 Domain Modelling

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

Unit Wise Questions. Unit-1 Concepts

The Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL

Lecture Notes. Structured Systems Analysis

Lecture 09. Spring 2018 Borough of Manhattan Community College

External Transfers Add and Verify Accounts

OOPD UNIT V OBJECT MODELLING USING UML OVERVIEW OF BASIC OBJECT-ORIENTATION CONCEPTS

UML Views of a System

Introduction to UML Dr. Rajivkumar S. Mente

LunchTime Web Portal. Parents Guide to Getting Started

Technology Upgrade User Guide

TexConnect Online User Guide

CS211 Lecture: Design Quality; Cohesion and Coupling; Packages

CS 451 Software Engineering

UML Primer. -Elango Sundaram

Payment Systems Statistics

Object-Oriented Design and Modeling Using the UML

An Introduction to Business Process Modeling using Data Flow Diagrams

Transcription:

Dr. Marenglen Biba

In Chapters 12 13, you design and implement an object-oriented automated teller machine (ATM) software system. Concise, carefully paced, complete design and implementation experience. Perform the steps of an object-oriented design (OOD) process using the UML Sections 12.2 12.7 and 13.2 13.3 Relate these steps to the object-oriented concepts discussed in Chapters 2 10 Work with UML diagrams Chapter 13 tune the design with inheritance, then fully implement the ATM. An end-to-end learning experience that concludes with a detailed walkthrough of the complete Java code. (C) 2010 Pearson Education, Inc. All

A local bank intends to install a new automated teller machine (ATM) to allow users (i.e., bank customers) to perform basic financial transactions Each user can have only one account at the bank. ATM users view their account balance withdraw cash deposit funds (C) 2010 Pearson Education, Inc. All

ATM user interface: a screen that displays messages to the user a keypad that receives numeric input from the user a cash dispenser that dispenses cash to the user and a deposit slot that receives deposit envelopes from the user. The cash dispenser begins each day loaded with 500 $20 bills. (C) 2010 Pearson Education, Inc. All

The analysis stage focuses on defining the problem to be solved. When designing any system, one must solve the problem right, but of equal importance, one must solve the right problem. Our requirements document describes the requirements of our ATM system in sufficient detail that you need not go through an extensive analysis stage it s been done for you. (C) 2010 Pearson Education, Inc. All

Use case modeling identifies the use cases of the system, each representing a different capability that the system provides to its clients. View Account Balance Withdraw Cash Deposit Funds Each use case describes a typical scenario for which the user uses the system. (C) 2010 Pearson Education, Inc. All

The UML 2 standard specifies 13 diagram types for documenting the system models. Each models a distinct characteristic of a system s structure or behavior six diagrams relate to system structure, the remaining seven to system behavior. We list only the two diagram types used in our case study. (C) 2010 Pearson Education, Inc. All

Use case diagrams model the interactions between a system and its external entities (actors) in terms of use cases. Class diagrams model the classes, or building blocks, used in a system. (C) 2010 Pearson Education, Inc. All

Identify the classes that are needed to build the system by analyzing the nouns and noun phrases that appear in the requirements document. We introduce UML class diagrams to model these classes. Important first step in defining the system s structure. Review the requirements document and identify key nouns and noun phrases to help us identify classes that comprise the ATM system. We may decide that some of these nouns and noun phrases are actually attributes of other classes in the system. We may also conclude that some of the nouns do not correspond to parts of the system and thus should not be modeled at all. Additional classes may become apparent to us as we proceed through the design process. (C) 2010 Pearson Education, Inc. All

We create classes only for the nouns and noun phrases that have significance in the ATM system. Though the requirements document frequently describes a transaction in a general sense, we do not model the broad notion of a financial transaction at this time. Instead, we model the three types of transactions (i.e., balance inquiry, withdrawal and deposit ) as individual classes. These classes possess specific attributes needed for executing the transactions they represent. (C) 2010 Pearson Education, Inc. All

Classes: ATM screen keypad cash dispenser deposit slot account bank database balance inquiry withdrawal deposit (C) 2010 Pearson Education, Inc. All

The UML enables us to model, via class diagrams, the classes in the ATM system and their interrelationships. Figure 12.6 represents class ATM. Each class is modeled as a rectangle with three compartments. The top one contains the name of the class centered horizontally in boldface. The middle compartment contains the class s attributes. The bottom compartment contains the class s operations. (C) 2010 Pearson Education, Inc. All

The solid line that connects the two classes represents an association a relationship between classes. The numbers near each end of the line are multiplicity values, which indicate how many objects of each class participate in the association. At any given moment, one ATM object participates in an association with either zero or one Withdrawal objects zero if the current user is not currently performing a transaction or has requested a different type of transaction, and one if the user has requested a withdrawal. Figure 12.8 lists and explains the multiplicity types. (C) 2010 Pearson Education, Inc. All

In Fig. 12.9, the solid diamonds attached to the ATM class s association lines indicate that ATM has a composition relationship with classes Screen, Keypad, CashDispenser and DepositSlot. Composition implies a whole/part relationship. The class that has the composition symbol (the solid diamond) on its end of the association line is the whole (in this case, ATM), and the classes on the other end of the association lines are the parts. (C) 2010 Pearson Education, Inc. All

Composition relationships have the following properties: Only one class in the relationship can represent the whole The parts in the composition relationship exist only as long as the whole does, and the whole is responsible for the creation and destruction of its parts. A part may belong to only one whole at a time, although it may be removed and attached to another whole, which then assumes responsibility for the part. If a has-a relationship does not satisfy one or more of these criteria, the UML specifies that hollow diamonds be attached to the ends of association lines to indicate aggregation a weaker form of composition. (C) 2010 Pearson Education, Inc. All

Classes have attributes (data) and operations (behaviors). Class attributes are implemented in Java programs as fields, and class operations are implemented as methods. In this section, we determine many of the attributes needed in the ATM system. Look for descriptive words and phrases in the requirements document. (C) 2010 Pearson Education, Inc. All

An operation is a service that objects of a class provide to clients (users) of the class. We can derive many of the class operations by examining the key verbs and verb phrases in the requirements document. The verb phrases in Fig. 12.16 help us determine the operations of each class. (C) 2010 Pearson Education, Inc. All