L’ingegneria del software

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

CENTRO RETE QUALITA' UMBRA
Esame di Stato Prova scritta di Informatica
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Analisi e progettazione
Sistemi informativi e Sistemi informatici
Progettazione concettuale
Metodologie di Programmazione = decomposizione basata su astrazioni
4 – Progettazione – Introduzione e Modello E-R
5 – Progettazione Concettuale
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
8. Progettazione del Software
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
L’uso dei database in azienda
Calcolatori Elettronici III
Analisi, rappresentazione e progettazione delle procedure
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Modelli simulativi per le Scienze Cognitive
Corso IS I /03 Esame Scritto - Parte generale 4 Febbraio 2003 Punteggio massimo totale punti 18; soglia superamento prova 10 Avvertenza Si vuole.
Unità Didattica 2 I Linguaggi di Programmazione
Fondamenti di Informatica Algoritmi
Progettazione di una base di dati
Modello E-R Generalizzazioni
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
DIAGRAMMI DI FLUSSO Notazione grafica usata per descrivere in modo intuitivo le azioni di cui è fatto un algoritmo. Viene usata per descrivere i passi.
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Dall’algoritmo al programma.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
La progettazione di un sistema informatico
INTEGRAZIONE, RILASCIO
Lo sviluppo del progetto informatico
BIOINFO3 - Lezione 15 ISTRUZIONI
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Ingegneria dei Requisiti - e dei Sistemi - Giuseppe Berio DI-Unito 2007.
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche che tipicamente servono per portare a termine i compiti iniziali.
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche e/o attività operative che tipicamente costituiscono i passi.
Esercitazioni di Ingegneria del Software con UML
La modellazione degli oggetti
Che cos’è un progetto? È un’impresa: -complessa -unica
Lezione 1 Panoramica sui paradigmi di programmazione
la traduzione dei programmi
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche e/o attività operative che tipicamente costituiscono i passi.
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Controllo di qualità dei processi e collaudo
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
LABORATORIO DI INFORMATICA Ingegneria Informatica a. a
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Realizzazione software
Progettazione di basi di dati: metodologie e modelli
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Fasi di sviluppo di un software
Eprogram informatica V anno.
Cloud informatica V anno.
UML Unified Modelling Language Linguaggio per la modellazione unificato.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Unità di apprendimento 6
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

L’ingegneria del software Svolto dalle alunne: Calabrese A.M. - Cristaudo G. - Perri F. Della classe IV D a.s 2001/2002

Che cos’è l’ingegneria del software? Per ingegneria del software si intende tutta quella parte dell’informatica legata alla progettazione, alla produzione e alla manutenzione dei programmi atta a ridurre i costi di produzione del software migliorandone la qualità.

Ciclo di vita del software Il ciclo di vita del software è l’insieme delle fasi che formano il programma dalla sua creazione fino al momento in cui non viene più utilizzato. Le fasi sono: - Analisi e progetto - Realizzazione - Manutenzione

Analisi e progetto L’analisi è la fase in cui si esamina il problema le esigenze degli utenti e le risorse disponibili (studio di fattibilità) individuando gli obiettivi che si vogliono realizzare. Il progetto è la fase in cui viene impostata la soluzione generale, definendo le strutture dei dati, descrivendo a grandi linee la struttura e il funzionamento di ogni componente del sistema.

Realizzazione Le varie procedure vengono codificate nel linguaggio di programmazione scelto e successivamente si effettuano le prove di funzionamento e vari test per l’individuazione e correzione di eventuali errori (di sintassi e logici. La seconda fase consiste nel rilascio del prodotto software (release e collaudo ) al committente per l’avviamento, pronto per essere utilizzato dal cliente.

Manutenzione La fase di manutenzione accompagna la vita di un prodotto software dal suo rilascio fino al momento in cui non verrà più utilizzato. Questa fase é attiva quando si verificano malfunzionamenti dovuti a casi particolari del prodotto o ad errori non sufficientemente testati o non considerati o da parte del sistema .

Modelli di approccio al ciclo di vita del software MODELLO A CASCATA: questo modello divide il ciclo di vita del software in una serie di fasi, alcune delle quali sono strettamente sequenziali dove l’output di ogni fase è input per la fase successiva. PROTOTIPIZZAZIONE RAPIDA: la prototipizzazione rapida prevede la costruzione di prototipi durante le prime fasi di sviluppo di un sistema. Esistono due modalità di realizzazione di prototipi: modello “usa e getta”; modello “a spirale”.

Realizzazione software di qualità Per metodologia si intende lo studio razionale per definire metodi efficaci. Il metodo é l’insieme delle operazioni o modalità per sviluppare un processo. Per produrre software di qualità occorre conoscere le metodologie di sviluppo del software. Tali metodologie permettono di facilitare il lavoro del progettista software. Il metodo top-down é quella tecnica che suddivide il progetto in parti più piccole in modo che siano più facilmente controllabili e realizzati in parallelo.

Le fasi Analisi definire il problema con documentazione chiara e completa; definire le specifiche funzionali e le risorse impegnate definire bene la struttura dei dati; definire bene i rapporti tra le varie componenti del sistema quando ci sono programmi che interagiscono tra di loro. Realizzazione usare la programmazione strutturata; suddividere il problema in parti sufficientemente piccole utilizzare nomi significativi per le variabili e i file introdurre nel programma alcuni commenti per specificare la funzione dei vari blocchi eseguire bene i test

Il software deve essere corredato da una buona documentazione: - ANALISI DEL PROBLEMA - ANALISI DETTAGLIO - STRUTTURA DATI - ALGORITMO E CODIFICA

Metodologie di progetto Per facilitare la costruzione del software, negli anni sono state sviluppate varie metodologie di progetto. Sono nate metodologie per l’analisi e la descrizione dei dati, metodologie complete che guidano il progettista in tutte le fasi del ciclo di vita, metodologie per l’analisi funzionale, metodologie in base al campo di applicazione del software. Importante sono gli aspetti che devono essere trattati dai vari metodi. aspetto funzionale (cosa devono fare i componenti del sistema) aspetto temporale (quando e come si devono fare, sincronizzazione) aspetto dei dati (come vanno descritti i dati su cui le componenti devono agire)

Le metodologie di progetto più diffuse sono JACKSON (aspetti funzionali e dati) WARNIER (aspetti funzionali e dati) DIAGRAMMA DI FLUSSO (analisi funzionali) DATA FLOW DIAGRAM (flusso dei dati e delle funzioni, aspetti funzionali e a volte anche temporali) SADT (Structured Analisys and Design Technique flusso dei dati e delle funzioni che agiscono su di loro) ENTITÀ-RELAZIONI (descrizione dei dati) UML (Unified Modeling Language metodologia ad aggetti)

Data Flow Diagram Il DFD (Data Flow Diagram) o diagramma di flusso sono usati sia nell’analisi funzionale sia come strumento per descrivere l’interazione tra le varie componenti del programma e l’esterno. Servono per descrivere mediante simboli grafici e i dati gli input ed output dell’elaborazione. I sistemi DFD sono composti da dati e procedure e sono molto usati nella fase di analisi e progetto e si basano sulla scomposizione del sistema in sottocomponenti. Ogni sottosistema può essere dettagliato con l’indicazione dei suoi sottosistemi e dei dati su cui lavora. Le strutture dei dati vengono normalmente descritte utilizzando altre metodologie come ad esempio il metodo Entity-Relationship, (Entità - Relazione)

Entità - relazioni Il modello é conosciuto come E-R e si basa sul concetto che é possibile modellare la realtà individuando delle entità e delle relazioni (associazioni) tra di esse. Le entità sono elementi della realtà che vengono raggruppati in una classe essendo dotati di caratteristiche comuni. Il termine entità viene spesso usato indistintamente per indicare sia la classe sia la singola istanza e vengono rappresentate con un rettangolo. Gli attributi o caratteristiche sono le proprietà attraverso cui é possibile descrivere un’entità (ma anche associazione) e vengono rappresentati con punti collegati a entità o ad associazioni. Le relazioni sono invece legami logici tra due o più entità e vengono rappresentate graficamente con un rombo.

Le Associazioni Corrispondono esattamente al concetto matematico fra insiemi. Le relazioni sono: 1:1 (uno ad uno o biunivoca): ad ogni elemento del primo insieme corrisponde uno ed uno soltanto del secondo insieme, è vero anche il viceversa: esempio Pagella, Alunno. 1:N (uno a molti o semplice): ad ogni elemento del primo insieme possono corrispondere più elementi del secondo insieme, mentre ad un elemento del secondo insieme deve corrispondere uno ed un solo elemento del primo insieme: esempio Medico Curante, Paziente. É di proprietà Pagella Alunno Ha in cura Medico Paziente

M:N (molti a molti o complessa): ad ogni elemento del primo insieme possono corrispondere più elementi del secondo insieme e viceversa: esempio Studente, Materia. Segue Studente Materia

F I N E