UML-1 8. Capturing Requirements and Use Case Model.

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

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
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
Use-case Modeling.
Drawing System Sequence Diagrams
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.
Object Oriented Analysis Process
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions Tri A. Kurniawan, M.Eng. Ph.D Candidate
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
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.
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.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
RUP Requirements RUP Artifacts and Deliverables
Use Case What is it?. Basic Definition Of who can do what within a system? TemplateDiagramModelDescription.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
UML - Development Process 1 Software Development Process Using UML (2)
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
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.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
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.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing Requirements.
Approaching a Problem Where do we start? How do we proceed?
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Conceptual Modelling – Behaviour
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
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.
UML-1 3. Capturing Requirements and Use Case Model.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
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.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
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.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Drawing System Sequence Diagrams
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
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.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
System sequence diagrams
Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements.
Use Cases CS 6961 – Lecture 4 Nathan Dykman. Neumont UniversityCS Lecture 102 Administration Homework 1 is due –Still reviewing the proposal, but.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
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.
Business Modeling and Analysis
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML.
Developing Business Processes Developing an activity diagram of the business processes can provide us with an overall view of the system.
Systems Analysis and Design in a Changing World, Fourth Edition
System sequence diagrams
Unified Modeling Language
Product Life cycle (RUP)
Software Development Process Using UML Recap
Presentation transcript:

UML-1 8. Capturing Requirements and Use Case Model

UML-2 Why is it hard to capture? We build it for others to use Users don’t have a clue? –Is there one user? –Each user does not think about the entire system –How to convert work into software? –Does not know what is wanted –Does not specify precisely either –How about an analyst to gather requirements? Hind sight is 20-20! –Seeing the system work leads to understanding –Changes suggested after the fact

UML-3 What is the goal? To describe system requirements enough to –get customer agreement on the functionality –to do so in a language that is understood by customers –help the planning of the project iterations & release

UML-4 Requirements Capture List candidate requirements Understand system context Capture functional requirements Capture nonfunctional requirements

UML-5 List candidate requirements –List of features/ideas from just about every one –Kept until becomes requirement and is transformed –May keep information: status, cost, priority, risk level –Used for planning and estimation

UML-6 Capture functional requirements Performed using the use-case model Important to arrive at several versions of the user interfaces Develop visualizations or prototypes for user to try out

UML-7 Capture nonfunctional requirements System properties constraints performance platform Reliability Specified as part of domain model or use- cases Others part of supplementary requirements

UML-8 Use case Specific way of using the system A complete course of events initiated by an actor Each actor performs several use cases Several use cases may begin with similar events Actor initiates a course of events that result in a complete use case

UML-9 Flow of Events Textual description of sequence of actions Specifies what system does when use case performed

UML-10 Finding the Actors If there is business model –who will use the system one actor for each worker in business one for each business actor (customer) If there is no business model, identify users into categories that represent actors Actors representing external users and actors for system maintenance and operations need to be identified

UML-11 At least one user should enact candidate actor –helps find relevant actors Roles of actors must not be the same –minimum overlap between the roles of actors Takes a few rounds of discussion to find right ones Relevant names for actors essential to convey semantics Describe actor’s needs and responsibilities Finding the Actors...

UML-12 Finding Use-Cases Take actors one by one and suggest candidate use-cases Names for use-cases –must leads us to think of sequence of actions that adds value to an actor –often starts with a verb Use-Case must be complete and stand by itself –Result of value –to particular actor

UML-13 Briefly Describing Use-Case A couple of lines of descriptions of the actions performed by each Use-Case A step-by-step description of what the system needs to do when interacting with actor

UML-14 Generalization and Extends Use-Case A generalization use-case is an use- case that is inserted into other use- cases –It performs some sequence of actions that are part of other use-cases An Extends use-case is an use-case that extends the sequence of actions described in another use-case

UML-15 Activity: Prioritize Use-Cases Determine which use-cases will be developed in early iterations and which in later iterations Results captured in architectural view of use-case model Used as input when planning development within an iteration

UML-16 Activity: Detail a Use-Case Use-case model and use-case diagrams used as starting point Step-by-step description of each use case –Flow of Events How to Structure to specify all alternative paths? What to include in a description? How to formalize the description?

UML-17 Structuring Use-Case Description States that use-case instances may enter and possible transitions between states Each such transitions is a sequence of actions May get complicated and intricate Precise and simple description needed Start with a Basic Path –start to end state in one section of description Alternate Paths described in separate section –If small, may inline in Basic Path Goal: Precise description that is easy to read

UML-18 What to include in description Start state as precondition How and when use-case starts (step 1) Order for the flow of events How and when use-case ends Possible end state as post condition Paths of execution that is not allowed Inlined alternative paths Alternative path descriptions extracted from basic path System interaction with actor Usage of objects, values, resources in system Explicitly describe what system does

UML-19 Formalizing Descriptions For large use-cases with various alternatives, simple text description is not practical Statechart diagrams –express complex use-cases –Describes state of use-case and transitions Activity diagrams –Describe transition between states in more details of sequence of actions –Generalized form of SDL state transition diagrams Interaction diagrams –Describes interaction between an actor instance and an use-case instance

UML-20 Activity: Prototype User Interface For each use-case, discern the need for user interfaces to enable the use case for actor This leads to logical user interface design We then develop physical user interface design Develop prototypes –illustrates how users can use system to perform use cases

UML-21 The Essence of Use-Case Modeling “By starting to specify what is needed before we decide how to realize it, we are compelled to understand the need before we try to realize them”