Anteprima
Vedrai una selezione di 16 pagine su 74
Riassunto processo e sviluppo del software Pag. 1 Riassunto processo e sviluppo del software Pag. 2
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 6
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 11
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 16
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 21
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 26
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 31
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 36
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 41
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 46
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 51
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 56
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 61
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 66
Anteprima di 16 pagg. su 74.
Scarica il documento per vederlo tutto.
Riassunto processo e sviluppo del software Pag. 71
1 su 74
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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;
nessun ambiente stabile che supporti i processiIniziale
  • 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
3.2.1 Conflitto o compatibilità tra CMMI e AgileCiò che viene svolto al

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
L'output del RE è un (o una collezione) che specificano co-documento di specifica dei requisiti.

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.

legali, fisici ecc ovvero un eterogeneo contesto. Ignorare il contesto porta al fallimento del prodotto. Devono essere trattati, ad esempio quelli funzionali, qualitativi (efficienza, performance, sicurezza, ecc); ed è importante considerare un'astrazione (obiettivi nel breve/lungo termine, dettagli operazionali). Il lavoro è reso complicato anche dalla presenza di numerosi stakeholders, con differenti background e punti di vista che possono entrare in conflitto tra loro. Infine, numerose attività tecniche legate tra loro (gestione dei conflitti, gestione del rischio, prioritizzazione delle funzioni da sviluppare, quality assurance, ecc). 4.3 Tipi di requisiti 4.3.1 Statements Possiamo dividere gli statements in descrittivi o prescrittivi. - Descrittivi: indicano dei requisiti non negoziabili, rappresentano dei comportamenti che vengono dalle "leggi del mondo" su cui la macchina lavora (es. "se le porte del treno sono aperte,

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;

Dettagli
Publisher
A.A. 2020-2021
74 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher fabios15 di informazioni apprese con la frequenza delle lezioni di Software Development Process e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano - Bicocca o del prof Mariani Leonardo.