HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, a scenario (, ; loaned (), ) is a narrative of foreseeable interactions of user roles (known in the Unified Modeling Language as ' actors') and the technical system, which usually includes computer hardware and
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
. A scenario has a
goal A goal is an idea of the future or desired result that a person or a group of people envision, plan and commit to achieve. People endeavour to reach goals within a finite time by setting deadlines. A goal is roughly similar to a purpose or ...
, which is usually functional. A scenario describes one way that a system is used, or is envisaged to be used, in the context of an activity in a defined time-frame. The time-frame for a scenario could be (for example) a single transaction; a business operation; a day or other period; or the whole
operational life A product's service life is its period of use in service. Several related terms describe more precisely a product's life, from the point of manufacture, storage, and distribution, and eventual use. Service life has been defined as "a product's ...
of a system. Similarly the scope of a scenario could be (for example) a single system or a piece of equipment; an equipped team or a department; or an entire organization. Scenarios are frequently used as part of the system development process. They are typically produced by usability or
marketing Marketing is the process of exploring, creating, and delivering value to meet the needs of a target market in terms of goods and services; potentially including selection of a target audience; selection of certain attributes or themes to empha ...
specialists, often working in concert with end users and developers. Scenarios are written in plain language, with minimal technical details, so that
stakeholder Stakeholder may refer to: *Stakeholder (corporate), a group, corporate, organization, member, or system that affects or can be affected by an organization's actions *Project stakeholder, a person, group, or organization with an interest in a proje ...
s (designers, usability specialists, programmers, engineers, managers, marketing specialists, etc.) can have a common ground to focus their discussions. Increasingly, scenarios are used directly to define the wanted behaviour of software: replacing or supplementing traditional
functional requirement In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a specification of behavior between inputs and outputs. Functional requirements may involve ...
s. Scenarios are often defined in
use case In software and systems engineering, the phrase use case is a polyseme with two senses: # A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful. # A potential scenari ...
s, which document alternative and overlapping ways of reaching a goal.Alexander and Beus-Dukic, 2009. Page 120


Types of scenario in system development

Many types of scenario are in use in system development. Alexander and MaidenAlexander and Maiden, 2004. Chapter 1. list the following types: * Story: "a narrated description of a causally connected sequence of events, or of actions taken". Brief User stories are written in the
Agile Agile may refer to: * Agile, an entity that possesses agility Project management * Agile software development, a development method * Agile construction, iterative and incremental construction method * Agile learning, the application of incremen ...
style of software development.Cohn, 2004. * Situation, Alternative World: "a projected future situation or snapshot". This meaning is common in planning, but less usual in software development. *
Simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the ...
: use of models to explore and animate 'Stories' or 'Situations', to "give precise answers about whether such a scenario could be realized with any plausible design" or "to evaluate the implications of alternative possible worlds or situations". *
Storyboard A storyboard is a graphic organizer that consists of illustrations or images displayed in sequence for the purpose of pre-visualizing a motion picture, animation, motion graphic or interactive media sequence. The storyboarding process, in th ...
: a drawing, or a sequence of drawings, used to describe a user interface or to tell a story. This meaning is common in
Human–computer interaction Human–computer interaction (HCI) is research in the design and the use of computer technology, which focuses on the interfaces between people ( users) and computers. HCI researchers observe the ways humans interact with computers and design ...
to define what a user will see on a screen. * Sequence: a list of interactive steps taken by human or machine agents playing system roles. The many forms of scenario written as sequences of steps include Operational Scenarios, Concepts of Operations, and Test Cases. * Structure: any more elaborately-structured representation of a scenario, including
Flowchart A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a task. The flowchart shows the steps as boxes of va ...
s,
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally ...
/ITU 'Sequence Charts', and especially in software development
Use case In software and systems engineering, the phrase use case is a polyseme with two senses: # A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful. # A potential scenari ...
s. Negative scenarios or misuse cases may be written to indicate likely threats which should be countered to ensure that systems have sufficient
security" \n\n\nsecurity.txt is a proposed standard for websites' security information that is meant to allow security researchers to easily report security vulnerabilities. The standard prescribes a text file called \"security.txt\" in the well known locat ...
,
safety Safety is the state of being "safe", the condition of being protected from harm or other danger. Safety can also refer to the control of recognized hazards in order to achieve an acceptable level of risk. Meanings There are two slightly di ...
, and
reliability Reliability, reliable, or unreliable may refer to: Science, technology, and mathematics Computing * Data reliability (disambiguation), a property of some disk arrays in computer storage * High availability * Reliability (computer networking), ...
. These help to discover non-functional requirements.Alexander and Maiden, 2004. Chapter 7.


Uses in system development

Scenarios have numerous possible applications in system development. Carroll (1995) lists 10 different "roles of scenarios in the system development lifecycle":Carroll, 1995. Pages 7-8 #
Requirements analysis In systems engineering and software engineering, requirements analysis focuses on the tasks that determine the needs or conditions to meet the new or altered product or project, taking account of the possibly conflicting requirements of the ...
: scenarios describe the "state-of-the-art" (often called "as-is"); acted scenarios help to discover requirements as analysts "stage a simulated work situation". # User-designer communication: users contribute scenarios important to them, or situations they want to experience or avoid. # Design rationale: rationale can explain design "with respect to particular scenarios of user interaction". # Envisionment: scenarios "can be a medium for working out what a system being designed should look like and do." In this role, scenarios can be "graphical mockups such as storyboards or video-based simulations", and may form early prototypes of the system under design. #
Software design Software design is the process by which an agent creates a specification of a software artifact intended to accomplish goals, using a set of primitive components and subject to constraints. Software design may refer to either "all the activity ...
: "scenarios can be analyzed to identify the central problem domain objects" needed; the same scenarios can be developed to describe the objects' state, behavior and interactions. #
Implementation Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy. Industry-specific definitions Computer science In computer science, an implementation is a real ...
: software can be built one scenario at a time, helping "to keep developers focused" and "producing code that is more generally useful". # Documentation and
Training Training is teaching, or developing in oneself or others, any skills and knowledge or fitness that relate to specific useful competencies. Training has specific goals of improving one's capability, capacity, productivity and performance. I ...
: "scenarios of interaction that are meaningful to the users" can bridge the gap between the system as built "and the tasks that users want to accomplish using it". # Evaluation and testing: since "a system must be evaluated against the specific user tasks it is intended to support", scenarios are ideal for evaluation. #
Abstraction Abstraction in its main sense is a conceptual process wherein general rules and concepts are derived from the usage and classification of specific examples, literal ("real" or " concrete") signifiers, first principles, or other methods. "An a ...
: general rules that apply across different tasks (or systems) can be identified by comparing scenarios. # Team building: "a set of touchstone stories is an important cohesive element in any social system".


In differing styles of system development

The choice of scenario representation varies widely with style of development, which is related to the industrial context.


See also

* Happy path * Scenario testing


References


Bibliography

* Alexander, Ian and Beus-Dukic, Ljerka. ''Discovering Requirements: How to Specify Products and Services''. Wiley, 2009. * Alexander, Ian F. and Maiden, Neil. ''Scenarios, Stories, Use Cases''. Wiley, 2004. * Carroll, John M. (ed) ''Making Use: Scenario-based Design of Human-Computer Interactions''. MIT Press, 2000. * Carroll, John M. (ed) ''Scenario-Based Design: Envisioning Work and Technology in System Development''. Wiley, 1995. * Cockburn, Alistair. ''Writing Effective Use Cases''. Addison-Wesley, 2001. * Cohn, Mike. ''User Stories Applied: for Agile Software Development''. Addison-Wesley, 2004. * Fowler, Martin. ''UML Distilled''. 3rd Edition. Addison-Wesley, 2004.


External links


Notes on Design Practice: Stories and Prototypes as Catalysts for Communication.
by Thomas Erickson, in Carroll, 1995. {{DEFAULTSORT:Scenario (Computing) Software requirements Software design Usability