Object Oriented Analysis Process

Slides:



Advertisements
Similar presentations
Chapter 4: Requirements Engineering
Advertisements

Design by Contract.
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.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
9/10/2004Use Case Workshop 1 CSC480 Software Engineering Workshop 1 Requirements Modeling.
UML and Systems Analysis MIS3502: Application Integration and Evaluation David Schuff
Lecture 8 Electronic Commerce Modelling Techniques
A Linguistics-Based Approach for Use Case Driven Analysis Using Goal and Scenario Authoring Vijayan Sugumaran Oakland University Rochester, Michigan, USA.
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.
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.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
Use-case Modeling.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
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
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Chapter 7: The Object-Oriented Approach to Requirements
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
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
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.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
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.
Faculty of Computer & Information
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
UML-1 3. Capturing Requirements and Use Case Model.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
UML-1 8. Capturing Requirements and Use Case Model.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Week IV in SOS  Tuesday Project Time -- 4:15pm-5pm URL for project(s) due to Judy by Friday 5pm  Friday Paper  OOAD Handouts thru last Thursday (see.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Unit-3 Identifying use cases Object Analysis Classification
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Identification of Classes. Object Oriented Analysis (OOA) OOA is process by which we identify classes that play role in achieving system goals & requirements.
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Developing Business Processes Developing an activity diagram of the business processes can provide us with an overall view of the system.
CMPE 280 Web UI Design and Development August 29 Class Meeting
ATM OO Design and Implementation Case Study
Use Case Model.
Object-Oriented Analysis Principles using UML
Concepts, Specifications, and Diagrams
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

Object Oriented Analysis Process Identifying Use Cases

Session Objectives Introduction Why Analysis is difficult Business Object Analysis: Understanding the business layer Use case Driven Object Oriented Analysis: Unified Approach Business Process Modeling

Session Objectives Use Case Model Use Case User Microscope Uses and Extends Associations Identify the Actors Guidelines for Finding Use Cases How Much Detailed must be a use case be? Dividing Use Cases into Packages Naming a use case

Session Objectives Developing Effective Documentation Guidelines Case Study: Analysing the ViaNet ATM

Introduction Analysis is the process of transforming a problem definition from a fuzzy set of facts and myths into a coherent statement of system’s requirements. Tools used are: Examination of existing system documents, Interviews , Questionnaire, Observations

Why Analysis is Difficult? Analysis is a creative activity that involves understanding the problem, its associated constraints , and methods of overcoming those constraints. This is an iterative process and goes until problem is completely understood. Common Problems in analysis are Fuzzy and ambiguous requirements Incomplete Requirements Unnecessary Features

Why analysis is a Difficult Activity A common problem that leads to requirement ambiguity is a fuzzy and ambiguous description, such as "fast response time" or "very easy and very secure updating mechanisms." However, because of the iterative nature of object-oriented analysis and the unified approach, most of the incomplete requirements can be identified in subsequent tries

Business Object Analysis: Understanding the Business Layer Business object analysis is a process of understanding the system requirements and establishing the goals of application. Main Activity is to understand the system requirements. The outcome of the business object analysis is to identify classes that make up the business layer and the relationships that play a role in achieving system goals.

Business Object Analysis: Understanding the Business Layer To understand the users' requirements, we need to find out how they "use" the system. This can be accomplished by creating use cases. Usually, domain users or experts are the best authorities. Try to understand the expected inputs and desired responses. Defer unimportant details until later. State what must be done, not how it should be done.

Business Object Analysis: Understanding the Business Layer Preparation of a prototype usually can help you better understand how the system will be used, and therefore it is a valuable tool during business object analysis. Separating the what from the how is no simple process. Fully understanding a problem and defining how to implement it may require several tries or iterations.

Use Case Driven Object Oriented Analysis Identify the Actors Who is using the system? In New Case who will be using the system. Develop a Simple Business Process Model using UML Diagrams Develop the use case: What are users doing with the system? Or In New Case what will users be doing with the system Prepare interaction Diagrams Sequence and Collaboration Diagrams

Use Case Driven Object Oriented Analysis Classification Identify Classes Indentify Relationships Identify Attributes Identify methods Iterate and Refine: If needed, repeat the preceding steps.

Use-Case Model Use Case are scenarios for understanding system requirements. A use case is an interaction between users of the system and the system itself. It captures the goal of the users and the responsibility of the system to its users. A use case model describes Use case can discover classes and the relationships among subsystems.

Use Cases Under Microscope Use case: is a flow of events through the system. By definition many courses are available. Actor: is a user playing a role w.r.t the system In a system: simply means that the actor communicates with the system’s use case. Transaction: is an atomic set of activities that are performed either fully or not at all.

Use Cases Under Microscope A measurable value. A use case must help the actor to perform a task that has some identifiable value; for example, the performance of a use case in terms of price or cost. For example, borrowing books is something of value for a member of the library.

Use case Diagram of library system

Uses and Extends Association The extends association is used when you have one use case that is similar to another use case but does a bit more or is more specialized. The uses association occurs when you are describing your use cases and notice that some of them have subflows in common. For Ex: Checking library card I common for book borrow ,return books and interlibrary loan use cases.

Identifying the Actors Identifying the actors is as important as identifying classes, structures, association, attributes and behavior The term actor represents the role a user plays with respect to system. Users may play one or many roles. Jacobson et al provides 2-3 rule: Start naming atleast 2 to 3 persons who could serve as the actors of the system.

Guidelines for Finding Use Cases For each actor find the tasks and functions that the actor should perform. Name the use cases Describe the use cases briefly by applying terms with which users are familiar. It is important to separate actors from users. The actor represents a role that one or more users can play. Identify users from actors Identify actors from other actors Isolate use cases that have different initiating actors.

How detailed a use case must be? Jacobson believes that in most use cases, too much detail may not be very useful. For a 10-person-year project 20 use cases must be created. Prepare one scenario for each different use case. When arrived at the lowest use case level, you may create a sequence diagram and collaboration diagrams.

Naming Use cases Names should provide a general description of the use case function. Name should tell what happens when an instance of the use case is performed Jacobson recommends that the name should be active, often expressed in form of verb or noun.

Dividing Use Case into Packages A design is broken into packages. Separate packages must be created for each scenarios. Borrow Books Do Research Purchase Books Borrow Books Return Books Get Interlibrary

Documentation A document can serve as a communication vehicle among the project’s team members, or it can serve as an initial understanding of the requirements. Plays an important role in making decisions. It becomes difficult to document a poorly understood problem

Guidelines for developing a documentation Common Cover 80-20 Rule Familiar vocabulary Make the document as short as possible Organize the document.

Case Study: Analyzing Via Net Bank ATM The bank client must be able to deposit an amount and withdraw an amount from his or accounts. Each transaction must be recorded. The Via Net bank client can have two type of accounts: Checking and Savings For each checking account one savings account can exists. PIN code consisting of integer digits between 0 to 9 PIN code allows access to all the accounts. No receipts will be provided for any account transaction.

Case Study: Analyzing the Via Net ATM The Bank application operates for a single banking institution only. Neither a saving nor checking account have a negative balance. The system should automatically withdraw money from a related savings account if the requested withdrawal amount on the checking account is more than its current balance. If the balance on a savings account is less than the withdrawal amount requested, the transaction will stop and the bank client will be notified.

Identifying Actors and Use Cases for the ViaNet Bank ATM System The bank application will be used by one category of users: bank clients. Notice that identifying the actors of the system is an iterative process and can be modified as you learn more about the system. The actor of the bank system is the bank client. The bank client must be able to deposit an amount to and withdraw an amount from his or her accounts using the bank application.

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Bank ATM transaction. The bank clients interact with the bank system by going through the approval process. After the approval process, the bank client can perform the transaction. Here are the steps in the ATM transaction use case: Insert ATM card. Perform the approval process. Ask type of transaction. Enter type of transaction. Perform transaction. Eject card. Request take card. Take card.

Activities involved in ATM transaction

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Invalid PIN. If the PIN code is not valid, an appropriate message is displayed to the client. This use case extends the approval process.

Transaction use cases

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Deposit amount. The bank clients interact with the bank system after the approval process by requesting to deposit money to an account. The client selects the account for which a deposit is going to be made and enters an amount in dollar currency. The system creates a record of the transaction.

Identifying Actors and Use Cases for the ViaNet Bank ATM System This use case extends the bank ATM transaction use case. Here are the steps: Request account type. Request deposit amount. Enter deposit amount. Put the check or- cash in the envelope and insert it into ATM.

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Deposit savings. The client selects the savings account for which a deposit is going to be made. All other steps are similar to the deposit amount use case. The system creates a record of the transaction. This use case extends the deposit amount use case.

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Withdraw more from checking. The client tries to withdraw an amount from his or her checking account. If the amount is more than the checking account's balance, the insufficient amount is withdrawn from the related savings account. The system creates a record of the transaction and the withdrawal is successful. This use case extends the withdraw checking use case and uses the withdraw savings use case.

Identifying Actors and Use Cases for the ViaNet Bank ATM System

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Withdraw savings. The client tries to withdraw an amount from a savings account. The amount is less than or equal to the balance and the transaction is performed on the savings account. The system creates a record of the transaction since the withdrawal is successful. This use case extends the withdraw amount use case.

Identifying Actors and Use Cases for the ViaNet Bank ATM System

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Withdraw savings denied. The client withdraws an amount-from a savings account. If the amount is more than the -balance, the transaction is halted and a message is displayed. This use case extends the withdraw savings use case.

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Checking transaction history. The bank client requests a history of transactions for a checking account. The system displays the transaction history for the checking account. This use case extends the bank transaction use case.

Identifying Actors and Use Cases for the ViaNet Bank ATM System Use-case name: Savings transaction history. The bank client requests a history of transactions for a savings account. The system displays the transaction history for the savings account. This use case extends the bank transaction use case.

The ViaNet Bank ATM Systems Packages Each use case represents a particular scenario in the system. It is better to break down the use cases into packages. Narrow the focus of the scenarios in the system. In the bank system, the various scenarios involve checking account, savings account, and general bank transactions.