Vista SFIA: Competenze di ingegneria del software di base
Competenze di ingegneria del software di base
Queste sono le competenze in genere necessarie ai professionisti dell'ingegneria del software. Si noti che non tutte le competenze elencate sono richieste da tutti gli ingegneri del software. L'insieme delle competenze richieste dipende dalla natura dell'organizzazione che impiega e / o dai ruoli e responsabilità specifici degli ingegneri del software che impiegano.
Definizione e gestione dei requisiti REQM
La sollecitazione, l’analisi, la specifica e la convalida di requisiti e vincoli a un livello che consente sviluppo e funzionamento efficaci di software, sistemi, processi, prodotti e servizi nuovi o modificati. La gestione dei requisiti attraverso l’intero ciclo di consegna e della durata operativa del software, del sistema, dei processi, dei prodotti o dei servizi. La negoziazione di compromessi che siano accettabili per gli interessati chiave ed entro vincoli di bilancio, tecnici, normativi e di altra natura. L’adozione e l’adattamento di modelli di ciclo di vita per la gestione dei requisiti basati sul contesto del lavoro e selezionando in maniera appropriata da approcci guidati dal piano/predittivi o più adattativi (iterativi e agili).
Progettazione dei sistemi DESN
La progettazione dei sistemi per soddisfare requisiti specificati, compatibili con le architetture concordate dei sistemi, rispettando gli standard aziendali e i vincoli delle prestazioni e della fattibilità. L’identificazione dei concetti e la loro traduzione in una progettazione che forma la base per la costruzione e la verifica dei sistemi. La progettazione o selezione dei componenti. Lo sviluppo di un set completo di modelli, proprietà e/o caratteristiche dettagliati descritti in una forma adatta all’applicazione. L’adozione e l’adattamento di modelli per il ciclo di vita della progettazione dei sistemi basati sul contesto del lavoro e selezionando in maniera appropriata da approcci predittivi (guidati da un piano) o adattativi (iterativi/agili).
Progettazione del software SWDN
La specifica e la progettazione del software per soddisfare requisiti definiti seguendo gli standard e i principi concordati per la progettazione. La definizione del software, dei componenti, delle interfacce delle caratteristiche relative. L’identificazione dei concetti e dei pattern e la traduzione in una progettazione che fornisca una base per la costruzione e la verifica del software. La valutazione di compromessi e soluzioni alternative. La facilitazione di decisioni di progettazione entro i vincoli delle progettazioni dei sistemi, degli standard di progettazione, della qualità, della fattibilità, dell’estendibilità e della capacità di manutenzione. Lo sviluppo e l’iterazione di prototipi/simulazioni per abilitare un processo decisionale informato. L’adozione e l’adattamento di modelli, strumenti e tecniche di progettazione del software basati sul contesto del lavoro e selezionando in maniera appropriata da approcci predittivi (guidati da un piano) o adattativi (iterativi/agili).
Programmazione/sviluppo del software PROG
La pianificazione, la progettazione, la creazione, la correzione, la verifica, i test e la documentazione di componenti software nuovi e modificati per fornire il valore concordato agli interessati. L’identificazione, la creazione e l’applicazione di standard e processi concordati di sicurezza e sviluppo del software. L’adozione e l’adattamento di modelli per il ciclo di vita dello sviluppo di software basato sul contesto del lavoro e selezionando in maniera appropriata da approcci predittivi (guidati da un piano) o adattativi (iterativi/agili).
Sviluppo di sistemi in tempo reale/incorporati RESD
L’architettura, la progettazione e lo sviluppo di software affidabile in tempo reale, sistemi operativi, strumenti e sistemi incorporati. Incorporazione di sistemi informatici con una funzione dedicata in un sistema meccanico o elettronico di dimensioni maggiori, spesso con vincoli in tempo reale, di sicurezza, di protezione e di affidabilità. Tipicamente include l’interfacciamento con l’hardware, gli attuatori e i sensori meccanici per il monitoraggio e il controllo in applicazioni quali quelle industriali, automotive, aerospaziali e dei macchinari medici, robot e apparecchiature, fra cui dispositivi IoT (Internet of Things).
Metodi e strumenti METL
La definizione, la personalizzazione, l’applicazione, la valutazione, la misurazione, l’automazione e il miglioramento di metodi e strumenti per supportare la pianificazione, lo sviluppo, il test, il funzionamento, la gestione e la manutenzione dei sistemi. Assicurazione che metodi e strumenti siano adottati e utilizzati con efficacia in tutta l’organizzazione.
Gestione della configurazione CFMG
La pianificazione, la gestione, il controllo e la governance degli artefatti e delle attività di servizio, di progetto e organizzativi. L’identificazione, la classificazione e la specifica degli elementi di configurazione (CI) e delle relative interrelazioni. Identificazione della configurazione e della versione di codice sorgente, software, sistemi, documenti e CI dipendenti dal servizio in distinti momenti. Controllo sistematico dei cambiamenti alla configurazione e mantenimento dell’integrità e della tracciabilità della configurazione per tutto il ciclo vitale del progetto, del sistema e/o del servizio. Identificazione e documentazione delle caratteristiche funzionali e fisiche dei CI, controllo dei cambiamenti a tali caratteristiche, registrazione e reportistica dell’elaborazione delle modifiche e dello stato dell’applicazione. Verifica e controllo dei CI per la qualità dei dati e la conformità ai requisiti interni ed esterni specificati.
Gestione dei test TEST
La pianificazione, progettazione, gestione, esecuzione e reportistica dei test, utilizzando strumenti e tecniche appropriati di test e rispettando gli standard di processo concordati e le normative specifiche del settore. Lo scopo dei test è di assicurare che i sistemi, le configurazioni, i pacchetti o i servizi nuovi e modificati, assieme a qualsiasi interfaccia, operino come specificato (inclusi i requisiti di sicurezza) e che i rischi associati alla messa in esercizio siano adeguatamente compresi e documentati. I test includono l’elaborazione di ingegneria, l’utilizzo e la manutenzione del testware (casi di test, script di test, rapporti di test, piani di test, ecc.) per misurare e migliorare la qualità del software sottoposto a test.
Integrazione e costruzione dei sistemi SINT
La pianificazione, l’applicazione e il controllo delle attività per integrare/costruire componenti, sottosistemi e interfacce per creare sistemi operativi, prodotti o servizi per la consegna ai clienti o a fini interni o provvisori quali ad esempio i test. Lo sviluppo di capacità organizzative per l’integrazione e la costruzione di sistemi, inclusa l’automazione e l’integrazione continua.
Rilascio e messa in esercizio RELM
La gestione dei processi, dei sistemi e delle funzioni per inglobare, costruire, testare e applicare cambiamenti e aggiornamenti (che sono delimitati come “rilasci”) in un ambiente reale, stabilendo o continuando il servizio specificato, per consentire la trasmissione controllata ed efficace alla direzione operativa e alla comunità degli utenti. L’applicazione dell’automazione per migliorare l’efficienza e la qualità dei rilasci.
Assicurazione della qualità QUAS
Il processo di assicurare, attraverso una valutazione e una revisione indipendenti, che siano in vigore appropriate procedure di lavoro, attività di controllo della qualità, processi organizzativi e standard di qualità e che questi siano rispettati, nonché che le migliori procedure siano promosse in tutta l’organizzazione. L’assicurazione della qualità fornisce fiducia alla direzione interna e agli enti esterni, come clienti o enti normativi, che i requisiti di qualità saranno soddisfatti. L’assicurazione di qualità può essere correlata a qualsiasi area in cui gli standard di qualità sono applicati, tra cui prodotti, dati, servizi e processi aziendali.
Misura MEAS
Lo sviluppo e il funzionamento di una capacità di misurazione per supportare le esigenze concordate di informazioni dell’organizzazione. La pianificazione, l’applicazione e il controllo di attività per misurare gli attributi di processi, prodotti e servizi al fine di valutare le prestazioni e il progresso e fornire indicazioni e informazioni sui problemi, sulle problematiche e sui rischi effettivi o potenziali. L’identificazione dei requisiti, la selezione delle misure e delle scale di misurazione, stabilendo metodi di raccolta e analisi dei dati, impostando valori target e soglie. La misurazione può essere applicata a organizzazioni, progetti, processi e prodotti di lavoro.
Ingegneria della sicurezza SFEN
L’applicazione di metodi appropriati per assicurare la sicurezza durante tutte le fasi del ciclo vitale degli sviluppi dei sistemi correlati alla sicurezza, fra cui la manutenzione e il riutilizzo. Questi includono l’analisi dei rischi e dei pericoli per la sicurezza, la specifica dei requisiti di sicurezza, la progettazione dell’architettura di sistema correlata alla sicurezza, la progettazione di metodi formali, la convalida e la verifica della sicurezza e la preparazione di casi di sicurezza.
Supporto dell’applicazione ASUP
La fornitura di servizi di supporto e manutenzione dell’applicazione, direttamente agli utenti dei sistemi o alle funzioni di erogazione del servizio. Il supporto include tipicamente l’indagine e la risoluzione delle problematiche e può anche includere il monitoraggio delle prestazioni. Le problematiche possono essere risolte fornendo consulenza o formazione agli utenti, concependo correzioni (permanenti o temporanee) per gli errori, eseguendo modifiche generali o specifiche della sede, aggiornando la documentazione, manipolando i dati o definendo miglioramenti. Il supporto spesso implica la stretta collaborazione con gli sviluppatori del sistema e/o con i colleghi che si specializzano in diverse aree, quali ad esempio l’amministrazione del database o il supporto della rete.