1 Matteo Cristani Dipartimento di Informatica Facoltà di Scienze MM. FF. NN. Università degli...

Post on 01-May-2015

219 views 3 download

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