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.

Slides:



Advertisements
Similar presentations
Context Diagram Yong Choi BPA CSUB.
Advertisements

Use Case Diagrams Damian Gordon.
Use Case & Use Case Diagram
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.
Debit Card Plastic card that looks like a credit card
UML and Systems Analysis MIS3502: Application Integration and Evaluation David Schuff
Personal Finance.  Four common Financial Institutions  Commercial banks  Savings and loan associations (S&Ls)  Credit Unions  Brokerage Firms.
Lecture 8 Electronic Commerce Modelling Techniques
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
CS3773 Software Engineering Lecture 03 UML Use Cases.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
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
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.
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
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Lecture 4 Class Responsibility Collaboration Cards
Object Oriented Analysis Process
{ How to Use An ATM A simple tutorial to teach how to use ATM Machines.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
CMPT 275 Software Engineering
Object-oriented Design CSCI 5801: Software Engineering.
From Problem Statement to Design
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.
1 Source: IBM Academic Program IBM Software Group ® Mastering Requirements Management with Use Cases Module 3: Introduction to Use-Case Modeling.
Faculty of Computer & Information Software Engineering Third year
Chapter 6 A Use-Case-Driven Process. 2 Definitions The choice of models and the choice of techniques used to express them have a significant impact on.
UML basics UML distilled, a brief guide to the standard Modeling language, by Martin Fowler, 2000.
Chapter 3, Section 3 ELECTRONIC BANKING.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Business Mathematics Seminar 2. Round to a Specific Decimal Place 1. Find the digit in the specified place. 2. Look at the next digit to the right. –If.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 9 – More on objects and classes Dr Richard.
MCS 270 Spring 2014 Object-Oriented Software Development.
SFWR ENG 3KO4 Software Development Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS) for the Automated Banking Machine.
Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.
SFWR ENG 3KO4 Software Development for Computer/Electrical Engineering Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS)
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
January Ron McFadyen1 January 2004 Assignment 1 Due: Friday Jan 23, Implement the ProductSpecification and Payment classes in any OO.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
GOALS BUSINESS MATH© Thomson/South-WesternLesson 3.2Slide 1 3.2Electronic Banking Record electronic banking transactions Find account balance when banking.
Learning Intentions Explain what an ATM is and the facilities offered Identify the stages of withdrawing cash from an ATM List the advantages and disadvantages.
MODULE:VII OBJECT ANALYSIS: CLASSIFICATION
Unit-3 Identifying use cases Object Analysis Classification
SYSTEMSDESIGNANALYSIS 1 OO: Chapter 4 Process Modeling Jerry Post Copyright © 1997.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Identification of Classes. Object Oriented Analysis (OOA) OOA is process by which we identify classes that play role in achieving system goals & requirements.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Do Now Why do people have checking accounts?. Unit 4: Lesson 13: Checking Accounts Day 1 Objective: identify vocabulary terms related to checking accounts.
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
Developing Business Processes Developing an activity diagram of the business processes can provide us with an overall view of the system.
Inf 43: Introduction to Software Engineering May 7, 2016.
1 Case Study and Use Cases for Case Study Lecture # 28.
Using Use Case Diagrams
Use Case Modeling - II Lecture # 27.
ATM OO Design and Implementation Case Study
Dynamic Modeling of Banking System Case Study - I
Object-Oriented Static Modeling of the Banking System - I
Exercices & Corrections Week 3
Object Analysis: Classification
OO Domain Modeling With UML Class Diagrams and CRC Cards
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Using Use Case Diagrams
Presentation transcript:

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 those classes 3.Define the attributes and methods of those classes 4.Model the relationships between those classes From the text book P79.

3 Develop use cases, activity diagrams Identify classes, relationships, and methods Develop interaction diagrams Refine and iterate

4 Actors:

5 An actor is a user playing a role with respect to the system.

6 Actors: An actor is a user playing a role with respect to the system. An actor is the key to finding the correct use cases.

7 Actors: An actor is a user playing a role with respect to the system. An actor is the key to finding the correct use cases. An actor can be an external system. Use cases:

8 Actors: An actor is a user playing a role with respect to the system. An actor is the key to finding the correct use cases. An actor can be an external system. Use cases: A use case is a sequence of transactions in a system whose task is to yield results of measurable value to an individual actor of the system. Transaction

9 Actors: An actor is a user playing a role with respect to the system. An actor is the key to finding the correct use cases. An actor can be an external system. Use cases: A use case is a sequence of transactions in a system whose task is to yield results of measurable value to an individual actor of the system. Transaction is an atomic set of activities that are performed either fully or not at all.

10 Actors: An actor is a user playing a role with respect to the system. An actor is the key to finding the correct use cases. An actor can be an external system. Use cases: A use case is a sequence of transactions in a system whose task is to yield results of measurable value to an individual actor of the system. Transaction is an atomic set of activities that are performed either fully or not at all. Use case is a special flow of events through the system. However, many courses of events are possible, so we must group the courses of events and call each group a use case class.

11 Library Borrow books Return books Interlibrary loan Do research Read books, newspaper Purchase supplies Member Circulation clerk Supplier

12 Dividing use cases into packages For example, in a library system, the various scenarios involve a member borrowing books, a member do research, or a supplier providing books.

13 How to use > and >

Irrelevant Classes 14 Classes identification – Fuzzy Classes Relevant Classes

15 Classes identification – 1.The noun phrase approach 2.The use case driven (Sequence/collaboration modeling approach) 3.Classes, Responsibilities, and Collaborators (CRC) approach

16 The noun phrase approach Look for nouns and noun phrases in the use cases. Some classes are implicit or taken from general knowledge All classes must make sense in the application domain.

17 Common mistake – use case refers to a process (not a class) Use case can contain many classes The same class can occur in many different use cases Example: Using ATM machine Step 1: insert ATM card Step 2: enter PIN number Step 3: may/may not do something Step 4: Remove the ATM Card

18 A simple ATM system use cases – Deactivate ATM Withdraw money Deposit money Check balance Transfer money Print audit log Cardholder Bank employee Validate pin >

19 The noun phrase approach Initial list of noun phrases: Candidate Classes Account Account Balance Amount Approval Process ATM Card ATM Machine Bank Bank Client Card Cash Check Checking Account Client Client’s Account Currency Dollar Envelope Four Digits Fund Invalid Pin Money Password PIN PIN Code Record Savings Account System Step Teletubbie Transaction Transaction History etc.,

20 The noun phrase approach Eliminate the irrelevant Classes

21 The noun phrase approach Eliminate the irrelevant Classes Account Account Balance Amount Approval Process ATM Card ATM Machine Bank Bank Client Card Cash Check Checking Account Client Client’s Account Currency Dollar Envelope Four Digits Fund Invalid Pin Money Password PIN PIN Code Record Savings Account System Step Teletubbie Transaction Transaction History etc.,

22 The noun phrase approach Reviewing the Redundant Classes and Building a Common Vocabulary Account Account Balance Amount Approval Process ATM Card ATM Machine Bank Bank Client Card Cash Check Checking Account Client Client’s Account Currency Dollar Envelope Four Digits Fund Invalid Pin Money Password PIN PIN Code Record Savings Account System Step Teletubbie Transaction Transaction History etc.,

23 The noun phrase approach Reviewing the Redundant Classes and Building a Common Vocabulary

24 The noun phrase approach Reviewing the Redundant Classes and Building a Common Vocabulary Account, Client’s Account = Account

25 The noun phrase approach Reviewing the Redundant Classes and Building a Common Vocabulary Account, Client’s Account = Account ATM Card, Card = ATM Card

26 The noun phrase approach Reviewing the Redundant Classes and Building a Common Vocabulary Account, Client’s Account = Account ATM Card, Card = ATM Card Client, Bank Client = Bank Client

27 The noun phrase approach Reviewing the Redundant Classes and Building a Common Vocabulary Account, Client’s Account = Account ATM Card, Card = ATM Card Client, Bank Client = Bank Client Fund, Money = Fund

28 The noun phrase approach Reviewing the Redundant Classes and Building a Common Vocabulary Account, Client’s Account = Account ATM Card, Card = ATM Card Client, Bank Client = Bank Client Fund, Money = Fund PIN, PIN Code = PIN

29 The noun phrase approach Revised list - Reviewing the Redundant Classes and Building a Common vocabulary Account Account Balance Amount Approval Process ATM Card ATM Machine Bank Bank Client Card Cash Check Checking Account Client Client’s Account Currency Dollar Envelope Four Digits Fund Invalid Pin Money Password * PIN PIN Code Record Savings Account System Step Teletubbie Transaction Transaction History etc.,

30 The noun phrase approach Reviewing the Possible Attributes

31 The noun phrase approach Reviewing the Possible Attributes Account Balance: An attribute of the Account class

32 The noun phrase approach Reviewing the Possible Attributes Account Balance: An attribute of the Account class Amount: A value, not a class

33 The noun phrase approach Reviewing the Possible Attributes Account Balance: An attribute of the Account class Amount: A value, not a class Invalid PIN: It is only a value, not a class

34 The noun phrase approach Reviewing the Possible Attributes Account Balance: An attribute of the Account class Amount: A value, not a class Invalid PIN: It is only a value, not a class Password: An attribute, possibly of the Bank Client class

35 The noun phrase approach Reviewing the Possible Attributes Account Balance: An attribute of the Account class Amount: A value, not a class Invalid PIN: It is only a value, not a class Password: An attribute, possibly of the Bank Client class PIN: An attribute, possibly of the Bank Client class.

36 The noun phrase approach Reviewing the Possible Attributes Account Balance: An attribute of the Account class Amount: A value, not a class Invalid PIN: It is only a value, not a class Password: An attribute, possibly of the Bank Client class PIN: An attribute, possibly of the Bank Client class. Transaction History: An attribute, possibly of the Transaction class

37 The noun phrase approach Revised list - Reviewing the Possible Attributes Account Account Balance Amount Approval Process ATM Card ATM Machine Bank Bank Client Card Cash Check Checking Account Client Client’s Account Currency Dollar Envelope Four Digits Fund Invalid Pin Money Password * PIN PIN Code Record Savings Account System Step Teletubbie Transaction Transaction History etc.,

38 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it.

39 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it. Account class: An Account class is a formal (abstract) class, it defines the common behaviors that can be inherited by more specific classes such as Checking Account and Savings Account

40 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it. Account class: An Account class is a formal (abstract) class, it defines the common behaviors that can be inherited by more specific classes such as Checking Account and Savings Account ATM Card class: Provides a client with a key to an account

41 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it. Account class: An Account class is a formal (abstract) class, it defines the common behaviors that can be inherited by more specific classes such as Checking Account and Savings Account ATM Card class: Provides a client with a key to an account ATM Machine class: Provides an interface to the ABC Bank

42 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it. Account class: An Account class is a formal (abstract) class, it defines the common behaviors that can be inherited by more specific classes such as Checking Account and Savings Account ATM Card class: Provides a client with a key to an account ATM Machine class: Provides an interface to the ABC Bank Bank class: Bank clients belongs to the Bank. It is a repository of accounts and processes the accounts’ transactions

43 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it. Account class: An Account class is a formal (abstract) class, it defines the common behaviors that can be inherited by more specific classes such as Checking Account and Savings Account ATM Card class: Provides a client with a key to an account ATM Machine class: Provides an interface to the ABC Bank Bank class: Bank clients belongs to the Bank. It is a repository of accounts and processes the accounts’ transactions Bank Client class: A client is an individual that has a checking account and/or a savings account

44 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it. Account class: An Account class is a formal (abstract) class, it defines the common behaviors that can be inherited by more specific classes such as Checking Account and Savings Account ATM Card class: Provides a client with a key to an account ATM Machine class: Provides an interface to the ABC Bank Bank class: Bank clients belongs to the Bank. It is a repository of accounts and processes the accounts’ transactions Bank Client class: A client is an individual that has a checking account and/or a savings account Checking Account class: It models a client’s checking account and provides more specialized withdrawal service.

45 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it. Account class: An Account class is a formal (abstract) class, it defines the common behaviors that can be inherited by more specific classes such as Checking Account and Savings Account ATM Card class: Provides a client with a key to an account ATM Machine class: Provides an interface to the ABC Bank Bank class: Bank clients belongs to the Bank. It is a repository of accounts and processes the accounts’ transactions Bank Client class: A client is an individual that has a checking account and/or a savings account Checking Account class: It models a client’s checking account and provides more specialized withdrawal service. Savings Account class: It models a client’s savings account.

46 The noun phrase approach Reviewing the Class Purpose – each class must have a purpose. If we cannot formulate a statement of purpose for a class, simply eliminate it. Account class: An Account class is a formal (abstract) class, it defines the common behaviors that can be inherited by more specific classes such as Checking Account and Savings Account ATM Card class: Provides a client with a key to an account ATM Machine class: Provides an interface to the ABC Bank Bank class: Bank clients belongs to the Bank. It is a repository of accounts and processes the accounts’ transactions Bank Client class: A client is an individual that has a checking account and/or a savings account Checking Account class: It models a client’s checking account and provides more specialized withdrawal service. Savings Account class: It models a client’s savings account. Transaction class: Keeps track of transaction, time, date, type, amount, and balance

47 The noun phrase approach Revised list - Reviewing the Possible Attributes – revised list Account Account Balance Amount Approval Process ATM Card ATM Machine Bank Bank Client Card Cash Check Checking Account Client Client’s Account Currency Dollar Envelope Four Digits Fund Invalid Pin Money Password * PIN PIN Code Record Savings Account System Step Teletubbie Transaction Transaction History etc.,