Sfondo

I punti funzione COSMIC sono un'unità di misura della dimensione funzionale del software. Esistono altri modi per valutare le dimensioni del software, ma il dimensionamento COSMIC è l’approccio più universale, significativo e utile. La dimensione funzionale è coerente indipendentemente dalla tecnologia utilizzata per costruirla. La dimensione può essere stimata o, se tutti i requisiti sono disponibili, misurata. La stima anticipata è molto utile per pianificare e gestire le attività software (progetti o gestione del prodotto). Il processo di misurazione delle dimensioni del software è chiamato misurazione delle dimensioni funzionali (FSM). La misurazione della dimensione funzionale COSMIC è applicabile al software aziendale, al software in tempo reale e al software dell'infrastruttura a qualsiasi livello di scomposizione (da un intero sistema software fino a un singolo componente riutilizzabile o una user story). La dimensione funzionale (inclusi i Punti Funzione COSMIC – CFP) è indipendente dalla tecnologia o dai processi utilizzati per sviluppare il sistema. COSMIC è uno standard ISO. Si tratta di un miglioramento raffinato rispetto ai suoi predecessori (IFPUG e Mark II FP). L'unità di misura è il Punto Funzione COSMIC o CFP.

Usi

Una volta misurata (o stimata) la dimensione in punti funzione COSMIC, è possibile utilizzarla come metrica di base per:

  • Stima dello sforzo di sviluppo
  • Stima della durata del progetto
  • Stima della qualità del progetto risultato
  • Stima dello sforzo di prova
  • Scorrimento dell'ambito di controllo
  • Come base per i contratti a prezzo fisso
  • Valutare il costo di sostituzione di una risorsa software
  • Stima dei costi di manutenzione e sostituzione
  • Valutare il raggiungimento della qualità (tassi di rimozione dei difetti)
  • e altro ancora..
Norma ingegneristica

COSMIC è uno standard internazionale per la misurazione delle dimensioni del software: ISO/IEC 19761:2011.

Perché stimare le dimensioni?

Stimiamo in anticipo le dimensioni del software per molte ragioni, tra cui:
  1. A valutare la fattibilità di fare il lavoro.
  2. A dimensionare correttamente la squadra e dedicare tempo sufficiente per svolgere un lavoro di qualità.
  3. A conoscere il costo, nel valutare le proposte di esternalizzazione.
  4. A sapere quando sarà fatto?
  5. A prevedere i difetti (potenziale, scoperta e rimozione)
  6. A ridurre il rischio. Se stimiamo bene possiamo evitare che il progetto $1m diventi un problema $3m.

Basato su principi

Il metodo di dimensionamento dei Function Point COSMIC per la misurazione dei requisiti software si basa su due principi fondamentali:

1. Il "modello di contesto del software"

Definisce il software da misurare

  • Il software è delimitato dall'hardware e tipicamente strutturato in strati.
  • IL scopo di qualsiasi parte di software da misurare dipenderà dal scopo della misurazione e sarà confinato interamente in un unico strato.
  • IL utenti funzionali di una parte di software da misurare devono essere identificati dai suoi Requisiti Funzionali Utente (FUR) rispettivamente come mittenti e/o destinatari previsti dei dati da/verso il software.
  • Una misurazione precisa della dimensione COSMICA di una porzione di software richiede che i suoi FUR siano conosciuti a livello di granularità al quale è processi funzionali e possono essere identificati sottoprocessi.
  • Una misurazione approssimativa della dimensione COSMIC è possibile se i suoi FUR sono misurati ad un elevato livello di granularità mediante un approccio approssimativo e scalati al livello di granularità dei processi funzionali.

2. Il "modello software generico"

Concetti generici applicabili a tutti i software

  • Un pezzo di software interagisce con i suoi utenti funzionali attraverso a confine, e con memorizzazione persistente entro il confine.
  • I FUR di una parte di software possono essere mappati in univoci processi funzionali.
  • Ogni processo funzionale viene avviato dal suo innescando l'ingresso movimento dei dati. Il gruppo di dati spostato dalla voce di attivazione viene generato da un utente funzionale in risposta a a evento scatenante.
  • Un processo funzionale deve includere almeno un movimento di dati di entrata e un movimento di dati di scrittura o di uscita. Non esiste un limite massimo al numero di movimenti di dati in un processo funzionaleI Punti Funzione Cosmica vengono misurati utilizzando il modello software generico
  • Ogni processo funzionale è costituito da sottoprocessi, movimenti di dati (DM) E manipolazioni dei dati.
  • Come approssimazione ai fini della misurazione, il metodo COSMIC presuppone che la funzionalità di qualsiasi manipolazione dei dati sia tenuta in considerazione dal movimento dei dati a cui è associata.
  • Esistono quattro tipi di movimento dei dati, Entrata, uscita, scrittura e lettura.
  • Un movimento di dati sposta un singolo gruppo di dati, che consiste in un insieme unico di attributi dei dati che descrivono un singolo oggetto di interesse.

Punti funzione cosmici e modello di contesto del software

Coerente

COSMIC è basato su principi, quindi funziona su qualsiasi tipo di software.

Perché consigliamo COSMIC

I principi del dimensionamento funzionale in COSMIC si ispirano al lavoro originale di Allan Albrecht che ha creato l'idea del punto funzione IFPUG. COSMIc è una riprogettazione che presenta numerosi vantaggi rispetto al suo predecessore:

  1. Mantiene una forte correlazione tra dimensione COSMIC e sforzo.
  2. È più semplice da apprendere e utilizzare rispetto ai predecessori.
  3. Non è necessaria la conoscenza di tutti i requisiti per eseguire una misurazione dimensionale.
  4. È progettato per software multistrato
  5. È progettato per sistemi embedded e software applicativo
  6. La stima COSMIC può essere automatizzata in modo più accurato rispetto all’IFPUG.
  7. L'apprendimento e l'utilizzo di 100% sono gratuiti.

Tre passaggi per contare i punti funzione cosmici

1 Strategia di misurazione – Determinare lo scopo della misurazione

in base al contesto software definito sopra, ad esempio stiamo misurando un'intera applicazione o solo un singolo componente/strato. Chi sono gli utenti funzionali che interagiscono con il software.

2 Determinare i parametri del "Modello software generico"

Dai Requisiti Utente Funzionali (FUR)

  1. Eventi scatenanti
  2. I processi funzionali
  3. Oggetti di interesse (e gruppi di dati)
  4. Movimenti di dati

3. Contare i movimenti di dati

Per una nuova applicazione: contare i nuovi movimenti di dati (DM)

Per modifiche al sistema: aggiungere i nuovi DM, i DM modificati e i DM rimossi.

E questo è tutto, la somma dei DM è il totale della CFP!

Misurare un'applicazione

Più comunemente misureremo un'intera applicazione trattando ogni livello in modo indipendente, quindi basta contare tutte le nuove funzionalità e avrai la dimensione totale.

Definizioni

Parola chiave Definizione
Processo funzionale Un insieme di movimenti di dati... per il software da misurare, che è unico all'interno di quei FUR e che può essere definito indipendentemente da qualsiasi altro processo funzionale in quei FUR.

Ogni processo funzionale inizia l'elaborazione alla ricezione di un gruppo di dati spostato dal relativo movimento di dati di ingresso.

L'insieme di tutti i movimenti di dati di un processo funzionale è l'insieme necessario per soddisfare i suoi FUR per tutte le possibili risposte alla sua Entry scatenante.

Utente funzionale i "mittenti o destinatari previsti dei dati" (possono essere sistemi o dispositivi umani o connessi come sensori)
Requisiti utente funzionali (FUR) Dichiarazioni di requisiti funzionali, ad es. specifiche del software o storie degli utenti.
Oggetto di interesse qualsiasi "cosa" (fisica o concettuale) nel mondo del utente funzionale, di cui il software sottoposto a misurazione deve elaborare o archiviare/recuperare dati
Gruppo dati è costituito da uno o più attributi dei dati che descrivono tutti uno solo oggetto di interesse
Evento scatenante Ogni processo funzionale viene avviato dal suo innescando l'ingresso movimento dei dati. Il gruppo di dati spostato dalla voce di attivazione viene generato da un utente funzionale in risposta a a evento scatenante.

Punti funzione COSMIC automatizzati

Accelera il tuo dimensionamento con ScopeMaster

Ora che ti abbiamo presentato i principi e i fondamenti alla base della metodologia di dimensionamento COSMIC, vorrai provarla. Se stai cercando una scorciatoia, un modo veloce per ottenere una stima rapida, importa semplicemente le tue storie in ScopeMaster e lascia che faccia il lavoro per te. ScopeMaster analizza le storie degli utenti scritte e automatizza la stima delle dimensioni in COSMIC Function Points (CFP).