Download XP Requirements Engineering-Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity! Software Requirements
Specification
a eEeEee ~ . ‘ _ ~ 7
SRS in XP
docsity.com
“Dilbert” on Extreme and Agile
Programming
EXTREME PROGRAMMING
I CAN'T GIVE YOU
ALL OF THESE
FEATURES IN THE
FIRST VERSION.
AND EACH FEATURE
NEEDS TO HAVE
WHAT WE CALL A
“USER STORY.”
ifr2]o3 © 2002 United Feature Syndicate, Inc
OKAY, HERE'S A
STORY: YOU GIVE
ME ALL OF MY
FEATURES OR TLL
RUIN YOUR LIFE.
WE'RE GOING TO TRY
SOMETHING CALLED
EXTREME PROGRAM-
MING.
www.dilbert.com — scottadamaieotcom www.dilbert.com — scottadams®a0l.com
FIRST, PICK A
PARTNER. THE TWO
OF YOU WILL WORK
AT ONE COMPUTER
FOR FORTY HOURS
A WEEK.
1(3]0.3 ©2002 United Feature Syndicate, inc
THE NEW SYSTEM IS
A MINUTE OLD AND
I ALREADY HATE
EVERYONE.
Cy Copyright 9 2803 United Feature Syndicate, Inc.
4-2
docsity.com
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 docsity.com The requirements analysis process Requirements validation Domain understanding Prioritization Requirements collection Conflict resolution Classification Requirements definition and specification Process entry docsity.com CS428 4-7 Requirements Requirements should be specific, so you can tell whether you met them. precise as necessary, but no more Functional requirements inputs, outputs, and the relations between them in theory, can specify completely Non-functional requirements hard to specify, can’t specify completely •scalability •maintainability •portability •... •security •reliability •efficiency •usability docsity.com 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 Operator Machine Required Behavior of lathe Specification Requirements docsity.com 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. docsity.com CS428 4-12 Non-functional requirements Performance Must answer a query in 3 seconds Usability New user must be able to finish buying a book in 15 minutes 90% of users must say they like interface Maintainability New programmers should be able to fix first bug in two weeks on the job docsity.com User Stories User 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. docsity.com 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 docsity.com Poor User Stories Too vague and hard to Estimate Test Defines implementation details Customer doesn’t care about Tomcat or Dreamweaver docsity.com User Stories for Northwind
Dap Shopping Cart Displ obi ¢ -
Uses user id / paseword required +o Add Allow customer to look at order
login. . staivs using their order Number.
Kemove =
: . ; Status
* Customer Contact information for Display
Sething up new aecounts. } ~ Processing
Update, = Shipped
| Browse Catalog _
~ a) fh
' [Display Order Contirmatian a
Display Categories / Sub “Cateqones
Provide feedback Confirm order with
Untl drill down +o an item " fer wi
an order number
Display only active items. — Web-based
~ mail
Search for Product Dp Splay Order History a
Search the Title / Produce Name Display all orders for a given
Customer.
Descri prion
3-20
3 docsity.com
Quick High-Level Design Flow
Login
Order Product Screen Flow
Product List Product Detail
|
Admin My Acct Cart Admin My Acct Cart Admin My Acct Cart
|
Lil
—| Admin My Acct Cart
— | (Creckout) (Cont,
Order
Contirmation Order
| teimin My Acet Cart — | Admin My Acct Cart
(Gare) Gori)
3-21
docsity.com
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 Factor✕ Iteration Length in Business Days E.g. for • 8 developers • 2-week iteration (10 business days) • load factor=4 (as developers spend time not coding (meetings, email, pair programming) Iteration velocity (#story pts team can complete)= (8/4 X 10) = 20 docsity.com Individual’s Velocity Here is the formula for calculating the velocity of an individual: No. of Hours in Workday ✕ Length of Iteration/Load Factor (Truncated) = Individual Velocity The length of the iteration is in business days. The load factor accounts for other, non development activities. The individual velocity is in ideal hours. For example, the following uses an 8-hour workday with a 2-week iteration and a load factor of 4: 8 ✕ 10/4 = 20 The result is 20 ideal hours in the iteration for the developer. docsity.com Story Selection Velocity of a single iteration (4/3 ✕ 10) = 13 Two week Iteration docsity.com User Stories Review
fone __A Story card SS
Short descriptive Cup of Tea
title ——_ thing wanted
I want a cup of tea
so that | feel refreshed
business benefit
expected
Developers’ estimate —5 minutes Back Ac ce pta nce tests
Action Result
Thermometer shows
Put thermometer in cup evemaOlee cits
Drink liquid in cup Tastes like tea
docsity.com