Lo sviluppo del progetto informatico Il progetto Il controllo di qualità Le qualità per i prodotti di software Le figure professionali La metodologia La conoscenza degli obiettivi L’analisi La progettazione La transizione La realizzazione La documentazione Le prove L’esercizio Il progetto Lo sviluppo di un progetto è un sistema complesso di attività tese a ottenere un risultato che chiamano prodotto. In un progetto compaiono: (Studia l’area di competenza del progetto per conoscere approfonditamente la materia) (Crea l’estrazione del prodotto e ne definisce le caratteristiche) (Consolida l’astrazione del prodotto formalizzandolo tramite disegni modelli e prototipi) (Crea realmente i primi esemplari del prodotto) (Termina il progetto e inizia la produzione) Anche nel campo informatico ci troviamo in presenza di progetti. Il prodotto di un progetto informatico è l’insieme dei moduli software (programmi) e degli archivi (dati) idoneo a soddisfare gli obiettivi definiti. Nello sviluppo di progetti informatici si vogliono ottenere dei risultati di qualità. Il controllo di qualità Si basa sul concetto di definire e di misurare le caratteristiche del prodotto. Per fare questo è necessario determinare quali sono le caratteristiche importanti che andranno valutate (capacità); a loro volta esse saranno scomposte in caratteristiche di dettaglio (proprietà), le quali saranno oggetto di misurazione. Il procedimento per il controllo della qualità comprende i seguenti aspetti: Si misurano le caratteristiche del prodotto e si confrontano con i valori della qualità L’obiettivo è quello di verificare la corrispondenza di un prodotto alle caratteristiche che si vorrebbe esso avesse Si determinano le qualità e le relative caratteristiche al dettaglio Per ogni caratteristica di dettaglio si identifica l’unità di misura che consente di eseguire la misurazione Si definiscono i valori della qualità Il procedimento che abbiamo appena visto si chiama controllo di qualità di prodotto, per evitare che si misuri solamente il prodotto finale viene introdotto il controllo di qualità di processo che controlla anche le fasi di produzione. La qualità per i prodotti software Per applicare il controllo di qualità di prodotto nei progetti informatici si parte con la scelta delle caratteristiche da misurare. Le caratteristiche principali sono: (le procedure software coincidono con i requisiti prefissati e non ci sono attività ripetitive o inutili) (i programmi gestiscono anche le situazioni particolari, cioè non si bloccano per motivi banali) (l’utilizzo è semplice per gli utenti) (le elaborazioni sono veloci e occupano poche risorse) (la documentazione è adeguata e consente di intervenire con modifiche ai programmi) (è possibile trasferire il software su altre piattaforme hardware) Le figure professionali La metodologia deve indicare quali figure devono operare in ogni attività Il capo progetto Il progettista L’esperto dei dati L’esperto dei sistemi informatici L’utente Il committente L’ispettore Il rapporto, o ruolo, che ogni figura professionale ha con le attività può essere di quattro tipi: Garantire che il lavoro sia svolto secondo la pianificazione Contribuire alle attività di sviluppo del progetto Verificare il rispetto della metodologia Accettare o rivedere le scelte e i risultati ottenuti La metodologia In informatica la base del controllo di qualità di processo è l’insieme delle attività e delle loro relazioni rappresentate in un modello chiamato ciclo di vita del software che, di fatto, definisce una metodologia. Suddividiamolo in sezioni che chiamiamo fasi o passi. Conoscenza degli obiettivi Analisi Progettazione Transizione Realizzazione Documentazione Testing Esercizio Formazione La conoscenza degli obiettivi La prima fase del processo di sviluppo, detta analisi dei requisiti riguarda la conoscenza degli obiettivi. Conoscere ciò che si dovrà sviluppare è il fattore di successo indispensabile per operare nella giusta direzione. Sicurezza per la protezione dei dati da accessi non autorizzati Riservatezza per la protezione dei dati sensibili Il risultato di questa prima fase è: L a documentazione del progetto L’ipotesi di prodotto L’analisi La fase di analisi, o di progettazione architetturale, ha l’obiettivo di determinare e di descrivere tutte le componenti del progetto ed è la fase di maggiore importanza. Questa fase del processo di sviluppo tratta la definizione di tre aspetti fondamentali: Dati Il flusso dei dati Le informazioni che caratterizzano il progetto. La documentazione dei dati prevede che ogni tipologia di dato abbia un nome e una descrizione. Inoltre si definiscono le caratteristiche quali il formato, la dimensione, l’obbligatorietà. Funzioni Le funzionalità richiesta al progetto. L’attività di determinazione delle funzioni consiste nel decidere quali siano le cose che il sistema deve fare. Le modalità di acquisizione e di uscita dei dati (input e output) rispetto alle funzioni. Nella fase di analisi del problema si fa ricorso a schemi e disegni per illustrare i dati, gli archivi e le procedure che vengono utilizzati per risolvere il problema, attraverso l’immediatezza e l’efficienza dei simboli grafici. La progettazione L’obiettivo della fase di progettazione è definire e descrivere dettagliatamente le caratteristiche del sistema informatico del progetto. I risultati principali di questa fase sono: Le specifiche per la creazione degli archivi elettronici Le specifiche per lo sviluppo dei moduli software del progetto La fase di progettazione utilizza la documentazione dettagliata ottenuta nella fase di analisi e tiene sempre in evidenza le decisioni relative a: Livello di servizio richiesto; Grado di automazione previsto; Ambiente informatico nel quale si deve integrare. I prodotti di questa fase sono sei e tutti molto importanti: La transizione L’obiettivo della fase di transizione è quello di definire le modalità di passaggio dal sistema esistente al sistema del nuovo progetto. Questo significa progettare le attività, le regole, i tempi e i metodi propedeutici all’attivazione del nuovo sistema. La fase di transizione utilizza la documentazione dettagliata ottenuta nella fase di analisi per definire tutti gli aspetti necessari alla conversione dal sistema esistente al sistema del progetto. Vediamo le singole attività da eseguire: Significa pianificare le attività necessarie per la partenza del nuovo progetto: pianificare vuol dire definire la sequenza delle attività di attivazione del progetto da svolgere per la loro esecuzione nei tempi indicati. Le specifiche da produrre consentono di generare i dati di partenza del nuovo progetto, cioè di guidare l’impianto dei dati che popoleranno gli archivi elettronici al momento della loro attivazione. Un ottimo progetto può fallire se non viene messo in grado di funzionare al momento in cui sostituirà il precedente. Determina le necessità di formazione degli utenti del sistema. Nel caso di progetti complessi è opportuno organizzare corsi di formazione; per progetti semplici può essere sufficiente l’illustrazione del progetto e la pubblicazione di un manuale che indichi come eseguire le funzioni del progetto. Si produce il piano globale di installazione; questo significa allargare la visuale per vedere al di là delle componenti informatiche specifiche del progetto. Si elabora l’insieme degli specifici piani per verificarne le compatibilità e i vincoli, producendo un piano globale da divulgare a tutti i ruoli previsti nella metodologia. La realizzazione La fase della realizzazione genera il prodotto del progetto. Trattandosi di un progetto informatico il prodotto è costituito da moduli software e dagli archivi utilizzati dai programmi stessi. I programmi sviluppati e i moduli devono essere provati, già in questa fase, per garantire la qualità del software. Gli obiettivi delle prove sono: Verificare la logica del programma rispetto alle specifiche; Verificare la correttezza e la completezza degli archivi di output Verificare le prestazioni del programma in termini di tempi di elaborazione La documentazione Le fasi di documentazione, prove e formazione, pur avendo ognuna obiettivi specifici, hanno in comune la caratteristica di essere a corredo del progetto per ottimizzare l’ambiente in cui operare. Queste tre fasi della metodologia possono essere svolte in contemporanea tra loro, in quanto ciascuna non utilizza i risultati dell’altra. L’obiettivo della fase di documentazione è fornire a tutti gli utenti del nuovo sistema il materiale documentativo da consultare nel corso della loro attività lavorativa. Il prodotto della documentazione è composto dal manuale per l’utente, in aggiunta al manuale elettronico in linea che fornisce il significato dei campi previsti nell’interfaccia utilizzando le definizioni registrate nella fase di analisi. Un altro importante manuale è il manuale operativo, che serve a spiegare come funziona il sistema del progetto. Le prove La finalità specifica di questa fase, detta anche 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. In altre parole la prova dimostra all’utente come sarà soddisfatta la sua richiesta di supporto informatico nello svolgimento dell’attività lavorativa. Per raggiungere questo obiettivo occorre creare un ambiente, detto sistema di prova, che simuli, il più precisamente possibile, la situazione effettivamente in essere al momento dell’attivazione del progetto. Il sistema di prova è un sistema isolato; l’utilizzo del sistema di prova non deve, in nessun caso, degradare il sistema di produzione. Predisposto l’ambiente di prova, inizia la vera attività di test. 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. La formazione Obiettivo della fase di formazione è quello di mettere in condizione tutti gli utenti del nuovo sistema di operare conoscendo le caratteristiche del progetto. È un attività preparatoria che porta agli utenti alla conoscenza delle caratteristiche del sistema. Il prodotto di questa fase è l’erogazione di corsi di formazione rivolti agli utenti del sistema. La prima attività da svolgere è quella di determinare gli argomenti da illustrare nel corso. La seconda attività prevede la programmazione dei corsi con date, docenti e partecipanti. La fase si completa con la vera attività di formazione, cioè con l’erogazione dei corsi agli utenti. L’esercizio L’ultima fase prevista dalla metodologia è l’esercizio o produzione, che si può anche chiamare rilascio del progetto. L’obiettivo di questa fase è attivare il progetto presso gli utenti, controllare che i processi elaborativi producano i risultati attesi e verificare globalmente il sistema. La prima attività da svolgere è quella di pianificare l’installazione del progetto. Questo significa decidere la data in cui rilasciare in produzione il progetto. Definita tale data, si completa il piano di installazione, in pratica indicando le date di inizio e di fine dell’esecuzione. Terminata l’esecuzione delle attività previste dalla transizione, il sistema è operante, cioè il progetto è rilasciato in esercizio. Viene in questo modo avviata la produzione e teoricamente è terminato il compito di sviluppo del progetto informatico.