Requirement Analysis and Specification
Session 2005/ 2006
Pascal Fenkam
Requirement Analysis and Specification Session 2005/ 2006 Pascal - - PDF document
Requirement Analysis and Specification Session 2005/ 2006 Pascal Fenkam Adm inistration I ntroduction & Administrative details Lecturer-in-charge Dr. Pascal Fenkam Argentinierstr. 8/ 1841, 3rd flloor Office hours: Thursday:
Session 2005/ 2006
Pascal Fenkam
Lecturer-in-charge
Office hours:
Thursday: 14h-15h
Studienassistenten
Daniel Fede Leo Brunnhofer Michael Halwax
Two mandatory group assignments Discussion via TUWIS 2 hours lectures (x 6)
RULES & REGULATIONS
Please be PUNCTUAL for all your classes. Switch off your m obile phones. Concentrate during lecture sessions. EXAM TI PS are given throughout the sessions Attendance is highly recommended. Behavior in Lectures: Listen & Ask!
Managing Software Requirements: A Use Case Approach (Dean Leffingwell and Don Widrig), Chapters 8-13
Problem Frames. Analyzing and Structuring software development problems (Michael Jackson), Chapters 1-8
Lecture Tutorial Group Assignments Final Examination
Tutorial Group Assignment 45% Final Exam
55%
Total 100%
coverage for a topic and place it into context.
know about the topic.
are expected to read up other text and references and practice your analytical skills in solving the tutorial questions and case studies.
We view any act of dishonesty with grave
concern.
Any student caught committing any form of
dishonesty will be deemed to have failed the examination.
Dishonesty includes plagiarism, misconduct
during examination and theft of other student’s work.
Introduce the notions of
requirements engineering (RE) system requirements
Put RE into a broader context of system
engineering
Introduce the notion of
processes and process models for RE
development: $ 250 billion/ year
31 % of projects are canceled before
ever get completed
22 % are completed but with cost and
schedule overrun or without meeting expectation
serious problems and the most costly to fix.
Lack of user input (13 % of all projects) Incomplete requirements and specs (12 % ) Changing requirements and specs (12 % )
errors and improve software quality.
Maintenance Acceptance test Unit test Coding Design Requirements Time
2 0 5 2
.1 -.2 .5 1
Cost of Requirements Errors
the customer for the system.
Result: Late nights, Systems are late,
unreliable, don’t meet customers needs, lot of canceled projects, com plete frustration.
after they have been agreed or/ and implemented
Redesign Recoding Retesting
Softw are Requirem ents Features Needs Solution Dom ain Problem Dom ain
A reflection of the business, personal, or
a new system
I need easier way to understand the status of my
inventory/ library
I’d like to see a big increase in the productivity of
sales order entry
fulfills one or more stakeholder needs
Each user must have an account in the library system Manual control of doors during fire emergency Linux compatibility
nor their needs but something in between
I want a vehicle with ABS I need a new GUI-based order entry screen
Advantages: users are experts in their domains, such
features are easy to discuss and document.
Caveat: the feature may not be (and often is not) the
solution You are right, but you still lose!
the constraints under which it is required to operate
materials including books, serials, newspapers and magazines, video and audio tapes, reports, collections
title, author, or by ISBN.
a World-Wide-Web browser.
second.
shall be demonstrable in 10 minutes or less.
Primarily concerned with processing
information which is held in some database.
Systems where software is used as a
controller in some broader hardware system
A combination of IS and ES where the ES
provides information which is collected, stored, and used to make decisions via the IS
Software requirements engineering Requirements partitioning Architectural design System requirements engineering Sub-system development System integration
System validation
been delivered
their work
system
legal requirements
information about the system application domain
A process is an organised set of activities which
transforms inputs to outputs
Process descriptions encapsulate knowledge and
allow it to be reused
Examples of process descriptions
Instruction manual for a dishwasher Cookery book Quality manual for software development
Agreed requirements System specification System models Requirements engineering process Stakeholder needs Organisational standards Domain information Regulations Existing systems information
to another
Technical maturity Disciplinary involvement Organisational culture Application domain
engineering process
Needs and features discovered through
consultation with stakeholders
Requirements are analysed and conflicts resolved
Requirements document are produced (including
specifications)
The requirements document is checked for
consistency and completeness
Requirements elicitation Requirements analysis and negotiation Requirements documentation Requirements validation Informal statement of requirements Agreed requirements Draft requirements document Requirements document and validation report Decision point: Accept document
START
modifying processes in order to meet some improvement objectives
Quality improvement Schedule reduction Resource reduction
processes?
to achieve these goals?
controlled and managed?
Good practice for RE process improvement
introduction of good requirements engineering practice
guidelines and works to introduce them in an
document.
information about existing systems, stakeholder needs,
information.
simplified process description which are presented from a particular perspective.
important influences on requirements engineering processes.
difficult and is best tackled in an incremental way.
classified according to their degree of maturity.
used to com m unicate the requirements to customers, engineers and managers.
The services and functions which the system
should provide
The constraints under which the system must
Overall properties of the system i.e. constraints
The requirements document describes:
Information about the application domain of the
system e.g. how to carry out particular types of computation
Constraints on the processes used to develop the
system
Description of the hardware on which the system is to
run
Definitions of other systems which the system must
integrate with.
specify the requirements and read them to check
they meet their needs
Use the requirements document to plan and
manage the development process
Use the requirements to understand the system
being developed
Use the requirements for testing
Use the requirements to understand the system
The IEEE standard is a generic standard which
can be applied to a wide range of requirements documents.
In general, not all parts of the standard are
required for all requirements documents
Each organization should adapt the standard
depending on the type of systems it develops
IEEE/ ANSI 830-1993 standard proposes a structure for
software requirements documents
Introduction
1.1 Purpose of requirements document 1.2 Scope of the product 1.3 Definitions of terms 1.4 References 1.5 Overview of the document
2.
General description 2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 General constraints 2.5 Assumptions and dependencies
3.
Specific requirements; Covering functional, non- functional and interface requirements.
Index
Define a standard document structure Explain how to use the document Include a summary of each requirement Make the document easy to read/ change Help readers find information
paragraphs of natural language text supplemented by diagrams
use of complex conditional clauses which are
confusing
sloppy and inconsistent terminology writers assume readers have domain
knowledge
are written. You should invest time to write readable and understandable requirements
requirements have the same background and use the same terminology as you
requirements
description of requirements
elicitation
elicitation techniques.
The “Yes, But” Syndrome
Software are abstract and often cannot be
experienced by users
Mechanical engineering has a well-defined
discipline of proof-of-principle models, sketches, mockups, models, prototyping for providing early feedback to customers.
This syndrome is human nature and integral part
“Undiscovered ruins” Syndrome
The more you find the more you know remain. Be aware of the point where to stop searching.
“User and Developer” Syndrome
Communication gap Users and developers are usually from
different worlds, have different motivations and objectives, drink different beers speak different languages.
We must learn to communicate more
effectively with these users
i.e. the general area where the system is applied.
The details of the specific customer problem where
the system will be applied must be understood.
i.e. how systems interact and contribute to overall
business goals.
stakeholders
You must understand, in detail, the specific needs
problematical requirements are
discussed with the stakeholders.
Disputed requirements are prioritized to
identify critical requirements and to help the decision making process.
Solutions to the requirements problems are
identified and a compromise set of requirements are agreed.
system requirements
perspective
for a new system
Interviews Workshop Scenarios Observations and social analysis Requirements reuse Storyboarding
discusses the system with different stakeholders and builds up an understanding
Closed interviews. The requirements
engineer looks for answers to a pre- defined set of questions
Open interviews There is no predefined
agenda and the requirements engineer discusses, in an open-ended way, what stakeholders want from the system.
not approach the interview with pre-conceived notions about what is required
Stakeholders must be given a starting point for
requirements proposal or an existing system
politics - many real requirements may not be discussed because of their political implications
committed team
important
stakeholders and developers
“Not another meeting”, “You’ll never get XX”,
logistic preparation
Not too early, not too late
Preferably from outside the organization Experienced with requirements
engineering issues
Team and consensus building skills Well respected by other team members
Establish a professional and objective tone Starts and stops the meeting on time Establishes and enforce the rules Introduces the goals Manages the meeting and keep people on
track
Controls disruptive or unproductive behavior Makes sure that all stakeholders participate Makes sure that the focus remains on the
agenda.
be used. They should include
a description of the system state before entering the
scenario
the normal flow of events in the scenario exceptions to the normal flow of events information about concurrent activities a description of the system state at the end of the
scenario
with the system
possible system interactions facilities which may be required
system usage) is sometimes used to refer to a scenario
between use-cases and scenarios:
A use-case is a scenario A scenario is a collection of use-cases; each
exceptional interaction is represented as a separate use-case
they do because it is so natural to them. Sometimes, the best way to understand it is to observe them at work
sciences which has proved to be valuable in understanding actual work processes
formal, prescribed processes
picture of how work is done
job and look for non-standard ways of working
establish a trust relationship
Analyze them and draw.
interviewing
which have been developed for one system and using them in a different system
requirements have already been analyzed and validated
process; systematic reuse could lead to larger cost savings
experimentation and for pointing out strengths and weaknesses.
so that they are available early in the elicitation process
high development costs are incurred
development of documentation
which reveals inconsistencies and omissions
Aims at eliciting the system requirements. The prototyped requirements are those which
cause most difficulties to customers and which are the hardest to understand.
Aims at quickly delivering a workable system
to the customer.
The prototyped requirements are those which
are well-understood and which can deliver useful end-user functionalities.
the use of special tools
developing a prototype may extend the schedule
requirements are hard to prototype
Purpose: gain an early reaction from
the users on the concept proposed for the application
Elicit early “Yes, but” reactions
Inexpensive User friendly, informal, and interactive Easy to create and modify Prevent the “blank-page” syndrome
Passive storyboards
Tell a story to the user Includes sketches, pictures, screenshots. The analysts plays the role of the system and
walks the user though the storyboard
Active storyboards
Present a movie of a system that does not
exist yet
Animated, automated, animated slides, home
made movies, simulations
Interactive storyboards
User experience the system Simulations, mock-ups, interactive
presentations, live demos
Don’t invest too much: customers may be
intimidated about making changes if it looks like a real product.
Make the storyboard easy to modify: if you don’t
change anything, you don’t learn anything
Don’t make the storyboard too functional otherwise,
some customers may want you to ship it.
Whenever possible, make the storyboard
interactive: the customer’s experience of use will generate more feedback and will elicit more new requirements.
Storyboard early, storyboard often, storyboard on
any project with innovative content.
incompleteness and inconsistencies in the elicited requirements. These are then fed back to the stakeholders to resolve them through the negotiation process
problems are discovered when the requirements are elicited
against the checklist
analysis is to
discover the interactions between requirements to highlight requirements conflicts and to highlight requirements overlaps
requirements interact with each other. Requirements are listed along the rows and columns of the matrix
For conflicting requirements, fill in a 1
For overlapping requirements, fill in a 1000 For independent requirements, fill in a 0
inevitable when a system has many
reflect different stakeholder needs and priorities
discussing requirements conflicts and reaching a compromise
process, it is important to leave enough time for negotiation. Finding an acceptable compromise can be time-consuming
the nature of the problems is explained.
the stakeholders discuss how to solve the
problems
All stakeholders with an interest in the
requirement should comment. Priorities may be assigned to requirements at this stage.
actions concerning the discussed requirement
are agreed.
E.g. delete the requirement, modification to
the requirement, elicit further information.
understanding the application domain, the specific problem to be solved, the organizational needs and constraints and the specific facilities needed by system stakeholders.
analysis and negotiation are iterative, interleaved processes which must usually be repeated several times.
elicitation which may be used including interviewing, scenarios, storyboarding, prototyping, and participant observation, workshops, brainstorming.
to resolve requirements conflicts and remove requirements overlaps. Negotiation involves information interchange, discussion and resolution
Problem description: the aim of this project is to construct a machine (the software) to control an elevator called Catalina and where:
illuminates when pressed. The illumination is cancelled when the elevator visits the floor and the cabin is moving in the right direction.
These buttons illuminate when pressed and cause the elevator to visit the corresponding floor. In addition, there are buttons for opening the doors of the cabin, closing them, and stopping the cabin.
persist; thus they should eventually be serviced.
go down or stop.
leaving it. And in this case, the door must remain open as long as necessary.
the cabins at the floors of the building. The cabins should remain at these destinations with doors closed and awaiting further requests.
signal to be sent to the site manager. The whole elevator is then deemed “out of service“ and all cabins are blocked. Each elevator has a mechanism to cancel its “out of service" status.
Questions:
stakeholders from which more requirements may be collected. The list should be as complete as possible.
requirements from these stakeholders, plan them and design them. For instance, for an interview, you should list a complete set of devices that you need, the rooms where the interview will take place the person involved in this interview, the nature of the interview and the reason for choosing this type of interview, etc.
requirement document and Requisite Pro used for this purpose. ( http: / / www-128.ibm.com/ developerworks/ downloads/ r/ rrp/ )
concentrates on building such elevators.
Assignment:
Slides