the requirements iceberg and various icepicks chipping … · the requirements iceberg and various...

122
The Requirements Iceberg and Various Icepicks Chipping at it Daniel M. Berry

Upload: duongque

Post on 14-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

The RequirementsIceberg and VariousIcepicks Chipping at it

Daniel M. Berry

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 1

Requirements

Client’sView

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 2

Requirements Engineering:the Problems and anOverview of Research

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 3

Outline

Lifecycle ModelsConceptual ProblemsCostMyths and RealitiesE-Type SystemsWhere Do Requirements Come From?Formal Methods?Software and Mathematical TheoriesRequirement ErrorsRequirements and Other EngineeringRequirements Engineering Lifecycle

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 4

Overview of ResearchEarlier and LaterElicitationAnalysisNatural Language ProcessingTools

Future

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 5

Traditional Waterfall Lifecycle

a la Win Royce [1970]

Realization

Operation

Integration

Design

Specifications

Requirements

Only one slight problem: It does not work!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 6

Problems with Waterfall Model-1

The main problem, from the requirementspoint of view, of the waterfall model is thefeeling it conveys of the sanctity, inviolability,and unchangeability of the requirements, assuggested by the following drawing by BarryBoehm [1988].

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 7

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 8

Problems with Waterfall Model-2

This view does not work becauserequirements always change:

g partially from requirements creep (but goodproject management helps)

g partially from mistakes (but prototypingand systematic methods help)

g partially because it is inherent in softwarethat is used (the concept of E-type systemsis discussed later!)

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 9

Fred Brooks about Waterfall

In ICSE ’95 Keynote, Brooks [1995] says “TheWaterfall Model is Wrong!”

g The hardest part of design is deciding whatto design.

g Good design takes upstream jumping atevery cascade, sometimes back more thanone step.

g Even the U.S. DoD finally knows this, to witDefense Science Board Study, KaminskiCommittee, June 1994.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 10

Fred Brooks also says:

“There’s no silver bullet!” [Brooks 1987]

g Accidentsprocessimplementation

i.e., details

g EssenceRequirements

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 11

“No Silver Bullet” (NSB)

g The essence of building software isdevising the conceptual construct itself.

g This is very hard.

- arbitrary complexity- conformity to given world- changes and changeability- invisibility

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 12

g Most productivity gain came from fixingaccidents

- really awkward assembly language- severe time and space constraints- long batch turnaround time- clerical tasks for which tools are helpful

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 13

g However, the essence has resisted attack!

We have the same sense of beingoverwhelmed by the immensity of theproblem and the seemingly endlessdetails to take care of,

and we produce the same brain-damaged software that makes the samestupid mistakes

as 30 years ago!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 14

Contracts

We all know how hard it is to get a contractjust right ...

to cover all unanticipated situations beforethey are known.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 15

Houses

We all know how hard it is to get a house planjust right before starting to build the house.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 16

Michael Jackson Says

In a Requirements Engineering ’94 Keynote,Jackson [1994] says:

Two things are known about requirements:1. They will change!2. They will be misunderstood!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 17

More Realistic Spiral Model

a la Barry Boehm [1988]Determine objectives, alternatives,

next level product

Develop, verify

Benchmarks

Models,

Simulations,

Risk analysis

identify, resolve risks

Evaluate alternatives;

Plan next phase

constraints

The waterfall can be considered one 360°sweep of the spiral.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 18

New From a RoyceWalker, not Win

IterationBeta General

Release ReleaseIteration Iteration Iteration IterationPrototyping

Inception Elaboration Construction TransitionDevelopment Lifecycle

Architecture Useable DeploymentFeasibility

Iterations Iterations Iterations Iterations

The Lifecycle Macroprocess

Walker Royce’s [1997] Waterfall Model, Part I

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 19

The Walkerfall Model

IterationBeta General

Release ReleaseIteration Iteration Iteration IterationPrototyping

Inception Elaboration Construction Transition

Relative Effort by Activity

Management 15%

Reqts. capture 10%

Environment 5%

Analysis, design 15%

Implementation 30%

Testing 20%

Deployment 5%

Total Effort

Walker Royce’s Waterfall Model, Part II

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 20

REAL Lifecycle for One Sweep

ClientIdeas

ReqsSpecs

Design Code

More haphazard More systematic

More difficult than thought to be

Agreed?

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 21

Montenegro’s View

Sergio Montenegro described the reality byshowing an older view of the requirementsengineering process:

and then a newer view:

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 22

Subprocesses of the Requirements Phase

Formalization

Functional

Requirements

Physical

Properties

Safety

Requirements

Requirements

Functional

Requirements

Physical

Properties

Safety

Requirements

Discretization

Functional

Requirements

Physical

Properties

Measurements

Functional

Requirements

Physical

Properties

Safety

Requirements

Textual/Informal

Continuous

Discrete

Measured

Mental ModelDescription

Safety

Requirements

Gauge

Requirements

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 23

Relation between Getting and Formalizing Requirements

Subprocesses of the Requirements Phase

Formalization

Functional

Requirements

Physical

Properties

Safety

Requirements

Requirements

Functional

Requirements

Physical

Properties

Safety

Requirements

Discretization

Functional

Requirements

Physical

Properties

Measurements

Functional

Requirements

Physical

Properties

Safety

Requirements

Textual/Informal

Continuous

Discrete

Measured

Safety

Requirements

Gauge

Requirements

Get Requirements from theMind of the Customer

Anthropology (Observe)Psychology (Talk)

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 24

Distance: Concept → Specs

Concept

FormalSpec.

InformalSpec.

Folded in middle to give feeling of trueconceptual distances involved

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 25

The BIG Question

Why is it so important to get the requirementsright early in the lifecycle? [Boehm 1981]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 26

Phase in which error is detected

1

2

5

10

20

50

100

Rel

ativ

e co

st to

cor

rect

err

or

Preliminarydesign

Detaileddesign

Code anddebug

Integrate Validate Operation

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 27

Requirements Production Myths-1

Several related myths:

“You people start the coding while I go findout what the customer wants.”

Requirements are easy to obtain.

The client/user knows what he/she wants.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 28

Myths-2

According to Ruth Ravenel, ...

The programmer who says the first line issuffering from the myth that the customerwould be able to know what he or shewants and to say it just because theprogrammer asked.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 29

Myths-3

Most people (especially non-technicallyoriented) learn while doing; they’ve got tosee some kind of prototype (even if it’sonly yellow stickies on a board) to discoverwhat they want.

First also expresses the nonsensical notionthat somehow, coding can begin before it’sknown what to code.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 30

May Not Even Have a Problem!

The client often says that he or she requires aspecific solution of an unknown ornonexistent problem rather than any solutionto a specific problem.

“We gotta automate!”

The problem with such a client is that theremay not even be a problem that requires anysolution, or if there is, other solutions,including non-computer, may be better!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 31

Another Myth

After the requirements are frozen, ...

Ha!Ha ha!Ha ha ha!Ha ha ha ha!

The only clients that are satisified and havestopped asking for changes are themselvesfrozen!

Why will requirements never be frozen?

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 32

First, Some More Reality

In a Requirements Engineering ’94 Keynote,Michael Jackson says:

Two things are known about requirements:

1. They will change!2. They will be misunderstood!

Why will they always change?

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 33

E-Type Software

a la Meir Lehman [Lehman 1980]

A system that solves a problem or implementsan application in some real world domain.

Once installed, an E-type system becomesinextricably part of the application domain, sothat it ends up altering its own requirements.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 34

E-Type Software-2

Example:

g Consider a bank that exercises an option toautomate its process and then discoversthat it can handle more customers.

g It promotes and gets new customers, easilyhandled by the new system but beyond thecapacity of the manual way.

g It cannot back out of automation.g The requirements of the system have

changed!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 35

E-Type Software-3

Daily use of a system causes an irresistibleambition to improve it as users begin tosuggest improvements.

Who is not familiar with that, from either end?

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 36

E-Type Software-4

In fact, data show that most maintenance isnot corrective, but for dealing with E-typepressures!

Perfective

Adaptive

Corrective

Oth

er

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 37

Usefulness, Cost, Value

Janis Bubenko observed about requirements:

Cos

t

Time

Usefulness of Requirements Specifications

Value of Requirements

Cost of RequirementsSpecifications

Specifications

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 38

Whence Do Requirements Come?-1

Joe Goguen [1994] says, “It is not quiteaccurate to say that requirements are in theminds of clients; it would be more accurate tosay that they are in the social system of theclient organization. They have to be invented,not captured or elicited, and that invention hasto be a cooperative venture involving theclient, the users, and the developers. Thedifficulties are mainly social, political, andcultural, and not technical.”

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 39

Whence Do Requirements Come-2

REQS

REQS

REQS

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 40

Whence Do Requirements Come-3

Interviewing does not really help becausewhen asked what they do, most people willquote the official policy, and not what theyactually do. Most of what they really do,which is not specified by the policy, is whatthey do in situations not covered by thepolicy.

We’re not even talking about conscious,politically safe mouthing of the policy.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 41

Whence Do Requirements Come-4

Many people simply do not remember theexceptions unless and until they actuallycome up. Their conscious model of whathappens is the policy.

Therefore the requirements engineer has to bethere when the exceptional situations come upin order to see what really happens.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 42

Whence Do Requirements Come-5

Moreover, many people just do not know whythey do something, saying only that it’s donethis way because the policy says so.

They very often do not even know why thepolicy is the way it is.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 43

Whence Do Requirements Come-6

Moreover, many people just do not know howthey do something, drawing a complete blankor saying only, “Watch me!”.

For example, how do you ride a bicycle? Nu?

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 44

Whence Do Requirements Come-7

Don Gause and Jerry Weinberger tell the storyof the woman who always cuts off 1⁄3 of a rawroast before cooking both pieces together.

She was asked “Why?” ...

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 45

Whence Do Requirements Come-8

In other words, the policy once made sense,but the person who formulated the policy, thereasons for it, and the understanding of thereasons are long since gone.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 46

Whence Do Requirements Come-9

For example, many companies that havecommitted all data to a highly reliable database continue to print out the summary inquintuplicate.

Why? At the time of automation, the five mostsenior members of the company, who longago retired, refused to learn to use thecomputer to access the data directly!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 47

Whence Do Requirements Come-10

Goguen further observes that most of theeffort for a typical large system goes intomaintenance.

In fact, Parnas [1994] has the data:

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 48

100

80

60

40

1960 1970 1980 1990 2000

Spen

t on

Mai

nten

ance

Perc

enta

ge o

f So

ftw

are

Res

eour

ces

Growing Percentage of Maintenance Costs

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 49

Formal Methods Needed?-1

Some formal methodologists say that this isthe fault of insufficient effort put into beingprecise in the early, specification stages ofsoftware development.

However, recall the conceptual distancesinvolved:

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 50

Concept

FormalSpec.

InformalSpec.

Folded in middle to give feeling of trueconceptual distances involved

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 51

Formal Methods Needed?-2

Goguen believes that “a deeper reason is thatmuch more is going on during so-calledmaintenance than is generally realized. Inparticular, reassessment and re-doing ofrequirements, specification, and code, as wellas documentation and validation, are verymuch part of maintenance....”

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 52

Formal Methods Needed?-3

Later, he adds, “it only becomes clear whatthe requirements really are when the system issuccessfully operating in its social andorganisational context.... it is impossible tocompletely formalise requirements ... becausethey cannot be fully separated from theirsocial context.”

This is precisely the phenomenon of E-typesystems.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 53

Formal Methods Myths-1

Goguen has identified other myths aboutrequirements, again based on the mistakenidea that the hard part about requirements aretheir specification.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 54

Formal Methods Myths-2

If only you had written a formal specificationof the system, you wouldn’t be having theseproblems.

Mathematical precision in the derivation ofsoftware eliminates imprecision.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 55

Formal Methods Myths-3

What is the reality?

Yes, formal specification are extremely usefulin identifying inconsistencies in requirementsspecifications, especially if one carries outsome minimal proofs of consistency andconstraint or invariant preservation, ...

just as writing a program for the specification!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 56

Don’t get me wrong.

This formality is good, because it finds errorsearly, thus reducing the costs to fix them.

However, formal methods do not find all gapsin understanding!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 57

Formal Methods Myths-4

As Eugene Strand and Warren Jones [1982]observe, “"Omissions of function are oftendifficult for the user to recognize in formalspecifications”....

just as they are in programs!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 58

Formal Methods Myths-4

von Neumann and Morgenstern (Theory ofGames) say,

“There’s no point to using exact methodswhere there’s no clarity in the concepts andissues to which they are to be applied.”

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 59

Preservation of Difficulty

Indeed, Oded Sudarsky has pointed out thephenomenon of preservation of difficulty.Specifically, difficulties caused by lack ofunderstanding of the real world situation arenot eliminated by use of formal methods;instead the misunderstanding gets formalizedinto the specifications, and may even beharder to recognize simply because formaldefinitions are harder to read by the clients.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 60

Bubbles in Wall Paper

Sudarsky adds that formal specificationmethods just shift the difficulty from theimplementation phase to the specificationphase. The “air-bubble-under-wallpaper”metaphor applies here; you press on thebubble in one place, and it pops upsomewhere else.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 61

One Saving Grace

Lest, you think I am totally against formalmethods, they do have one positive effect, andit’s a BIG one:

Use of them increases the correctness of thespecifications.

Therefore you find more bugs at specificationtime than without them, saving considerablemoney for each bug found earlier rather thanlater.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 62

Analogy with Math Theory-1

Building new software is like building a newmathematical theory from the ground up:

g Requirements gathering: deciding what isto be assumed, defined, and proved

g Development as a whole: assumingassumptions, defining the terms, andproving the theorems

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 63

Analogy with Math Theory-2

g Design: determining the sequence ofassumptions, definitions, and theorems tobuild the theory

g Implementation: carrying out the designedtheory and proving the theorems

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 64

Analogy with Math Theory-3

Mathematical papers and books show only theresults of the implementation,

This implementation is what is considered themathematics, and not the requirementsgathering and design that went into it.

But I know, from my own secret past life as amathematician, that the hard, time consumingparts are the requirements gathering anddesign.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 65

Math vs. SW Development-1

g Software is usually developed under stricttime constraints, and mathemtics is usuallynot.

g Mathematics development is subjected toerror-eliminating social processes, andsoftware development is subjected to a lotless.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 66

Math vs. SW Development-2

g Mathematics is written for a humanaudience that is very forgiving of minorerrors so long as it can see the main point;software is written for the computer that isvery literal and unforgiving of minor errors

- For people, UKWIM works, and theyaccept imprecision.

- For computers, UKWIM and DWIM donot work, and they do not acceptimprecision.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 67

Another Implication of GrowingMaintenance Costs-1

For many programs, which are more and moreoften enhancements of legacy software, anyoriginal requirements specifications that mayhave existed are long gone.

The original programmers are long gone.

The old requirements have to be inferred fromthe software.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 68

Another Implication of GrowingMaintenance Costs-2

What is inferred may not capture all features.

Also the obvious requirement of not impactingexisting functions in the enhancement is veryeasy to state, but, oh, so hard to satisfy.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 69

Study of Requirement Errors -1

a la Martin & Tsai [1988]

Experiment to identify lifecycle stages inwhich requirement errors are found

Polished 10-page requirements for centralizedrailroad traffic controller

Ten 4-person teams of software engineers

User believed that teams would find only 1 or2 errors

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 70

Study of Requirement Errors -2

92 errors, some very serious, were found!

Average team found only 35.5 errors, i.e., itmissed 56.5 to be found downstream!

Many errors found by only one team!

Errors of greatest severity found by fewestteams!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 71

Most Errors Introduced DuringRequirements Specification-1

Boehm [1981]: at TRW, 54% of all errors weredetected after coding and unit test; and, 65-85% of these errors were allocatable to therequirements, design, and documentationstages rather than the coding stage, whichaccounted for only 25% of the errors.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 72

Most Errors Introduced DuringRequirements Specification-2

So most errors either are required or are theunplanned result of situations that are noteven mentioned in the requirementsspecifications.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 73

Paradox

Fred Brooks observed that a general purposesystem is harder to design than a specialpurpose product.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 74

RE is itself E-type

Janis Bubenko [1995] says:

Requirements Engineering deals with wickedproblems,

and is itself wicked

and is thus modified by its own particalsolution

Therefore, Requirements Engineering is E-type!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 75

The TRUTH AboutMethodology Literature

(Body of slide intentionially left mostly blank)

Nu?

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 76

Lest we forget

Roberto Tom Price reminds us not to forgetthe requirement engineer’s

g imaginationg ideasg suggestions

like an architect for a new building, followinginput from the client

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 77

RE and Other Engineering-1

Speaking of architects and other engineersthat get requirements from clients, ...

While software requirements gathering hasmuch in common with requirements gatheringfor buildings, bridges, cars, etc., there aresignificant differences in:

g the flexibility and malleability of themedium, and

g the degree to which basic assumptions areon the table, up for grabs.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 78

RE and Other Engineering-2

Michael Jackson [1995] considers the moretraditional engineering disciplines.

Civil EngineeringMechanical EngineeringAeronautical EngineeringElectrical Engineering

Their engineers make machines by describingthem and then building them.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 79

RE and Other Engineering-3

Software engineers make machines merely bydescribing them.

Software is an intangible, infinitely malleablemedium.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 80

RE and Other Engineering-4

To build a new car from requirements the waysoftware is built from requirements would becalled totally rethinking the automobile. Infact, each new kind of car is really a minorperturbation of existing kinds of cars.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 81

RE and Other Engineering-5

Perhaps, we should do much more minorperturbation of existing software, i.e., practicereuse, but in many cases we cannot simplybecause we are developing software for anentirely new application.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 82

Bottom Line

The notions that

g one can derive requirementsor

g even interview a few people to getrequirements

are patent nonsense.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 83

OK, OK, You’re Convinced!!!

So what do we DO about it?

What research is being done to solve theproblems?

First, recognize that the problem is HARD!

Second, recognize that requirementsengineering has its own lifecycle

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 84

Requirements Engineering(Sub)Lifecycle-1

Specification

Validation

Analysis

Elicitation

Conception

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 85

(Sub)Lifecycle-2

This, of course, is an idealization, just asmuch as the original waterfall.

Reality is that there is a spiral, with eachsweep going through this entire subwaterfall,and all the steps in the sweep happeningconcurrently.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 86

(Sub)Lifecycle-3

And most importantly, ...

There are no real solutions yet!

It is very much an art form.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 87

Research Topics

Earlier Work, prior to mid-80s

Later Work, mostly after mid-80s

Some temporal overlap, because as we willsee, the work is classified by nature, and thatnature has changed slowly.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 88

Earlier Work -1

Languages and Tools:

PSL/PSA [Teichroew 1977]SADT [Ross and Ross & Schoman 1977]RSL [Alford 1977]RDL [Winchester 1982]PAISley [Zave 1982]RML [Borgida, Greenspan & Mylopolous1985]IORL [Salton & McGill 1983]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 89

Earlier Work -2

Alan Davis wrote the book! RequirementsAnalysis and Specification [1990]

Focus was on analysis and specification, noton elicitation

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 90

Later Work

More consideration of elicitation

Recognition of importance of sociology andpsychology

I apologize in advance if I have left out thingsabout which I am not aware.

g Elicitationg Analysisg Natural Language Processingg Tools and Environments

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 91

Global View-1

Requirements Engineering is:

How to squeeze requirements out of theclient’s mind without damaging the client!

Elicitation is:

How to squeeze information out of the client’smind without damaging the client!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 92

Global View-2

Analysis is:

How to squeeze as much additionalinformation as possible out of what has beenobtained by squeezing the client!

Natural Language Processing (NLP) isconcerned with:

How to automate as much of the analysissqueezing as possible

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 93

Global View-3

Tools and Environments deal with:

How to automate the storage of informationbefore and after analytic squeezing as well asall kinds of squeezing!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 94

Use of Exemplars in RE Research

Many areas of SE use published exemplars, egKWIC Index System, for research casestudies.

Since the problem is how to get theinformation for requirements, publishedexemplars are too polished and too late.

What is normally done to prepare exemplarsfor publication is the subject of requirementsengineering.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 95

Elicitation Overview-1

The gist of the specific work is:

g Interviewing does not get all theinformation that is needed.

g The requirements engineer must get intothe client’s work place, blend into thewoodwork or among the employees, andobserve, learn, and question, in order toovercome ignorance of the problemdomain.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 96

Elicitation Overview-2

g The requirements engineer must becomean employee of the client to learn the ropeswell enough to understand the underlyingrationale behind the way things are done.

g The requirements engineer should parlayhis or her ignorance into on-the-spotquestions that expose tacit assumptionsand special cases.

g Don’t tell them what you mean; show them!This works in both directions!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 97

Elicitation Specifics-1

g Ignorance hiding in elicitation and analysis[Berry 1980, 1983]

g Concept of abstract user and prototypeelicitation management tool [Burstin 1984]

g Brainstorming [Gause & Weinberg 1989]g Joint Application Development[Hill 1990

and others]g Contextual Inquiry, an anthropological

approach to understanding client[Holtzblatt & Jones 1990]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 98

Elicitation Specifics-2

g Study of discourses in elicitationtechniques, e.g., interviews [Goguen &Linde 1993]

g Storyboarding & paper mockups [Zahniser1993]

g Importance of ignorance in elicitation[Berry 1995]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 99

Analysis Overview-1

g Basic idea of analysis is to- derive implications of,- resolve inconsistencies in, and- determine what is missing fromthe information that has been gathered sofar so that follow up questions may beasked.

g The requirements engineer must constantlyattempt to validate his or herunderstanding with the client or user.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 100

Analysis Overview-2

g Client’s and Users’ validation responses toprototypes are far more credible than tolong written specifications.

g It is essential to be able to trace the historyof a requirement from its conceptionthrough its specification and on to itsimplementation.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 101

Analysis Overview-3

g Error checking, handling, and preventionwill not happen in a program unless theyare explicitly required of the program; thisis particularly so in safety-critical softwarefor which the dangers are not readilyapparent.

g While being specified, requirements arelogically inconsistent.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 102

Analysis Specifics-1

g Software safety fault isolation techniques[Leveson 1986]

g Brainstorming [Gause & Weinberg 1989]g Domain modeling [many, surveys: Kang et

al 1990, Lubars et al 1993]g Prototyping for requirements discovery

and validation [Wasserman et al 1984 &1986, Bowers & Pycock 1993, Luqi 1992]

g Object-orientation as a natural view [many,including: Coad & Yourdon 1991, Zucconi1993]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 103

Analysis Specifics-2

g Viewpoint Resolution [Leite 1987,Easterbrook 1993]

g System bounding [Drake & Tsai 1994]g Issue-based information system (IBIS)

[Burgess-Yakemovic & Conklin 1990]g Requirements traceability [Gotel &

Finkelstein 1994]g Living with logical inconsistencey of specs

[Easterbrook & Nuseibeh 1995, 1996,Hunter & Nuseibeh 1997]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 104

NLP Overview-1

The total amount of information to deal withfor any real problem is HUGE andrepetitititive.

We desire assistance in extracting usefulinformation from this mass of information.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 105

NLP Overview-2

We would like the extracted information to be

g summarizing,g meaningful, andg covering.

From 500 pages, we want 5 pages containingall and only the meaningful information in the500 pages.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 106

NLP Overview-3

We prefer less summarization and occasionalmeaningless stuff than to lose somemeaningful stuff, because in any case, ahuman will have to read the output and at thattime can filter out the meaningless stuff.

Stupidity is preferred to intelligence if thelatter can lose information as a result of it notever being perfect.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 107

NLP Specifics-1

g Restricted natural language processing ofrequirements ideas to get specifications[Saeki, Horai, et al 1987]

g Natural language abstraction identificationwith lexical affinities [Maarek 1989]

g Application domain lexicon building andtools [Leite & Franco 1993]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 108

NLP Specifics-2

g AI-based natural language processing[Ryan 1993]

g Nonintelligent, fully covering naturallanguage abstraction identification usingsignal processing techniques [Goldin 1994]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 109

Martin Feather’s View of RE Tools

The Requirements Iceberg and VariousMachine-Assisted Icepicks Chipping at It

Client’sView

Machine’s View

Leverage!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 110

Tools & Environments Overview-1

Even with summarizing tools,the amount of information that therequirements engineer must deal with isHUGE,

the number of relations between theindividual items of information is HUGE2,and

the number of relations between theindividual relations is HUGE4...

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 111

Tools & Environments Overview-2

So we want an environment filled with usefultools that help manage all the informationneeded to produce a requirementsspecification from the first conceptions, andthen to be useable for the rest of the lifecycle.

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 112

Tools & Environments Specifics-1

g Graphical Issue-Based Information System(gIBIS) [Burgess-Yakemovic & Conklin1990]

g Hypermedium as requirements engineeringenvironments [Potts & Takahashi 1993,Kaindle 1993]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 113

Tools & Environments Specifics-2

g Full spectrum, including traceabilityanalysis, requirements engineering tool,READS [Smith 1993]

g Multimedia hypermedium as requirementsengineering environments [Wood, Christel& Stevens 1994]

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 114

Some Views of Hypermedia Tools

˜˜˜˜˜˜˜˜˜˜˜˜

˜˜˜˜˜˜˜˜˜˜˜˜ ˜˜˜˜˜˜˜˜˜˜˜˜ ˜˜˜˜˜˜˜˜˜˜˜˜

˜˜˜˜˜˜˜˜˜˜˜˜

Network of Nodes

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 115

book passenger on flight book passenger on flight

flight passenger

Links

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 116

Database objects, Pseudo-code,Video, Image

t

a v

t

dbot

pcText, Diagrams, Audio,

Time-stamped Prior Copies of Hypermedium

Links of Arbitrary Functionality

Nodes of Arbitrary Type

Unit-to-Unit-LinksUnit-to-Node-Links

Node-to-Node LinksNode-to-Unit-Links

Workstation

Multi-media Hypermedium

Written Input

Requirements Engineer

Video Input

Client

System in Operation

Multimedia Hypermedium

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 117

Future

Lots more work is needed

Please join in!!

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 118

Conferences and Workshops

g International Workshop on SoftwareSystems Design 1–9

g Requirements Engineering ’93, ’95 & ’97g International Conference on Requirements

Engineering ’94, ’96 & ’98g IFIP WG 2.9 Software Requirements

Engineering ’95, ’96 & ’97

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 119

Journals

g Software Practice and Experienceg Journal of Systems and Softwareg IEEE Softwareg Journal of Automated Software

Engineeringg Requirements Engineering Journalg ACM Interactions

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 120

Research Networks

g RENOIR, Requirements EngineeringNetwork of Excellence, sponsored byEuropean Union

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 121

Web Pages

g Requirements Engineering Newsletter(these are the files named renl*:ftp://ftp.cs.city.ac.uk/pub/requirements/

g Requirements Engineering Bibliography:http://www.inf.puc-rio.br/˜bdbib/

g Requirements Engineering InternationalDoctoral Thesis Research Web Page:http://www.cc.gatech.edu/computing/\SW_Eng/re.theses.html/

g RENOIR:http://web.cs.city.ac.uk/project/renoir/

1997 Daniel M. Berry Requirements Enginering Requirements Iceberg Pg. 122