ingegneria del software - unibo.it

23
Ingegneria del Software Corso di Laurea in Informatica per in Management Davide Rossi Dipartimento di Informatica Università di Bologna Analysis model

Upload: others

Post on 19-Jul-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ingegneria del Software - unibo.it

Ingegneria del SoftwareCorso di Laurea in Informatica per in Management

Davide RossiDipartimento di Informatica

Università di Bologna

Analysis model

Page 2: Ingegneria del Software - unibo.it

Abstractions

The software process can be seen as a sequence of activities lowering the degree of abstraction: ● Analysis● Design● Construction

Page 3: Ingegneria del Software - unibo.it

Models

The software process can be seen as a refinement of models: ● Mental model● Analysis model● Design model● Construction model

Page 4: Ingegneria del Software - unibo.it

Models

The software process can be seen as a refinement of models: ● Mental model● Analysis model● Design model● Construction model

Problemspace

Solutionspace

Page 5: Ingegneria del Software - unibo.it

Analysis model

Objectives of analysis model● understand precisely what is required of

the software● communicate this understanding to

development team members and stakeholders

● define a set of requirements that can be validated once the software is built

Page 6: Ingegneria del Software - unibo.it

Natural language has quirks

Page 7: Ingegneria del Software - unibo.it

Analysis model artifacts● Requirements document● Use cases● Domain model● Supplementary Specification (captures and

identifies other kinds of requirements, such as reports, documentation, packaging, supportability, licensing, …)

● Glossary● Business Rules (or Domain Rules)● ...

Page 8: Ingegneria del Software - unibo.it

© Gary Larson

Page 9: Ingegneria del Software - unibo.it

Requirements

● Software requirements are the needs and restrictions of a software product (see also IEEE 610.12-1990)

● Requirements engineering (RE) is the systematic handling of requirements.

Page 10: Ingegneria del Software - unibo.it

Requirements

Software Requirements knowledge areas: ● Elicitation● Analysis● Specification● Validation

of software requirements.

Page 11: Ingegneria del Software - unibo.it

How the customer explained it

[http://www.projectcartoon.com]

Page 12: Ingegneria del Software - unibo.it

How the project leader understood it

Page 13: Ingegneria del Software - unibo.it

How the analyst designed it

Page 14: Ingegneria del Software - unibo.it

How the programmer wrote it

Page 15: Ingegneria del Software - unibo.it

What the beta testers received

Page 16: Ingegneria del Software - unibo.it

What the customer really needed

Page 17: Ingegneria del Software - unibo.it

Kinds of requirements

● Functional: describe the interactions between the system and its environment, independently from the implementation

● Non-functional: measurable/perceivable properties of the systems not directly related to functional aspects

Page 18: Ingegneria del Software - unibo.it

Kinds of requirements

● Functional requirements are addressed by system design; they express what the system is supposed to do

● Non-functional requirements are addressed by system architecture; they express how the system is supposed to be (or how it is supposed to do what it does)

Page 19: Ingegneria del Software - unibo.it

Formalize requirements● There are several possible methods● In structured development processes a

good starting point is ISO/IEC/IEEE 29148:2011 - Systems and software engineering — Life cycle processes — Requirements engineering (replaces IEEE 830)● Main documents: Stakeholder requirements

specification document (StRS), System requirements specification document (SyRS), Software requirements specification document (SRS).

Page 20: Ingegneria del Software - unibo.it

Stakeholder requirements specification example

ISO/IEC/IEEE 29148:2011

Page 21: Ingegneria del Software - unibo.it

System requirements specification example

ISO/IEC/IEEE 29148:2011

Page 22: Ingegneria del Software - unibo.it

Software requirements specification example

ISO/IEC/IEEE 29148:2011

Page 23: Ingegneria del Software - unibo.it