Use Cases - PowerPoint PPT Presentation

Loading...

PPT – Use Cases PowerPoint presentation | free to download - id: 6ca04c-ZWQ1N



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Use Cases

Description:

Title: Common Challenges in Use Case Modeling Author: Kurt Bittner Last modified by: Ivar Jacobson Created Date: 10/9/2001 3:51:36 PM Document presentation format – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 29
Provided by: Kurt99
Category:
Tags: case | cases | use

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Use Cases


1
Use Cases System of Systems
Ivar Jacobson
IBM Rational ivar_at_rational.com
Jaczone AB ivar_at_jaczone.com
2
Agenda
  • The Ericsson Success Story
  • Use Cases
  • System of Systems

3
The Ericsson Success Story
  • What we cant learn from a 30 year old case story
  • Layered architecture we had two layers only
  • Middle-ware and system-ware only system-ware
  • Software tools there was only an IDE
  • What we can we learn from it
  • What development processes to employ
  • Software
  • SoftwareHardwarePeopleware
  • What modeling language to use
  • Systems of Systems
  • Transitioning to a reuse business
  • Reengineering of organization

4
Lessons learnt Software Process
  • Development approach was
  • Component-based
  • Requirements-driven
  • Architecture-centric
  • Visual Modeling
  • Configuration management
  • Today we would request process to also be
  • Use-case driven
  • Iterative incremental
  • Risk-driven
  • Verify validate from the beginning
  • Tool supported
  • Etc.

5
Lessons learnt -- Modeling language
  • A first generation modeling language
  • Block diagrams
  • Sequence diagrams
  • Collaboration diagrams
  • State transistion diagrams with activity diagrams
  • Activity diagrams with swimlanes
  • These ideas are now in SDL and UML. But no tools
    were used!
  • Today we have tools lifecycle point tools and
    cross-lifecycle tools

6
Block diagram (component diagrams)
Feb 1968
7
Sequence diagrams
!970-06-25
8
Agenda
  • The Ericsson Success Story
  • Use Cases
  • System of Systems

9
Use Cases are part of a LifeCycle Process
  • The Unified Process
  • It is the UML process
  • It is component-based
  • It is
  • Use-case driven
  • Architecture-centric
  • Iterative and incremental
  • Configurable

10
Use Cases Capture Requirements
A use case is a sequence of actions a system
performs that yields an observable result of
value to a particular actor
  • Use cases reside inside the system
  • A use case describes the actions the system takes
    to deliver to the actor
  • Taken together, all use cases constitute all ways
    of using the system

Bank customer
Withdraw money
Actor
Use Case
11
Use cases are identified in Requirements
  • FURPS
  • Functionality
  • Usability
  • Reliability
  • Performance
  • Supportability
  • Design Constraints
  • Operating systems
  • Environments
  • Compatibility
  • Application standards

12
Use Case Driven Development
  • Any product development should follow three
    steps
  • Capture the users needs
  • Design to fit those needs
  • Test that the needs are fulfilled

13
Requirements Capture the use cases
  • A use case model

ATM
Withdraw Money
Deposit Money
Bank System
Bank Customer
Transfer Between Accounts
14
Use cases versus traditional feature specs?
  • A feature specification attempts to reply to the
    question
    What is the system supposed
    to do?
  • The use case strategy forces us to add three
    words to the end of that question

    for each user?

15
Design Implementation use case design
  • Use cases are eventually realized as components

ATM
Withdraw Money
Deposit Money
Bank System
Bank Customer
Transfer Between Accounts
Cash
Withdrawal
Components
16
Use cases use case realizations -- components
  • Each use case is realized by a collaboration - a
    set of classes
  • A class plays different roles in different use
    case realizations
  • The total responsibility of a class is the
    composition of these roles

Use case Specification
Use case design
Component design implementation
Cash
Cash
Interface

Cash Withdrawal
Withdraw Cash
Withdrawal
Transfer
Interface
Transfer Funds
Cash
Interface
Transfer
Funds
Funds
Interface
Cash
Deposit
Deposit Funds
Funds
Deposit
Funds
17
Test use case tests
Use Case Scenarios
Cash Withdrawal of a pre-set amount
ATM
Withdraw Money
Cash Withdrawal of custom amount
Test Cases
Etc. Many Test Cases for every Use Case
Deposit Money
Bank System
Bank Customer
Transfer Between Accounts
  • Use Case Modeling Done!

?
Plan Testing Define Test Cases
  • Design Done!

?
Generate Test Cases From Sequence diagrams and
State-Chart diagrams
  • Basis for the Test Specification

18
Identifying Use Case Scenarios
Use Case Withdraw Money
Valid Card
Invalid Card
Invalid PIN Code
Valid PIN Code
. . .
Amount Valid and in Range
Amount Invalid
Amount gt Daily Limit
Amount gt Account Balance
19
The Role of Use Cases
Requirements
Architecture
Reuse

Use Cases
Iteration Planning
Analysis Design
Business Modeling
Test
User Experience Design
20
Use Cases are the glue that binds the lifecycle
process together
In One Sentence
Use Case Driven
UCD
Reqt
Design Impl.
Test
Analyze
Design
Test
Capture, Clarify and Validate the Use Cases
Design to Implement the Use Cases
Test that the Use Cases are Fulfilled
Capture the Use Cases
Design to Implement the Use Cases
Test that the Use Cases are Fulfilled
21
Agenda
  • The Ericsson Success Story
  • Use Cases
  • System of Systems

22
System of Interconnected Systems
  • Use case of the superordinate system is realized
    by use cases of the subordinate systems
  • Superordinate use cases and subordinate use cases

23
Common Development Concerns
  • Enterprise architecting
  • Defining an architecture that underpins a number
    of systems
  • Strategic reuse
  • Developing reusable assets that are used within a
    number of systems
  • Systems engineering
  • Developing a system that contains elements of
    hardware, software, workers and data
  • Enterprise Application Integration
  • Developing a solution that includes the
    integration of a number of legacy systems
  • Packaged application development
  • Developing a solution that includes the
    configuration of a packaged application, such as
    an ERP or CRM solution
  • Outsourced development
  • Defining an architecture that lends itself to the
    outsourced development of its constituent parts,
    whilst ensuring the quality and integrity of
    these parts

A "System of Systems"
24
What is a System?
  • UML
  • A system is a top-level subsystem in a model. A
    subsystem is a grouping of model elements that
    represents a behavioral unit in a physical
    system. A subsystem offers interfaces and has
    operations. In addition, the model elements of a
    subsystem can be partitioned into specification
    and realization elements.
  • RUP
  • A system is a collection of connected units that
    are organized to accomplish a specific purpose. A
    system can be described by one or more models,
    possibly from different viewpoints.
  • RUP-SE
  • A system provides a set of services that are used
    by an enterprise to carry out a business purpose.
    System components typically consist of hardware,
    software, data, and workers.

25
Applying Systems of systems
  • Enterprise Architecting
  • The decomposition of an enterprise into its
    respective elements can be expressed in terms of
    a system of systems
  • Strategic Reuse
  • Reusable assets and their relationships can be
    described in terms of a system of systems
  • Systems Engineering
  • The system as a whole can be expressed in terms
    of a superordinate system, and each of the
    elements that comprise the system can be
    expressed in terms of a subordinate system
  • Enterprise Application Integration
  • The context within which a legacy system fits can
    be described in terms of a superordinate system,
    with the legacy system itself represented as a
    subordinate system
  • Packaged Application Development
  • The packaged application may represent a
    subordinate system (if it is a piece) or a
    superordinate system (if it is a whole)
  • Outsourced Development
  • The overall architecture can be described in
    terms of a superordinate system, with the
    constituent parts described in terms of
    subordinate systems

26
Rounding Up
  • From a Swedish Perspective
  • TBD

27
For More Information
  • www.rational.com
  • The UML Books (Booch, Jacobson, Rumbaugh with
    Addison Wesley)
  • The UML User Guide
  • The UML Reference Manual
  • The Unified Software Development Process

28
Other Readings by Ivar Jacobson
  • Object-Oriented Software Development--A Use Case
    Driven Approach (Addison Wesley) Jacobson et al,
    Addison Wesley Longman (1992)
  • The Object Advantage Business Process
    Reengineering with Objects (Addison
    Wesley) Jacobson et al, Addison Wesley Longman
    (1994)
  • Software Reuse Architecture, Process and
    Organization for Business Success (Addison
    Wesley) Ivar Jacobson, Martin Griss Patrik
    Jonsson, Addison Wesley Longman (1997)
  • The Unified Software Development Process
    Jacobson, Booch, Rumbaugh, Addison Wesley
    Longman (1999)
  • The Road to the Unified Software Development
    Process Ivar Jacobson, Stefan Bylund, Cambridge
    University Press, 2000
  • Aspect-Oriented Software Development with Use
    Cases Ivar Jacobson, Pan Wei Ng, 2004, NEW
About PowerShow.com