© 2000 Ian Alexander - Introduction to Scenarios Introduction to Scenarios A range of techniques for engineering better systems Ian Alexander

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
Software Testing and Quality Assurance
Systems Analysis and Design in a Changing World, Fourth Edition
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
MCA –Software Engineering Kantipur City College. Topics include  Formal Methods Concept  Formal Specification Language Test plan creation Test-case.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
S R S S ystem R equirements S pecification Specifying the Specifications.
Chapter 7: The Object-Oriented Approach to Requirements
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Chapter 8: Systems analysis and design
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Requirements Analysis
The Next Stage in Analysis: Systems Use Case Diagrams 1 SYS366.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Understand Application Lifecycle Management
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
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,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
Software Construction Lecture 18 Software Testing.
Design Concepts By Deepika Chaudhary.
® 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.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Agile Test-based Modeling 資工 聶順成. Outline  Introduction : Modeling meets Programming  Agile Modeling: Using Models in Agile Projects  Model-based.
TM Copyright © 2009 NMQA Ltd. Behaviour Driven Testing with.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Systems Development Life Cycle
By Germaine Cheung Hong Kong Computer Institute
Systems Analysis and Design in a Changing World, Fourth Edition
Designing Multimedia Presentation Concept to Presentation.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
CPSC 871 John D. McGregor Module 6 Session 2 Validation and Verification.
Prof. Hany H. Ammar, CSEE, WVU, and
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Software Engineering: Models David Millard
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 4: Business Process and Functional Modeling, continued
CMPE 280 Web UI Design and Development August 29 Class Meeting
Recall The Team Skills Analyzing the Problem (with 5 steps)
Object-Oriented Analysis
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall
Presentation transcript:

© 2000 Ian Alexander - Introduction to Scenarios Introduction to Scenarios A range of techniques for engineering better systems Ian Alexander version September 2000

© 2000 Ian Alexander - Introduction to Scenarios What is a Scenario? A concrete scenario involves specific actors, places, and times: John sets the alarm and locks the door at 8 a.m. The alarm … An abstract scenario describes what happens in generic (class) terms: The Householder sets the alarm, locks the door, … Simplest kind of (abstract) Scenario is a straight path from start to finish, one step after another More complicated kinds are possible

© 2000 Ian Alexander - Introduction to Scenarios How to Represent Scenarios? Absolutely no agreement Text, Diagrams, Video, Animations, Cartoons, Storyboards, Acted Scenes, Collaborative Workshops (passing a ball or a talking stick), etc Different representations may well be useful in specific situations Some 'methods' are quite ideological about notations, others not at all

© 2000 Ian Alexander - Introduction to Scenarios 1. UML Use Cases supposes that the world of business is divided into neatly addressable cases where a user interacts with a system the vertical list does not imply sequence (oh yes it does) no defined way of organizing cases Read Balance Withdraw £50 Order Chequebook customer

© 2000 Ian Alexander - Introduction to Scenarios The Claim: Step-by-Step Development with Use Cases Driving force behind concept was crisis in Software Jacobson's idea was to use scenarios as candidate chunks for separate implementation Not ideal for 10,000 overlapping use cases...

© 2000 Ian Alexander - Introduction to Scenarios Scenario = Use Case? Depends whose definition of Use Case you use Some Use Cases are Concrete Some insist on exactly one Actor Some talk about use of a specific System UML notation can be helpful, but only goes part of the way

© 2000 Ian Alexander - Introduction to Scenarios 2. Agent Model useful before collecting scenarios identify stakeholders & their conversations helps to focus attention on what is in scope

© 2000 Ian Alexander - Introduction to Scenarios 3. Sequence Diagram simple notation clear, easy to read actors get full weight single or multiple threads

© 2000 Ian Alexander - Introduction to Scenarios 4. Goal or Task Model encourages thinking about alternative ways of satisfying a goal may help to find exceptions before they cause problems

© 2000 Ian Alexander - Introduction to Scenarios 5. Traditional Flowchart Specify Design Make Build Test Analyse ? n y Design Rig Make Rig old notation still useful remains popular in business process modelling UML flowcharts have different symbols, same effect can be combined with swimlanes background

© 2000 Ian Alexander - Introduction to Scenarios 6. Many other Representations for instance, storyboards can describe situations, roles, & task sequences quickly and compactly may have advantages, e.g. for multi-national products have long been used in planning film shoots animations, video, acted scenes can all be helpful

© 2000 Ian Alexander - Introduction to Scenarios How Can Scenarios Help? describe business processes clarify system scope identify stakeholders, situations, needs organise requirements guide design and coding provide scripts for testing improve project communications

© 2000 Ian Alexander - Introduction to Scenarios Understanding Business Processes for instance, a scenarios workshop can represent a sequence of tasks directly by roleplay

© 2000 Ian Alexander - Introduction to Scenarios Organising Specifications scenario steps are ideal placeholders for requirements (functions and constraints) they set requirements in context of what came before, what comes next and allow for hierarchical document structure

© 2000 Ian Alexander - Introduction to Scenarios Verifying Requirements scenarios can be animated e.g. from goal models users can see what systems would do, if built, and correct any mistakes or omissions allows systems to be 'tested' before they are designed

© 2000 Ian Alexander - Introduction to Scenarios Guiding Design numerous 'Scenario-Based Design' approaches developers are often unable to speak directly to system users scenarios offer a valuable echo of 'the voice of the customers' scenarios show what each small part of a system actually needs to do … to deliver the results that system users want

© 2000 Ian Alexander - Introduction to Scenarios 'Extreme Programming' uses scenarios in the form of 'user stories' acceptance tests are written straight from the scenarios – and used as specifications! programs written and tested directly from the user stories accompanied by pair programming and other practices but even anarchists may have good ideas

© 2000 Ian Alexander - Introduction to Scenarios Generating Test Cases Any scenario path through the requirements is a possible test case ('000s of them) Need to cover –all requirements at least once –all major paths (familiar problem to testers!) Need to select "interesting" cases Need to add test attributes (for each Step) –Criteria, Result, Tester, Date,...

© 2000 Ian Alexander - Introduction to Scenarios Test Cases from Scenarios Scenarios and Test Cases both describe the results users want to see Acceptance Test Cases provide a format for recording desired and actual results Test Case generation can be partly automated but usually needs judgement to select efficient tests Scenario Test Attributes Test Case +=

© 2000 Ian Alexander - Introduction to Scenarios Scenarios vs Test Cases Scenario says what result is wanted may branch, have alternatives, allow parallel steps,... defines preconditions, actors, systems,... Test Case says what result is wanted must consist of definite and repeatable steps defines criteria for accepting/rejecting provides slots for pass/fail, tester, date

© 2000 Ian Alexander - Introduction to Scenarios Example: Scenario,Test Step Scenario Step Detect flying insect (without sounding alarm) Test Step Action: –Release flying bee (length 1 cm) into sensor test room Desired Response: –Detect flying insect Acceptance Criteria: –bee is detected within 15 seconds –alarm does not sound Result Pass Tester IFA Date 18 Aug 2000

© 2000 Ian Alexander - Introduction to Scenarios Summary: Scenarios... have many uses in systems engineering, e.g. –process description –requirements elicitation and verification –system specification –guidance for system design and software coding –basis of test scripts can be represented in varied and useful ways provide neutral languages in which stakeholders can describe their needs to developers could with benefit be applied much more often?