Automated Function Point: Una Svolta nel Dimensionamento Software

giu 28, 2024 | Vendor Management Automated Function Point: Una Svolta nel Dimensionamento Software

Costruire un processo automatico di controllo su CAST Imaging per l’utilizzo dello standard ISO 19515:2019 AFP

L'implementazione di controlli automatici nelle piattaforme software richiede quasi sempre la scrittura di software specifico, con un impegno economico significativo. Il calcolo automatico dei Function Point (Automated Function Point), divenuto standard ISO nel 2019 (ISO 19515) e implementato in CAST Imaging, offre potenti funzionalità “nascoste”. Queste funzionalità, per lo più funzioni REST/API, permettono di automatizzare attività di processo creando vere e proprie “pipeline” in cui tali funzionalità sono utilizzate in modo coordinato.

Per gestire in tempo reale una pipeline di processo, si può usare un server di automazione come Jenkins, con i plugin necessari per gestire le chiamate REST/API e visualizzare graficamente i task in esecuzione. Nella pipeline possiamo inserire i controlli di configurazione per il conteggio degli AFP (Automated Function Point). In figura 1 è rappresentata una semplice pipeline con alcuni task, tra cui il task “Check Config AFP” evidenziato in blu.

Pipeline_ Jenkins_ con_task _Check_ Config_AFP

Il task “Check Config AFP”, come gli altri task di Jenkins, è completamente personalizzabile. Esistono molti plugin Jenkins che consentono di visualizzare graficamente i task di una pipeline e il loro stato di esecuzione (vedi figura 2).

Controllo_grafico_di_esecuzione

Se un task di configurazione dovesse fallire, come quello di configurazione degli AFP in figura 1, il server di automazione invierebbe un messaggio tramite email (o altro strumento configurato) al responsabile di linea, permettendo una risoluzione immediata. Questo approccio allo sviluppo di pipeline automatizzate si basa sui concetti implementati nei tool di Business Process Management (BPM) e può essere utilizzato installando plugin Jenkins disponibili. La piattaforma CAST Imaging dispone di un vasto portafoglio di funzioni REST/API utilizzabili come chiamate all'interno dei task. Vediamo come:

Tramite lo standard OAS 2.0/3.0 (Open API Specification), che crea un'interfaccia RESTful per sviluppare e utilizzare facilmente API, CAST MRI (AIP Console) espone molte funzioni richiamabili tramite Swagger. Tra queste ci sono anche quelle per la configurazione, calibrazione e controllo degli AFP e degli Enhancements di un'applicazione (vedi figura 3).

Configurazione_calibrazione_controllo_AFP

Un elenco delle funzioni REST/API della sezione Function Point (non esaustivo per motivi di spazio) è mostrato in figura 4

Elenco_funzioni_REST_API_ Function_Points

Utilizzando operazioni di GET/POST/PUT, si può, ad esempio, richiedere la lista delle Data Function conteggiate, la lista delle Transazioni calcolate o effettuare operazioni di configurazione come:

  • Aggiornare il valore dell'impostazione di calcolo dei punti funzione di una determinata applicazione
  • Creare nuove regole di configurazione e validarle, restituendo eventuali errori trovati
  • Eseguire un'azione di calibrazione sulle funzioni dati (Data Functions)
  • Aggiornare un'espressione regolare che escludeva una tabella esistente utilizzando una nuova precondizione
  • Aggiornare un prefisso di tabella esistente escluso dall'analisi PK/FK
  • Eseguire azioni di calibrazione sulle funzioni transazionali
  • … e molte altre funzionalità di controllo.

Queste informazioni sono restituite tramite la notazione JSON, universalmente riconosciuta e utilizzata per l'interscambio dati, quindi pienamente fruibile nei task di Jenkins. Ad esempio, come illustrato nel “flow” di figura 5, potremmo sviluppare controlli nel flusso di controllo “Check Config AFP”. In caso di errore nel task “azione di calibrazione sulle funzioni dati” per una tabella non presente nell'applicazione oggetto di conteggio automatico degli AFP, il responsabile di linea verrebbe immediatamente informato per intervenire.

Controlli_REST_API_CAST_ Pipeline_Jenkins

Le funzioni native di un server di automazione ci consentono dunque di progettare sistemi complessi di calcolo automatico, riducendo l'onere dei controlli manuali nelle verifiche di conformità delle configurazioni.