requirements1. understand and specifying requirements a problem of scale for small scale: understand...

68
Requirements 1

Upload: molly-randall

Post on 19-Dec-2015

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Requirements 1

Page 2: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Understand and specifying requirements

A problem of scaleFor small scale: understand and specifying

requirements is easyFor large scale: very hard; probably the

hardest, most problematic and error prone

The requirements task:Input: User needs in minds of people

(hopefully)Output: precise statement of what the

future system will do

Requirements 2

Page 3: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Challenges

Identifying and specifying requirementsNecessarily involves people interactionCannot be automated

Requirements 3

Page 4: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Background..

What is a Requirement?A condition or capability that must be

possessed by a system (IEEE)What is the work product of the Req.

phase ?A software requirements specification (SRS)

documentWhat is an SRS ?

A complete specification of what the proposed system should do!

Requirements 4

Page 5: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Background..

Requirements understanding is hardVisualizing a future system is difficultCapability of the future system not clear,

hence needs not clearRequirements change with time…

Essential to do a proper analysis and specification of requirements

Requirements 5

Page 6: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Purpose of SRS document?

SRS establishes basis of agreement between the user and the supplier.Users needs have to be satisfied, but user may

not understand softwareDevelopers will develop the system, but may not

know about problem domain

SRS is the medium to bridge the communications gap,

and specifies user needs in a manner both can

understandRequirements 6

Page 7: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Need for SRS…Helps user understand his needs.

users do not always know their needsmust analyze and understand the potentialThe req process helps clarify needs

Don’t pave the goat trialthe goal is not just to automate a manual

system, but also to add value through IT

SRS provides a reference for validation of the final productClear understanding about what is expected.Validation - “ SW satisfies the SRS “

Requirements 7

Page 8: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Need for SRS…

High quality SRS essential for high Quality SWRequirement errors get manifested in final

swto satisfy the quality objective, must begin

with high quality SRS

Requirements defects are not few 25% of all defects in one study; 54% of all defects

found after UT defects often found in previously approved SRS.

Requirements 8

Page 9: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Need for SRS…

Good SRS reduces the development costSRS errors are expensive to fix laterReq. changes can cost a lot (up to 40%)Good SRS can minimize changes and errorsSubstantial savings; extra effort spent

during req. saves multiple times that effort

An ExampleCost of fixing errors in req. , design ,

coding , acceptance testing and operation are 2 , 5 , 15 , 50 , 150 person-months

Requirements 9

Page 10: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Requirements ProcessBasic activities:

problem or requirement analysisrequirement specificationValidation

Analysis involves elicitation and is the hardest

Requirements 10

Page 11: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Requirement process..Process is not linear, it is

iterative and parallelOverlap between phases

- some parts may be analyzed and specified

Specification itself may help analysis

Validation can show gaps that can lead to further analysis and spec

Requirements 11

needs

Analysis

Specification

Validation

Page 12: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Requirements Process…Divide and conquer is the basic strategy

decompose into small parts, understand each part and relation between parts

Large volumes of information is generatedorganizing them is a key

Techniques like data flow diagrams, object diagrams etc. used in the analysis

Requirements 12

Page 13: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Problem AnalysisAim: to gain an understanding of

the needs, requirements, and constraints on the software

Analysis involvesinterviewing client and usersreading manualsstudying current systemshelping client/users understand new

possibilitiesLike becoming a consultant

Must understand the working of the organization , client and users

Requirements 13

Analysis

Specification

Validation

Page 14: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Problem Analysis…Some issues

Obtaining the necessary informationBrainstorming: interacting with clients to

establish desired propertiesInformation organization, as large amount of

info. gets collectedEnsuring completenessEnsuring consistencyAvoiding internal design

Requirements 14

Page 15: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Problem Analysis…Interpersonal issues are importantCommunication skills are very importantBasic principle: problem partitionPartition w.r.t what?

Object - OO analysisFunction - structural analysisEvents in the system – event partitioning

Projection - get different viewsWill discuss few different analysis

techniques Requirements 15

Page 16: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Informal Approach to AnalysisNo defined methodology; info obtained

through analysis, observation, interaction, discussions,…

No formal model of the system builtObtained info organized in the SRS; SRS

reviewed with clientsRelies on analyst experience and feedback

from clients in reviewsUseful in many contexts

Requirements 16

Page 17: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Use story telling!Steps

Describe the actorsDescribe the situationTell a story

Focus on what is done not howAvoid designKeep it abstractEasy match to use cases used for

specification of requirements

Requirements 17

Page 18: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Data Flow ModelingWidely used; focuses on functions

performed in the systemViews a system as a network of data

transforms through which the data flowsUses data flow diagrams (DFDs) and

functional decomposition in modelingThe Structured System Analysis and

Design (SSAD) methodology uses DFD to organize information, and guide analysis

Requirements 18

Page 19: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example DFD: Enrolling in a University

Requirements 19

In Gane and Sarson notation

Page 20: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Data flow diagramsThere are only four symbols:1.Squares representing external

entities, which are sources or destinations of data.

2.Rounded rectangles representing processes, which take data as input, do something to it, and output it.

3.Arrows representing the data flows, which can either be electronic data or physical items.

4.Open-ended rectangles representing data stores, including electronic stores such as databases or XML files and physical stores such as or filing cabinets or stacks of paper.

Requirements 20

Page 21: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Data flow diagrams

A DFD shows flow of data through the systemViews system as transforming inputs to outputsTransformation done through transformsDFD captures how transformation occurs from

input to output as data moves through the transforms

Not limited to software

Requirements 21

Page 22: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Data flow diagrams…DFD (in the textbooks notation)

A rectangle represents a source or sink and is originator/consumer of data (often outside the system)

Transforms represented by named circles/bubbles

Bubbles connected by arrows on which named data travels

Data stored underlined

Requirements 22

Page 23: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

DFD Example

Requirements 23

Page 24: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

DFD ConventionsExternal files shown as labeled straight

linesNeed for multiple data flows by a process

represented by * (means and)OR relationship represented by +All processes and arrows should be namedProcesses should represent transforms,

arrows should represent some data

Requirements 24

Page 25: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Data flow diagrams…

Focus on what transforms happen , how they are done is not important

Usually major inputs/outputs shown, minor are ignored in this modeling

No loops , conditional thinking , …

DFD is NOT a control chart, no algorithmic design/thinking

Requirements 25

Page 26: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Drawing a DFD for a systemIdentify inputs, outputs, sources, sinks for

the systemWork your way consistently from inputs to

outputs, and identify a few high-level transforms to capture full transformation

If get stuck, reverse directionWhen high-level transforms defined, then

refine each transform with more detailed transformations

Requirements 26

Page 27: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Drawing a DFD for a system..Never show control logic; if thinking in terms

of loops/decisions, stop & restartLabel each arrows and bubbles; carefully

identify inputs and outputs of each transformMake use of + & *Try drawing alternate DFDs

Requirements 27

Page 28: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Leveled DFDsDFD of a system may be very largeCan organize it hierarchicallyStart with a top level DFD with a few

bubblesthen draw DFD for each bubblePreserve I/O when “ exploding” a bubble

so consistency preservedMakes drawing the leveled DFD a top-

down refinement process, and allows modeling of large and complex systems

Requirements 28

Page 29: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Data Dictionary

After creating a DFD create the associated Data Dictionary

Shows structure of data; structure becomes more visible when exploding

Can use regular expressions to express the structure of data

Requirements 29

Page 30: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Data Dictionary ExampleFor the timesheet DFD

Weekly_timesheet = employee_name + id + [regular_hrs + overtime_hrs]*

Pay_rate = [hourly | daily | weekly] + dollar_amt

Employee_name = last + first + middle

Id = digit + digit + digit + digit Requirements 30

Page 31: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

DFD drawing – common errors

Unlabeled data flowsMissing data flowsExtraneous data flowsConsistency not maintained during

refinementMissing processesToo detailed or too abstractContains some control information

Requirements 31

Page 32: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Other Approaches to RAPrototyping

EvolutionaryThrow-away

Object OrientedClasses, attributes, methodsAssociation between classesClass hierarchiesThe OOD approach is applied, except to the

problem domain

Requirements 32

Page 33: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Requirements SpecificationFinal output of requirements task is the

SRSWhy are DFDs, OO models, etc not SRS ?

SRS focuses on external behavior, while modeling focuses on problem structure

UI etc. not modeled, but have to be in SRSError handling, constraints etc. also needed in

SRS

Transition from analysis to specification is not straight forward

Knowledge about the system acquired in analysis used in specification

Requirements 33

Analysis

Specification

Validation

Page 34: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Characteristics of an SRS

CorrectCompleteUnambiguousConsistentVerifiableTraceableModifiableRanked for importance and/or stability

Requirements 34

Page 35: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Characteristics…

CorrectnessEach requirement accurately represents some

desired feature in the final systemCompleteness

All desired features/characteristics specifiedHardest to satisfyCompleteness and correctness strongly related

Unambiguous Each req has exactly one meaningWithout this errors will creep inImportant as natural languages often used

Requirements 35

Page 36: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Characteristics…Verifiability

There must exist a cost effective way of checking if sw satisfies requirements

Consistenttwo requirements don’t contradict each other

TraceableThe origin of the req, and how the req relates to

software elements can be determinedRanked for importance/stability

Needed for prioritizing in constructionTo reduce risks due to changing requirements

Requirements 36

Page 37: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Components of an SRSWhat should an SRS contain ?

Clarifying this will help ensure completeness

An SRS must specify requirements onFunctionalityPerformanceDesign constraintsExternal interfaces

Requirements 37

Page 38: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Functional Requirements

Heart of the SRS document; this forms the bulk of the specs

Specifies all the functionality that the system should support

Outputs for the given inputs and the relationship between them

All operations the system is to doMust specify behavior for invalid inputs

too

Requirements 38

Page 39: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Performance RequirementsAll the performance constraints on the

software system

Generally on response time , throughput etc => dynamic

Capacity requirements => static

Must be in measurable terms (verifiability)Eg resp time should be xx 90% of the time

Requirements 39

Page 40: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Design ConstraintsFactors in the client environment that

restrict the choicesSome such restrictions

Standard compliance and compatibility with other systems

Hardware LimitationsReliability, fault tolerance, backup req.Security

Requirements 40

Page 41: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

External InterfaceAll interactions of the software with people,

hardware, and swUser interface most importantGeneral requirements of “friendliness”

should be avoidedThese should also be verifiable

Requirements 41

Page 42: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Specification LanguageLanguage should support desired

charateristics of the SRS

Formal languages are precise and unambiguous but hard

Natural languages mostly used, with some structure for the document

Formal languages used for special features or in highly critical systems

Requirements 42

Page 43: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Structure of an SRSIntroduction

Purpose , the basic objective of the systemScope of what the system is to do , not to doOverview

Overall descriptionProduct perspectiveProduct functionsUser characteristicsAssumptionsConstraints

Requirements 43

Page 44: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Structure of an SRS…

Specific requirementsExternal interfacesFunctional requirementsPerformance requirementsDesign constraints

Acceptable criteriadesirable to specify this up front.

This standardization of the SRS was done by IEEE.

Requirements 44

Page 45: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Use Cases ApproachTraditional approach for fn specs – specify

each functionUse cases is a newer technique for

specifying behavior (functionality)I.e. focuses on functional specs onlyThough primarily for specification, can be

used in analysis and elicitationCan be used to specify business or org

behavior also, though we will focus on sw Well suited for interactive systems

Requirements 45

Page 46: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Use Cases BasicsA use case captures a contract between a

user and system about behaviorBasically a textual form; diagrams are mostly

to supportAlso useful in requirements elicitation as

users like and understand the story telling form and react to it easily

Requirements 46

Page 47: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Basics..Actor: a person or a system that interacts with

the proposed system to achieve a goalEg. User of an ATM (goal: get money); data entry

operator; (goal: Perform transaction)

Actor is a logical entity, so receiver and sender actors are different (even if the same person)

Actors can be people or systems

Primary actor: The main actor who initiates a UCUC is to satisfy his goalsThe actual execution may be done by a system or

another person on behalf of the Primary actor

Requirements 47

Page 48: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Basics..Scenario: a set of actions performed to

achieve a goal under some conditionsActions specified as a sequence of stepsA step is a logically complete action performed

either by the actor or the system

Main success scenario – when things go normally and the goal is achieved

Alternate scenarios: When things go wrong and goals cannot be achieved

Requirements 48

Page 49: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Basics..A UC is a collection of many such scenariosA scenario may employ other use cases in a

stepI.e. a sub-goal of a UC goal may be performed

by another UCI.e. UCs can be organized hierarchically

Requirements 49

Page 50: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Basics…UCs specify functionality by describing

interactions between actors and system

Focuses on external behavior

UCs are primarily textualUC diagrams show UCs, actors, and

dependenciesThey provide an overview

Story like description easy to understand by both users and analysts

They do not form the complete SRS, only the functionality part

Requirements 50

Page 51: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example

Use Case 1: Buy stocksPrimary Actor: PurchaserGoals of Stakeholders:

Purchaser: wants to buy stocks Company: wants full transaction info

Precondition: User already has an account

Requirements 51

Page 52: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example … Main Success Scenario

1. User selects to buy stocks2. System gets name of web site from user for

trading3. Establishes connection4. User browses and buys stocks5. System intercepts responses from the site

and updates user portfolio6. System shows user new portfolio standing

Requirements 52

Page 53: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example…Alternatives

2a: System gives err msg, asks for new suggestion for site, gives option to cancel

3a: Web failure. 1-Sys reports failure to user, backs up to previous step. 2-User exits or tries again

4a: Computer crashes4b: web site does not ack purchase5a: web site does not return needed info

Requirements 53

Page 54: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example 2Use Case 2: Buy a productPrimary actor: buyer/customerGoal: purchase some productPrecondition: Customer is already logged in

Requirements 54

Page 55: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example 2… Main Scenario

1. Customer browses and selects items2. Customer goes to checkout3. Customer fills shipping options4. System presents full pricing info5. Customer fills credit card info6. System authorizes purchase7. System confirms sale8. System sends confirming email

Requirements 55

Page 56: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example 2…Alternatives

6a: Credit card authorization fails Allows customer to reenter info

3a: Regular customer System displays last 4 digits of credit card no Asks customer to OK it or change it Moves to step 6

Requirements 56

Page 57: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example – An auction siteUse Case1: Put an item up for auctionPrimary Actor: SellerPrecondition: Seller has logged inMain Success Scenario:

Seller posts an item (its category, description, picture, etc.) for auction

System shows past prices of similar items to seller

System specifies the starting bid price and a date when auction will close

System accepts the item and posts itException Scenarios:

-- 2 a) There are no past items of this category * System tells the seller this situation

Requirements 57

Page 58: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example – auction site.. Use Case2: Make a bid Primary Actor: Buyer Precondition: The buyer has logged in Main Success Scenario:

Buyer searches or browses and selects some item System shows the rating of the seller, the starting bid,

the current bids, and the highest bid; asks buyer to make a bid

Buyer specifies bid price, max bid price, and increment

Systems accepts the bid; Blocks funds in bidders account

System updates the bid price of other bidders where needed, and updates the records for the item

Requirements 58

Page 59: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Exception Scenarios:-- 3 a) The bid price is lower than the current

highest * System informs the bidder and asks to

rebid

-- 4 a) The bidder does not have enough funds in his account

* System cancels the bid, asks the user to get more funds

Requirements 59

Page 60: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example –auction site.. Use Case 3: Complete auction of an item Primary Actor: Auction System Precondition: The last date for bidding has been

reached Main Success Scenario:

Select highest bidder; send email to selected bidder and seller informing final bid price; send email to other bidders also

Debit bidder’s account and credit seller’s account Transfer from seller’s account commission amount to

organization’s account Remove item from the site; update records

Exception Scenarios: None

Requirements 60

Page 61: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Example – Summary-level Use Case

Use Case: Auction an item Primary Actor: Auction system Scope: Auction conducting organization Precondition: None Main Success Scenario:

Seller performs put an item for auction Various bidders make a bid On final date perform Complete the auction of

the item Get feed back from seller; get feedback from

buyer; update recordsRequirements 61

Page 62: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Requirements with Use CasesUCs specify functional requirementsOther req identified separatelyA complete SRS will contain the use cases

plus the other requirementsNote – for system requirements it is

important to identify UCs for which the system itself may be the actor

Requirements 62

Page 63: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Developing Use CasesUCs form a good medium for brainstorming

and discussionsHence can be used in elicitation and problem

analysis alsoUCs can be developed in a stepwise

refinement mannerMany levels possible, but four naturally

emerge

Requirements 63

Page 64: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Developing…Actors and goals

Prepare an actor-goal listProvide a brief overview of the UCThis defines the scope of the systemCompleteness can also be evaluated

Main Success ScenariosFor each UC, expand main scenarioThis will provide the normal behavior of the

systemCan be reviewed to ensure that interests of all

stakeholders and actors is met

Requirements 64

Page 65: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Developing…Failure conditions

List possible failure conditions for UCsFor each step, identify how it may failThis step uncovers special situations

Failure handlingPerhaps the hardest partSpecify system behavior for the failure

conditionsNew business rules and actors may emerge

Requirements 65

Page 66: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Developing..The multiple levels can drive analysis by

starting from top and adding details as analysis proceeds

UCs should be specified at a level of detail that is sufficient

For writing, use good technical writing rulesUse simple grammarClearly specify all parts of the UCWhen needed combine steps or split steps

Requirements 66

Page 67: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Requirements Validation

Lot of room for misunderstandingErrors possibleExpensive to fix req defects laterMust try to remove most errors in SRSMost common errors

Omission - 30%Inconsistency - 10-30%Incorrect fact - 10-30%Ambiguity - 5 -20%

Requirements 67

Analysis

Specification

Validation

Page 68: Requirements1. Understand and specifying requirements A problem of scale For small scale: understand and specifying requirements is easy For large scale:

Requirements ReviewSRS reviewed by a group of peopleGroup: author, client, user, dev team

rep.Must include client and a userProcess – standard inspection processEffectiveness - can catch 40-80% of req.

errors

Requirements 68