SMC-S-012 Sviluppo software

SMC-S-012 Sviluppo software

Pubblicato dal Centro Sistemi Spaziali e Missilistici (SMC) dell’U.S. Air Force Space Command,Lo scopo dello standard di sviluppo software SMC-S-012 è specificare requisiti uniformi per le attività di sviluppo software per sistemi critici per la missione. Questo standard si basa sullo standard “MIL-STD-498 Military standard: Software development and documentation” sviluppato dal Dipartimento della Difesa degli Stati Uniti.

SMC-S-012 Sviluppo software

Questo standard si applica allo sviluppo di sistemi critici per la missione che includono software (ad esempio sistemi hardware-software), sistemi esclusivamente software e prodotti software autonomi. Questo standard può essere applicato ai contraenti che si occupano dello sviluppo di software o alle agenzie interne che effettuano acquisti. Questo standard può essere adattato a ciascuna categoria di software a cui si applica.

Questo standard è indipendente da qualsiasi metodo o strumento specifico di sviluppo software. Nessun requisito contenuto nella presente norma impone l'uso di un metodo o di uno strumento particolare.

Il framework utilizzato per organizzare le principali attività software nel processo di sviluppo software è denominato modello del ciclo di vita dello sviluppo software.

  • Lo sviluppatore deve scegliere il modello o i modelli del ciclo di vita dello sviluppo software adatti al software che sta sviluppando. Un progetto software può avere più modelli di ciclo di vita dello sviluppo software per diverse categorie di software sviluppato.
  • Lo sviluppatore deve registrare il modello o i modelli del ciclo di vita dello sviluppo software selezionati nel modello "Piano di sviluppo software" allegato.
  • Lo sviluppatore deve fornire una descrizione di ciascun modello del ciclo di vita dello sviluppo software che verrà utilizzato nel progetto, nel piano di sviluppo software.
  • Per ogni modello di ciclo di vita dello sviluppo software da utilizzare, lo sviluppatore deve definire nel piano di sviluppo software:
    • In quale punto del ciclo di vita dello sviluppo del sistema verrà utilizzato?
    • In quali condizioni verrà utilizzato?
    • Quali elementi software utilizzare per
  • Lo sviluppatore deve stabilire un processo di sviluppo software coerente con i requisiti contrattuali.
  • Il processo di sviluppo del software dovrebbe includere le seguenti attività principali e processi integrati:
    • Pianificazione e controllo del progetto
    • Creazione di un ambiente di sviluppo software
    • Analisi dei requisiti di sistema
    • Progettazione dell'architettura del sistema
    • Analisi dei requisiti software
    • Architettura e progettazione del software
    • Implementazione del software e test unitari
    • Integrazione e test delle unità
    • Test di qualificazione degli elementi software
    • Integrazione e test degli elementi software-hardware
    • Test di qualificazione del sistema
    • Preparazione del software per la transizione alle operazioni
    • Preparazione del software per la transizione alla manutenzione
    • Processi integrati:
      • Gestione della configurazione del software
      • Recensioni tra pari del software e valutazioni dei prodotti
      • Garanzia della qualità del software
      • Azione correttiva
      • Revisioni congiunte tecniche e gestionali
      • Gestione del rischio software
      • Misurazione del software
      • Guvenlik ve Gizlilik
      • Gestione dei membri del team software
      • Interfaccia con agenti software IV&V
      • Coordinamento con gli sviluppatori partner
      • Migliorare i processi di progetto

Queste importanti attività possono sovrapporsi, essere implementate in modo iterativo o in modo diverso. Riguarda vari elementi del software e non viene necessariamente eseguito nell'ordine sopra elencato.

  • I processi di sviluppo software dello sviluppatore devono essere descritti nel piano di sviluppo software.

I requisiti generali per lo sviluppo del software includono i requisiti generali degli sviluppatori per soddisfare i requisiti dettagliati definiti nel presente standard. Requisiti più dettagliati sono inclusi nell'allegato alla norma (allegato H.1).

  • Metodi di sviluppo software: lo sviluppatore deve utilizzare metodi sistematici e documentati per tutte le attività di sviluppo software. Questi metodi sistematici di sviluppo software dovrebbero essere specificati nel piano di sviluppo del software.
  • Standard per prodotti software: lo sviluppatore sviluppa standard per rappresentare requisiti, architettura, progettazione, codice, casi di test, procedure di test e risultati di test. Questi standard di rappresentazione del prodotto sono specificati nel piano di sviluppo del software. Lo sviluppatore applica gli standard specificati nel piano di sviluppo del software per rappresentare requisiti, architettura, progettazione, codice, casi di test, procedure di test e risultati dei test.
  • Tracciabilità: la tracciabilità fornisce una relazione tra i contenuti di due prodotti correlati, ad esempio la relazione tra ciascun requisito software e i componenti di progettazione software che soddisfano il requisito. La tracciabilità bidirezionale garantisce una relazione bidirezionale tra il contenuto di due prodotti correlati. Un esempio di tale relazione bidirezionale è la tracciabilità da ciascun requisito software ai componenti di progettazione software che soddisfano il requisito e la tracciabilità da ciascun componente di progettazione ai requisiti software soddisfatti dal componente di progettazione. Lo scopo dei requisiti di tracciabilità bidirezionale in questa sezione è di tracciare sia verso l'alto che verso il basso per garantire che:
    • Dimostrare che tutti i requisiti sono stati assegnati ai componenti, implementati e testati
    • Dimostrare che non si applicano requisiti aggiuntivi
    • Fornire informazioni sull'impatto delle modifiche proposte
    • Fornire informazioni sull'impatto dei problemi scoperti
    • Fornire informazioni per la manutenzione del software.
  • Prodotti software riutilizzabili: lo sviluppatore deve identificare prodotti software riutilizzabili che saranno impiegati per soddisfare i requisiti del contratto. L'ambito della ricerca di un prodotto software riutilizzabile dovrebbe essere specificato nel piano di sviluppo del software. Lo sviluppatore deve valutare i prodotti software riutilizzabili che verranno impiegati per soddisfare i requisiti del contratto. I criteri da utilizzare per valutare il prodotto software riutilizzabile devono essere quelli specificati nel piano di sviluppo del software. Per selezionare i prodotti software riutilizzabili (Allegato B), lo sviluppatore deve utilizzare almeno i criteri di valutazione riportati nell'allegato alla norma. I criteri di valutazione possono essere ponderati in modo diverso a seconda delle diverse categorie di software e dei diversi requisiti critici. I prodotti software riutilizzabili selezionati devono soddisfare i requisiti sui diritti sui dati previsti dal contratto. Un prodotto software riutilizzabile può essere utilizzato così com'è oppure può essere modificato e utilizzato per soddisfare l'intero requisito o parte di esso.

La nostra organizzazione, che da anni si impegna a supportare le aziende di ogni settore con un'ampia gamma di studi di prova, misurazione, analisi e valutazione, si avvale di uno staff solido che segue da vicino gli sviluppi nel mondo nel campo della scienza e della tecnologia e si migliora costantemente. In questo contesto vengono forniti alle aziende anche servizi di testing in conformità allo standard “SMC-S-012 Software Development”.

WhatsApp