Software Engineering Chapter 7 Fall 2000. Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.

Slides:



Advertisements
Similar presentations
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
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.
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.
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.
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Use Case Analysis – continued
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Object Oriented Analysis and Design Using the UML
Chapter 7: The Object-Oriented Approach to Requirements
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
Understanding User Requirements. Documenting Use Cases 2 At this stage of the exploration, the participants should be thinking of essential use cases.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Chapter 3 – The Analysis Workflow CSC532: Fall 2003 Original presentation by Joshua Hughes Zehra Raoshan Kiran Balagani Guang Li This presentation will.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.
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.
UML-1 3. Capturing Requirements and Use Case Model.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
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.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
Use Cases, Part I Understanding the Business Dynamics  Understand the business workflow  Identify system support points the system 'use cases'
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Software Engineering COSC 4460 Class 4 Cherry Owen.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
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.
Business Modeling and Analysis
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Requirement Discipline Spring 2006/1385 Semester 1.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Use Case, Component and Deployment Diagrams University of Sunderland.
Unified Modeling Language
The Unified Modeling Language
Product Life cycle (RUP)
Design Yaodong Bi.
Software Development Process Using UML Recap
General Workflow of Use-Case Driven Development
Presentation transcript:

Software Engineering Chapter 7 Fall 2000

Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts are forced to think in terms of who the users are and what business or mission needs can be fulfilled through them. By using use cases analysts are forced to think in terms of who the users are and what business or mission needs can be fulfilled through them. Use cases play a key role in driving the rest of the development work. Use cases play a key role in driving the rest of the development work.

Use-Case Model – Artifact Use-Case Model – Artifact serves as an agreement between the customer and the developers serves as an agreement between the customer and the developers consists of actors and use cases and their relationships consists of actors and use cases and their relationships If the use-case model is large, it can be organized into packages with different levels of abstraction. If the use-case model is large, it can be organized into packages with different levels of abstraction.

Actor – Artifact Actor – Artifact parties or systems outside the system that collaborate with the system parties or systems outside the system that collaborate with the system Each actor can have several roles Each actor can have several roles An actor plays one role for each use case with which it collaborates. An actor plays one role for each use case with which it collaborates.

Use Case – Artifact Use Case – Artifact Each way the actors use the system is a use case. Each way the actors use the system is a use case. A use case is a sequence of actions or a function. A use case is a sequence of actions or a function. A use case specifies the behavior of dynamic things. A use case specifies the behavior of dynamic things. A use case is a classifier (pre-class). A use case is a classifier (pre-class). A use case has operations and attributes A use case has operations and attributes

Use Case - Artifact A use case description can include statechart diagrams (fig 7.15&16), activity diagrams, collaborations, and sequence diagrams A use case description can include statechart diagrams (fig 7.15&16), activity diagrams, collaborations, and sequence diagrams A use case instance is an execution of the use case, or one path through the use case. A use case instance is an execution of the use case, or one path through the use case. A use case generally does not handle concurrency problems. Those may be identified in the analysis and solved in the design. A use case generally does not handle concurrency problems. Those may be identified in the analysis and solved in the design. The use cases are simply documenting what is required of the system from the user's point of view. The use cases are simply documenting what is required of the system from the user's point of view.

Examples of use case instances and the changing states: Examples of use case instances and the changing states: TransitionsStates Start the applicationIntroduction screen displays Click "Enter Data"Input screen displays Click "Exit"Application stopped TransitionsStates Start the applicationIntroduction screen displays Click "Enter Data"Input screen displays Enter the data, click "Submit" Schedule chart displays click "Back"Input screen displays click "Forward"Schedule chart displays click "Exit"Application stopped See "Modeling Large Systems" box on page

Flow of events Flow of events The flow of events for each use case can be captured as a separate textual description of the use case's sequence of actions The flow of events for each use case can be captured as a separate textual description of the use case's sequence of actions

Special requirements Special requirements Textual description of requirements that don't fit anywhere else, but belong to the use case (such as nonfunctional requirements). Textual description of requirements that don't fit anywhere else, but belong to the use case (such as nonfunctional requirements).

Architecture Description – Artifact The architecture description starts with the use cases, and includes an architectural view of the use case model. Includes only the architecturally significant use cases. The architecture description starts with the use cases, and includes an architectural view of the use case model. Includes only the architecturally significant use cases.

Glossary – Artifact Any terms the users, developers or any other stakeholders might not be familiar with should appear in the glossary with a definition. Any terms the users, developers or any other stakeholders might not be familiar with should appear in the glossary with a definition. These definitions also help to form a concensus among developers where a term might have conflicting meanings. These definitions also help to form a concensus among developers where a term might have conflicting meanings.

User Interface Prototype – Artifact Prototypes can be developed to show the users and other developers what the user interface will look like and how it will work. Prototypes can be developed to show the users and other developers what the user interface will look like and how it will work. Screens, reports, etc. can also be drawn on paper to help with the description. Screens, reports, etc. can also be drawn on paper to help with the description.

Workers a position to which a real person can be assigned a position to which a real person can be assigned examples – President, tax accountant, sales rep examples – President, tax accountant, sales rep

Worker – System Analyst Worker – System Analyst Responsible for the whole set of requirements, actors, use cases, etc. Responsible for agreement with user or customer. Responsible for the whole set of requirements, actors, use cases, etc. Responsible for agreement with user or customer. Responsible for terminology and glossary. Responsible for terminology and glossary. Not necessarily responsible for doing each individual use case. Not necessarily responsible for doing each individual use case.

Worker – Use-case Specifier Worker – Use-case Specifier Responsible for detailed description of one or more use cases. Responsible for detailed description of one or more use cases. Works with users of his/her use cases. Works with users of his/her use cases.

Worker – Interface Designer Responsible for describing what the user interface will look like for one or more use cases. Responsible for describing what the user interface will look like for one or more use cases. Might do prototypes to show users and to help developers agree on the interface. Might do prototypes to show users and to help developers agree on the interface.

Worker – Architect Worker – Architect Architect works in the requirements workflow to describe the architectural view of the use-case model. Architect works in the requirements workflow to describe the architectural view of the use-case model.

Figure 7.10 System Analyst System Analyst –Find Actors and Use Cases –Structure the Use-Case Model Architect Architect –Prioritize Use Cases Use-Case Specifier Use-Case Specifier –Detail a Use Case User-Interface Designer User-Interface Designer –Prototype User-Interface

Activity – Find Actors and Use Cases

Finding the Actors Finding the Actors Make a list of possible actors including people types and outside system types Make a list of possible actors including people types and outside system types For each possible actor, try to identify at least one user or system who will play the roles of the actor. For each possible actor, try to identify at least one user or system who will play the roles of the actor. There should be a minimum of overlap in roles of 2 actors. There should be a minimum of overlap in roles of 2 actors. The 2 actors could be combined into one, or a third actor could be used with the overlapping roles. The 2 actors could be combined into one, or a third actor could be used with the overlapping roles. Examples of actors, page 147. Examples of actors, page 147.

Finding the Use Cases Finding the Use Cases Sometimes they can be found from an existing business model. Sometimes they can be found from an existing business model. Workshops with the users. Workshops with the users. Actions that actors perform. Actions that actors perform. Results that actors need (actions from system to user). Results that actors need (actions from system to user). Other functions of the system. Other functions of the system.

Finding the Use Cases (cont.) Make list of candidate use cases Make list of candidate use cases Some on the list will not be use cases alone, but add to other use cases Some on the list will not be use cases alone, but add to other use cases For each use case, does it give a result of value to a particular actor? For each use case, does it give a result of value to a particular actor? Through iterations the use cases will change and evolve Through iterations the use cases will change and evolve Some may be modified through negotiations between users and developers to make the system more easily maintained or to add functionality for the user. Some may be modified through negotiations between users and developers to make the system more easily maintained or to add functionality for the user.

Briefly Describing Each Use Case For each use case, give it a short name and a longer description that will help in fitting it into the big picture. For each use case, give it a short name and a longer description that will help in fitting it into the big picture.

Describing the Use-Case Model as a Whole Diagrams and descriptions Diagrams and descriptions Individual use cases Individual use cases Interactions among use cases and actors Can use packages to put use cases/actors into groups. Interactions among use cases and actors Can use packages to put use cases/actors into groups. Description of the overall model and how it fits together Description of the overall model and how it fits together Informal review by persons not on the requirements/use case team Informal review by persons not on the requirements/use case team

Informal Review of Use Case Model All necessary functional requirements have been captured as use cases. All necessary functional requirements have been captured as use cases. The sequence of actions is correct, complete, and understandable for each use case. The sequence of actions is correct, complete, and understandable for each use case. Any use cases that provide little or no value have been identified. If found, these use cases should be reconsidered. Any use cases that provide little or no value have been identified. If found, these use cases should be reconsidered.

Activity – Prioritize Use Cases Which use cases need to be developed in early iterations? Which use cases need to be developed in early iterations? Architectural View of the use case model Which are architecturally significant use cases? Architectural View of the use case model Which are architecturally significant use cases? Prioritize all use cases, even those for future iterations. Prioritize all use cases, even those for future iterations.

Activity – Detail a Use Case Activity – Detail a Use Case describe the flow of events for each use case in detail. describe the flow of events for each use case in detail. How does the use case start, end and interact with users? How does the use case start, end and interact with users?