Download presentation

Presentation is loading. Please wait.

Published byNeil Jinkerson Modified about 1 year ago

1
INSE - Lecture 4a Requirements Elicitation

2
Requirements Elicitation vs Specification [Many people in the industry confuse Requirements Elicitation with Specification: we will carefully separate them.] u Requirements Elicitation is the process of discovering what the customer needs. u Specification is the process of proposing a product that fits those needs. u That is: problem versus solution.

3
Requirements Elicitation in S.E. … mainly a matter of u applying common sense and prior experience while u seeking to discover the client ’ s needs –not what he thinks his needs are; –not what he says his needs are; –not what you think his needs are (or ought to be); –not how you would satisfy his needs.

4
After Requirements Elicitation you should know … u the functional requirements; u the non-functional requirements; u the non-requirements (often overlooked); u acceptable limitations. I.e. what problem the product is to solve – not what product (=specification) or how the product works (=design) u [Is there really a problem? Does it merit a computer-based solution?]

5
Don ’ t be too hopeful with the requirements … u A multi-purpose transport engine u Is the need for a bicycle? A skateboard?

6
More on Requirements … u … is well-covered in the Systems Analysis units … u Little point in duplicating what they say.

7
INSE - Lecture 4b Specification u Overview of Specification u Introduction to Formal Specification

9
Specification is … u … the process of deciding what the proposed product should “ look like ”, as viewed externally [Internal views should be a matter for the design process]

10
Specification yields … … a document describing an outside view of the proposed product u completely; u unambiguously. [We also often use the word “ specification ” to describe the document, as well as the process leading to the document.]

11
The specification document … … has at least two audiences: u the user (for validation) and u the designer/programmer (for implementation): => the spec is ideally in 2 forms: u non-technical (for the user); u technical (for the implementer) => a problem guaranteeing consistency between the two => technical first, “ back-translate ” into non- technical form?

12
Forms of the 2 versions u What form should the non-technical spec take? –non-jargonized English + diagrams u What form should the technical spec take? Two major possibilities – –jargonized English + diagrams? –a symbolic notation? = a Formal Specification Language

13
A spec might have other audiences: u Higher management deciding if they want the proposed product, or can afford it; u Sales staff as the basis of their sales pitch; u The Courts if (when?) things go wrong; u…u…

15
Formal Specification - u Introduction

16
Why Formal Specs? u Errors in specification or overall design of software are usually very expensive; u The alternative “ usual ” methods are based on intuition & guesswork; u Traditional Engineering disciplines avoid the risks by using maths-based designs; u So shouldn ’ t we be looking towards methods that have maths-like strength?

17
Engineer ’ s Council for Professional Development u “ Engineering is the profession in which a knowledge of the mathematical and natural sciences, gained by study experience and practice, is applied with judgement to develop ways to utilise economically the materials and forces of nature for the benefit of mankind ”

18
Simple example “ Calculate Square Roots ” u Q “ What is a square root? ” u A “ The number which, when multiplied by itself, yields the input value ” u Q “ What kind of numbers – integers, fractions, reals? Positive, negative? u A “ Input and output are both positive reals (or zero)

19
First attempt: SQRT : R -> R {A partial function on the Reals} Before SQRT(s): s > 0 {Requirements on the input} After r := SQRT(s): r >0 and r*r=s {Requirements on the output}

20
That lacks some detail … u Q “ What is the result is not finitely representable? – e.g. SQRT(2.0) u A “ An approximate solution will do ” u Q “ How approximate? ” « pause for thought » “ How do I determine the allowable error? ” u A “ The square of the result should differ from the input by no more than some small positive (non-zero) value. ”

21
Second attempt SQRT : RxR -> R {Now we have two inputs} Before SQRT(s,e): s > 0, e>0, and e is small After r := SQRT(s,e): r >0 and (s-e) < r*r < (s+e)

22
After this lecture u think about your past programming efforts – how well did you consider the requirements? did the spec meet them? u The next lecture looks at a “ formal method ” in a little detail u (The notes sketch a couple more FM methods)

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google