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.

Voci correlate: