SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.

Slides:



Advertisements
Similar presentations
Requirements Elicitation and Use Case Diagrams
Advertisements

OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
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.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
Use Case Analysis – continued
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
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.
USE Case Model.
The Software Development Life Cycle: An Overview
RUP Requirements RUP Artifacts and Deliverables
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 Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
ANALYSIS REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Systems Analysis and Design in a Changing World, 3rd Edition
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.
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
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
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.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
CSC 131 Fall 2006 Lecture # 5 UML Use Cases. UML The UML is a graphical language for  specifying  visualizing  constructing  documenting the artifacts.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Introduction to OOAD and the UML
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
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 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
UML: Unified modeling language
Unified Modeling Language
Software Design Lecture : 15.
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Design Yaodong Bi.
Software Development Process Using UML Recap
Presentation transcript:

SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context

2 SE 555 Software Requirements & Specification Essential SE Process Application Domain Conceptual Models Formal Models Implementation Domain The Software Engineering Process transforms conceptual application models into detailed solution models Transform From Bruce I. Blum, Software Engineering - a Holistic View Problem space Customer-speak Solution space Developer-speak Computer-speak programming languages systems languages Run-time space Computer-speak binary

3 SE 555 Software Requirements & Specification Each Discipline Contributes a Particular Set of Models (and other Artifacts)

4 SE 555 Software Requirements & Specification Model Characteristics RequirementsAnalysisDesignImplementationTest Feature lists Domain models Use cases Customer language External view Unambiguous models Consistent use cases Developer language Internal view Sets solution architecture Conceptual Informal models Few abstractions, subsystems, interfaces Physical Technologies and “-ilities” Many abstractions, subsystems, interfaces Detailed Formal Implement details (source, scripts, binaries, executables, etc.) Distribute executable components across computing nodes Unit test Test cases, procedures, components Integration and system tests Feed results back into process Transform Models

5 SE 555 Software Requirements & Specification Model (specify) requirements as use cases In requirements analysis, model use- case realizations Model an interaction of objects that realize the requirements Class diagrams and object interaction diagrams

6 SE 555 Software Requirements & Specification What is a Use Case? A use case is the specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system. Use cases are a means for specifying required usages of a system Typically, use cases are used to capture the requirements of a system, that is, what a system is supposed to do The key concepts associated with use cases are actors, use cases, and the subject The subject is the system under consideration to which the use cases apply The users and any other systems that may interact with the subject are represented as actors Actors always model entities that are outside the system The required behavior of the subject is specified by one or more use cases, which are defined according to the needs of actors [from the UML 2.0 Superstructure Specification]

7 SE 555 Software Requirements & Specification Use Cases Capture Requirements Use cases capture system functional requirements They tell a story of how someone may use the system When an actor (user or external subsystem) uses the system, the system performs a use case Each way the actors use the system is represented by a use case Chunks of functionality the system offers to add an observable result of value to its actors All use cases = all the things the system must do

8 SE 555 Software Requirements & Specification Use Cases Capture Requirements Use cases capture the intended behavior of the system Ways an external user (human or machine) interact with a system System behavior is how a system acts and reacts The outwardly visible and testable activity of a system Use cases describe the system, its environment, and the relationship between the system and its environment For many non-interactive systems (batch processes, data warehousing, infrastructure management, etc.), there may be few use cases with complex use-case descriptions

9 SE 555 Software Requirements & Specification Example Use- Case Diagram Create/Modify Document Publish Document > Find Document Retrieve Document > Document Author or Adopter External Document System Standards User Notify of New/Changed Document > Administer System View Metrics and Reports Administrator (Standards Program Office) External System Data Exchange/Web Site Launch NASA Integrated Technical Standards System

10 SE 555 Software Requirements & Specification Use-Case Realization Collaboration diagram Sequence diagram Class diagram GrpFile read( ) open( ) create( ) fillFile( ) rep Repository name : char * = 0 readDoc( ) readFile( ) (from Persistence) FileMgr fetchDoc( ) sortByName( ) DocumentList add( ) delete( ) Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList 1 FileList add( ) delete( ) 1 File read( ) read() fill the code.. Use Cases Use Case Use-Case Realization  A use-case realization is a description of how a particular use case is realized within the design model, in terms of collaborating objects >

11 SE 555 Software Requirements & Specification Major Concepts in Use-Case Modeling An actor represents anything that interacts with the system A use case is a sequence of actions a system performs that yields an observable result of value to a particular actor UseCase Actor >

12 SE 555 Software Requirements & Specification Use-Case Diagram A use-case diagram shows relationships between actors and use cases Relationships: “communicates with” (exchanges data, signals, events) System Note: the system boundary is usually not shown

13 SE 555 Software Requirements & Specification Use-Case Model A use-case model is more than a uc diagram Each use-case has a specification Use-case name Relationships to actors and other use cases Brief description Start states (preconditions) The first action to perform Flow of events (often captured as a UML Activity Diagram) Basic/normal flow Alternates Constraints How the use case ends Possible end states (postconditions) Special (non-functional) requirements

14 SE 555 Software Requirements & Specification Advanced Use Case Concepts Generalize: child inherits the behavior and meaning of its parent; can substitute for its parent Include: the base use case explicitly incorporates the behavior of another use case at a location specified in the base use case; factor out common behavior – never stands alone Extend: the base use case implicitly incorporates the behavior of another use case at a location specified indirectly by the extending use case; optional behavior

SE 555 Software Requirements & Specification15 Requirements Discipline Activities From the Rational Unified Process

16 SE 555 Software Requirements & Specification Requirements Discipline in the RUP Context

17 SE 555 Software Requirements & Specification Requirements Workflow Shown in sequence, but performed continuously and in varied order Inception phase: emphasize understanding the problem Elaboration phase: emphasize defining and refining the system Construction and transition phases: add remaining details and manage changes Focus on these

18 SE 555 Software Requirements & Specification Requirements Artifacts Overview Focus on these

19 SE 555 Software Requirements & Specification Purpose of the Requirements Discipline To establish and maintain agreement with the customers and other stakeholders on what the system should do To provide system developers with a better understanding of the system requirements To define the boundaries of (delimit) the system To provide a basis for planning the technical contents of iterations To provide a basis for estimating cost and time to develop the system To define a user-interface for the system, focusing on the needs and goals of the users

20 SE 555 Software Requirements & Specification Sources: Material © IBM Rational Software Corp.