Gestione e ciclo di sviluppo di un progetto informatico in azienda

Gestione e ciclo di sviluppo di un progetto informatico in azienda

Il progetto informatico

La realizzazione del software è un’ attività complessa. Per diminuire le probabilità che vengano commessi gli errori durante la realizzazione del software, sono state sudiate metodologie e modelli che hanno lo scopo di rappresentare, prevedere, programmare e gestire un progetto informatico.

Questa tipologia di studi prendano il nome di ingegneria del software.

Produrre oggi del software è complesso perché:

  • Si è passati da elaborazioni batch a quelle on line;
  • I progetti sono indirizzati ad un più largo mercato più che ad un unico committente;
  • Il software da monoutente è passato a multiutente in ambienti concorrenti.
  • Le soluzioni software sono orientate ad un intera organizzazione più che a settori

Se consideriamo la realizzazione di un edificio prima della realizzazione dello stesso vi è una fase precedente che comprende la realizzazione di modelli, progetti, disegni e calcoli, studio del terreno, vincoli derivanti dall’impatto ambientale o urbanistico, ecc.. ecc..

Solo dopo aver svolto e completato tutte queste attività sulla carta, si procede con il progetto vero e proprio: l’acquisto dei materiali, il coinvolgimento di macchinari, la selezione di personale qualificato nel numero e con le mansioni adatte. La costruzione procede in modo ordinato: prima lo scavo, poi le fondazioni, la struttura, gli interni e così di seguito fino alla consegna al cliente finale.

Un progetto informatico è un processo che porta alla realizzazione di un manufatto informatico secondo le specifiche di un cliente. A questo processo concorrono uomini, oggetti, attività, piani e decisioni.

Durante la gestione del progetto informatico si fa uso di modelli che servono per descrivere il problema.

Un modello, in generale, è utilizzato per la descrizione di un sistema, cioè un insieme di elementi, interconnessi tra loro.

Esempi di modelli sono: una legge della fisica, un plastico che rappresenta un edificio, lo schema di un circuito elettrico, un manichino, la mappa di una città.

Attraverso un modello possiamo:

  • Definire un sistema in modo preciso e sintetico,
  • Ottenere una semplificazione del sistema,
  • Poter prevedere il comportamento del sistema.

Alla attività progettuale prendono parte diversi soggetti:

  • il committente è il soggetto che presenta il problema da risolvere.
  • L‘analista che partendo dalle esigenze del committente le traduce modello.
  • Lo sviluppatore che partendo dal modello e di realizza il prodotto che realizza il un progetto informatico.
  • il coordinatore di progetto è l’attore che individua i tempi, le risorse umane ed economiche, le modalità e i rischi derivanti dalla realizzazione, e interviene con azioni correttive laddove si presentino difficoltà od errori.

Differenza tra top-down e bottom-up

In generale abbiamo modelli che utilizzano due differenti tipi di approccio:

  1. top-down o decomposizione funzionale che consente il passaggio da un problema complesso a problemi di complessità minore, la soluzione dei quali consente di ottenere una soluzione al problema iniziale.
  2. bottom-up o composizione modulare, nel quale, partendo da sottoproblemi di cui è già nota la soluzione, si cerca di comporli in un’unica soluzione complessiva che risolva il problema principale.

I vantaggi dell’approccio top-down sono:

  • Il modello riflette più fedelmente la realtà che si vuole rappresentare.
  • Il modello non presenta le informazioni non richieste o non rilevanti per il raggiungimento dell’obiettivo.

Gli svantaggi dell’approccio top-down sono:

  • Si corre il rischio di realizzare più volte qualcosa che è già stato realizzato in un progetto precedente o che è già disponibile sul mercato.
  • Si può perdere il beneficio derivante dall’uso di una funzionalità, non espressamente richiesta, presente in un modulo già sviluppato per altri progetti, o in un prodotto presente sul mercato.

I vantaggi dell’approccio bottom-up sono:

  • I singoli problemi di minor dettaglio sono già risolti
  • La soluzione finale contiene caratteristiche aggiuntive che possono rivelarsi utili, anche se non espressamente richieste.

Gli svantaggi dell’approccio bottom-up sono:

  • Si deve compiere il lavoro aggiuntivo per integrare tra loro i moduli già sviluppati.
  • Le caratteristiche non richieste, presenti nella soluzione, possono rendere il prodotto finale complesso da utilizzare.

Gestione e ciclo di sviluppo di un progetto informatico

Le fasi di sviluppo del software

La costruzione del software si ottiene tramite l’esecuzione di diverse attività; ognuna raggiunge obiettivi ben precisi. La metodologia di sviluppo del software identifica queste attività e le organizza per ottimizzare il lavoro. Possiamo suddividere la metodologia in sezioni che chiamiamo fasi o passi. Ogni fase è costituita dalle attività da svolgere, dai risultati da raggiungere e dai controlli da eseguire.

Di seguito vengono descritte le diverse fasi della metodologia per lo sviluppo di progetti informatici.

a)  La conoscenza degli obiettivi

Questa fase è anche chiamata analisi preliminare. Per ottenere la conoscenza necessaria è indispensabile poter disporre di esperti della materia ai quali fare l’intervista conoscitiva.

b)   L’analisi

La fase di analisi ha l’obiettivo di determinare e di descrivere dettagliatamente tutte le componenti del progetto. È la fase di maggiore importanza: il risultato di questo lavoro diventa la base e la guida di tutto il progetto.

In un progetto informatico una componente fondamentale è costituita dai dati. L’attività di definizione dei dati consiste nel decidere quali siano le informazioni che necessitano al progetto affinché esso funzioni.

L’altra componente fondamentale di un progetto informatico è costituita dalle funzioni. L’attività di definizione delle funzioni consiste nel decidere quali siano le cose che il sistema dovrà fare. I dati del progetto saranno memorizzati in archivi elettronici, le funzioni del progetto diventeranno i programmi.

La terza componente della fase di analisi è costituita dal flusso dei dati tra le funzioni. Determinare il flusso dei dati tra le funzioni significa abbinare ad ogni funzione quali dati utilizza in input e quali dati produce in output.

c)  La progettazione e la transizione

L’obiettivo della fase di progettazione è definire e descrivere dettagliatamente le caratteristiche del sistema informatico del progetto.

L’obiettivo della fase di transizione è quello di definire le modalità di passaggio dal sistema esistente al sistema del nuovo progetto.

d)   La realizzazione

La fase della realizzazione genera il prodotto del progetto. Dopo lo studio, l’ideazione e la concretizzazione delle scelte di progetto, si arriva alla sua realizzazione. Trattandosi di un progetto informatico il prodotto è costituito da moduli software (chiamati comunemente programmi) e dagli archivi elettronici utilizzati dai programmi stessi.

e)  La documentazione, le prove e la formazione

L’obiettivo della fase di documentazione è fornire a tutti gli utenti del nuovo sistema i documenti da consultare nel corso della loro attività lavorativa (manuale per l’utente).

La finalità specifica della fase di prove o testing è quella di verificare il grado di aderenza del progetto alle necessità indicate dall’utente-committente e di rimuovere eventuali errori presenti nel codice software.

Il risultato finale delle prove consiste nella certificazione del progetto: significa che l’utente ha trovato soddisfazione nel sistema di prove e questa situazione permette il passaggio alla fase successiva di produzione.

Gestione e ciclo di sviluppo di un progetto informatico in azienda

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *