Lezione 2 Lezione 2 Software requirements requirements Software - - PDF document

lezione 2 lezione 2
SMART_READER_LITE
LIVE PREVIEW

Lezione 2 Lezione 2 Software requirements requirements Software - - PDF document

Corso di Laurea Magistrale Corso di Laurea Magistrale in in Ingegneria Informatica Ingegneria Informatica per la Gestione d azienda azienda per la Gestione d Gestione della Qualit-II parte Il progetto software: metodologie e


slide-1
SLIDE 1

1

1 1

Corso di Laurea Magistrale Corso di Laurea Magistrale in in Ingegneria Informatica Ingegneria Informatica per la Gestione d per la Gestione d’ ’azienda azienda

Gestione della Qualità-II parte Il progetto software: metodologie e standards

a.a. a.a. 2010 2010-

  • 2011

2011

Docente: Gigliola Docente: Gigliola Vaglini Vaglini

2 2

Lezione 2 Lezione 2

Software Software requirements requirements

slide-2
SLIDE 2

2

3 3

Requirements Requirements analysis analysis

  • This

This phase phase includes includes

  • the

the definition definition of

  • f functionalities

functionalities, , constraints constraints, , interfaces interfaces, performance and , performance and any any characteristic characteristic the the software software must must have have to to be be able able to to satisfy satisfy the client the client’ ’s s needs needs

  • Software

Software customers customers have have to to accurately accurately describe describe what what they they wish wish to to obtain

  • btain,

, while while software software suppliers suppliers have have to to understand understand exactly exactly what what the the customers customers want want. .

  • This

This phase phase does does not not include include

  • the

the definition definition of

  • f the way in

the way in which which the software the software will will be be built built

4 4

The The next next phase phase must must

  • Establish

Establish the the basis basis for for the agreement the agreement between between the the customers customers and the and the suppliers suppliers on

  • n what

what the software the software product product is is to to do. do.

– – The complete The complete description description of

  • f the

the functions functions to to be be performed performed by by the software the software will will assist the assist the users users to to determine determine if if the the software software meets meets their their needs needs or

  • r how

how the software the software must must be be modified modified to to meet meet their their needs needs. .

  • Reduce the

Reduce the development development effort effort. .

– – The The preparation preparation of

  • f a

a document document forces forces the the customers customers to to consider consider rigorously rigorously all all of

  • f the

the requirements requirements before before design design begins begins and and reduces reduces later later redesign redesign, , recoding recoding, and , and retesting retesting. . Careful Careful review review of

  • f the

the specified specified requirements requirements can can reveal reveal

  • missions
  • missions,

, misunderstandings misunderstandings, and , and inconsistencies inconsistencies early early in the in the development development cycle cycle when when these these problems problems are are easier easier to to correct correct. .

slide-3
SLIDE 3

3

5 5

Cont Cont. .

  • Provide

Provide a a basis basis for for estimating estimating costs costs and and schedules schedules. .

– – The The description description of

  • f the

the product product is is a a realistic realistic basis basis for for estimating estimating project project costs costs. .

  • Provide

Provide a a baseline baseline for for validation validation and and verification verification. .

– – Organizations Organizations can can develop develop their their validation validation plans plans much much more more productively productively , , as as a part a part of

  • f the

the development development contract contract, the , the specification specification document document provides provides a a baseline baseline against against which which compliance compliance can can be be measured measured. .

  • Facilitate transfer.

Facilitate transfer.

– – A A good good specification specification document document makes makes it it easier easier to to transfer the transfer the software software product product to to new new users users or

  • r new

new machines machines. .

  • Serve

Serve as as a a basis basis for for enhancement enhancement. .

– – The The document document may may need need to to be be altered altered, , but but it it does does provide provide a a foundation foundation for for continued continued production production evaluation evaluation. .

6 6

IEEE IEEE Std Std 830 830-

  • 1998

1998

  • IEEE

IEEE Std Std 830 830-

  • 1998

1998 is is the IEEE the IEEE Recommended Recommended Practice Practice for for Software Software Requirements Requirements Specifications Specifications and and describes describes the the recommended recommended approaches approaches for for this this purpose purpose. .

  • It

It is is based based on a

  • n a model

model in in which which the the result result

  • f
  • f the software

the software requirements requirements specification specification process process is is a a specification specification document document. .

slide-4
SLIDE 4

4

7 7

S Software

  • ftware R

Requirements equirements S Specification pecification (SRS) (SRS)

  • The

The specification specification document document is is called called Software Software Requirements Requirements Specification Specification ( (SRS SRS), ), which which must must be be complete, complete, correct correct, , consistent consistent, , unambiguous unambiguous and and understandable understandable both both by by customers customers and and suppliers suppliers. .

8 8

IEEE STD 830-1998 Software Requirement Specification

(Ist versione 1993)

slide-5
SLIDE 5

5

9 9

Considerations Considerations for for producing producing a a good good SRS SRS

  • Some information

Some information should should be be considered considered when when writing writing an an SRS. SRS.

1. 1. Nature Nature of

  • f the SRS;

the SRS; 2.

  • 2. Environment

Environment of

  • f the SRS;

the SRS; 3.

  • 3. Characteristics

Characteristics of

  • f a

a good good SRS; SRS; 4.

  • 4. Joint

Joint preparation preparation of

  • f the SRS;

the SRS; 5.

  • 5. SRS

SRS evolution evolution; ; 6.

  • 6. Prototyping

Prototyping; ; 7.

  • 7. Embedding

Embedding design in the SRS; design in the SRS; 8.

  • 8. Embedding

Embedding project project requirements requirements in the SRS. in the SRS.

10 10

  • 1. Nature
  • 1. Nature of
  • f the SRS

the SRS

The The basic basic issues issues that that the SRS the SRS writer writer(s) (s) shall shall address address are the are the following following: :

  • Functionality

Functionality. .

– – What What is is the software the software supposed supposed to to do? do?

  • External

External interfaces interfaces. .

– – How How does does the software the software interact interact with with people, the system people, the system’ ’s hardware, s hardware,

  • ther
  • ther hardware and

hardware and other

  • ther software?

software?

  • Performance.

Performance.

– – What What is is the the speed speed, , availability availability, , response response time time, , recovery recovery time time of

  • f various

various software software functions functions, etc.? , etc.?

  • Attributes

Attributes. .

– – What What are the are the portability portability, , correctness correctness, , maintainability maintainability, security, etc. , security, etc. considerations considerations? ?

  • Design

Design constraints constraints imposed imposed on

  • n an

an implementation implementation. .

– – Are Are there there any any required required standards standards in in effect effect, , implementation implementation language language, , policies policies for for database database integrity integrity, , resource resource limits limits, , operating

  • perating

environment environment(s) etc.? (s) etc.?

slide-6
SLIDE 6

6

11 11

2.

  • 2. Environment

Environment of

  • f the SRS

the SRS

  • SRS

SRS should should correctly correctly define define all all of

  • f the

the software software requirements

  • requirements. A software

. A software requirement requirement may may exist exist because because of

  • f the

the nature nature of

  • f the task

the task to to be be solved solved or

  • r

because because of

  • f a

a special special characteristic characteristic of

  • f the

the project. project.

  • A

A properly properly written written SRS SRS limits limits the the range range

  • f
  • f valid

valid designs designs, , but but does does not not specify specify any any particular particular design and design and not not impose impose additional additional constraints constraints on the software.

  • n the software.

12 12

  • 3. SRS
  • 3. SRS quality

quality attributes attributes

  • A

A good good SRS SRS must must be be

1) UNAMBIGOUS 1) UNAMBIGOUS 2) CORRECT 2) CORRECT 3) COMPLETE 3) COMPLETE 4) VERIFIABLE 4) VERIFIABLE 5) CONSISTENT 5) CONSISTENT 6) MODIFIABLE 6) MODIFIABLE 7) TRACEABLE 7) TRACEABLE 8) RANKED ( 8) RANKED (for for importance importance and/or and/or stability stability) )

slide-7
SLIDE 7

7

13 13

3.1 3.1 Unambigous Unambigous

14 14

3.2 3.2 Correct Correct

  • An SRS

An SRS is is correct correct if if, and , and only

  • nly if

if, , every every requirement requirement stated stated therein therein is is

  • ne
  • ne that

that the software the software shall shall meet meet. .

slide-8
SLIDE 8

8

15 15

3.3 Complete 3.3 Complete

16 16

3.3 Complete ( 3.3 Complete (cont cont.) .)

slide-9
SLIDE 9

9

17 17

3.4 3.4 Verifiable Verifiable

18 18

3.5 3.5 Consistent Consistent

slide-10
SLIDE 10

10

19 19

3.6 3.6 Modifiable Modifiable

20 20

3.7 3.7 Traceable Traceable

slide-11
SLIDE 11

11

21 21

3.8 3.8 Ranked Ranked

22 22

  • 4. Joint
  • 4. Joint preparation

preparation of

  • f the SRS

the SRS

  • Supplier

Supplier and and customer customer should should agree agree on

  • n what

what the the completed completed software software must must do.

  • do. This

This agreement agreement should should have have the the form form of

  • f an

an SRS.

  • SRS. This

This is is important important because because

– – Customers Customers usually usually do do not not understand understand the software design and the software design and development development process process well well enough enough to to write write a a usable usable SRS. SRS. – – Suppliers Suppliers usually usually do do not not understand understand the the customers customers problem problem and and field field of

  • f endeavor

endeavor well well enough enough to to specify specify requirements requirements for for a a satisfactory satisfactory system. system.

  • Therefore

Therefore, the , the customer customer and the and the supplier supplier should should work work together together to to produce a produce a well well-

  • written

written and and completely completely understood understood SRS. SRS.

slide-12
SLIDE 12

12

23 23

  • 5. SRS
  • 5. SRS evolution

evolution

  • The SRS

The SRS may may need need to to evolve evolve as as the the development development of

  • f the software

the software product product progresses progresses. . It It may may be be impossible impossible to to specify specify some some details details at the at the time time the project the project is is initiated initiated; ; additional additional changes changes may may ensue ensue as as deficiencies deficiencies, and , and inaccuracies inaccuracies are are discovered discovered in the SRS. in the SRS.

  • Two

Two major major considerations considerations in in this this process process are the are the following following: :

– – Requirements Requirements should should be be specified specified as as completely completely and and thoroughly thoroughly as as is is known known at the at the time time, , even even if if evolutionary evolutionary revisions revisions can can be be foreseen foreseen as as inevitable

  • inevitable. The

. The fact fact that that they they are incomplete are incomplete should should be be noted noted. . – – A A formal formal change change process process should should be be initiated initiated to to identify identify, , control control, , track track, , and report and report projected projected changes changes. .

  • Approved

Approved changes changes in in requirements requirements should should be be incorporated incorporated in the in the SRS in SRS in such such a way a way as as to to

– – Provide Provide an an accurate and complete accurate and complete audit audit trail trail of

  • f changes

changes; ; – – Permit Permit the the review review of

  • f current

current and and superseded superseded portions portions of

  • f the SRS.

the SRS.

24 24

6.

  • 6. Requirements

Requirements validation validation

  • Requirements

Requirements effectively effectively define define the the system the system the customer customer wants wants

  • A

A requirements requirements error error is is very very costly costly, , thus thus validation validation is is very very important important

  • The

The most most relevant relevant technique technique for for validating validating requirements requirements is is prototyping prototyping. .

slide-13
SLIDE 13

13

25 25

6.1 6.1 Prototyping Prototyping

  • Prototyping

Prototyping is is used used frequently frequently during during the the requirements requirements portion portion of

  • f a

a project.

  • project. Many

Many tools tools exist exist that that allow allow a a prototype prototype, , exhibiting exhibiting some some characteristics characteristics of

  • f a system,

a system, to to be be created created very very quickly quickly and and easily easily. . Prototypes Prototypes are are useful useful for for the the following following reasons reasons: :

– – The The customer customer may may be be more more likely likely to to view view the the prototype prototype and and react react to to it it than than to to read read the SRS and the SRS and react react to to it it. . Thus Thus, the , the prototype prototype provides provides quick quick feedback. feedback. – – The The prototype prototype displays displays unanticipated unanticipated aspects aspects of

  • f the

the systems systems behavior behavior. . Thus Thus, , it it produces produces not not only

  • nly answers

answers but but also also new new questions questions. . This This helps helps reach reach closure closure on the SRS.

  • n the SRS.

– – An SRS An SRS based based on a

  • n a prototype

prototype tends tends to to undergo undergo less less change change during during development development, , thus thus shortening shortening development development time time. .

  • A

A prototype prototype should should be be used used as as a way a way to to elicit elicit software software requirements

  • requirements. Some

. Some characteristics characteristics can can be be extracted extracted directly directly from from the the prototype prototype, , while while other

  • ther requirements

requirements can can be be inferred inferred by by running running experiments experiments with with the the prototype prototype. .

26 26

6.2 6.2 Other Other types types of

  • f requirements

requirements validation validation

  • The

The review review has has a low a low cost cost and and reveals reveals at at least least 60% 60% of

  • f errors

errors [ [Boehm Boehm] ]

  • Example

Example

– – Requirements Requirements analysis analysis of

  • f CTC (

CTC (Centralised Centralised Traffic Traffic Controller) Controller) – – North American North American Railway Railway – – 1990 1990 – – 10 10 groups groups of

  • f concurrent

concurrent analists analists – – 77 77 anomalies anomalies are are discovered discovered during during SRS SRS inspection inspection, , 15 are 15 are discovered discovered during during the the next next phases phases. . – – Each Each group group discovers discovers 25 25 anomalies anomalies

slide-14
SLIDE 14

14

27 27

Cos’è

  • Validità: Il sistema fornisce le funzioni

che soddisfano i bisogni del cliente?

  • Consistenza: Ci sono conflitti tra i

requisiti?

  • Completezza: Sono incluse tutte le

funzioni richieste dal cliente?

  • Realisticità : I requisiti sono

soddisfacibili dato il budget disponibile e la tecnologia corrente?

28 28

IEEE Std 1028 IEEE Std 1028

  • IEEE Standard

IEEE Standard for for Software Software Reviews Reviews

  • The

The purpose purpose of

  • f this

this standard standard is is to to define define systematic systematic reviews reviews applicable applicable to to software software acquisition acquisition, , supply supply, , development development, , operation

  • peration, and

, and maintenance maintenance. . This This standard standard describes describes how how to to carry carry out a

  • ut a review

review. .

  • Software

Software reviews reviews can can be be used used in in support support, , for for example example, ,

  • f
  • f verification

verification and and validation validation, , quality quality assurance assurance and so and so

  • n.
  • n.
  • Systematic

Systematic reviews reviews are are described described by by their their defined defined procedures procedures, scope, and , scope, and objectives

  • bjectives.

.

slide-15
SLIDE 15

15

29 29

IEEE Std 1028 (cont.) IEEE Std 1028 (cont.)

  • In

In this this model model, , requirements requirements and and quality quality attributes attributes for for the software the software product product are are “ “parameter parameter inputs inputs” ” to to the the review review and are and are imposed imposed by by the the “ “caller caller. .” ” When When the the review review is is finished finished, the , the review review outputs

  • utputs are

are “ “returned returned” ” to to the the “ “caller caller” ” for for action action. . Review Review outputs

  • utputs typically

typically include include anomaly anomaly lists lists and and action action item item lists lists; the ; the resolution resolution

  • f
  • f the

the anomalies anomalies and and action action items items are the are the responsibility responsibility of

  • f the

the “ “caller caller. .” ”

30 30

IEEE Std 1028: some definitions IEEE Std 1028: some definitions

  • review

review

– – A A process process or meeting

  • r meeting during

during which which a software a software product product is is presented presented to to project project personnel personnel, , managers managers, , users users, , customers customers, , user user representatives representatives, or , or other

  • ther

interested interested parties parties for for comment comment or

  • r approval

approval. .

  • management

management review review

– – A A systematic systematic evaluation evaluation of

  • f a software

a software acquisition acquisition, , supply supply, , development development, , operation

  • peration, or

, or maintenance maintenance process process performed performed by by or on

  • r on behalf

behalf of

  • f management

management that that monitors monitors progress, progress, determines determines the status the status of

  • f

plans plans and and schedules schedules, , confirms confirms requirements requirements and and their their system system allocation allocation, or , or evaluates evaluates the the effectiveness effectiveness of

  • f

management management approaches approaches used used to to achieve achieve fitness fitness for for purpose purpose. .

slide-16
SLIDE 16

16

31 31

IEEE Std 1028: some definitions IEEE Std 1028: some definitions (cont.) (cont.)

  • technical

technical review review

– – A A systematic systematic evaluation evaluation of

  • f a software

a software product product by by a team a team of

  • f

qualified qualified personnel personnel that that examines examines the the suitability suitability of

  • f the

the software software product product for for its its intended intended use use and and identifies identifies discrepancies discrepancies from from specifications specifications. . Technical Technical reviews reviews may may also also provide provide recommendations recommendations of

  • f alternatives

alternatives and and examination examination of

  • f

various various alternatives alternatives. .

  • walk

walk-

  • through

through

– – A A static static analysis analysis technique technique in in which which a designer or a designer or programmer programmer leads leads members members of

  • f the

the development development team and team and other

  • ther interested

interested parties parties through through a software a software product product, and the , and the participants participants ask ask questions questions and and make make comments comments about about possible possible errors errors and and other

  • ther

problems problems. .

32 32

IEEE Std 1028: some definitions IEEE Std 1028: some definitions (cont.) (cont.)

  • anomaly

anomaly

– – Any Any condition condition that that deviates deviates from from expectations expectations based based on

  • n requirements

requirements specifications specifications, design , design documents documents, , user user documents documents, , standards standards, etc., or , etc., or from from someone someone’ ’s s perceptions perceptions or

  • r experiences

experiences. . Anomalies Anomalies may may be be found found during during, , but but not not limited limited to to, the , the review review, test, , test, analysis analysis, compilation, or , compilation, or use use

  • f
  • f software

software products products or

  • r applicable

applicable documentation documentation. .

  • audit

audit

– – An An independent independent examination examination of

  • f software

software products products or

  • r processes

processes to to assess assess compliance compliance with with specifications specifications, , standards standards, , contractual contractual agreements agreements, or , or other

  • ther criteria

criteria. .

  • inspection

inspection

– – An An examination examination of

  • f a software

a software product product to to detect detect and and identify identify anomalies anomalies, , including including errors errors and and deviations deviations from from standards standards and and specifications specifications. . Inspections Inspections are are peer peer examinations examinations led led by by impartial impartial facilitators facilitators who who are are trained trained in in inspection inspection techniques techniques. . Determination Determination of

  • f

remedial remedial or investigative

  • r investigative action

action for for an an anomaly anomaly is is a a mandatory mandatory element element

  • f
  • f a software

a software inspection inspection, , although although the the solution solution should should not not be be determined determined in the in the inspection inspection meeting. meeting.

slide-17
SLIDE 17

17

33 33

7.

  • 7. Embedding

Embedding design in the SRS design in the SRS

  • A

A requirement requirement specifies specifies an an externally externally visible visible function function or

  • r attribute

attribute

  • f
  • f a system. A design

a system. A design describes describes a a particular particular subcomponent subcomponent of

  • f a

a system and/or system and/or its its interfaces interfaces with with other

  • ther subcomponents
  • subcomponents. The SRS

. The SRS writer writer(s) (s) should should clearly clearly distinguish distinguish between between identifying identifying required required design design constraints constraints and and projecting projecting a a specific specific design. Note

  • design. Note that

that every every requirement requirement in the SRS in the SRS limits limits design design alternatives alternatives. . This This does does not not mean mean, , though though, , that that every every requirement requirement is is design. design.

  • The SRS

The SRS should should specify specify what what functions functions are are to to be be performed performed on

  • n

what what data data to to produce produce what what results results at at what what location location for for whom

  • whom. The

. The SRS SRS should should focus on the focus on the services services to to be be performed

  • performed. The SRS

. The SRS should should not not normally normally specify specify design design items items such such as as the the following following: :

– – Partitioning Partitioning the software the software into into modules modules; ; – – Allocating Allocating functions functions to to the the modules modules; ; – – Describing Describing the flow the flow of

  • f information or

information or control control between between modules modules; ; – – Choosing Choosing data data structures structures. .

34 34

7.1 7.1 Exceptions Exceptions: : necessary necessary design design requirements requirements

  • In

In special special cases cases some some requirements requirements may may severely severely restrict restrict the design. the design. For For example example, security or , security or safety safety requirements requirements may may reflect reflect directly directly into into design design since since they they require require that that

– – certain certain functions functions are are kept kept in separate in separate modules modules; ; – – only

  • nly limited

limited communication communication between between some some areas areas of

  • f the

the program program are are permitted permitted. .

  • Examples

Examples of

  • f valid

valid design design constraints constraints are are physical physical requirements requirements, performance , performance requirements requirements, software , software development development standards standards, and software , and software quality quality assurance assurance standards standards. .

  • Therefore

Therefore, the , the requirements requirements should should be be stated stated from from a a purely purely external external viewpoint viewpoint. .

slide-18
SLIDE 18

18

35 35

8.

  • 8. Embedding

Embedding project project requirements requirements in the SRS? in the SRS?

  • The SRS

The SRS should should address address the software the software product product, , not not the the process process of

  • f

producing producing the software the software product product. .

  • Project

Project requirements requirements as as

– – Cost Cost – – Delivery Delivery schedules schedules – – Reporting Reporting procedures procedures; ; – – Software Software development development methods methods – – Quality Quality assurance assurance; ; – – Validation Validation and and verifcation verifcation criteria criteria – – Acceptance Acceptance procedures procedures. .

represent represent an an understanding understanding between between the the customer customer and the and the supplier supplier about about contractual contractual matters matters pertaining pertaining to to production production of

  • f software

software and and thus thus should should not not be be included included in the SRS. in the SRS.

  • Project

Project requirements requirements are are specified specified in in other

  • ther documents

documents, , like like as as a a software software development development plan plan, a software , a software quality quality assurance assurance plan plan, or a , or a statement statement of

  • f work.

work.

36 36

An SRS An SRS outline

  • utline
slide-19
SLIDE 19

19

37 37

SRS SRS outline

  • utline

38 38

Introduction Introduction: : purpose purpose and scope and scope

  • Purpose

Purpose

– – Beside Beside the the purpose purpose of

  • f the SRS, the

the SRS, the intended intended audience audience should should be be specified specified

  • Scope

Scope

– – Identify Identify the software the software product product by by name name (e.g., (e.g., Host Host DBMS, Report DBMS, Report Generator Generator, etc.); , etc.); – – Explain Explain what what the software the software product product will will, and, , and, if if necessary necessary, , will will not not do; do; – – Describe Describe the the application application of

  • f the software

the software being being specified specified, , including including relevant relevant benefits benefits, ,

  • bjectives
  • bjectives, and

, and goals goals. .

slide-20
SLIDE 20

20

39 39

Types Types of

  • f requirements

requirements

  • Functional

Functional and non and non functional functional requirements requirements

  • Product

Product requirements requirements

  • Organizational

Organizational requirements requirements

  • External

External requirements requirements

40 40

Tecniche di tracciabilità

  • Assegnare un identificatore

identificatore unico (id) a ciascun requisito

  • Costruire la lista dei riferimenti incrociati

ai requisiti usando tale id

  • Uso di link ipertestuali (es. HTML) per

realizzare meccanismi di navigazione della tracciabilità

slide-21
SLIDE 21

21

41 41

Verificabilità dei requisiti

  • I requisiti vanno scritti in modo che possano essere
  • ggettivamente verificati nel prodotto finale
  • Esempio: “ Il sistema dovrebbe essere facile da usare

da parte di operatori esperti ed organizzato in modo tale che gli errori degli utenti siano minimizzati”.

  • Questo requisito è vago: che significa “minimizzare gli

errori”? Occorre quantificare il tasso degli errori.

  • Ad es. : “ Gli operatori esperti dovrebbero poter

controllare le funzioni di sistema dopo due ore di

  • formazione. Dopo tale formazione, il numero medio di

errori degli operatori esperti non dovrebbe superare i due al giorno”

42 42

Revisioni dei requisiti

  • Le revisioni dovrebbero essere fatte

regolarmente durante il periodo di definizione dei requisiti

  • Alle revisioni partecipano sia rappresentanti

del cliente che del contraente

  • Le revisioni possono essere formali

(strutturate) o informali

  • Le revisioni servono ad affrontare problemi o

errori di specifica

slide-22
SLIDE 22

22

43 43

Controlli durante le revisioni

  • Verificabilità: Il requisito è

realisticamente controllabile (testing)?

  • Comprensibilità: Il requisito è compreso

correttamente?

  • Tracciabilità: L’origine del requisito è

definita chiaramente?

  • Adattabilità: Il requisito può essere

modificato senza influenzare pesantemente gli altri requisiti?

44 44

Introduction Introduction ( (cont cont.) .)

  • All

All the the following following information information may may be be provided provided by by reference reference to to one

  • ne or more
  • r more appendixes

appendixes in the SRS or in the SRS or by by reference reference to to other

  • ther documents

documents. .

  • Definitions

Definitions, , acronyms acronyms, and , and abbreviations abbreviations

  • References

References

– – Provide Provide a complete a complete list list of

  • f all

all documents documents referenced referenced elsewhere elsewhere in the SRS; in the SRS; – – Identify Identify each each document document by by title title, date, and , date, and publishing publishing

  • rganization
  • rganization;

; – – Specify Specify the the sources sources from from which which the the references references can can be be

  • btained
  • btained.

.

  • Overview

Overview

– – Describe Describe what what the the rest rest of

  • f the SRS

the SRS contains contains; ; – – Explain Explain how how the SRS the SRS is is organized

  • rganized.

.

slide-23
SLIDE 23

23

45 45

Overall Overall description description

  • This

This section section usually usually consists consists of

  • f six

six subsections subsections: :

– – Product Product perspective perspective; ; – – Product Product functions functions; ; – – User User characteristics characteristics; ; – – Constraints Constraints; ; – – Assumptions Assumptions and and dependencies dependencies; ; – – Apportioning Apportioning of

  • f requirements

requirements. .

46 46

Product Product perspective perspective

  • System

System interfaces interfaces; ;

  • User

User interfaces interfaces; ;

  • Hardware

Hardware interfaces interfaces; ;

  • Software

Software interfaces interfaces; ;

  • Communications

Communications interfaces interfaces; ;

  • Memory

Memory; ;

  • Operations

Operations; ;

  • Site

Site adaptation adaptation requirements requirements. .

slide-24
SLIDE 24

24

47 47

Product Product functions functions

  • The

The functionalities functionalities of

  • f the software

the software product product can can be be defined defined also also by by graphical graphical means means ( (employing employing UML, UML, for for example example). ).

  • The

The graph graph defines defines the the actors actors that that cause cause the start the start of

  • f a

a functionality functionality, , their their domain domain ecc, ecc,

  • A

A sequence sequence diagram diagram defines defines the way in the way in which which the the behavior behavior specified specified by by the the use use case case is is implemented implemented. .

48 48

slide-25
SLIDE 25

25

49 49

Product Product functions functions

50 50

Esempio Esempio

slide-26
SLIDE 26

26

51 51

Message Message sequence sequence chart chart

52 52

Un altro metodo grafico: DFD Un altro metodo grafico: DFD

  • I Data Flow Flow Diagrams (DFD) consentono

di descrivere il flusso logico dei dati, senza entrare nel dettaglio delle procedure di elaborazione

  • Un DFD vede un sistema come una funzione

che trasforma l’input nell’output desiderato e cattura e rappresenta questa trasformazione

  • I componenti di un DFD modellano:

– dati, processi, source di input, sink di output e frecce per rappresentare il flusso

slide-27
SLIDE 27

27

53 53 54 54

slide-28
SLIDE 28

28

55 55 56 56

slide-29
SLIDE 29

29

57 57 58 58

slide-30
SLIDE 30

30

59 59

Costruzione di un DFD

  • Identificare i principali input, i principali
  • utput e tracciare il diagramma di contesto:

– questo rappresenta le interazioni tra il sistema e il "mondo esterno”, in particolare prevede:

  • un solo processo, che rappresenta il sistema nella sua

globalità;

  • tutti gli agenti esterni;
  • i flussi che agenti esterni e sistema si scambiano;
  • eventuali depositi.

– inoltre descrive il sistema nella suo complesso; a partire da esso la metodologia basata sui DFD prevede che venga attuato un raffinamento successivo

60 60

Costruzione di un DFD

  • Ogni processo può essere scomposto in

sottoprocessi (‘eplosione’ di un processo), valgono le seguenti regole:

– la scomposizione origina un nuovo diagramma; – i flussi di input e di output collegati al processo "padre" devono essere collegati anche ai processi "figli" (padri e figli devono avere i medesimi input ed output "netti” - regola di continuità dei flussi); – la scomposizione è reversibile: è cioè possibile aggregare più processi in un macro-processo.

slide-31
SLIDE 31

31

61 61 62 62

slide-32
SLIDE 32

32

63 63 64 64

slide-33
SLIDE 33

33

65 65

Errori frequenti nei DFD

  • Data flow non non labellati
  • Data flow mancanti: informazioni richieste da

un processo che non sono disponibili

  • Data flow estranei: informazioni che non sono

usate nel processo

  • Consistenza non conservata durante il

raffinamento

  • Processi mancanti
  • Inserimento di informazioni di controllo

66 66

Constraints Constraints

  • This

This subsection subsection of

  • f the SRS

the SRS should should provide provide a a general general description description of

  • f any

any other

  • ther items

items that that will will limit limit the the developer developer’ ’s s options

  • ptions.

. These These include include

– – Hardware Hardware limitations limitations (e.g., (e.g., signal signal timing timing requirements requirements); ); – – Interfaces Interfaces to to other

  • ther applications

applications; ; – – Reliability Reliability requirements requirements; ; – – Criticality Criticality of

  • f the

the application application; ; – – Safety Safety and security and security considerations considerations. .