Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Capability Maturity Model Integration
La probabilità di portare a termine con successo un progetto dipende dalla maturità dei processi.
La maturità dei processi dipende dal grado di controllo che ho sulle azioni che vado a svolgere per realizzare il progetto. Un progetto si definisce immaturo quando:
- le attività da svolgere non sono ben definite o controllate
- gli sviluppatori hanno scarsa capacità di controllare il processo
Un progetto si definisce maturo quando:
- le attività da svolgere sono ben definite e controllate
- c'è un controllo della gestione del progetto
Il Capability Maturity Model Integration è uno strumento che segue queste linee di ragionamento, definendo una serie di azioni e di pratiche standard che permettono di governare gli aspetti relativi a un processo software.
3.1 Componenti del modello CMMI:
Una racchiude una collezione di pratiche organizzate secondo obiettivi e riguarda una processo.
Areaparticolare area del processo di sviluppo software. CMMI include 22 aree dei processi.17Ciascuna Process Area ha una descrizione che indica il suo obiettivo finale. Quando le pratichevengono implementate collettivamente, vengono soddisfatti una serie di obiettivi considerati impor-tanti per migliorare l'area.Purpose statement
Descrive lo scopo dell'area di progetto. Ad esempio, lo scopo della definizione del processo orga-nizzativo è stabilire e mantenere una serie utilizzabile di risorse dei processi organizzativi, standarddell'ambiente di lavoro e regole e linee guida per i team.
Note introduttive
Descrive i principali concetti trattati nell'area del processo. Ad esempio, quando lo stato effettivo sidiscosta in modo significativo dai valori attesi, vengono intraprese azioni correttive appropriate.
Aree dei processi correlati
Elenca i riferimenti alle aree di processo correlate. Ad esempio, fare riferimento all'area del processodi gestione del
rischio per ulteriori informazioni sull'identificazione e l'analisi dei rischi e sulla miti-gazione dei rischi.
Ogni Process Area ha obiettivi specifici e generici. Gli obiettivi generici sono quelli comuni a tutte le Process Area. Gli obiettivi specifici caratterizzano la Process area. Un esempio di obiettivo specifico sono: definire le baseline del prodotto sottoposto a CMMI, definire le politiche di controllo dei cambiamenti o i criteri di integrità.
Ogni obiettivo specifico ha una lista di pratiche che se svolte permettono di raggiungere tale obiettivo, come parte delle pratiche queste possono essere ulteriormente divise in sotto-pratiche o esempi di prodotti generati dallo svolgimento delle pratiche.
Anche gli obiettivi generici hanno sotto-pratiche generiche divise in sotto-pratiche e informazioni di dettaglio per l'elaborare la singola pratica.
3.2 Conformità a un'area di processo
E' necessario fare un mapping per capire quali obiettivi sono
Stati raggiunti e quali pratiche eseguite. CMMI rappresenta uno standard di qualità:
- Il miglioramento del processo, per ciascuna area del processo, è codificato in livelli
- Organizzazione / Divisioni / Progetti possono essere riconosciuti come conformi a un dato livello CMMI
La capability levels cattura quanto (e bene) si sta seguendo una particolare Process Area. Capability levels Maturity cattura il livello raggiunto dall'intero processo di sviluppo ragionando su tutte le Process Area level 18 attivate.
Capability levels:
- Level 0 - Processo non eseguito o parzialmente eseguito - Incompleto
- Level 1 - Obiettivi specifici vengono soddisfatti, vengono generati prodotti di lavoro - Eseguito
- Level 2 - Pianificato ed eseguito in conformità con la politica; risorse assegnate; gestito, monitorato, controllato, revisionato
- Level 3 - Livello 2 + Su misura dell'organizzazione, descritto rigorosamente - Definito
Maturity levels:
- Level 1 - Ad hoc e caotico;
- Level 2 - personeGestito Pianificato ed eseguito in conformità con le politiche;qualificate; uscite controllate, che vengono monitorate, controllate e riviste; pratiche mantenuteanche in caso di stress; stato dei prodotti di lavoro visibili al management in punti definiti
- Level 3 - adattamento degli standard sui progettiDefinito Standard organizzativo,specifici sulla base di linee guida; descrizioni più rigorose
- Level 4 - Stabilire per la qualità e leGestito quantitativamente obiettivi quantitativiprestazioni del processo e come criteri nellautilizzarli gestione dei progetti
- Level 5 - Ottimizzazione Miglioramento continuo delle prestazioni di processoattraverso processi incrementali e innovativi e miglioramento tecnologico. L’effetto dei miglioramenti viene valutato quantitativamente
livello 2 e 3 del Matury Level è compatibile con i metodi Agili.
Matury Level4 e 5 non rientrano nell'ottica dei metodi agili, quindi un'organizzazione che segue i metodi agili può seguire i livelli 2 e 3 del CMMI.
Risposte quiz
Quanti livelli di capacità sono definiti in CMMI?
D: 4
Qual è la differenza tra obiettivi generici e specifici in CMMI?
D: 19
Gli obiettivi generici sono condivisi tra le aree di processo mentre gli obiettivi specifici non lo sono
Cos'è un'area di processo in CMMI?
D: Una serie di pratiche correlate
Se tutte le aree di processo sono implementate con il livello di capacità 3, qual è il livello di maturità corrispondente del processo?
D: 5
4 Requirements Engineering
Con ci preoccupiamo di comprendere come la soluzione software che stiamo sviluppando si deve comportare per risolvere un particolare problema che stiamo affrontando. Per assicurarci che una
soluzione software risolva "correttamente" alcuni problemi del mondo reale, dobbiamo prima comprendere appieno e definire quale problema si pone nel mondo reale in cui si pone il problema. Una analogia diffusa è quella del problema presente nel contesto e della soluzione rappresentata dalla "macchina" che realizziamo: - Mondo: cosa deve essere installato per risolvere il problema (software che deve essere sviluppato, implementazioni hardware/software, sensori, ecc). - Macchina: si occupa di capire qual è l'effetto che la macchina da realizzare deve avere sul problema identificato e quali sono le assunzioni che possiamo fare nel realizzare la macchina per far sì che risolva il problema. Quando si parla di RE è importante distinguere due elementi; ogni volta che prendiamo in considerazione un problema, normalmente, esiste sempre un sistema che esiste.giàsystem-as-ise risolve parzialmente il problema (ad esempio in modo non soddisfacente, con bassa qualità, ecc)come ad esempio un autista che risolve parzialmente il problema della guida autonoma. Quando vogliamo sviluppare un nuovo sistema parliamo di teniamo in considerazione quello system-to-be che conosciamo già dal system-as-is, come funziona e cosa possiamo sfruttare per decidere in modo efficace come dovrà lavorare il system-to-be. Quindi, per ingegnerizzazione dei requisiti intendiamo una serie di attività che hanno come obiettivo:- esplorare, valutare, documentare, consolidare, revisionare e adattare l'obiettivo, i vincoli, le assunzioni, le capacità su un software (system-to-be)
- basato sui problemi sollevati dal sistema così com'è e sulle opportunità fornite dalle nuove tecnologie
4.1 Requisiti nel ciclo di vita del software
Considerando il contesto di sviluppo del software, ad esempio un modello a cascata, l'attività di RE si posiziona tra le prime svolte a cui ne seguono alte. Con il RE ci preoccupiamo di capire quali il sistema che deve essere sviluppato, e con le attività successive ci preoccupiamo di svilupparlo è nel modo corretto. È importante capire si deve comportare il sistema, in modo da poterne comesviluppare uno solido che soddisfi i requisiti del committente.
4.2 Perché lavorare sul Requirements Engineering è difficile?
Ci sono diversi motivi, innanzitutto quando bisogna ragionare su diverse versioni dal sistema (as-is, to-be), è necessario prevedere che ci sarà una continua evoluzione del prodotto. Non ci sono solo gli aspetti tecnici da valutare, ma anche quelli umani.
non sono chiude").• hanno una negoziabilità perché riguardano comportamenti che un sistema deve
Prescrittivi:
- avere, ma che possono essere modificati (es. "le porte del treno devono sempre rimanere chiuse quando il treno si muove".
I requisiti possono differire, ad esempio riguardare il comportamento del sistema (software) e come interagisce con l’ambiente.
Sistema = software + ambiente (persone, dispositivi, altri software)
Requisiti di sistema = requisiti software + domain properties + assunzioni (che dettano gli ambienti compatibili col software, non devono essere troppo restrittive altrimenti portano al fallimento del progetto)
In un’ottica di un ragionamento sull’interazione tra sistema software e ambiente &egrav;