Embedded_52 - page 64

EMBEDDED
52 • MAGGIO • 2014
64
SOFTWARE
QUALITY
ggi, la continua espansione del contenuto sof-
tware e del numero di linee di codice in dispo-
sitivi e applicazioni embedded si può vedere
come il risultato dall’azione combinata di due
fattori chiave. Da un lato la potenza computa-
zionale dei sistemi elettronici, in continuo aumento e dall’al-
tro l’esigenza dei costruttori di dispositivi, e degli ingegneri
sviluppatori, di integrare nei vari prodotti un numero sempre
più elevato di funzionalità, capacità grafiche e opzioni di con-
nettività. Di conseguenza, in questo scenario tecnologico per
gli sviluppatori scrivere codice e software di qualità diventa
un compito sempre più complesso è difficile, anche conside-
rando gli attuali vincoli di time-to-market, che impongono la
pianificazione di strategie di design con cicli di progettazione
via via più compressi, ma anche sempre più ‘tracciabili’ in
ogni fase di sviluppo. Accorgersi di un bug e scoprire i difetti
di progettazione del software troppo avanti nel ciclo di pro-
duzione determina infatti un costo ormai per tutti proibitivo,
sia in termini di impatto sui tempi di rilascio nel mercato, sia
di danni economici e caduta d’immagine, in caso di ritiro del
prodotto stesso.
Ci sono però altri aspetti che oggi rendono ulteriormente com-
plicata la produzione di codice di qualità. In molti ambienti di
lavoro e settori dedicati alla creazione del software embedded,
è una pratica comune l’utilizzo di linguaggi di programmazio-
ne caratterizzati da una struttura semantica ricca e comples-
sa, come C o C++. Inoltre, la necessità di realizzare sistemi
sempre più sofisticati porta a un uso ancora più esteso anche
di altri linguaggi ad alto livello (alto livello di astrazione)
orientati agli oggetti, come Java o Python. Si adottano spesso
ambienti IDE (integrated development environment) basati
sulla piattaforma Eclipse, per integrare i vari tool e strumenti
che entrano a far parte di ciclo di produzione (tool di simula-
zione, compiler, debugger e così via). In aggiunta, la crescente
consapevolezza negli ambienti di produzione dell’importanza
di accelerare l’adozione di procedure di co-design hardware
e software fa sì che, nel mondo embedded, i processi di
interazione e collaborazione fra i vari reparti di sviluppo e gli
attori della supply chain (costruttori e fornitori di componenti)
risultino tendenzialmente più intensi e complessi rispetto a
quelli del mondo IT tradizionale e del software concepito per
sistemi desktop.
Standard ISO/IEC 9126
La qualità del software è un principio irrinunciabile soprat-
tutto nei sistemi embedded, dove i requisiti da soddisfare
nelle diverse applicazioni vanno dalla elevata affidabilità di
funzionamento, ad esempio in condizioni safety-critical, alla
capacità di fornire performance di tipo deterministico (funzio-
namento di sistemi real-time). Di conseguenza, nei differenti
domini embedded si sono consolidate pratiche di produzione
del codice, mirate a mantenere comunque elevata la qualità.
O
Software embedded,
le linee guida per
un codice di qualità
Complessità dei sistemi embedded, peso crescente della componente software e costante pressione di
time-to-market sugli sviluppatori minano sempre più una buona attività di progettazione. La prima parte
di questa mini-guida fornisce un’immagine dell’attuale scenario, fornendo poi alcune indicazioni utili a
conservare la qualità del codice
I parte
Giorgio Fusari
1...,54,55,56,57,58,59,60,61,62,63 65,66,67,68,69,70,71,72,73,74,...86
Powered by FlippingBook