Modelli e Metodologie di Sviluppo Software: Un Approccio Completo
Classificato in Informatica
Scritto il in italiano con una dimensione di 6,64 KB
5,7 Modello Evolutivo
• Tentare di ottenere un prodotto precoce.
• Impiego dello sviluppo del primo prodotto.
• Sistemi che il cambiamento atteso nel tempo.
• Non in grado di stabilizzare i requisiti, il ciclo di vita del progetto di ciclo.
Svantaggi
- Mancanza di pianificazione.
- Mal strutturato nella produzione del software.
- Difficoltà a modificare il codice a causa di un'analisi preliminare inadeguata.
- Difficoltà di integrazione con altre applicazioni.
- Poco utilizzati nei sistemi di grandi dimensioni per la gestione del controllo delle modifiche.
- Non è consigliabile sostituire sistemi ben definiti.
5,8 Modello Incrementale
• Simile al sistema evolutivo, è stato creato con l'aggiunta di componenti funzionali al sistema (incremento).
• Ad ogni passo, gli aggiornamenti del sistema.
• Software e integrazione dei risultati.
Svantaggi
- Possibilità di ri-testare soluzioni/errore non strutturati.
- L'utente è riluttante a uno sviluppo che non sa come sarà realmente.
5,9 Modello a Spirale
• Creato da Barry Boehm nel 1986.
• Surge per alleviare i problemi del ciclo di vita classico.
• Introduce l'analisi del rischio costituita da una serie di cicli.
• La spirale è divisa in quattro quadranti.
• Il progetto inizia al centro della spirale e avanza fino alla fine.
Pianificazione
- Identificare gli obiettivi di prodotto.
- Studiare le alternative e le restrizioni.
Analisi dei Rischi
- Valutazione di alternative rispetto agli obiettivi e ai vincoli.
- Analisi delle incertezze.
- Prototipazione.
- Elementi di rischio.
• La mancanza di personale qualificato o di bilanci o di pianificazione.
• Sviluppo irrealistico delle funzioni del software.
• Sviluppo errato dei requisiti di interfaccia utente.
• Cambiamenti continui.
• Lacune nella merce acquistata all'estero.
• Lacune nei lavori svolti al di fuori in tempo reale.
• Limitazioni nel superare le attuali possibilità di ingegneria informatica.
Vantaggi
- Prendere il meglio ed evitare il peggio degli altri modelli, a seconda della situazione in ogni momento.
- Le opzioni di riutilizzo sono considerate sin dall'inizio.
- Fornisce una preparazione di sviluppo, alla crescita e cambiamento.
- Fornisce un meccanismo per integrare gli obiettivi di qualità per lo sviluppo.
- Si concentra sull'eliminazione degli errori e delle opzioni poco attraenti fin dall'inizio.
- Determina il livello di sforzo per ogni fase di ogni progetto.
- Segue la stessa procedura per lo sviluppo e la manutenzione, evitando così i problemi di "miglioramenti di routine" ad alto rischio.
- Flessibilità che permette di adattarsi bene alla programmazione e progettazione orientata agli oggetti.
Svantaggi
- È stato sviluppato nel mondo appaltante commerciale, ma nello sviluppo interno.
- Richiede esperti nella valutazione dei rischi che non sono sempre disponibili.
- Richiede ulteriori fasi di lavorazione del modello.
- È un modello relativamente nuovo e non è stato utilizzato come il modello a cascata e la prototipazione.
- Non vi è un esplicito riconoscimento delle diverse alternative per il raggiungimento degli obiettivi del progetto.
- Il modello si concentra sull'individuazione dei rischi di ogni alternativa e sui modi per risolverli.
- La divisione dei progetti in fasi, ognuna con un accordo finale, significa che esiste un accordo per le modifiche da apportare o alla fine di esso, a seconda di cosa si è imparato lungo il progetto.
- È un metodo che si adatta a qualsiasi tipo di attività, alcune delle quali non esistono in altri paradigmi, come i consulenti esterni di consultazione.
6. Metodologie
È necessario stabilire un approccio sistematico e disciplinato per effettuare lo sviluppo del software.
Le metodologie di sviluppo riguardano direttamente il processo di costruzione.
Sono sviluppate dal quadro definito da uno o più cicli di vita.
Non vi è consenso tra gli autori sul concetto di metodologia.
6,2 Definizione
Serie di passaggi e procedure da seguire per lo sviluppo del software.
6,3 Quale Metodologia?
• Migliore sviluppo di applicazioni di processo.
• Avere uno standard dell'organizzazione.
6,4 Obiettivi delle Metodologie
- Stabilire i requisiti di un sistema software in modo efficace.
- Costruire un sistema software in un momento opportuno e a un costo accettabile.
- Costruire un sistema che sia ben documentato e di facile manutenzione.
- Aiutare a individuare, nel più breve tempo possibile, ogni cambiamento necessario nel processo di sviluppo.
- Fornire un sistema in grado di soddisfare tutti gli attori coinvolti.
6,5 Caratteristiche Desiderabili in una Metodologia
- Esistenza di regole predefinite.
- Copertura completa del ciclo di vita.
- Controlli intermedi.
- Pianificazione e controllo.
- Comunicazione efficace.
- Utilizzo di una vasta gamma di progetti di formazione.
- Attività per migliorare il processo di sviluppo.
- Supporto per la manutenzione e il riuso del software.
6,6 Metodo vs Metodologia
Esiste confusione tra i termini metodologia, approccio del ciclo di vita e abuso di linguaggio tecnico.
Una metodologia può seguire uno o più modelli di ciclo di vita; il ciclo di vita ti dice cosa hai bisogno di superare nello sviluppo del progetto, ma non come. Questo deve essere indicato dalla metodologia.
Una metodologia è un concetto più ampio di quello del metodo. Pertanto, la metodologia può essere considerata come un insieme di metodi.
6,7 Classificazione
- Strutturati.
- Oriented Process.
- Oriented Data.
- Strutture di dati gerarchiche.
- Mixed.
- Object-oriented.