committente, avendo a disposizione volta comprende un certo numero di attività.
Ciclo di vita di un software funzionalità minime ha la possibilità di - Guidato dai requisiti: basato quindi sugli
concentrare i propri sforzi sul use cases.
- Definizione: definizione dei requisiti di raggiungimento di un grado di precisione - Modellabile visualmente: si può usare
sistema, delle funzionalità relative ai ruoli di elevata. Documentare il SW con questo UML
sistema, dei vincoli da rispettare. modello richiede meno sforzo organizzativo - Quality assesment built-in nel processo: la
- Progettazione (design): strutturazione proprio per le brevi fasi di impl. / trasf. qualità cioè deve essere costruita man
dell'architettura relativamente alle Svantaggi: lo sforzo implementativo e di mano che il modello progredisce nelle varie
componenti ed alle interfacce. revisione a livello di tempi diviene molto iterazioni, in modo tale da raggiungere la
- Implementazione: sviluppo del codice e critico, in quanto nelle fasi successive al maturità nel più breve tempo possibile.
testing dei moduli, assemblaggio e primo progetto, si deve continuamente
macrotesting. lavorare oltre che all'ampliamento anche UML (Unified Modeling Language)
- Consegna: test di accettazione da parte alla revisione del lavoro precedente.
del cliente e revisione. Definisce diversi tipi di modello di cui i
principali sono i seguenti (si chiamano
- Evolutivo: basato su un waterfall ridotto a
Il processo di sviluppo del SW è costituito formalismi grafici)
livello di tempo, iterato fino al
da tutto quanto è necessario per la raggiungimento delle specifiche finali, a
creazione di sistemi di qaulità a partire 1. Classi e relazioni (CR)
partire da un gruppo di requirements iniziali.
magari da una soluzione iniziale. La qualità 2. Use cases
Vantaggi: permette un raffinamento dei
di un prodotto dipende dalla qualità del 3. Attività
modelli tramite prototipazione, molto utile
processo produttivo. 4. Stati
dal punto di vista dell'utente finale. E' molto 5. Oggetti
utile nel caso in cui i requisiti siano piuttosto
- Un processo di creazione del SW è un 6. Sequenza
mutevoli.
insieme di attività, metodi, pratiche, e 7. Collaborazione
Svantaggi: la semplicità di
trasformazioni che le persone utilizzano per documentazione è ridotta rispetto
lo sviluppo e la revisione del SW e delle Definisce praticamente 12 tipi di diagrammi,
all'incrementale, in quanto le varie fasi di
attività correlate (es. piani di progetto, divisi in 3 categorie:
iterazione costringono all'integrazione delle
progetto di documenti, coidce, test cases documentazioni esistenti.
ecc) - Diagrammi Strutturali: sono delle
definizioni statiche di applicazioni, ed
Prototipazione includono i diagrammi di classe, di oggetto,
Tipi di cicli di sviluppo di componente, e deployment.
E' una parziale implementazione di un - Diagrammi comportamentali: sono delle
- Semplice: si codificano i requisiti e si sistema, che aiuta l'utente finale a definizioni dinamiche ed includono use
debugga finché il tutto non funziona. comprenderne le funzionalità. cases, (usati da alcune metodologie nel
Vantaggi: tempo di startup ridotto al recupero dei requisiti), diagramma di
minimo indispensabile, si può lavorare - Usa e getta: può essere utile per validare sequeza, diagramma di attività, diagramma
direttamente. un'interfaccia grafica o per teestare le di collaborazione, e statechart diagram.
Svantaggi: seri problemi di revisione, di potenzialità di architetture difficilmente - Diagrammi di Management dei modelli:
documentazione differita delle revisioni riproducibili in scala completa, senza includono packages, sottosistemi e modelli.
stesse ecc. sostenere dei costi molto ingenti di
prototipazione. Agile Software Development
- Waterfall: approccio di tipo strettamente
gerarchizzato, mirato a partire dalla - Evoluzionario: capacie di essere
definizione dei requisiti, progettazione, - Individui ed interazioni al di sopra dei
modificato nel tempo e somministrato nella
implementazione, trasferimento, ed processi e degli strumenti
sua interezza alla fine del processo
operatività. Nelle fasi intermedie sono - SW funzionante prima della
evolutivo. Non è particolarmente rapido e
presenti delle consegne da parte di documentazione comprensibile
può essere molto oneroso.
persone, e tutto il lavoro relativo ad ogni - Collaborazione dei consumatori al di sopra
fase viene svolto da personale della negoziazione dei contratti
Verifica & Validazione
specializzato. Alla fine dell'implementazione - Risposta alle modifiche prima di ogni
vi è una consegna del SW nella versione pianificazione possibile
originale, mentre la fase di operatività - Verifica: controllo della conformità rispetto
risente di un non perfetto bilanciamento in ai requisiti Model Driven Development
termini di tempo rispetto alle altre (troppo - Validazione: conformità rispetto alle attese
lunga). del committente. E' la concezione di un modello di
Vantaggi: è molto semplice da utilizzare, costruzione del SW basato sull'utilizzo di
in quanto la specializzazione permette una Rational Unified Process (RUP) punti di vista astratti, trasformati in seguito
facile gestione delle competenze e dei ruoli. in codice funzionante sia tramite l'utilizzo
Svantaggi: le fasi sono rigide e realizzate - Fasi: Inception (concezione)[INITIAL], dell'automazione, sia manualmente. Questo
da personale specializzato. Nel momento in Elaborazione[ELAB1+2], Costruzione tipo di discorso può introdurre dei fattori di
cui viene scoperto un baco in una fase [CONSTR1+2+3], Transizione crescente produttività e TTM ristretti,
preliminare in seguito alla consegna, è [TRANS1+2], vengono riportate sulle abilitando il lavoro ad alto livello in modo
molto difficile riuscire a ripristinare il lavoro ascisse tale da rendere più facile la descrizione del
senza dover modificare una ingente mole di - Discipline: Business modeling, sw a chi in realtà non è un esperto del
dati, e senza dover rovinare la torta a requirements, analysis & design, settore. Molto spesso la modellizzazione è
qualcuno. Difficile da conciliare la implementation test, Deployment, basata sulla rappresentazione grafica delle
documentazione specifica emessa in Configuration & Change management, informazioni tramite immagini, diagrammi
ciascuna delle fasi. La visione tayloristica è Project management, Environment ecc.
poco versatile al momento della revisione. (riportate sulle ordinate). Nel momento in cui i modelli hanno una
semantica operazionale, possono essere
- Incrementale: Simile alla waterfall rispetto Le varie discipline assumono ruoli e facilmente trasformati in prototipi, o in
al taylorismo delle fasi ma incrementale nel importanze differenti a seconda della fase porzioni di applicazione.
lavoro a livello di consegna in cui si considera il loro contributo. Il principio fondamentale è quello di scrivere
dell'implementazione corrente. Si passa da Ogni tipo di attività è dedicata soprattutto meno codice a mano, riutilizzando
un'implementazione minima iniziale ad una fase ma partecipa anche se in modo possibilmente quello che è stato già
sottoposta al testing, per un raffinamento trascurabile alle altre. consolidato e testato in passato.
ed un ampliamento progressivo nel tempo.
Vantaggi: lo sviluppo e la consegna sono - Iterativo ed incrementale: in quanto si Analisi dei requisiti
incrementali, quindi risentono minimamente procede per fasi e ad ogni fase si raggiunge
degli errori commessi,facilmente una milestone, comprendendo un certo Un requisito software è:
individuabili e correggibili nel
-
Ingegneria del software
-
Appunti Ingegneria del software
-
Teoria Ingegneria del software
-
Ingegneria del Software