Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini...

30
A1_2 V2.2 Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall’ autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale INGEGNERIA DEL SOFTWARE Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria

Transcript of Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini...

Page 1: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1_2 V2.2

Ingegneria del SoftwareLe origini dell’Ingegneria del Software

Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie.Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall’ autore.

Sono graditi commenti o suggerimenti per il miglioramento del materiale

INGEGNERIA DEL SOFTWARE

Paolo Salvaneschi

Università di BergamoFacoltà di Ingegneria

Page 2: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 2

INDICE

• Le origini dell’Ingegneria del Software– Anni 50-70– Definizioni– Produzione artigiana e ingegneria– Ingegneria e software

Page 3: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 3

Le origini – anni 50-70

• anni ’50• Programmazione individuale (non strutturata) • Il programmatore è l’utente• linguaggio assembler

Page 4: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 4

Colossus design started in March 1943. By December 1943 all the various circuits wereworking and the 1,500 valve Mark 1 Colossus was dismantled, shipped up to BletchleyPark, and assembled in F Block over Christmas 1943. The Mark 1 was operational in January 1944 and successful on its first test against a real enciphered message tape.

Le origini – anni 50-70

Page 5: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 5

The ENIAC design started in 1943 at the University of Pennsylvania and it was constructed between 1944 and fall 1945. It was originally built to calculate firing tables for the Ballistics Research Laboratory, but was also used for more calculations related to nuclear weapons. Its existence was formally announced in 1946.

Le origini – anni 50-70

Page 6: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 6

Un sistema della prima generazione: l’IBM 701 (circa 1952):ne furono prodotti 19

Le origini – anni 50-70

Page 7: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 7

Le origini – anni 50-70

• anni ’60• linguaggi di alto livello, algoritmi, strutture dati• programmazione strutturata• programmazione professionale (l’utente è diverso

dal programmatore)

Page 8: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 8

Un sistema della seconda generazione per applicazioni scientifiche: l’IBM 7090 (circa 1960)

Le origini – anni 50-70

Page 9: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 9

tape drives

the CPU

a bank of 2311 disk drives: 50 million bytes of information on-line

IBM/360 general purpose (dal 1964)(applicazioni scientifiche e commerciali)

Le origini – anni 50-70

Page 10: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 10

Le origini – anni 50-70

• anni ‘70• Primi grandi progetti e fallimenti• Riflessione sul ruolo della programmazione• Nascita dei concetti base dell’Ingegneria del

Software• Programmazione in grande e ciclo di vita

Page 11: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 11

Le origini - definizioni

• 1968 NATO Workshop. Garmisch• Ingegneria del software: applicazione pratica di

conoscenze scientifiche alla progettazione e costruzione dei programmi per calcolatori e della documentazione associata richiesta per svilupparli, esercirli e mantenerli.

Page 12: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 12

Le origini - definizioni

• L’approccio sistematico allo sviluppo, all’operatività, alla manutenzione ed al ritiro del software

• (Glossario IEEE)

• La disciplina tecnologica e gestionale per la produzione sistematica e la manutenzione di prodotti software sviluppati e modificati con tempi e costi preventivati

• (R. Fairley , 1985)

Page 13: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 13

Valle Camonicaedificio contadinocostruito nel 1910

Le origini - Produzione artigiana e Ingegneria

Page 14: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 14

Il centro di Toronto

Le origini - Produzione artigiana e Ingegneria

Page 15: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 15

Le origini - Produzione artigiana e Ingegneria

• Produzione Artigiana • La costruzione delle case contadine in

Valcamonica nei primi decenni del 900• Ingegneria• I grattacieli in acciaio e vetro di Toronto

Page 16: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 16

Ingegneria

• Processo di progettazione e costruzione– Studio del contesto– Specifica– Idea progettuale– Progetto esecutivo– Realizzazione

Page 17: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 17

Ingegneria

• Costruzione– Elementi costruttivi– Prefabbricati– Norme di qualità e controlli

Page 18: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 18

Ingegneria

• Studio del comportamento della struttura mediante modelli prima di costruire

Page 19: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 19

La ristrutturazione delReichstag

Ingegneria

Page 20: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 20

La casa degli ippopotami allo zoo di Berlino

Ingegneria

Page 21: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 21

La casa degli ippopotami allo zoo di Berlino

Ingegneria

Page 22: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 22

Idea

Prodotto

Idea

Progetto(modello)

Analisi

Prodotto

Artigiano Ingegnere

Ingegneria

Page 23: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 23

Produrre software

Il prodotto software deve contenere le seguenti funzionalita’:gestione interattiva dei dati anagrafici dei clienti (crea, cancella, leggi……

I dati del sistema sono:Anagrafica clienti….

Begin

readif <….>

then jhjhelse jkjh

end if

end

ANALISI DEL PROBLEMAE SPECIFICA

PROGETTO

CODICE

Produrre una successione di modelli,l’ ultimo dei qualie’ eseguibile da un computer

Page 24: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 24

Apertura del data base del cliente

Cliente tipo D

Raccolta manuale dati di consumo

Installazione apparati

Emissione fattura e report su risparmio

modifica data base del cliente

offerta accettata

dati consumo

Cliente tipo C

scadenza meseapparati installati

info per installazione apparati

Raccolta automatica dati di consumo

Emissione fattura e report su risparmio

dati consumo scadenza mese

fattura e report risp

fattura e report risp

Cura del cliente

info da / per cliente

Monitoraggio e manutenzione

info manutenzione apparati

modifica dati anagrafici e/o profilo

riesecuzione parziale del

apparati

Produrre software

Page 25: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 25

ATTRIBUTE_DESCRIPTION

DATASET_ID: Long IntegerOBJECT_ID: Long IntegerATTRIBUTE_ID: Long IntegerVALUE: Text(50)DESCRIPTION_EN: Text(50)DESCRIPTION_ORIG: Text(50)

DATASET_ADMINAREA

ID: Long IntegerAREA: Long IntegerAREA_ID: Long IntegerCOVERAGE: Long Integer

DATASET_ALTTITLE

ID: Long IntegerALT_TITLE: Text(50)LANGUAGE: Text(50)

DATASET_CAT

ID: Long IntegerCATEGORY: Text(50)

DATASET_CONTACT_ROLE

ID: Long IntegerNAME: Text(50)EMAIL: Text(50)ORGA_ID: Long IntegerORGA_ROLE: Long Integer

DATASET_DETAIL

ID: Long IntegerDETAIL_KEYWORD: Long Integer

DATASET_DISTRIBID: Long Integer

COPYRIGHT_OWNER: Long IntegerPRICE: CurrencyUNIT: Long Integer

DATASET_DISTRIBFORM

ID: Long IntegerFORMAT: Long Integer

DATASET_DISTRIBINFO

ID: Long IntegerRESTRICTION: Text(50)ONLINE_ACCESS: Text(50)ORDER: Text(50)SUPPORT: Text(50)COMMENT: Text(50)LANGUAGE: Long Integer

DATASET_DISTRIBMEDIA

ID: Long IntegerMEDIA: Text(50)

DATASET_DOCREF

ID: Long IntegerDOCUMENT: Text(50)

DATASET_EXTENTID: Long Integer

DATE: Date/TimeSTATUS: Long IntegerX_MIN: Long IntegerX_MAX: Long IntegerY_MIN: Long IntegerY_MAX: Long IntegerFROM_DATE: Date/TimeTO_DATE: Date/TimeREFERENCE_SYSTEM: Long Integer

DATASET_IDENTDATASET_ID: Long Integer

TITLE: Text(50)ABBREVIATED_TITLE: Text(50)STATUS: Text(50)URL: Text(50)DOMAIN: Text(50)ENTRY_DATE: Date/TimeCHECK_DATE: Date/TimeUPDATE_DATE: Date/TimeREVIEW_DATE: Date/TimeORIGINAL_LANGUAGE: Text(50)

DATASET_ORGANISATION_ROLE

ID: Long IntegerORGA_ID: Long IntegerORGA_ROLE: Long Integer

DATASET_OVERVIEW

ID: Long IntegerABSTRACT: Text(50)PURPOSE: Text(200)LANGUAGE: Text(50)

DATASET_QUALITY

ID: Long IntegerSOURCE_QUALITY: Text(50)POSITIONAL_ACCURACY: Text(50)THEMATIC_ACCURACY: Text(50)TEMPORAL_ACCURACY: Text(50)CONSTRUCTION_SCALE: Long IntegerLANGUAGE: Long Integer

DATASET_RELATION

ID_1: Long IntegerID_2: Long IntegerRELATION_TYPE: Long Integer

DATASET_USAGE

ID: Long IntegerUSAGE: Text(50)MIN_SCALE: Long IntegerMAX_SCALE: Long IntegerCOMMENT_EN: Text(50)COMMENT_ORIG: Text(50)

DICTIONARYDICT_ID: Long Integer

TYPE: Text(50)EN: Text(50)DE: Text(50)ES: Text(50)FR: Text(50)NL: Text(50)DK: Text(50)IT: Text(50)PT: Text(50)FI: Text(50)NO: Text(50)SE: Text(50)GR: Text(50)

OBJECT_ATTRIBUTEDATASET_ID: Long IntegerOBJECT_ID: Long IntegerATTRIBUTE_ID: Long Integer

NAME: Text(50)DEF_EN: Text(50)DEF_ORIG: Text(50)CODE: Long IntegerDOMAIN: Long IntegerTEMP_ACC_EN: Text(50)THEM_ACC_EN: Text(50)TEMP_ACC_ORIG: Text(50)THEM_ACC_ORIG: Text(50)

OBJECT_INFOLAYERDATASET_ID: Long IntegerOBJECT_ID: Long Integer

NAME: Text(50)DEF_EN: Text(50)DEF_ORIG: Text(50)TYPECODE: Long IntegerOCCURENCES: Long IntegerPOS_ACC_EN: Text(50)THEM_ACC_EN: Text(50)POS_ACC_ORIG: Text(50)THEM_ACC_ORIG: Text(50)URL: Text(50)GEO_PRIM: Long IntegerBUSINESS_TABLE: Text(50)

ORGANIZATIONORGA_ID: Long Integer

NAME: Text(50)SHORT_NAME: Text(50)INPUT_NAME: Text(50)STREET: Text(50)STREET_NUMBER: Long IntegerPOSTAL_BOX: Text(50)TOWN: Text(200)REGION: Text(50)POSTAL_CODE: Long IntegerCOUNTRY: Text(50)FACSIMILE_NUMBER: Long IntegerTELEPHONE_NUMBER: Long IntegerEMAIL: Text(50)TELEX_NUMBER: Long IntegerURL: Text(50)

Produrre software

Page 26: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 26

Sistemaraccolta daticonsuntivi

I

Utenti Remoti

SISTEMA CENTRALE DI GESTIONE

Livello di Acquisizione Dati

Interfacce del sistema di gestione

I

Livello di Gestione

Livello di Distribuzione Informazioni

Fax / Intenet mailInternet Web

Posta ordinaria

Dati grezzicontat.

DatigrezziApp

DatiCom

Sistemaraccolta datiistantanei

LAN

Sistema contabile

Acquisizione e

Preelaborazione

Billing Elaborazioni

statistiche

Comunicazioni con

utenti remoti

Monitoraggio

Banca dati

tecnica

Gestione banca dati

eElaborazioni

Associate

Gestione di sistema

DatiElab

1

DatigrezziApp

DatiElab

2

OutSis Con

OutBill

OutGest

OutEl Stat

Out com

Dati grezziConta

Out Mon

Banca dati

contabile

Archivio

storic

Produrre software

Page 27: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 27

• Processi produttivi• Organizzazione dei gruppi di progetto• Tecniche di progettazione• Tecniche di controllo• Tecniche di gestione

Produrre software

Page 28: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 28

1. BT = A Base dei Tempi

Cod. Test

MA

Descrizione

TPBT0001

1 L'UEPB deve gestire correttamente la funzione di orologio in modo da conteggiare i

seguenti dati temporali: secondi, minuti, ore, giorni, settimana. Modalità di esecuzione del test:

TPBT0002

1 L'UEPB deve gestire correttamente il cambio di tutti i mesi dell’ anno Modalità di esecuzione del test:

TPBT0003

1 L'UEPB deve gestire correttamente il ciclo quadriennale bisestile ed il cambio del mese al giorno 28/2 – 29/2 di un anno bisestile. Modalità di esecuzione del test:

TPBT0004

1 L'UEPB deve gestire correttamente l’ inizio e la fine dell’ ora legale sulla base del relativo messaggio di programmazione

Modalità di esecuzione del test:

TPBT0005

1 In assenza di programmazione dell’ ora legale (condizione di default) l' UEPB deve gestire correttamente l’ inizio e la fine dell’ ora legale attuando la normativa europea che prevede l’inizio nell’ultima domenica di marzo e la fine nell’ultima domenica di ottobre.

Modalità di esecuzione del test:

DIAGRAMMA 2Intensita' di test per Area funzionale

0123456789

1011121314151617181920212223242526

A B C D E F G H I L M N O P

Area

Inte

nsita

'

Intensità test

Intensità media

Produrre software

Page 29: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 29

Produrre software

Page 30: Ingegneria del Software - Unibg software_V22.pdf · Ingegneria del Software Le origini dell’Ingegneria del Software Il contenuto del documento è liberamente utilizzabile dagli

A1 - Ing Software Paolo Salvaneschi 30

Ingegneria e software

• La metafora “hard” dell’ingegneria esaurisce il problema del software?

• Software - modelli - conoscenza• Software - sistema socio tecnico