Post on 01-May-2015
transcript
11
Matteo Cristani
Dipartimento di Informatica
Facoltà di Scienze MM. FF. NN.
Università degli Studi di Verona
http://www.sci.univr.it/~cristani
Corso di Informatica per Giurisprudenza
Lezione 5
Corso di Informatica per Giurisprudenza
Lezione 5
22
AgendaAgenda
Software Tipi di software Sistema operativo Software applicativo
Fasi di sviluppo del software
33
Tipi di softwareTipi di software
Classificazione generale Software orizzontale
General-purpose software Linguaggi di programmazione Utilità Produttività individuale
Software verticale Applicazioni specifiche Linguaggi special-purpose
44
Software di uso generaleSoftware di uso generale
Sistemi operativi Ambienti operativi
55
Linguaggi di programmazioneLinguaggi di programmazione
Compilatori ed interpreti Librerie riusabili Ambienti di sviluppo Verificatori (semi)automatici Applicazioni di Project Management
66
Utilità di sistemaUtilità di sistema
Connettività Connection
Management Systems Session Management
System Web Browsers Client Posta
Elettronica Gestione modem
Gestione periferiche Gestione stampanti Gestione dischi e file Gestione periferiche
speciali
Virus/worm/intrusion detection system
77
Produttività individualeProduttività individuale
Word processor Desktop Publishing
Scientific Desktop Publishing Spreadsheet Presentation Management Systems Database Management Systems Idea Processor
88
Software specialeSoftware speciale
Applicazioni verticali Contabilità e finanza Automazione industriale WorkFlow Management Systems
Linguaggi Special-Purpose Linguaggi specifici di risorsa Linguaggi orientati alla modellazione di sistemi
fisici
99
Sistema operativoSistema operativo
Funzioni Gestione memoria Gestione dispositivi e periferiche Gestione rete locale e geografica Gestione applicazioni
Caratteristiche (Possibilmente) platform-independent
1010
Software applicativoSoftware applicativo
Il nome applicazione deriva dal fatto che tale software è utilizzato per ottenere certi scopi
Applicazioni di lettura e scrittura di dati o applicazioni di sola lettura
Applicazioni general-purpose o specifiche, dipendenti o indipendenti dal sistema operativo, dipendenti o indipendenti dalla piattaforma
1111
Fasi di sviluppo del softwareFasi di sviluppo del software
Fasi fondamentali Specifiche dei requisiti Specifiche funzionali Specifiche di disegno Specifiche di architettura Specifiche dei test Sviluppo Test Manutenzione
1212
Tipi di software dal punto di vista dello sviluppoTipi di software dal punto di vista dello sviluppo
Software commerciale Nessun committente Requisiti tagliati su committenti virtuali
Software su commessa Richiesto da un cliente o utente
Software di ricerca Software sviluppato per operare con problemi
al limite
1313
Specifiche dei requisitiSpecifiche dei requisiti
Fase cooperativa Titolare: il committente
Il committente descrive ciò che desidera per il software richiesto
Per il software non su commessa la fase di specifiche dei requisiti è sostituita da un brainstorming (in alcuni casi anche da discussioni strutturate)
1414
Specifiche funzionaliSpecifiche funzionali
Fase cooperativa Titolare: lo sviluppatore
Lo sviluppatore descrive le funzioni ipotizzate per il software al committente
Riceve conferma dal committente Per il software non su commessa la fase di
specifiche funzionale è sostituita da discussioni strutturate
1515
Specifiche di disegnoSpecifiche di disegno
Fase decisionale Titolare: lo sviluppatore
Si decide come implementare le funzioni dal punto di vista delle loro relazioni
Il Disegno di un Software è il documento di riferimento per migrazioni del software in altri linguaggi di programmazione, su altri sistemi operativi o piattaforme (porting)
1616
Specifiche di architetturaSpecifiche di architettura
Fase decisionale Titolare: lo sviluppatore
Si decide come implementare le funzioni definendo le scelte di architettura Linguaggio Sistema operativo Piattaforma Tecniche e metodologia di sviluppo Strumenti CASE (Computer Aided Software
dEvelopment)
1717
Specifiche dei testSpecifiche dei test
Fase operativa Titolare: lo sviluppatore
Vengono scritti i test che saranno impiegati per validare il software
Fase delicatissima perché test poco efficaci provvederanno sistemi con fault, mentre test troppo raffinati rallenteranno la consegna
1818
SviluppoSviluppo
Fase operativa Titolare: lo sviluppatore
Divisa in Implementazione Assemblaggio
1919
TestingTesting
Fase di prova delle funzioni Controllo della correttezza ed operatività Controllo della risposta al sovraccarico Controllo della risposta all’eccesso di
richieste
2020
ManutenzioneManutenzione
Correzione dei bachi Integrazione delle funzioni Miglioramento delle risposte Aggiunte funzionali ed operative
2121
Distribuzione temporale delle fasi (auspicabile)Distribuzione temporale delle fasi (auspicabile)
0246
8101214
161820
SR SF SD SA SVI TEST MAN
Tempo
2222
Distribuzione temporale delle fasi (effettiva)Distribuzione temporale delle fasi (effettiva)
02468
101214161820
SR SF SD SA SVI TEST MAN
Tempo
2323
Caratteristiche dello sviluppoCaratteristiche dello sviluppo
Metodologia TOP-DOWN Operazioni in sequenza Controllo della funzionalità Progressività Riuso di codice
Modularità Indipendenza funzionale Carattere operativo del software
2424
Figure professionali dell’informaticaFigure professionali dell’informatica
Sviluppatore Erede sincretico di
Analista Analista-Programmatore Programmatore
Sistemista Specialista di architetture Specialista di reti
2525
Operatori dell’informaticaOperatori dell’informatica
Software house Consulenti indipendenti Negozi specializzati (sic!) Provider internet