Metodologie di progettazione e sviluppo del software

La metodologia di sviluppo del software adottata è formalizzata nel Ciclo di Vita dei Prodotti Standard, procedura facente parte del Sistema di Qualità Aziendale certificato ISO 9001, e conforme alle normative vigenti, generali (IEEE 730.1) e di specifici settori (CEI EN 50128), sulla produzione del software. Tale metodologia è allo stesso tempo formale ed agile. È formale e si ispira alla metodologia RUP per la realizzazione dei documenti indispensabili per le relazioni tra i team di progettazione e sviluppo e gli altri team di progetto, mentre si ispira alle metodologie agili (prevalentemente SCRUM) internamente per la progettazione, la codifica e il test di unità del software.

Il software è realizzato secondo un ciclo di vita di tipo iterativo ed incrementale con cicli successivi di progettazione, sviluppo e test di unità, test di sistema e rilascio. L’analisi dei requisiti del software viene formalizzata attraverso il linguaggio UML; la progettazione del software avviene mediante lo stesso linguaggio, utilizzando appositi strumenti per la generazione e il reverse engineering del codice.

Gli ambienti di sviluppo utilizzati sono del tipo IDE (Integrated Development Environment), utili al mantenimento dell’allineamento tra gli elaborati di progettazione e quelli di implementazione. Il software sviluppato da Project Automation è prevalentemente Orientato agli Oggetti, a tutti i livelli logici (dal Livello Presentation al Livello Business), utilizzando linguaggi di programmazione standard quali Java, C++ e .net. Le architetture di riferimento sono diverse a seconda degli obiettivi funzionali dei sistemi sviluppati, dell’ambito di esercizio e della tipologia di utilizzo che il sistema dovrà supportare: dalle  architetture Client/Server per i sistemi di monitoraggio real time, recentemente affiancate in ambito Web da tecnologie quali Rich Internet Application (RIA) e Event Driven Architecture (EDA), alle architetture Service Oriented Architecture (SOA) per l’integrazione di sistemi, sviluppando librerie di servizi orchestrate da strumenti Business Process Management (BPM) e Business Rules Management System (BRMS), integrate attraverso i più comuni Enterprise Service Bus (ESB).

Le logiche di sviluppo si rifanno alle ben note best practices in quest’ambito: modularità, scalabilità, apertura, disaccoppiamento, riuso e portabilità. Gli strumenti in uso agli sviluppatori supportano le fasi di codifica e test di unità, altri strumenti permettono di salvaguardare l’integrità del codice prodotto anche in caso di progetti di sviluppo complessi con team numerosi e distribuiti.

Il test di sistema viene gestito da team di test, distinti dai team di sviluppo, ma facenti parte del progetto, fin dalle prime fasi software del ciclo di vita. Su tutti i sistemi realizzati vengono eseguiti test di tipo funzionale, di sistema, di durata, di prestazioni e di regressione, ove possibile su installazioni pilota. Un sistema di bug tracking permette di tracciare e documentare ciascuna non conformità rilevata, permettendo ottimi livelli di sinergia tra i team di sviluppo e i team di test.

Le fasi di gestione della configurazione concludono il Ciclo di Vita, garantendo, attraverso strumenti di versioning, la formalizzazione delle richieste di variazione, della gestione delle non conformità e in generale della manutenzione del software. Attraverso la partecipazione ad associazioni quali Agile Movement e IFPUG-GUFPI/ISMA, il reparto esercita la funzione di osservatore tecnologico al fine di garantire l’innovazione dei processi di sviluppo di Project Automation, sia dal punto di vista tecnologico che metodologico.

Contatti

Project Automation S.p.A.
Viale Elvezia, 42
20900 Monza (MB)
Tel.: 039 2806.1
E-mail: info@p-a.it

Info

Cap. Soc. € 6.000.000 i.v.
P.IVA 02930110966
C.F. e n. Iscriz. 03483920173
del Reg. Impr. Monza e Brianza
REA n° 1604390