1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

Slides:



Advertisements
Similar presentations
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Advertisements

1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 3: RUP Structure and Navigation.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
Object-Oriented Analysis and Design
Use-case Modeling.
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Selected techniques from the Creative Design Process Vision statement Requirements workshop, other facilitated workshops Creative Design Brief Navigation.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Object Oriented Analysis and Design Using the UML
Slide 1 Requirements Workflow. Slide 2 The Phases/Workflows of the Unified Process Figure 3.1 l Phase is Business context of a step Workflow is Technical.
Object-Oriented Design. From Analysis to Design Analysis Artifacts –Essential use cases What are the problem domain processes? –Conceptual Model What.
RUP Requirements RUP Artifacts and Deliverables
UML - Development Process 1 Software Development Process Using UML (2)
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
ITEC224 Database Programming
An Introduction to Software Architecture
Chapter – 6. Requirements Capture - Difficult A System has many Users. Each of them know what to do but no one knows the entire picture. Users do not.
Business Analysis and Essential Competencies
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
RUP Design RUP Artifacts and Deliverables
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
UML-1 3. Capturing Requirements and Use Case Model.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML-1 8. Capturing Requirements and Use Case Model.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Use Case Diagrams Use Case Actor Use case description Use case realization (Scenario) Use case relationships –Extends –Uses.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Business Modeling and Analysis
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Requirement Discipline Spring 2006/1385 Semester 1.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Unified Modeling Language
Use Case Realization Describes a collaboration among analysis classes that shows how a specific use case is realized Consists of flow-of-events analysis,
Rational Worldwide Software Symposium
Product Life cycle (RUP)
Rational Worldwide Software Symposium
Design Yaodong Bi.
Rational Worldwide Software Symposium
Software Development Process Using UML Recap
General Workflow of Use-Case Driven Development
Presentation transcript:

1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow –Requirements capture workflow, including detailed activities

2 Requirements Workflow

3 Artifact: Use Case Model Allows developer and customer to agree on requirements, I.e. conditions and capabilities to which the system must conform A model of system containing actors and use cases and their relationships

4 Artifact: Actor Represents user type, external system Each type of users may be represented by one or more actors Often corresponds to worker in a business –A role of a worker defines what the worker does in a particular business process –The roles can be used to derive corresponding actors will play An actor plays one role in each use case

5 Use Case Each use case represents a way the actors use the system –A use case specifies a sequence of actions, including alternatives of the sequence, that the system can perform –Is a specification of the behavior of all possible instances of that use case –E.g. withdraw money (granted, denied, different amounts, etc) –Purpose: to define a piece of coherent behavior without revealing the internal structure of the system, hence it is not a manifest construct in the implementation of the system –in UML term, a classifier that has operations and attributes, thus can include startchart, activity, collaboration and/or sequence diagrams

6 Use Case Instance Is the execution of a use case –It is one path through the use case –An sequence of interactions between an actor instance and the use case Use case instance does not interact with other use case instances –only kind of interaction is between actor and use case instances –don’t deal with interfaces between use cases, concurrency, and other conflicts (e.g. sharing of objects) between different use case instances (Note: this does not mean interference between different instances does not exist.) Use Case instance is atomic –either performed completely or not at all

7 Description of Use Case Statecharts specifies lifecycle of use case instances –each transition is a sequence of actions Activity diagrams describe the lifecycle in more detail by describing sequence of actions that occur within each transition Collaboration/sequence diagrams are used to describe between a typical actor instance and a typical use case instance Such “formal” description may or may not be necessary depending on the complexity of a use case Textual description can be used if appropriate

8 Example: Global Network Systems Largest system in the world, composed of systems of systems across different areas and countries Made of different technologies (local and international switches, land and satellite transmission systems Each system is a large scale one (e.g man-years) Main reason of success: precisely defined interfaces (both structural and semantic) –via provide-require mechanism –is in fact use case specification

9 Architecture Description - View of Use Case Model Architecture view (of use case model) describes architecturally significant use cases –use cases describing important and critical functionality –involving important requirement that must be developed early in the software’s lifecycle –used as input when use cases are prioritized to be developed within an iteration Usually corresponding use case realizations can be found in the architectural views of analysis, design models

10 Use Case Glossary Used to define important and common terms used in describing the system Useful for reaching consensus between different stakeholders regarding definition of various concepts and notions –especially important for large development effort Can be derived from domain or business models

11 Overview of Use Case Diagram

12 Use Case Relationships

13 Use Case Relationship

14 Worker Refer to a position (in a project) to which a person can be assigned, who are responsible for building the use cases Three types of workers: –system analyst –use case specifier –user interface designer

15 System Analyst System analyst responsible for the whole set of requirements (functional and nonfunctional) modeled as use cases –responsible for delimiting the system –for finding actors and use cases and for defining glossary –for ensuring that the use case model is complete and consistent –Assisted by use case specifier and interface designer

16 Use Case Specifier and Interface Designer Assist system analyst Use case specifier responsible for detailed description of one or more use cases –need to work closely with real users User interface designer responsible for UI –usually one interface prototype for each use case

17 Workflow for Capturing Requirements

18 Find Use Cases and Actors We identify use cases and actors to: –define system boundary –outline who and what (actors) will interact with the system and what functionality (use cases) is expected from the system –capture and define in a glossary common terms that are essential for creating detailed descriptions of the system’s functionality

19 Identify Use Case and Actors

20 Basic Steps Finding the actors Finding the use cases Briefly describing each use case Describing the use case model (including glossary) as a whole Describe use cases in detail Steps does not have to be performed in any particular order

21 Detailing Use Cases

22 Finding Actors If a business model known, use each worker in the business as an actor initially Criteria for enlisting actors –should be possible to identify at least one user who can play the candidate actor –minimal overlap between roles that instances of different actors play in relation to the system Example: –buyer, seller, accounting system (page 147) Brief description of actors, used as starting point for finding use cases

23 Finding Use Cases Interviewing or analyzing each actors to enlist candidate use cases Analyze, revise and combine use uses –some candidates won’t become use cases themselves, but rather better be part of others –choose name and define scope for the use cases a sequence of user-system interaction may be specified as one or more use cases –consider if a use case is complete by itself or if it always follows as a kind of continuation of another use case. –Guideline: a use case delivers an observable result that is of value to a particular customer –Example: Pay Invoice use case (page 149)

24 Constructing Use Cases Initial brief description of use cases –Example: page 150 Describe use case model as a whole –relationship between uses cases and actors –model consistency: develop system glossary –Output: survey description of the use case model (example, page 151), describing how actors and use cases interact and how use cases related to each other