Pratiche e Principi Fondamentali dell'Ingegneria del Software
Classified in Informatica
Written at on italiano with a size of 6,68 KB.
Cos'è la Prassi di Ingegneria del Software?
La prassi di ingegneria del software è una raccolta di concetti, metodi, principi e strumenti che un ingegnere del software utilizza quotidianamente.
A Cosa Serve?
Permette ai manager di coordinare progetti di ingegneria del software e di costruire programmi per computer specializzati.
Come Trasforma un Approccio Casuale in un Progetto Strutturato?
La prassi trasforma un approccio casuale in qualcosa di più organizzato, più efficiente e con maggiori probabilità di successo.
Quali Sono le Attività Generiche del Framework?
Comunicazione, progettazione, modellazione, costruzione e distribuzione.
Qual è l'Essenza della Risoluzione dei Problemi secondo Polya?
- Comprensione del problema (comunicazione e analisi).
- Pianificazione di una soluzione (modellazione e progettazione software).
- Realizzazione del piano (generazione del codice).
- Esame dei risultati per verificarne l'accuratezza (test e analisi di qualità).
Cosa Significa Capire il Problema?
Significa chiedersi: chi è interessato alla soluzione del problema? Chi sono i clienti? Il problema può essere suddiviso? È possibile rappresentare graficamente il problema?
Come Pianificare la Soluzione?
Bisogna porsi le seguenti domande: sono stati risolti problemi simili in passato? È possibile definire dei sotto-problemi?
Cosa Significa Attuare il Piano?
Significa rispondere alle seguenti domande: la soluzione è stata avviata nell'ambito del piano? È possibile che la soluzione sia del tutto corretta?
Come Esaminare il Risultato?
- È possibile testare ogni parte della soluzione del problema?
- La soluzione produce i risultati attesi?
I Sette Principi di David Hooker
- Primo principio: La ragione per cui tutto esiste. Un sistema software esiste per un motivo: fornire valore ai propri utenti. Tutte le decisioni devono essere prese tenendo presente questo obiettivo.
- Secondo principio: Mantenerlo semplice (Keep It Simple, Stupid - KISS). Il design dovrebbe essere il più semplice possibile, ma non più semplice.
- Terzo principio: Mantenere la visione. Una visione chiara è essenziale per il successo di un progetto software.
- Quarto principio: Quello che si produce, altri lo consumeranno. Specificare, progettare e realizzare sempre con l'idea che qualcun altro dovrà capire cosa si sta facendo.
- Quinto principio: Essere aperti al futuro. Non progettare mai in un angolo, ma pensando al futuro.
- Sesto principio: Pianificare il riutilizzo. Il riutilizzo può essere ottenuto senza compromettere il prodotto finale.
- Settimo principio: Pensare! Pensare in modo chiaro e completo prima di agire produce quasi sempre risultati migliori.
I Dieci Principi della Comunicazione
- Ascoltare: Cercare di comprendere il punto di vista dell'interlocutore.
- Prepararsi prima di comunicare: Definire gli obiettivi e i punti chiave della comunicazione.
- Facilitare la comunicazione: Assicurarsi che la comunicazione sia chiara e comprensibile.
- La comunicazione faccia a faccia è la migliore: Quando possibile, preferire la comunicazione diretta.
- Prendere appunti e documentare le decisioni: Tenere traccia delle discussioni e delle decisioni prese.
- Ricercare la collaborazione: Lavorare insieme per raggiungere un obiettivo comune.
- Mantenere l'approccio, considerare un modulo alla volta: Concentrarsi su un argomento specifico per volta.
- Se qualcosa non è chiaro, fare un disegno: Utilizzare schemi e diagrammi per chiarire concetti complessi.
- Andare avanti in ogni momento: Se si raggiunge un accordo, procedere. Se non si raggiunge un accordo, chiarire i punti di disaccordo. Se qualcosa non è chiaro e non può essere chiarito al momento, rimandare la discussione.
- La negoziazione non è una competizione o un gioco: Cercare soluzioni vantaggiose per entrambe le parti.
I Dieci Principi della Pianificazione
- Comprendere la portata del progetto.
- Coinvolgere il cliente nelle attività di pianificazione.
- Riconoscere che la pianificazione è iterativa.
- Fare stime basate sulla conoscenza disponibile.
- Considerare il rischio quando si definisce il piano.
- Essere realistici.
- Regolare la granularità definita nel piano.
- Definire come cercare di garantire la qualità.
- Discutere di come si intende includere il cambiamento.
- Adeguare il piano spesso e apportare le opportune modifiche.
Domande Chiave nella Pianificazione
- Perché si sta sviluppando questo sistema?
- Cosa si farà?
- Quando finirà?
- Chi è responsabile di una funzione?
- Come funzionerà il significato tecnico e di gestione?
- Quanto è necessario per ogni risorsa?
Principi di Modellazione e Analisi
- Il dominio dell'informazione di un problema deve essere rappresentato e compreso.
- È necessario definire le funzioni che il software deve eseguire.
- Si deve rappresentare il comportamento del software (come risultato di eventi esterni).
- I modelli che rappresentano informazioni, funzionalità e comportamento devono essere sviluppati in modo stratificato, scoprendo i dettagli man mano.
- Il compito di analisi deve spostarsi dalle informazioni essenziali verso i dettagli implementativi.
Principi di Modellazione e Progettazione
- Il progetto deve essere riconducibile al modello di analisi.
- Si deve considerare l'architettura del sistema da costruire.
- La progettazione dei dati è importante quanto la progettazione delle funzioni di elaborazione.
- Le interfacce (interne ed esterne) devono essere progettate con attenzione.
- La progettazione dell'interfaccia utente deve soddisfare le esigenze dell'utente finale.
- I componenti a livello di progettazione devono essere funzionalmente indipendenti.
- I componenti devono essere accoppiati in modo minimo e legati all'ambiente esterno.
- Le rappresentazioni del progetto devono essere facili da capire.
- La progettazione deve essere sviluppata in modo iterativo. In ogni iterazione, il progettista deve cercare la semplicità.