Che materia stai cercando?

Riassunto di Ingegneria del Software

Breve riassunto di Ingegneria del Software utile per il corso di Fondamenti di Informatica II (dei prof. Claudio Cusano e Cristiana Larizza) o per qualsiasi corso che comprende tale argomento. Appunti basati su appunti personali del publisher presi alle lezioni dei prof.

Esame di Fondamenti di informatica II docente Prof. C. Cusano

Anteprima

ESTRATTO DOCUMENTO

I N G E G N E R I A D E L S O F T W A R E

Un insieme di pratiche ingegneristiche che servono a supportare e a migliorare la

realizzazione di un prodotto software.

METRICHE

Forniscono valutazioni oggettive e misurabili del codice.

LoC (Lines of code)

• Fattore di qualità Q = LoC/Errori

• Lack of Cohesion in Methods

MODELLI DI SVILUPPO DEL SOFTWARE

Per agevolare l'organizzazione ed il flusso di lavoro di grandi progetti è necessario

definire un Modello di Sviluppo attraverso il quale vengono pianificate ed

organizzate le attività di Sviluppo.

WATERFALL MODEL

Definizione specifiche

• Progettazione

• Implementazione

• Integrazione (con i dispositivi e gli altri sistemi con cui il progetto si deve

• integrare)

Validazione: Testing (per verificare l'esistenza di errori) e Debugging (per

• rimuove gli errori)

Installazione

• Manutenzione

Svantaggioso → Progetto chiuso, manutenzione critica

MODELLO A SPIRALE

Obbiettivi iniziali

• Ciclo di sviluppo

• Definizione specifiche

◦ Valutazione rischi sviluppo

◦ Implementazione

◦ Validazione

In caso di nuovi obbiettivi si può ciclare

Vantaggioso → consente di descrivere un processo poco per volta

SVILUPPO INCREMENTALE ED ITERATIVO

Sviluppo Iterativo: lo sviluppo segue iterazioni (è ciclico).

• Sviluppo Incrementale: lo sviluppo si basa su specifiche che vengono

• definite gradualmente.

AGILE SOFTWARE DEVELOPMENT

L'Agile Software Development rientra nei cosiddetti Modelli Evolutivi, che si

fondano sull'idea centrale di coinvolgere il cliente o l'utente, fornendogli continue

nuove versioni in modo che possa essere partecipe nello sviluppo del progetto.

L'obiettivo è rendere il cliente il più soddisfatto possibile.

Individuals and Interactions: le persone sono più importanti degli

• strumenti.

Working Software: scrivere codice facile e capire da usare.

• Custom Collaboration: partecipazione del cliente.

• Responding to Change: tutti i sistemi cambiano e si evolvono nel tempo.

• Come deve avvenire la Progettazione per tenere conto del Cambiamento? La

Progettazione Agile non avviene in un momento ben definito. Avviene

continuamente, tutte le volte che nel codice si verifica uno dei seguenti

problemi:

Rigidità: il sistema è difficile da cambiare.

◦ Fragilità: le modifiche causano malfunzionamenti.

◦ Immobilità: i sorgenti sono difficili da riutilizzare.

◦ Viscosità: i cambiamenti compatibili con l'architettura sono difficili da

◦ realizzare.

Complessità inutile: il sistema è più complicato del necessario.

◦ Ripetizioni inutili: i sorgenti contengono codice simile.

◦ Opacità: la funzione dei moduli non è facilmente comprensibile.

Lo Sviluppo Agile prevede riprogettazione (rafactoring) e non progettazione. È

necessario codice modulare.


PAGINE

6

PESO

35.85 KB

AUTORE

UNSIGNED

PUBBLICATO

8 mesi fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica (MANTOVA - PAVIA)
SSD:
Università: Pavia - Unipv
A.A.: 2017-2018

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher UNSIGNED di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica II e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Pavia - Unipv o del prof Cusano Claudio.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Corso di laurea in ingegneria informatica (mantova - pavia)

Appunti ed Esercizi Analisi 2
Appunto
Preparazione per l'esame di Fondamenti di Informatica
Appunto
Appunti ed Esercizi Analisi 1
Appunto
Riassunto Analisi 2
Appunto