Scenarios In System Development

Slides:



Advertisements
Similar presentations
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Advertisements

Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Unit-III Requirements Engineering
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Analysis Concepts and Principles
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
The Software Development Life Cycle: An Overview
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
The Rational Unified Process
Requirements Analysis
A Development Process Lecture Oo13 Objectory based method.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Instructor: Peter Clarke
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
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.
Approaching a Problem Where do we start? How do we proceed?
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
1 Introduction to Software Engineering Lecture 1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Construction Lecture 18 Software Testing.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Software Design Process
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Requirements and Use Cases
Requirements Validation
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Prof. Hany H. Ammar, CSEE, WVU, and
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Software Engineering Lecture 10: System Engineering.
Documenting an Architecture 10 pages, half pictures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Chapter 5 – System Modeling
Software engineering Software Processes.
CompSci 280 S Introduction to Software Development
Software Prototyping.
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Software Requirements and the Requirements Engineering Process
Chapter ? Quality Assessment
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Unified Modeling Language
Complexity Time: 2 Hours.
Object-Oriented Analysis
Introduction To System Analysis and Design PART 2
Documenting an Architecture
Unified Modeling Language
University of Houston-Clear Lake
Analysis models and design models
Chapter 9 Architectural Design.
Software Engineering Practice: A Generic View
Requirement Analysis using
From Use Cases to Implementation
Chapter 10 – Component-Level Design
Presentation transcript:

Scenarios In System Development CSC 3380 Lecture 13

Sources “Scenarios In System Development” by Klaus Weidenhaupt, Klaus Pohl, Matthias Jarke, and Peter Haumer, IEEE Software, v. 15, n.2, pp. 34-45

Background Scenarios represent UML interaction diagrams: Descriptions of interactions with the software system from a user’s point of view (system interaction); Descriptions of the environment in which the software system functions (system context); Descriptions of the internal interactions of system components invisible to the user (internal system); Scenarios may be presented in a variety of forms: Narrative text Structured text; Diagrams (message trace or interaction diagram); Images (screen dumps and forms); Animations or simulations (story boards).

Background continued While the typical scenario might be 3 to 5 pages long, they may be from one to 200 pages. Scenarios provide bridges, or communication paths, between many pairs of entities: Business processes and software development; Customers/users and developers; Design and implementation software elements; Different developers; Different software phases; Static and dynamic models of the software system. Used in almost all object‑oriented software development projects.

In order to make good use of scenarios Develop initial and intermediate scenarios together with users, customers, and domain experts Develop both low and high fidelity prototypes in parallel with scenarios Use the two to verify, looking for correctness, completeness, misunderstandings, timing, over-specification, and side effects Permit scenarios to evolve over time Link scenarios to system glossaries (data dictionaries) Use scenarios as the basis for deriving test cases

Advantages of using scenarios Scenarios are more understandable than abstract models – no learning curve & small (120 vs. 27) Scenarios foster cooperation of stakeholders, give ownership and control This same interaction teaches developers the language and processes of the problem domain Scenarios and prototypes are synergistic, can evolve in conjunction with careful management They provide far greater understanding, and are a convincing way of selling the system to customers and users

More advantages of using scenarios Scenarios foster system architecture oriented to usage not structure - less complex, more realism Product can be developed incrementally in priority order by considering one usage at a time Scenarios can aid in focusing on expected system behavior, yet keep track of exceptional behavior Scenarios provide a framework for negotiation and coordination between different stakeholders Scenarios linked to the glossary let abstract terms be defined by concrete scenarios useful in training Scenarios are valuable in examining, building, or validating static system models

Management of scenarios Change control controls evolution and ensures synchronization of prototypes, documentation, and test cases, if we have a traceability mechanism Scenarios need to be partitioned to provide: Views at different levels of detail; Work breakdown; Different viewpoints. Scenario review by walkthroughs and inspections Managers encourage scenario development: Top‑down decomposition (stepwise refinement) Black‑box to white‑box transformation Incremental development of alternate cases/exceptions Informal to formal scenario notations