Background Image
Table of Contents Table of Contents
Previous Page  71 / 84 Next Page
Information
Show Menu
Previous Page 71 / 84 Next Page
Page Background

71

CODE REUSE |

software

EMBEDDED

56 • maggio • 2015

te messe a punto molteplici tecniche per risolvere

i problemi di riusabilità del codice, ma spesso la

carenza di una armonica fusione tra esse non ha

permesso di raggiungere gli obiettivi desiderati.

Sul versante non tecnico, per abbracciare con effi-

cacia le iniziative di riuso, talvolta l’organizzazio-

ne deve prima rivedere dall’alto, dai vertici, le pro-

prie policy interne sul tema. In altri casi, invece,

gli obiettivi di efficienza da perseguire attraverso

le politiche di riuso possono non essere percepiti e

condivisi dai dipendenti, ad esempio dai team di

sviluppatori, che temono che la pratica di riuso del

codice, e un certo livello di standardizzazione nel

processo di sviluppo del software, possano compro-

mettere il valore della loro specifica professionali-

tà e capacità di progettazione.

Requisiti di design nell’era del Web degli oggett

i

Il riuso del codice quindi torna d’attualità oggi,

spronato dalla prorompente diffusione della IoT e

delle sue applicazioni. E la ragione forse più evi-

dente è che la crescente miriade di oggetti e dispo-

sitivi elettronici più o meno intelligenti connessi

alla rete sta trasformando i tradizionali requisiti

dello sviluppo software. Ora più che mai diventa

indispensabile che tali oggetti siano in grado di

interoperare e comunicare fra loro in modo fluido,

affinché sia realmente possibile convertire le enor-

mi moli di dati (Big Data) che raccolgono e produ-

cono in informazioni efficacemente utilizzabili per

migliorare le decisioni aziendali e la conduzione

del business.

Le tecnologie di sviluppo devono privilegiare cri-

teri come la rapidità di progettazione del codice,

la minimizzazione del time-to-market e l’ottimiz-

zazione del ROI (return on investment). Di conse-

guenza, come indicano alcune analisi di mercato, i

team di progettazione tendono a migrare da certe

tecnologie e processi di programmazione proprie-

tari consolidati per indirizzarsi verso strumenti

object-oriented e metodologie di sviluppo più mo-

derne e dinamiche. Nei progetti IoT uno stesso

software deve essere riutilizzabile e ingegneriz-

zabile per funzionare su piattaforme con differen-

ti caratteristiche hardware, da quelle potenti, a

quelle più limitate. In quest’ottica, ad esempio, il

linguaggio Java, e in particolare Java Embedded,

si posiziona nel settore come un buon candidato

fra gli strumenti di programmazione che consen-

tono di creare codice velocemente riutilizzabile, in

grado, una volta scritto, di funzionare con diversi

sistemi operativi, ambienti, applicazioni e piatta-

forme di computing. Dunque adatto a sviluppa-

re interoperabilità. In aggiunta, Java consente

nella programmazione di suddividere il codice in

componenti e moduli riutilizzabili, ed ha un ricco

insieme di librerie standard e caratteristiche che

ne facilitano la portabilità, rispetto ad esempio a

dover fare il porting di programmi scritti con lin-

guaggi come C, o C++.

Esigenze e scelte degli ingegneri

Negli attuali ambienti di progettazione embed-

ded, il riuso del codice si conferma una metodolo-

gia stabile. Il livello di riutilizzo del software nelle

organizzazioni risulta elevato e la previsione è che

continui a mantenersi tale. Questo è il dato chia-

ve emergente dal 2014 Embedded Market Study,

che disegna uno scenario aggiornato del settore a

livello globale. L’indagine, condotta da

UBM Tech

in collaborazione con la società di ricerche

Wilson Research Group

, ha analizzato attraverso un son-

daggio web-based online tutti gli aspetti essenzia-

li del processo di sviluppo embedded: dai tipi di

tecnologie e tool utilizzati, alle applicazioni, agli

ambienti di lavoro, ai metodi e processi, ai siste-

mi operativi adottati, all’emergere del trend IoT.

I risultati del sondaggio mondiale traguardano un

periodo che va dai tre ai cinque anni, e sono stati

elaborati sulla base delle opinioni di 2.258 rispon-

denti. Di questi, il 55,2% sono residenti negli Stati

Uniti e in Canada; il 22,8% in Europa, il 14% in

Asia, il 3,8% in America Latina, il 2,2% in Africa

e Near East, e il 2% in Australia. Le organizzazio-

ni considerate comprendono realtà multinaziona-

li che vanno da aziende con meno di 100 addetti,

a imprese con oltre 20mila impiegati. A livello di

funzioni ricoperte in azienda, solo per citare i nu-

meri più rilevanti, il 57,8% dei rispondenti opera

nell’area dell’integrazione hardware/software; il

57,1% nella scrittura di firmware/software per

sistemi embedded; il 56,7% svolge funzioni di de-

bugging di firmware/software. Un 42,6% si occupa

di project management, mentre il 38,1% è addetto

al testing di firmware/software. Il 27,1 ha funzioni

di co-design hardware/software, e il 18,9% opera