1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

28
1 Software Requirements Specification SRS in XP Dr. Zahid Anwar

description

Requirements Analysis  Understanding the customer’s requirements for a software system how to do it

Transcript of 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Page 1: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

1

Software Requirements Specification

SRS in XP

Dr. Zahid Anwar

Page 2: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

“Dilbert” on Extreme and Agile Programming

CS428 4-2

Page 3: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Requirements Analysis

Understanding the customer’s requirements for a software system

how to do it

Page 4: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Requirements analysis Sometimes called requirements

elicitation or requirements discovery Involves technical staff working with

customers to find out about the application domain, the services that the system should provide and the system’s operational constraints

May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders

Page 5: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Problems of requirements analysis

Stakeholders don’t know what they really want

Stakeholders express requirements in their own terms

Different stakeholders may have conflicting requirements

Organisational and political factors may influence the system requirements

The requirements change during the analysis process. New stakeholders may emerge

Page 6: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

The requirements analysis process

Requirementsvalidation

Domainunderstanding Prioritization

Requirementscollection

Conflictresolution

Classification

Requirementsdefinition andspecification

Processentry

Page 7: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

CS428 4-7

RequirementsRequirements should be

specific, so you can tell whether you met them.

precise as necessary, but no moreFunctional requirements

inputs, outputs, and the relations between them

in theory, can specify completelyNon-functional requirements

hard to specify, can’t specify completely• scalability

• maintainability• portability

• ...

• security• reliability• efficiency• usability

Page 8: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

CS428 4-8

Functional requirementsInputs, outputs, and the relationship

between them

Use CasesFormats, standard interfacesBusiness rules and complex formula

Page 9: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

CS428 4-9

Functional requirementsCommand language

The “get” command will transfer ...Web pages

Input forms, dynamic pagesConnections to other systems

Files, sockets, XML, …Reports, displays

Page 10: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Functional requirements Requirement: a desired relationship among

phenomena of the environment of a system, to be brought about by the hardware/software machine that will be constructed and installed in the environment.

A specification describes machine behavior sufficient to achieve the requirement. A specification is a restricted kind of

requirement Lathe

OperatorMachine

RequiredBehaviorof lathe

Specification Requirements

Page 11: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Functional requirements Requirements define necessary objectives e.g.

software must handle error states reasonably and effectively, and provide explicit feedback to the users.

Specifications Define How to Meet The Objectives list out all possible error states for a certain form, along

with all of the error messages that should be displayed to the user.

Page 12: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

CS428 4-12

Non-functional requirementsPerformance

Must answer a query in 3 secondsUsability

New user must be able to finish buying a book in 15 minutes

90% of users must say they like interfaceMaintainability

New programmers should be able to fix first bug in two weeks on the job

Page 13: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

CS428 4-13

Nonfunctional requirementsTechnology

Must use JavaBusiness

Must get it finished in 1 year spending less than $1,000,000.

Page 14: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

XP Requirements: Release PlanningRelease Planning

Happens in the beginning of every project Made up of 2 phases: Exploration + Planning Game

Each project divided up into 1+ releasesEach release must

Be small Must deliver enough features to be of business

value Consist of a collection of user stories to provide

features

Page 15: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

User StoriesUser story is a

short description of what the business or customer wants the software to do, written by the customer in the customer terminology without techno-syntax.

Page 16: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

User Stories Index Cards Usually written on index

cards because easy to understand Pass around Tear up Prioritize

One and only one business feature

Written by & focus on customer

Avoid details of specific technology, data base layout, and algorithms

Page 17: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Poor User Stories

Too vague and hard to Estimate Test

Defines implementation details

Customer doesn’t care about Tomcat or Dreamweaver

Page 18: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Splitting of Stories

More than one business feature Search and Selection

functionality

Split

Page 19: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Planning Game Example (From Textbook)Northwind Inc Business Problem

Large reseller of food & beverage products. Product sales over direct-mail catalogs.

Processing of orders done over the phone from initial input of

the order to shipment and

delivery of the order

3-19

Create a Web presence that allows customers to self-order Northwind products and

track the status of their orders all the way through to shipment

Page 20: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

3-20

User Stories for Northwind

Page 21: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Quick High-Level Design Flow

3-21

Page 22: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

User Story Estimating &Planning Game Estimating

Estimates are in Story Points 1 story point = 1 ideal day

Planning Game Prioritization of User Stories

Priority is from 1 to n, not high, medium, low. Velocity Determination

(No. of Devs/Load ✕ Iteration Length in Business DaysE.g. for

• 8 developers• 2-week iteration• load factor=4 (time devs spend not coding (meetings, email, pair

programming)• Iteration team velocity (#story pts team can complete)= (8/4 X 10)

= 20 User Story Selection according to priority (may not exceed velocity)

Page 23: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Planning Game Planning happens once at the start of each iteration

Plan for just one iteration at a time Planning game is the main interface between customer and

development team How it works

Customer provides all the story cards that have been written Developers write on each card an estimate of how long it will

take to implement Developers provide an estimate of available developers X

time (= “velocity”) Customer chooses stories by priority to fill the available time

Page 24: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

VelocityVelocity =

(iteration length x No of Developers) / Load Factor

Load factor is the multiplier that connects how long you think things will take to how long they actually take

e.g. you think 2 days, it takes 6, so load factor is 3 (which is fairly typical!)

Page 25: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Story SelectionVelocity of a single iteration(4/3 ✕ 10) = 13

Two week Iteration

Page 26: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

User Stories Review

Page 27: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

Planning Game Class Exercise Groups of 5 with Subgroups

One Manager: Responsibilities includepassing information from the customers to the

programmers/designers. ensuring that project runs according to the strict time schedule keeps both groups on task during each phase.Presents the Stories and Design

Two Programmers: Facilitate the goals of the customer.Velocity calculationStory Points Estimation

Two Customers: responsible for fine-tuning of the general specifications supplied by the instructorWriting user story cards, prioritization and selection

Deliverables 5-10 user stories with prioritization, velocity & high-level

design

Toaster Electronic Thermometer

Wristwatch for Blind users

Windows Media Player

for TVSpice Rack for Blind People

Universal Remote Control

Sugar Dispenser for

Diabetics

Page 28: 1 Software Requirements Specification SRS in XP Dr. Zahid Anwar.

ToasterToaster ModeThe User inserts a loaf of bread and specifies the desired temperature and the heating timeThe bread is heated until the time has elapsedand the toaster is turned off automatically

Toaster Mode Forced StopThe User can stop the toaster at any time beforethe time has elapsed by pressing a push button

Oven ModeThe User doesn’t specify a time by turning off the time Knob therefore the toaster heats to the desired temperature until the user turns it off.

Toaster Mode Stop NotificationWhen the timer expires and the heating stops andthe toaster informs the user by making a beep sound.