Sviluppo software

Lo sviluppo software, in informatica e nell'ambito dell'ingegneria del software, 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 attraverso il relativo progetto.

Lo sviluppo software, in informatica e nell'ambito dell'ingegneria del software, 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 attraverso il relativo progetto.

Attività portanti

Lo sviluppo 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;

Può essere suddiviso in cinque attività portanti, che si ripetono in maniera ciclica:

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;

la realizzazione del software: Questa attività comprende la produzione del software, il quale deve rispondere alle specifiche precedentemente stabilite;

l'ispezione del software, allo scopo di verificarne l'aderenza alle specifiche e, più in generale, di validarlo;

Il collaudo del software;

la manutenzione del software, ovvero gli interventi di modifica (correzione di errori, ampliamento delle funzionalità, ecc.) successivi al rilascio.

L'intero processo è spesso supervisionato da un responsabile di progetto, tipicamente definito project manager, il quale fa da ponte tra il committente del progetto software e il team di sviluppo nelle organizzazioni che operano su commessa/contratto; nelle organizzazioni che operano per linee di prodotto il responsabile viene definito product owner.

Attività ausiliarie

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

La localizzazione del software

La gestione della qualità del software

La gestione della configurazione (Configuration management)

Caratteristiche del processo software

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;

Servizi correlati

Altre voci

Sviluppatore di softwareS

Sviluppatore di software

In informatica, lo sviluppatore software è un programmatore che si prende cura di uno o più aspetti del ciclo di vita del software, che è un qualcosa di più ampio della vera programmazione in sé. Questa figura può contribuire alla visione d'insieme del progetto ad un livello applicativo così…

Leggi la voce →
C

Canva

Canva è una società multinazionale australiana di software proprietario che fornisce agli utenti una piattaforma di progettazione grafica per creare contenuti visuali per presentazioni, siti web e prodotti simili. Lanciato a Perth in Australia nel 2013, il sito offre strumenti di progettazione…

Leggi la voce →
A

Analisi (ingegneria del software)

In ingegneria del software, l'analisi è una delle fasi del ciclo di vita del software; essa ha lo scopo generale di chiarire, dettagliare e documentare le funzioni, i servizi e le prestazioni che devono essere offerti da un sistema software o programma, al fine di risolvere un dato problema nel…

Leggi la voce →
A

Application service provider

L'application service provider (ASP) è un modello architetturale per l'erogazione di servizi informatici che prevede una spinta remotizzazione elaborativa ed applicativa. Spesso il termine è usato indicando l'erogazione di servizi informatici in "modalità ASP".

Leggi la voce →
M

Modello di sviluppo del software

In informatica un modello di sviluppo software è il principio teorico che indica il metodo da seguire nel progettare e nello scrivere un programma. Il modello è alla base di una metodologia di sviluppo. I modelli di sviluppo software simulano la realtà per vedere cosa accadrebbe e al fine di…

Leggi la voce →
A

Amministratore di condominio (Italia)

L'amministratore di condominio, ai sensi della legge italiana, è l'organo esecutivo del condominio. Non è previsto un albo degli amministratori di condominio, ma solo libere associazioni sindacali di categoria.

Leggi la voce →