Banking System Case Study Using COMET Alessandro Siena Università di Genova Dipartimento di Informatica e Scienze dellInformazione.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

COMET Approach for UML Overview
Use Case & Use Case Diagram
Lecture 10 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
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.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
USE CASE – ATM EXAMPLE Actors: ATM Customer ATM Operator Use Cases: The customer can withdraw funds from a checking or savings account query the balance.
SWE 214 (071) Use Case Diagrams Slide 1 Use Case Diagrams Examples.
ATM Case Study A Discussion.
Ch 12: Object-Oriented Analysis
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Lecture 8 Electronic Commerce Modelling Techniques
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Information System Design IT60105
Interaction Diagrams Activity Diagram State Machine Diagram
Embedded Systems Details. Object Model: Four main system objects or classes Controller object might be made up of several controllers is the brains of.
Lecture 4 Class Responsibility Collaboration Cards
Object Oriented Analysis Process
Embedded Systems: Review and OMT modeling Slides by Gretel Coombs and Betty H.C. Cheng.
INTERACTION DIAGRAMS Example Kingdom of Saudi Arabia Ministry of Higher Education Princess Noura bint Abdulrahman University College of Computer & Information.
From Problem Statement to Design
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Use Cases 2 ENGR ♯10 Peter Andreae
Rational Unified Process (Part 1) CS3300 Fall 2015.
Case Study :. Introduction The ATM network will consist of a large number of ATM machines distributed over a wide geographical area. The network must.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 25. Review Design Level Class Diagram Identifying classes/Operations/Attributes Associations – Simple associations.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Faculty of Computer & Information
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
Use Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Information Systems Engineering Interaction Diagrams: Sequence Diagram Collbortion Diagram.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Unit 3 Functional Requirements. Syllabus Introduction Features and usecases Use case Scenarios Documenting use cases Levels of details SRS Document.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
1 LAB What is Collaboration diagram? 4 Collaboration diagrams illustrate the interaction between the objects, using static spatial structure. 4.
UML (Unified Modeling Language)
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Lecture Outline Monday 23 rd February (Week 4) 3 – 3:10pm Review of Requirements Eng. and use cases 3:10 – 3:40pm Exercise on Use Case 3:40-4:40 Class.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Requirements Document for the Banking System
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
1 Object-Oriented Static Modeling of the Banking System - II Lecture # 32.
1 Case Study and Use Cases for Case Study Lecture # 28.
UML Diagrams: Class Diagrams The Static Analysis Model
DFD(Data Flow Diagram)
Paul Ammann & Jeff Offutt
Use Case Modeling - II Lecture # 27.
Structured Analysis and Design Technique
ATM OO Design and Implementation Case Study
Copyright © 2014 Hassan Gomaa and Robert Pettit
Storyboarding and Game Design SBG, MBG620 Full Sail University
Dynamic Modeling of Banking System Case Study - I
Use Case Model.
Object-Oriented Static Modeling of the Banking System - I
Dynamic Modeling of Banking System Case Study - II
OO Domain Modeling With UML Class Diagrams and CRC Cards
UML Diagrams: The Static Model Class Diagrams
Paul Ammann & Jeff Offutt
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Object and class structuring
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Real-Time Structured Analysis and Design Technique (RSTAD)
Presentation transcript:

Banking System Case Study Using COMET Alessandro Siena Università di Genova Dipartimento di Informatica e Scienze dellInformazione

25/may/2001Banking System Case Study2 Summary COMET Software Life Cycle Model COMET Software Life Cycle Model COMET Software Life Cycle Model COMET Software Life Cycle Model The problem The problem The problem The problem Case study development Case study development Case study development Case study development

25/may/2001Banking System Case Study3 COMET Software Life Cycle Model Requirement Modeling Analysis Modeling Design Modeling Incremental Sw Construction Incremental Sw Integration System Testing Throwaway Prototyping Incremental Prototyping User CustomerCustomer

25/may/2001Banking System Case Study4 COMET Software Life Cycle Model Requirements Modeling A requirement model is developed; A requirement model is developed; Functional requirements are expressed as: Functional requirements are expressed as: –Actors –Use case (with narrative description) Essential: Essential: –User inputs –Active participation A throwaway prototype can be developed to clarify requirements

25/may/2001Banking System Case Study5 COMET Activities in Requirements Modeling The system is considered as a black box. Emphasis is on understanding the problem. Activities: use case modeling

25/may/2001Banking System Case Study6 COMET Software Life Cycle Model Analysis Modeling Static and dynamic models are developed; Static and dynamic models are developed; Static model: structural relationship among problem domain classes; Static model: structural relationship among problem domain classes; Dynamic model: use cases refinement; Dynamic model: use cases refinement; Collaboration diagram and/or sequence diagram. Collaboration diagram and/or sequence diagram.

25/may/2001Banking System Case Study7 COMET Activities in Analysis Modeling The analysis of the problem domain is considered. Activities: static modeling; object structuring; finite state machines modeling; dynamic modeling.

25/may/2001Banking System Case Study8 COMET Software Life Cycle Model Design Modeling The software architecture of the system is designed; The software architecture of the system is designed; Analysis model Design model; Analysis model Design model; System Subsystems; System Subsystems; Concurrent/Sequential; Concurrent/Sequential;

25/may/2001Banking System Case Study9 COMET Activities in Design Modeling The solution domain is considered. The analysis model is mapped to a concurrent design model. Activities: develop consolidate object collaboration diagram; decide subsystem structuring; decide about: obj s, msg s ; develop a detailed sw design.

25/may/2001Banking System Case Study10 COMET Software Life Cycle Model Incremental Sw Construction For each subset of the system to be constructed: –detailed design, –coding, –testing, of each class in the subset. The Sw is gradually constructed.

25/may/2001Banking System Case Study11 COMET Software Life Cycle Model Incremental Sw Integration Integration testing of each sw increment is performed; Integration testing of each sw increment is performed; Integration test cases are developed for each use case; Integration test cases are developed for each use case; The interface between objects are tested. The interface between objects are tested.

25/may/2001Banking System Case Study12 COMET Software Life Cycle Model System Testing Functional testing of the system; Functional testing of the system; Functional test case are built for each black box use case; Functional test case are built for each black box use case; Any sw increment released to the customer needs to go through this phase. Any sw increment released to the customer needs to go through this phase.

25/may/2001Banking System Case Study13 The Problem (draw) Bank Server wan ATM

25/may/2001Banking System Case Study14 The Problem A customer can: Withdraw funds Withdraw funds Query an account Transfer funds Transfer funds Delete a transaction in any moment so: The transaction is aborted The card is ejected Customer records, account records debit card records are all mantained on the server.

25/may/2001Banking System Case Study15 The Problem (withdraw funds) Before approving: –Do sufficient funds exist? –Is the max limit excedeed? –Is there sufficient cash in the dispenser? If approved: –Cash is dispensed; –A receipt is printed; –The card is ejected

25/may/2001Banking System Case Study16 The Problem (transfer funds) Before approving: –Has the customer at least two accounts? –Are there sufficient funds in the account to be debited? If approved: –A receipt is printed; –The card is ejected

25/may/2001Banking System Case Study17 The Problem A transaction starts when: Card is inserted Card is recognized (assumed true) Card validated PIN is inserted & validated The customer is allowed three attempts to enter the correct PIN; if the 3 rd attempt fails the card is confiscated.

25/may/2001Banking System Case Study18 The Problem A card is composed by: A magnetic strip in which encodes: Start date; Expiration date; Serial n.

25/may/2001Banking System Case Study19 The Problem An ATM operator can: Start up and close down the ATM to replenish the cash dispenser for routine maintenance

25/may/2001Banking System Case Study20 The Problem (what is not in) It is assumed that functionality such as open/close accounts create/update/delete customer and cards is provided by an existing system and is not part of the problem. During modeling the Bank Server should be considered as part of the problem

25/may/2001Banking System Case Study21 Case study development Use case model Static modeling Object structuring Dinamic modeling

25/may/2001Banking System Case Study22 Use Case Model Two users/actors: Two users/actors: »ATM customer »ATM operator An actor represents a role An actor represents a role multiple actors&operators multiple actors&operators

25/may/2001Banking System Case Study23 Use Case Model Validate PIN Withdraw funds Val.PIN Withdraw Funds Transfer Funds Query Account ATM Customer Operator Add CashShutdownRestart > Use case diagram

25/may/2001Banking System Case Study24 Use case Model (Validate PIN Abstract use case) Use case name: Validate PIN Summary: system validates customer PIN Actor: ATM customer Pre: ATM is idle, displaying a welcome msg Description: 1. Customer inserts … 2. …… Alternatives: …… Post: Customer PIN has been validated

25/may/2001Banking System Case Study25 Use Case Model (Withdraw funds Concrete Use Case) Use case name: Withdraw funds Summary: Customer withdraws a specific amount of funds from a valid bank account Actor: ATM customer Pre: ATM is idle, displaying a welcome msg Description: 1. Include Validate PIN abstract use case 2. Customer selects withdrawal, enter amounts,… 2. Customer selects withdrawal, enter amounts,… 3. … … 3. … … Alternatives: …… Post: Customer funds have been withdrawn

25/may/2001Banking System Case Study26 Static Modeling Attention is focused on Problem Domain and System Context Attention is focused on Problem Domain and System Context The result is a Conceptual Static Model The result is a Conceptual Static Model Problem domain System Context Static Model

25/may/2001Banking System Case Study27 Static Modeling of the Problem Domain Physical entity: Physical entity: –Dispenser (cash) –Printer (receipt) –Card Reader (card) External users: External users: –Operator (keyboard/display) –Customer (keyboard/display)

25/may/2001Banking System Case Study28 Conceptual Static Modeling for the Problem Domain: physical classes BankATM has 1..* 1 Customer Interface

25/may/2001Banking System Case Study29 Static Modeling of the System Context Developed to show the external classes to which the Banking System (aggregate class) has to interface. The context class diagram is developed considering physical classes determined during static modeling of the problem domain (one instance of these external classes for each ATM). context class context class External classes ~ users & I/O devices (fig.) fig.

25/may/2001Banking System Case Study30 Static Modeling Banking System context class diagram Customer Interface

25/may/2001Banking System Case Study31 Static Modeling of the Entity Classes Both transaction and account are the generalization of more specialized classes Both transaction and account are the generalization of more specialized classes Entity classes are also required to model the Physical classes Entity classes are also required to model the Physical classes Entity classes Entity classes –ATM Card : info read from the magnetic strip –ATM Cash : amount of cash maintained in ATM –Receipt : info about a transaction (unnecessary because holds info similar to Transaction class

25/may/2001Banking System Case Study32 Conceptual Static Model for Problem Domain: entity classes

25/may/2001Banking System Case Study33 Conceptual Static Model for Banking System: Class Attributes (partial) «entity» Bank bankName: String bankAddress: String «entity» DebitCard accountNumber: String amount: Real balance: Real (continues…)

25/may/2001Banking System Case Study34 Object Structuring Structuring the system into objects for the dynamic model definitions. Structuring the system into objects for the dynamic model definitions. –Objects and classes are determined –For each use case a collaboration (or sequence) diagram is developed

25/may/2001Banking System Case Study35 Object Structuring Client/Server Subsystem Structuring (1) Subsystems are easily identifiable Subsystems are easily identifiable Subsystems –ATM Client Subsystem –Bank Server Subsystem ATM Customer executes both client/server ATM Customer executes both client/server ATM Operator executes entirely on client ATM Operator executes entirely on client Bank Server ATM

25/may/2001Banking System Case Study36 Object Structuring Major Subsystems

25/may/2001Banking System Case Study37 Object Structuring Client/Server Subsystem Structuring (2) Client/Server use caseuse case Client Side use caseServer Side use case

25/may/2001Banking System Case Study38 Object Structuring Subsystem packaging of use cases

25/may/2001Banking System Case Study39 ATM Client Object Structuring: Interface Objects Banking system is seen as a package Banking system is seen as a package Foreach external class one interface class Foreach external class one interface class One instance of each interface classes for each ATM One instance of each interface classes for each ATM From System Context Diagram to Interface ObjectsSystem Context Diagram Interface Objects

25/may/2001Banking System Case Study40 Banking System external classes and interface class Customer Interface

25/may/2001Banking System Case Study41 ATM Client Object Structuring: Objects in Use Cases Each use case is considered Each use case is considered All the objs participating in use case are determined All the objs participating in use case are determined What is used? (to do what?) What is used? (to do what?) Where info should be stored? Where info should be stored? Is something missing? Is something missing? Result: classes in ATM class subsystem shown as a package

25/may/2001Banking System Case Study42 ATM Client Subsystem Classes

25/may/2001Banking System Case Study43 Object Structuring in Server Subsystem What is in: What is in: –Objs accessible from each ATM ( customer, account, debit card ) –Entity classes »Customer, Account ( Superclass ), Checking/Saving Account ( Subclasses ), Debit Card »ATM Transaction obj migrates from client to server –Business Logic »PIN Validation, TransactionManager, WithdrawalTransactionManager, QueryTransactionManager, TransferTransactionManager

25/may/2001Banking System Case Study44 Dynamic Modeling Depicts interaction among objs participating in each use case Depicts interaction among objs participating in each use case Starting point: Starting point: –Use cases & objs determined in Objs Structuring Sequence of inter-objs comunications are shown (with both sequence or collaboration diagram) Sequence of inter-objs comunications are shown (with both sequence or collaboration diagram)sequence collaborationsequence collaboration

25/may/2001Banking System Case Study45 Dynamic Modeling (2) The system is structured in client & server side The system is structured in client & server side The use cases were divided into abstract client and server use case The use cases were divided into abstract client and server use case The collaboration diagram are structured for client and server subsystems The collaboration diagram are structured for client and server subsystems clientserver clientserver Statecharts shown form state-dependent use cases Statecharts shown form state-dependent use cases Statecharts

25/may/2001Banking System Case Study46 Collaboration diagram: ATM Client Validate PIN use case Server Side

25/may/2001Banking System Case Study47 Collaboration diagram: ATM Server Validate PIN use case

25/may/2001Banking System Case Study48 Sequence Diagram: ATM Client Validate PIN use case

25/may/2001Banking System Case Study49 Statechart for ATM Control: ATM Client Validate PIN use case

25/may/2001Banking System Case Study50 Toplevel Statechart for ATM Control

25/may/2001Banking System Case Study51 Statechart for ATM Control: Processing Customer Input superstate