Writing Effective Scenarios and Use Cases. Timetable 10.00 Introductions 10.10 Strategies for gathering requirements 11.00 refreshments 11.20 Creating.

Slides:



Advertisements
Similar presentations
Chapter 8 Software Prototyping.
Advertisements

Usage statistics in context - panel discussion on understanding usage, measuring success Peter Shepherd Project Director COUNTER AAP/PSP 9 February 2005.
ASYCUDA Overview … a summary of the objectives of ASYCUDA implementation projects and features of the software for the Customs computer system.
Individual Education Plans in Practice Timetable 9:00 - 9:15IEPs in the Code of Practice 9:15 - 9:30Planning and target setting: whole-school approaches.
Agile Modeling Emitzá Guzmán Agile Modeling.
Writing a Use Case Consider the scenario which was written previously Consider who the primary actor is –(the person or system.
A centre of expertise in digital information managementwww.ukoln.ac.uk UKOLN is supported by: Benchmarking Web Sites Brian Kelly UKOLN University of Bath.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Day 2: Learning and Teaching Session 3: Effective Feedback NYSED Principal Evaluation Training Program.
Chapter 5 – Enterprise Analysis
Are Parametric Techniques Relevant for Agile Development Projects?
Project Analysis Course ( ) Final Project Report Overview.
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
CMSC 345, Version 9/07 S. Mitchell Use Cases Concepts, Specifications, and Diagrams.
Use Case Diagrams.
Use-Cases.
1 Functional Strategy – IS & IT Geoff Leese November 2006, revised July 2007, September 2008, August 2009.
Software Processes.
Database System Concepts and Architecture
A centre of expertise in digital information managementwww.ukoln.ac.uk QA for Web Sites Brian Kelly UKOLN University of Bath Bath, BA2 7AY
Requirements Analysis 1. 1 Introduction b501.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Introduction.
Marketing Strategy and the Marketing Plan
Chapter Extension 16 Agile Development.
 Acceptance testing is a user-run test that demonstrates the application’s ability to meet the original business objectives and system requirements and.
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
System Analysis and Design (SAD )
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Documenting Requirements using Use Case Diagrams
COMP 350: Object Oriented Analysis and Design Lecture 2
Domain Modelling the upper levels of the eframework Yvonne Howard Hilary Dexter David Millard Learning Societies LabDistributed Learning, University of.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
IT Systems Analysis & Design
Project Analysis Course ( ) Final Project Report Overview Prepared by: Sijali Petro Korojelo (Course Assistant)
Chapter 4 – Requirements Engineering
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Software engineering lec4 Requirements. Developing requirements Start thinking about particular problem Understand the problem  Domain analysis Gather.
DC-Education Application Profile Use Case Gathering Session Sarah Currier Moderator, DCMI Education Community / Product Manager, Intrallect Ltd Lara Whitelaw.
Code Reuse as a Practice within Extreme Programming Gerald DeHondt Kent State University Vijayan Sugumaran Oakland University.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Domain Modeling In FREMA David Millard Yvonne Howard Hugh Davis Gary Wills Lester Gilbert Learning Societies Lab University of Southampton, UK.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
CS 5150 Software Engineering Lecture 7 Requirements 1.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Domain Modeling In FREMA Yvonne Howard David Millard Hugh Davis Gary Wills Lester Gilbert Learning Societies Lab University of Southampton, UK.
Mantid Stakeholder Review Nick Draper 01/11/2007.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
CS223: Software Engineering Lecture 16: The Agile Methodology.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Use Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Embedded Systems Software Engineering
CS223: Software Engineering
Software Development - Methodologies
Use Cases Discuss the what and how of use cases: Basics Benefits
Software Development methodologies
Chapter 3 – Agile Software Development
Topic 1: Introduction to the Module and an Overview of Agile
Presentation transcript:

Writing Effective Scenarios and Use Cases

Timetable Introductions Strategies for gathering requirements refreshments Creating a Scenario Creating a Use Case lunch Creating a Use Case (continued) Using a Use Case – gathering requirements refreshments Review

Book Writing Effective Use Cases Alistair Cockburn Page references Short, true stories , 54, 63, 104, 169, 170, 175

Introductions

Strategies for gathering requirements - Introduction Charles Duncan, Intrallect

Why use scenarios and use cases? Scenarios and Use Cases are not an end in themselves, they are for: –Eliciting requirements (e.g. of software systems) –Modelling business processes –Drafting or sizing system requirements –Writing functional requirements For a small (short-timescale) project For an iteration in a larger project In all cases they are a basis for communication and discussion 132

Glossary Important to share a common vocabulary See handout See book Important terms –Action step: Single active-verb phrase/sentence –Actor: Someone playing a role (e.g. teacher, student) –Scenario: Narrative describing how an actor achieves a goal through a series of action steps –Use Case: Collection of scenarios, expressing all possible behaviours as actor tries to achieve goal

Structure Project, System, Service Use case Scenario Action step Use case

Example – action step Alan (teacher) logs into repository using ATHENS authentication –Other actions may achieve the same result –This action may result in success or failure –This high-level action step could be defined in much more detail in a use case of its own

Example - scenario Alan, a maths lecturer, uses a learning object repository to find a simulation of the behaviour of an equation. He logs in using his Athens account, searches using suitable keywords, finds the object and obtains a reference to the object that he uses in the class web site. He demonstrates the simulation in a lecture by using the class web site. –Describes usage, not requirements –Defines key stakeholder (primary actor) and his goal –Lists the action steps in a narrative text –Scenarios are often written to reflect success

Example - use case Goal: Teacher locates a learning object in a repository and uses it in another web site Primary actor: Teacher Other actors: repository, authentication system, web site Main success scenario: 1. Teacher logs into repository with ATHENS authentication 2. Teacher searches for object by keywords 3. Teacher identifies suitable object 4. Teacher obtains reference to object 5. Teacher uses reference in web site Other scenarios (extensions): 1a. Teachers authentication refused (fail) 1b. Teacher authenticates using a local LDAP authentication (s) 3a. Teacher cannot find suitable object (f)

Use Case – points to note Expresses behaviour of the system in response to the primary actor trying to achieve the goal Takes account of different success and failure scenarios Identifies all actors – systems, as well as people Use cases can be: –User-goal –summary (involving many user goals over a prolonged period) –sub-function (low-level detail, e.g. how authentication is implemented)

Use Cases versus Scenarios Use cases and scenarios are not alternative approaches – they are different stages of the same approach Scenarios are easier to gather from non-technical groups, but they often only describe success Use cases gather common scenarios (those that use largely the same action steps) but also handle all the success and failure extensions Scenarios without use cases are useful for discussion but are incomplete for expressing behaviour. Use Cases are contracts for behaviour

Strategies for gathering requirements - Experiences Ed BarkerDigital Rights Management Peter DouglasLearning Activity Design Charles DuncanAgile Software Development

Digital Rights Management Project Details funded by JISC and completed in November 2004 The aim was to determine the best approaches for JISC and the UK education and research communities to adopt in relation to DRM Use cases were produced from five workshops – Produced 32 detailed use cases and 125 use case summaries. Key Points Objective was very wide There was uncertainty about processes and stakeholders

Methodology Explain aims of project and how they relate to the aims of the workshop (45 minutes) Explain the methodology for producing use cases (45 minutes) Attendees worked in pairs to create a full use case Attendees given time at end of workshop to ask questions and make further points

Results and Analysis Use Cases were anonomised and included in final report. Statistics about primary actors and objectives were collected. A set of requirements were extracted from the use cases

Strengths and Weaknesses Strengths Allowed us to identify the main concerns of the community Captured user requirements in a technology independent way Allowed each person at workshop to have input to the study Weaknesses Requirements gathering is open to interpretation. Some use cases were a bit vague or away from the point. Time Consuming

LADiE Project Details Learning Activity Design in Education funded by JISC and to be completed in March 2004 The aim is to develop a Reference Model for Learning Activities based on the principals of the eFramework Key Points Scope of domain is very wide Wanting to encourage imaginative/innovative learning activities

Methodology Same as DRM project! Held one workshop which was not a success –Confusion between delivering learning activity with creating a learning activity –Use Case generation proved difficult - where is the student? –Tried to achieve too much in one day Conclusion? –Tutors not the ones to write the use cases, but they do have useful information to provide

What we are doing now Holding workshops with tutors, but focusing on capturing the structure of the learning activity. Project team uses this information to generate more formal Use Cases Some use cases coming in directly from groups/projects

Agile Software Development NOT the waterfall method –User requirements, specification, development, testing, installation Small iterations, XP –Define usage (scenarios/stories), create tests for usage unit, develop only necessary code, run unit tests, integrate unit into system, run all tests, working system exists Scenarios/stories are written throughout the project lifecycle, not just at the start 187,

Example story

Example tests

Pros and Cons Pros –Fast, well-tested, always a working system –Only essential code is produced –Flexible – can change priorities each iteration –Rapidly builds huge test bank –Dynamic balance of resources, time, requirements –Stories can be used for effort estimation and prioritisation Cons –Not so suitable for database and user-interface design –Periodic refactoring (revision) is needed to improve structure (but tests are invaluable at this stage)

Use cases? Scenarios are short, light narratives, enough for the customer and the developer to agree on what is needed Tests are where the behaviour is handled, again defined in a way that allow the customer and developer to agree what needs to be satisfied to recognise that the scenario behaves as expected