Processo software

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando il “processo” come componente di un sistema multitasking, vedi Processo (informatica).

In informatica con il termine processo software si indica la serie di passi o percorso da svolgere per ottenere risultati di alta qualità e in tempi prefissati nello sviluppo di un prodotto o sistema software. Il processo software è composto da alcune attività che rappresentano un insieme di compiti da svolgere per sviluppare un software:

  • Attività portanti: una serie di compiti da svolgere necessariamente;
  • Attività ausiliarie: possono aumentare la qualità di un software da produrre, di solito tali attività sono considerate dalle aziende che cercano una certa qualità. Tali attività non riguardano il progetto in sé ma piuttosto l'azienda;

Attività portanti[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Ciclo di vita del software.

Si possono definire cinque attività portanti in un processo software:

  • la stesura delle specifiche: tale attività comprende innanzitutto la definizione dei servizi che il software deve offrire, le funzioni che deve offrire e le prestazioni minime che deve esibire, ovvero complessivamente la descrizione di cosa il software deve fare (specifica dei requisiti); ma anche la definizione delle successive specifiche di progetto, che descrivono come il sistema deve essere realizzato;
  • lo sviluppo del software: Questa attività comprende la produzione del software, il quale deve rispondere alle specifiche precedentemente stabilite;
  • la manutenzione del software, ovvero gli interventi di modifica (correzione di errori, ampliamento delle funzionalità, ecc.) successivi al rilascio.

Per ulteriori informazioni sulle fasi che costituiscono il processo di sviluppo del software, vedi ciclo di vita del software.

Attività ausiliarie[modifica | modifica sorgente]

Tra le attività ausiliarie di un processo software si elencano:

Caratteristiche del processo software[modifica | modifica sorgente]

Un processo software deve possedere alcune caratteristiche fondamentali per il suo sviluppo, più precisamente un processo software dev'essere:

  • Comprensibile: si deve capire perché si è scelto di seguire un modello di sviluppo piuttosto che un altro;
  • Visibile: si deve capire a che punto si è giunti nello sviluppo, seguendo i dati precedentemente riportati sulle documentazioni di ciascuna fase del ciclo di vita del software;
  • Supportabile: il processo dev'essere supportato dagli strumenti che si decide di utilizzare per lo sviluppo del software;
  • Accettabile: un processo dev'essere accettabile da coloro i quali si accingono a realizzarlo;
  • Robusto: un processo deve risultare robusto al punto di essere flessibile ai cambiamenti che potrebbero influenzare lo sviluppo del software;
  • Rapido: un processo dev'essere rapido nel produrre il software desiderato, ma quest'ultima caratteristica potrebbe scontrarsi con la visibilità stessa del processo software;

Collegamenti esterni[modifica | modifica sorgente]