+ All Categories
Home > Documents > 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E....

1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E....

Date post: 27-Mar-2015
Category:
Upload: eric-snyder
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
25
Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 – Software Engineering Lecture # 6 – 2004-09-13 M. E. Kabay, PhD, CISSP M. E. Kabay, PhD, CISSP Assoc. Prof. Information Assurance Division of Business & Management, Norwich University mailto:[email protected] V: 802.479.7937
Transcript
Page 1: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

SoftwareRequirement

sIS301 – Software Engineering

Lecture # 6 – 2004-09-13M. E. Kabay, PhD, CISSPM. E. Kabay, PhD, CISSP

Assoc. Prof. Information AssuranceDivision of Business & Management, Norwich University

mailto:[email protected] V: 802.479.7937

Page 2: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

3 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Topics covered

Functional and non-functional requirementsUser requirementsSystem requirements Interface specificationThe software requirements document

Page 3: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

4 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Requirements engineering

The process of establishing the services that the customer

requires from a system and the constraints under which it operates

and is developed.The requirements themselves are the

descriptions of the system services and constraints that are generated during the requirements

engineering process.

Page 4: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

5 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

What is a requirement?

It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification.

This is inevitable as requirements may serve a dual functionMay be the basis for a bid for a contract -

therefore must be open to interpretation;May be the basis for the contract itself -

therefore must be defined in detail;Both these statements may be called

requirements.

Page 5: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

7 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Types of requirement

User requirementsStatements in natural language plus

diagrams of the services the system provides and its operational constraints. Written for customers.

System requirementsA structured document setting out detailed

descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.

Page 6: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

10 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Functional and non-functional requirementsFunctional requirements

Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.

Non-functional requirementsConstraints on the services or functions offered

by the system such as timing constraints, constraints on the development process, standards, etc.

Domain requirementsRequirements that come from the application

domain of the system and that reflect characteristics of that domain.

Page 7: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

17 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Non-functional classificationsProduct requirements

Requirements which specify that the delivered product must behave in a particular way; e.g., execution speed, reliability, etc.

Organizational requirementsRequirements which are a consequence of

organizational policies and procedures e.g. process standards used, implementation requirements, etc.

External requirementsRequirements which arise from factors which

are external to the system and its development process e.g. interoperability requirements, legislative requirements, etc.

Page 8: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

33 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Structured presentation

2.6.1 Grid facilities The editor shall provide a grid facility where a matrix of

horizontal and vertical lines provide a background to the editor window. This grid shall be a passive grid where the alignment of entities is the user's responsibility.

Rationale: A grid helps the user to create a tidy diagram with well-spaced entities. Although an active grid, where entities 'snap-to' grid lines can be useful, the positioning is imprecise. The user is the best person to decide where entities should be positioned.

Specification: ECLIPSE/WS/Tools/DE/FS Section 5.6 Source: Ray Wilson, Glasgow Office

Page 9: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

34 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Guidelines for writing requirements

Invent a standard format and use it for all requirements.

Use language in a consistent way. Use shall for mandatory requirements, should for desirable requirements.

Use text highlighting to identify key parts of the requirement.

Avoid the use of computer jargon.

Page 10: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

37 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Problems with Natural Language (NL) specificationAmbiguity

The readers and writers of the requirement must interpret the same words in the same way. NL is naturally ambiguous so this is very difficult.

Over-flexibilityThe same thing may be said in a number of

different ways in the specification.Lack of modularization

NL structures are inadequate to structure system requirements.

Page 11: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

39 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Structured language specifications

The freedom of the requirements writer is limited by a predefined template for requirements.

All requirements are written in a standard way.

The terminology used in the description may be limited.

The advantage is that the most of the expressiveness of natural language is maintained but a degree of uniformity is imposed on the specification.

Page 12: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

40 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Form-based specifications

Definition of the function or entity.Description of inputs and where they come

from.Description of outputs and where they go to. Indication of other entities required.Pre and post conditions (if appropriate).The side effects (if any) of the function.

Page 13: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

45 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Sequence diagrams

These show the sequence of events that take place during some user interaction with a system.

You read them from top to bottom to see the order of the actions that take place.

Cash withdrawal from an ATMValidate card;Handle request;Complete transaction.

Page 14: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

46 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Sequence diagram of ATM withdrawal

ATM Database

CardCard number

Card OKPIN request

PIN

Option menu

<<exception>>invalid card

Withdraw request

Amount request

Amount

Balance request

Balance

<<exception>>insufficient cash

Debit (amount)

Debit response

Card

Card removed

Cash

Cash removed

Receipt

Validate card

Handle request

Completetransaction

Page 15: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

47 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

ATM (2)

ATM Database

CardCard number

Card OKPIN request

PIN

Option menu

<<exception>>invalid card

Withdraw request

Amount request

Amount

Balance request

Balance

<<exception>>insufficient cash

Debit (amount)

Debit response

Card

Card removed

Cash

Cash removed

Receipt

Validate card

Handle request

Completetransaction

Page 16: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

48 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

ATM (3)

ATM Database

CardCard number

Card OKPIN request

PIN

Option menu

<<exception>>invalid card

Withdraw request

Amount request

Amount

Balance request

Balance

<<exception>>insufficient cash

Debit (amount)

Debit response

Card

Card removed

Cash

Cash removed

Receipt

Validate card

Handle request

Completetransaction

ATM Database

CardCard number

Card OKPIN request

PIN

Option menu

<<exception>>invalid card

Withdraw request

Amount request

Amount

Balance request

Balance

<<exception>>insufficient cash

Debit (amount)

Debit response

Card

Card removed

Cash

Cash removed

Receipt

Validate card

Handle request

Completetransaction

Page 17: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

49 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

ATM (4)

ATM Database

CardCard number

Card OKPIN request

PIN

Option menu

<<exception>>invalid card

Withdraw request

Amount request

Amount

Balance request

Balance

<<exception>>insufficient cash

Debit (amount)

Debit response

Card

Card removed

Cash

Cash removed

Receipt

Validate card

Handle request

Completetransaction

ATM Database

CardCard number

Card OKPIN request

PIN

Option menu

<<exception>>invalid card

Withdraw request

Amount request

Amount

Balance request

Balance

<<exception>>insufficient cash

Debit (amount)

Debit response

Card

Card removed

Cash

Cash removed

Receipt

Validate card

Handle request

Completetransaction

Page 18: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

53 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Users of a requirements document (1)

Use the requirements todevelop validation tests for

the system

Use the requirementsdocument to plan a bid forthe system and to plan the

system development process

Use the requirements tounderstand what system is to

be developed

System testengineers

Managers

Systemengineers

Specify the requirements andread them to check that they

meet their needs. T heyspecify changes to the

requirements

Systemcustomers

Use the requirements to helpunderstand the system and

the relationships between itsparts

Systemmaintenanceengineers

Page 19: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

54 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Users of a requirements document (2)

Use the requirements todevelop validation tests for

the system

Use the requirementsdocument to plan a bid forthe system and to plan the

system development process

Use the requirements tounderstand what system is to

be developed

System testengineers

Managers

Systemengineers

Specify the requirements andread them to check that they

meet their needs. T heyspecify changes to the

requirements

Systemcustomers

Use the requirements to helpunderstand the system and

the relationships between itsparts

Systemmaintenanceengineers

Page 20: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

59 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Homework

REQUIREDBy Monday 20 Sep 20046.3 (5 pts)6.4 (5 pts)6.5 (5 pts)6.6 (15 pts)

OPTIONAL: either or both of the followingBy Monday 27 Sep 20046.7 including examples (5 pts)6.8 (5 pts)

Page 21: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

60 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

DISCUSSION

Page 22: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

61 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Notes

Page 23: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

62 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Notes

Page 24: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

63 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Notes

Page 25: 1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –

64 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Notes


Recommended