Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 1 www.analisi-disegno.com Use Cases: an Introduction  Adriano Comai 1999.

Slides:



Advertisements
Similar presentations
Use-Cases.
Advertisements

Use Case Diagrams Damian Gordon.
UML an overview.
Ch4: Software Architecture and Design. 1 Object-oriented paradigm  Object-oriented decomposition:  Agents comprised of two parts:  Hidden implementation:
Use Case & Use Case Diagram
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Use Cases -Use Case Diagram Chapter 3 1. Where are we? 2 Analysis Chapters Ch 2Investigating System Requirements Ch 3Use Cases Ch 4Domain Modeling Ch.
Karolina Muszyńska Based on:
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.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Behavioral Modeling II Developing Use Cases
Agenda What is a Use Case? Benefits of the Use Cases Use Cases vs. Requirements document Developing the Use Case model System Actor Use Case Use Case.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Lecture 4 Class Responsibility Collaboration Cards
Documenting Requirements using Use Case Diagrams
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases.
Function Definition  From Investigation to Specification  Defining Functions  The Universal Function Model  Identifying and Documenting Functions.
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
The chapter will address the following questions:
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
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.
Chapter 10 Information Systems Analysis and Design
1 Source: IBM Academic Program IBM Software Group ® Mastering Requirements Management with Use Cases Module 3: Introduction to Use-Case Modeling.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Use Cases -Use Case Diagram Chapter 3 1. Where are we? 2 Analysis Chapters Ch 2Investigating System Requirements Ch 3Use Cases Ch 4Domain Modeling Ch.
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.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
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.
Week 3: Requirement Analysis & specification
Systems Analysis and Design in a Changing World, Fourth Edition
UML - Development Process 1 Software Development Process Using UML.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Final Review Systems Analysis and Design in a Changing World, 4th Edition 1 Final Review u Chapters 1-6, 8-10, 13, 14, 15 u Multiple choice, short answer,
Developing Business Processes Developing an activity diagram of the business processes can provide us with an overall view of the system.
Use Cases -Use Case Diagram
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Model.
Object-Oriented Static Modeling of the Banking System - I
Unified Modeling Language
Object Oriented Analysis and Design
Use Cases & Use Case Diagrams
Software Design Lecture : 15.
Unified Modeling Language
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Object-Oriented Software Engineering
Information system analysis and design
Presentation transcript:

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 1 Use Cases: an Introduction  Adriano Comai 1999

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 2 Goals of this Introduction To provide basic information about use cases To provide suggestions about their use in application development These points are treated in more depth, with exercises, in the course “Requirements and Use Cases Definition”:

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 3 Use Cases Proposed by Ivar Jacobson (book published in 1992) New terminology, but a long practised technique (study of operational scenarios of system usage) Use cases are the “ways” in which a system can be used (the functions which the system provides to its users)

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 4 Use Case : Point of View It starts usually with a request from an actor to the system It ends with the production of all the answers to the request It defines the interactions (between system and actors) related to the function A use case describes a function from the point of view of its users: The point of view to take into account must be the actor’s, not the one of the system

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 5 Use Cases vs (Internal) Functions Use Cases call someone receive a call send a message memorize a number …. Point of view: USER Internal Functions transmit / receive energy (battery) user I/O (display, keys,...) phone-book mgmt. ….. Point of view: DESIGNER

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 6 Use Cases vs (Internal) Functions Internal functions specialized front-ends common front-end pre-application controls contract management system monitoring Use Cases customer: –orders (payment, buy stocks, etc.) –inquiries –contract administrator: –verify anomalies customer banking systems administrator electronic banking

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 7 Use cases as Interaction Use cases can be described as an interaction scenario (a dialogue) between the users and the system: –customer asks for a list of products –system shows available products –customer chooses products she wants –system shows total cost of selected products –customer confirms order –system communicates acceptance of order Attention must be given to the interaction, not to internal system activities

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 8 Use Cases Identification 1Identify system users (“actors”) 2(For each actor) discover in which ways the actor will use the system, starting from the goals the actor has to achieve 3(For each use case) clarify how the the activity starts, the answers the actors expect from the system, the sequence of the interaction  Use cases help to discover requirements

Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 9 Requirements and Use Cases (functional) requirement : a function, or a characteristic of a function, requested by the customer or by some other stakeholders of the system use case: a way the system can be used by a user (actor) Each use case can satisfy many functional requirements A functional requirement can be related to many use cases Each use case can have many non-functional requirements associated to it

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Prototype and Use Cases For each use case there is an interaction between actors and system, realized through interfaces It is a good idea to prototype the interaction (especially between system and human beings) during use case definition : –use case and prototype are complementary ways to depict the interaction –UI prototype helps to clarify use case sequence –use case description helps to discover needed links between interfaces

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Use Case (Jacobson’s Definitions) (in a business system): “A sequence of transactions in a system whose task is to yield a result of measurable value to an individual actor of the business system” (in an information system): “A behaviourally related sequence of transactions performed by an actor in a dialogue with the system to provide some measurable value to the actor”(Jacobson 1995)

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Use Cases and Transactions Each use case can be implemented by a sequence of transactions in the system, in order to provide the aswers needed by the actor customer open account Transactions: * verify existence of customer in DB * insert new customer * scan signature of customer * insert new account

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Actors Entities interacting with the system, through messages Actors can be: –human beings –organizations –other systems (both hardware and software) Each actor is a class, and may have many instances –Ex. Actor “customer” is a class; every individual customer is a member of the class

Introduzione ai casi d’uso  Adriano Comai 1999 Pag “Business Actors” vs. “Information System Actors” A model independent from any organizational and technological solution Order Clerk places an order The model of a specific organizational and technological solution Customer places an order

Introduzione ai casi d’uso  Adriano Comai 1999 Pag “Business Actors” vs. “Information System Actors” Independent from specific organizational and technological solutions (“Business Model”) Dependent on a specific organizational and technological solution (“Information System Model”) Actors can be defined following two points of view, both important and legitimate, corresponding to two different levels of abstraction :

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Business / IS Model From the point of view of the customer, the order clerk is a part of the system (as a mediator, an interface) customer places an order administration order clerk

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Mediation Forms The interface between actor and system changes The logic core does not change customer request of statement of account phone clerk internet ATM

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Mediation Forms “human” interface: pros: flexibility, able to adapt to the specific actor cons: cost, absence of uniformity “automated” interface: pros: cost, uniformity cons: not able to understand requests that are either not-predefined, or specified in an unexpected way

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Use Cases and Scenarios Base Scenario : (usually) implies success, and a linear development of the use case Alternate Scenarios : can imply success or failure, with various complications we do not need (it would be very expensive) a detailed analysis of every possible use case scenario (combination of variances) but we must discover every variance that can bring to the failure of the use case, or that needs a specific treatment

Introduzione ai casi d’uso  Adriano Comai 1999 Pag example: open account 1Customer goes to the bank to open an account 2Clerk welcomes customer and gives explanations 3If customer accepts rates she gives her personal info 4Clerk verifies if customer is already known to the bank 5Clerk opens a new account 6Clerk gives the customer an account number Variances: 3(a) If customer does not accept, use case ends 3(b) If the account is opened by many people, it is necessary to give personal info of every holder 4(a) If customer (one of the set of customers) is not known, clerk registers her,asks for the signature, scans the signature

Introduzione ai casi d’uso  Adriano Comai 1999 Pag example: open account - more detail (5) Clerk opens a new account 1Clerk starts transaction “open account” 2System asks customers’ codes 3Clerk inputs codes 4System shows corresponding personal info, and asks for rates 5Clerk inputs rates, and confirms 6System prints contract, with new account number Variances: 3(a) if system does not know a customer, or displays unexpected data, clerk can correct or stop the transaction

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Use Case Levels Use cases are a specific way to represent functions, and they can describe objects at different levels: system subsystem component (or class) Whatever the level, use cases define a behaviour of the object they describe, without revealing its internal structure

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Use Cases at the “Business Event” Level Update Web catalog Customer Info Request Customer Order Payment Assistance Request It is possible to identify and describe use cases at the level of events triggered by actors (each use case implies every needed answer to the event):

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Use Cases at the “Transaction” Level Create Order Read Order Update Order Delete Order It is possible to identify and describe use cases at the level of each transaction, down to the point of atomic operations (CRUD) on the classes of the system:

Introduzione ai casi d’uso  Adriano Comai 1999 Pag From which Level to Start? For a medium-sized system we can have: about a dozen use cases at the “business event” level –complete functions from the point of view of actors –meaningful delivery (and system test) units more than one hundred use cases at the “transaction” level –internal system functions –can be too fragmented to be used as a basis of understanding between designers and with system customers

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Use Case Role Requirements Use case: Customer Order Seller Customer Analysis & Design Models Test cases Delivery Units

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Are Use Cases OO? Were “Invented” in an Object Oriented context Describe system functions from the point of view of the external actors (like OO messages) Do not reveale the internal structure of the system Are the best starting place for OO design …but… Can be used in a non-OO development process OO theory is not needed to understand and to use them

Introduzione ai casi d’uso  Adriano Comai 1999 Pag Use Cases Implementation requirements use cases components object oriented analysis and design structured analysis and design other methods (as you prefer) buy components