I nostri progetti mostrano meglio di ogni altra cosa come lavoriamo. Qui trova una selezione di casi di studio dai settori software house, sensoristica, costruzione di macchine, CAD e BIM, tecnica di laboratorio e di misura e ricerca – ciascuno con situazione iniziale, approccio, soluzione e risultato. Mostrano come chiariamo i requisiti, rendiamo visibili i rischi fin dall'inizio e forniamo software che regge alla prova dell'uso quotidiano dei nostri clienti. I nomi dei nostri clienti li citiamo solo se sono pubblici.

Subentrati quando il team di sviluppo è venuto a mancare
Settore: software · Cliente: azienda di software
Situazione iniziale: In un'azienda di software era venuto a mancare l'intero team di sviluppo. I clienti dell'azienda continuavano ad aspettarsi assistenza, correzioni degli errori e nuove funzioni.
Sfida: Documentazione e commenti nel codice sorgente erano quasi inesistenti, e in azienda non c'era più il know-how sulla struttura e sulle relazioni interne del software.
Approccio:
- Subentrare a breve termine: Siamo subentrati e ci siamo fatti carico dell'assistenza continuativa del software.
- Analizzare e familiarizzare: Abbiamo esaminato codice e strutture dati, ricostruito le relazioni e documentato il know-how.
- Proseguire senza interruzioni: Parallelamente abbiamo assistito i clienti, corretto gli errori e continuato a sviluppare il software – senza interruzioni per gli utenti.
Risultato: Tutti i clienti hanno potuto continuare a essere assistiti, e il software ha continuato a crescere. Per il titolare ne è valsa la pena: alla successiva vendita della sua azienda a un produttore più grande, il software curato e ulteriormente sviluppato ha contribuito a un netto aumento di valore.
Servizi: analisi del software, presa in carico senza documentazione, supporto, manutenzione e sviluppo ulteriore

Calibrazione di scanner laser a specchio poligonale: 3 passaggi invece di 5
Settore: sensoristica · Cliente: grande produttore internazionale di sensori
Situazione iniziale: Un fornitore esterno aveva interrotto il lavoro sul software di calibrazione per scanner laser con specchio poligonale rotante. Dovevamo subentrare noi.
Sfida: Il codice sorgente era difficilmente leggibile e in parte offuscato. La calibrazione consisteva in cinque passaggi che installatori di sistema, integratori e il supporto devono eseguire in tutto il mondo a ogni installazione.
Approccio:
- Analisi: Abbiamo esaminato passo dopo passo il codice esistente.
- Modello UML: Abbiamo rappresentato la struttura statica e i processi dinamici come architettura UML. È emerso subito che diversi passaggi di calibrazione si sovrapponevano.
- Nuova messa a punto matematica: Abbiamo coordinato meglio i passaggi dal punto di vista del calcolo ed eliminato completamente quelli superflui.
Risultato: La calibrazione richiede ormai solo 3 passaggi invece di 5. Poiché viene eseguita in tutto il mondo in moltissime installazioni, questo fa risparmiare diverse migliaia di ore di lavoro all'anno – presso il cliente, i suoi integratori e nel supporto.
Servizi: analisi del codice, UML (modelli statici e dinamici), matematica della calibrazione, sviluppo ulteriore

Sistema CAD proprietario: da 12,5 a 15 volte più veloce
Settore: CAD / progettazione · Cliente: azienda con un proprio sistema CAD e un proprio reparto software
Situazione iniziale: Il cliente aveva costruito da sé il proprio sistema CAD e lo aveva ampliato negli anni con moltissime funzioni. Con i progetti più grandi si attendevano ormai diversi minuti per una reazione – il sistema era praticamente bloccato.
Sfida: L'obiettivo del cliente: raddoppiare la velocità. Già solo questo per lui valeva una somma a cinque cifre nella fascia alta.
Approccio:
- Analisi e documento di concetto: Abbiamo esaminato il software e raccolto i punti di intervento in un documento di concetto. Arrivati a quasi 50 punti abbiamo smesso di contare.
- Primi punti realizzati da noi: Abbiamo attuato direttamente le misure più efficaci.
- Il team del cliente reso autonomo: In diverse riunioni abbiamo guidato il reparto software del cliente nell'attuazione autonoma degli altri punti.
- Calcolo in background: I calcoli onerosi ora vengono eseguiti in background, così per l'utente non ci sono più tempi di attesa.
Risultato: Invece del raddoppio sperato, oggi il sistema è da 12,5 a 15 volte più veloce (misurato sugli stati intermedi). Il programma è di nuovo fluido da usare, e dove i calcoli avvengono in background l'utente non percepisce più alcun ritardo.
Servizi: analisi delle prestazioni, documento di concetto, realizzazione, affiancamento del team del cliente, calcolo in background

Emergenza ad agosto: programma di fatturazione salvato in un fine settimana
Settore: amministrazione e contabilità · Cliente: cliente di lunga data con un proprio programma di fatturazione
Situazione iniziale: Per questo cliente avevamo sviluppato, tra l'altro, la fatturazione elettronica e la rappresentazione grafica dei suoi dati aziendali. Poi è arrivato un aggiornamento di sicurezza di Windows – e da quel momento il programma di fatturazione non funzionava più.
Sfida: Senza programma, niente fatture. Il cliente era in seria difficoltà, ed era agosto: periodo di ferie, con il team già ridotto.
Approccio:
- Reazione immediata: Abbiamo richiamato subito e messo insieme un team.
- Lavoro per tutto il fine settimana: Nonostante il periodo di ferie, nel fine settimana abbiamo sviluppato e testato una soluzione.
- Installata il lunedì: L'attività è proseguita senza intoppi, il cliente ha potuto di nuovo emettere fatture.
- Analisi a posteriori e miglioramenti: Insieme abbiamo discusso l'accaduto e reso il sistema più robusto con ulteriori adattamenti.
Risultato: Nessuna giornata di lavoro persa, nessun incasso rimasto in sospeso. Da allora da questo cliente sentiamo soprattutto una cosa: niente. A quanto pare è completamente impegnato a scrivere fatture.
Servizi: supporto d'emergenza, analisi degli errori dopo un aggiornamento di Windows, intervento nel fine settimana, interventi correttivi

Termocamere: trovare i volti – su hardware limitato
Settore: tecnologia delle telecamere / sensoristica · Cliente: produttore di termocamere a infrarossi
Situazione iniziale: Il produttore voleva misurare con le sue termocamere la temperatura corporea delle persone. Per farlo, la telecamera deve prima riconoscere dove si trovano i volti nell'immagine – si tratta della posizione dei volti, non dell'identità delle persone.
Sfida: In capannoni e spazi aperti molte altre fonti di calore, ad esempio le lampade, disturbano il riconoscimento. Inoltre il software gira su un sistema embedded con una potenza di calcolo molto limitata – lì i metodi di IA ad alta intensità di calcolo non erano un'opzione.
Approccio:
- Metodi verificati: Abbiamo esaminato diversi algoritmi e reti neurali in termini di velocità e qualità del riconoscimento.
- Sviluppati metodi propri e snelli: Distinguono in modo affidabile i volti da lampade e altre fonti di calore e funzionano in tempo reale sull'hardware embedded.
- Consegna: Il cliente ha ricevuto la soluzione con un'ampia documentazione e il codice per lo sviluppo ulteriore.
Risultato: La soluzione era pronta circa nove mesi prima dell'inizio della pandemia di coronavirus. Quando in tutto il mondo era richiesta la misurazione della febbre, il nostro cliente era pronto: le sue telecamere sono state impiegate in aeroporti, ospedali e molte altre strutture in tutto il mondo, e la domanda gli ha portato un netto aumento del fatturato.
Servizi: elaborazione delle immagini, sviluppo di algoritmi per sistemi embedded, analisi di metodi, documentazione e consegna

Software di controllo per una macchina di produzione
Settore: costruzione di macchine · Cliente: costruttore di macchine leader a livello internazionale · Durata: circa un anno · Team: sei sviluppatori esperti
Situazione iniziale: Una macchina di produzione complessa trasporta i prodotti, tramite un'unità di trasporto, attraverso diversi moduli. Questi lavorano, marcano e controllano i prodotti con la massima precisione. Sono coinvolti laser, scanner, telecamere, stampanti di etichette e unità di programmazione dei chip – ciascun dispositivo con una propria interfaccia e un proprio comportamento temporale.
Sfida: A seconda del tipo di prodotto e della velocità di produzione, ogni modulo deve eseguire funzioni, controlli e sequenze diversi – in modo affidabile e in tempo reale, senza rallentare il ciclo della macchina.
Soluzione: Abbiamo sviluppato un software modulare in tempo reale che gira su uno speciale sistema operativo in tempo reale:
- Ogni dispositivo dispone di un proprio modulo software che si adatta al tipo di prodotto e alla velocità.
- La comunicazione avviene tramite PLC (Beckhoff TwinCAT), TCP/IP e OPC UA.
- Un modulo di controllo centrale coordina tutti i processi e garantisce la perfetta interazione dei componenti.
- Un database collegato gestisce la configurazione e i dati di produzione.
- Un'interfaccia chiara sul terminale centrale mostra lo stato di ogni prodotto, eventuali errori e tutte le impostazioni.
Approccio: Ci siamo occupati dell'intero processo di sviluppo – dalla gestione dei requisiti e dall'architettura software, passando per la realizzazione e la messa in servizio, fino ai test e alla garanzia della qualità. Il lavoro si è svolto in modo agile con Scrum, il coordinamento tramite Jira e Confluence.
Risultato: Un processo di produzione stabile e monitorato senza interruzioni. L'operatore ha sempre una visione d'insieme, e l'architettura modulare con un modulo software dedicato per ogni dispositivo mantiene il sistema chiaro ed estendibile.
Tecnologia: C#, C++, WPF, PLC (Beckhoff TwinCAT), OPC UA, TCP/IP, database, Azure DevOps, Jira, Confluence, Scrum
Maggiori informazioni sul progetto

Modernizzazione di un applicativo AutoCAD per l'ingegneria civile
Settore: CAD / ingegneria civile · Cliente: grande azienda di software (fornitore CAD)
Situazione iniziale: Un applicativo per AutoCAD e AutoCAD Civil cresciuto nell'arco di oltre dodici anni, con diverse centinaia di migliaia di righe di codice in C++, COM, MFC e ObjectARX. Ogni nuova versione di AutoCAD comportava elevati costi di migrazione.
Sfida: Un porting di queste dimensioni è un investimento. Il cliente aveva bisogno di una solida base decisionale prima di approvarlo.
Approccio:
- Studio di fattibilità: Abbiamo analizzato architettura e codice e pianificato il passaggio all'AutoCAD .NET API.
- Analisi di redditività: Ha mostrato come si sviluppa negli anni l'impegno con C++ e da quando il porting in un linguaggio moderno diventa conveniente.
- Porting: L'interfaccia utente con menu principale e contestuale, barra multifunzione, finestra delle proprietà, comandi e dialoghi, così come il nucleo CAD con entità, reattori e Xdata – in C# e nell'AutoCAD .NET API, eseguibile anche in BricsCAD.
- Formazione: In un corso di formazione di tre giorni abbiamo preparato il team di sviluppo del cliente all'AutoCAD .NET API con C#. In precedenza avevamo già formato il team in ObjectARX e C++.
Risultato: Già durante il porting il codice è diventato notevolmente più breve e semplice. Il team di sviluppo del cliente è pronto per l'ulteriore sviluppo in C# e nell'AutoCAD .NET API, e l'applicativo funziona anche in BricsCAD.
Tecnologia: AutoCAD, AutoCAD Civil, BricsCAD, ObjectARX, AutoCAD .NET API, C#, C++, MFC, COM, UML
Maggiori informazioni sul progetto

Add-in Revit per l'esportazione dei dati di progetto dei laboratori
Settore: tecnica di laboratorio / BIM · Cliente: fornitore leader mondiale di tecnica di laboratorio
Situazione iniziale: I laboratori vengono progettati come progetti Revit. Vendite e progettazione ne ricavano in modo mirato determinati dati – ad esempio famiglie e categorie di apparecchiature di laboratorio speciali –, spesso da molti progetti contemporaneamente.
Sfida: I dati dovevano essere disponibili in formati e strutture diversi, a seconda del sistema o del cliente che li elabora successivamente.
Soluzione: Un add-in Revit su misura analizza la composizione e la struttura dei laboratori ed esporta in modo mirato i tipi desiderati:
- Formati flessibili: Output in XML, JSON, PDF e altri formati.
- Struttura dei dati personalizzabile: La struttura dei file XML e JSON può essere adattata ai requisiti del cliente.
- Automazione: Elabora sia singoli file RVT aperti sia intere directory con sottocartelle – per singoli progetti e grandi archivi di dati.
- Vendite: Insieme a un simulatore, i requisiti dei clienti per la progettazione del laboratorio possono essere definiti, rappresentati e presentati.
Risultato: Il coordinamento tra vendite, progettazione e clienti è diventato molto più semplice, l'intero processo di vendita e progettazione più efficiente.
Tecnologia: Revit API, C#, WPF
Maggiori informazioni sul progetto

Modernizzazione di un software per strumenti di misura: da Delphi a C#
Settore: tecnica di misura · Cliente: produttore di strumenti di misura · Team: dieci persone
Situazione iniziale: Un software Delphi sviluppato internamente e in uso da decenni doveva essere modernizzato e portato da Delphi a una tecnologia moderna.
Sfida: Prima dello sviluppo occorreva stabilire quali fossero le tecnologie giuste e come il team del cliente potesse accompagnare il cambiamento.
Approccio:
- Consulenza e pianificazione: Abbiamo messo a confronto obiettivi e possibilità delle nuove tecnologie.
- Prototipi: Hanno mostrato l'aspetto delle possibili soluzioni, affinché il cliente potesse decidere insieme a noi.
- Formazione in sede: L'intero team del cliente è stato introdotto alle nuove tecnologie.
- Porting agile: Il software viene portato in C# e WPF da un team di progetto di dieci persone.
Risultato: Il nuovo software è già in uso internamente presso il cliente e convince sia i tecnici di misura sia le vendite. Al termine dei lavori sarà disponibile per tutti i clienti finali.
Tecnologia: C#, WPF, Delphi, MariaDB, Entity Framework, Scrum, Jira, Git
Maggiori informazioni sul progetto

Software per un dispositivo di lettura per PCR digitale
Settore: tecnica di laboratorio e tecnologia medica · Contesto: progetto collaborativo BMBF (Ministero federale tedesco dell'Istruzione e della Ricerca) FREEDOM (FKZ 13N15287), cinque partner, durata tre anni a partire da febbraio 2021
Situazione iniziale: Un dispositivo innovativo deve analizzare campioni alla ricerca di determinate sequenze di DNA in modo più rapido, più semplice e con maggiore complessità – ad esempio campioni di sangue alla ricerca di DNA tumorale o alimenti come il mais alla ricerca di componenti geneticamente modificati.
Sfida: Controllo del dispositivo, acquisizione di immagini e valutazione scientifica dovevano confluire in un'unica applicazione – in coordinamento tra una fondazione di ricerca, un'università e tre aziende industriali.
Il nostro contributo: Nel sottoprogetto «Ideazione e implementazione dell'architettura software» Cadida è stata responsabile di:
- architettura software, modelli di dati e interfacce
- interfaccia utente e controllo di telecamera e LED
- acquisizione di immagini, analisi delle immagini, analisi dei dati e presentazione dei risultati
- user story con test automatizzati che garantiscono i requisiti nel dettaglio
Risultato: Un software che unisce in un'unica applicazione controllo del dispositivo, elaborazione delle immagini e valutazione – sviluppato in collaborazione e garantito in modo tracciabile da test automatizzati.
Tecnologia: C#, WPF, Entity Framework, OpenCV, Scrum, Jira, Git
Maggiori informazioni sul progetto

HIRAC: sistema di assistenza basato sull'IA per sedie a rotelle
Settore: ricerca / robotica · Contesto: finanziato nell'ambito del programma ZIM (Programma centrale per l'innovazione delle PMI), insieme alla Hochschule Offenburg
Situazione iniziale: Le persone con paralisi totale e i pazienti con sindrome locked-in non riescono a compiere da soli nemmeno azioni semplici come afferrare un bicchiere d'acqua. I dispositivi a comando vocale sono di scarso aiuto a causa della limitata capacità di parlare.
Sfida: Il sistema deve collaborare con sedie a rotelle, bracci robotici, pinze e occhiali per eye tracking disponibili in commercio di diversi produttori e poterli controllare.
Soluzione: HIRAC (Hardware Independent Robotic Assistance Controller) è un middleware indipendente dall'hardware per attività di presa robotica:
- Un'IA integra controllo tramite eye tracking, elaborazione delle immagini, feedback dei sensori e manipolazione degli oggetti.
- Il sistema complessivo unisce IA, controllo della sedia a rotelle tramite eye tracking, braccio di presa sulla sedia a rotelle e output vocale.
Cadida è responsabile della direzione del progetto e dello sviluppo software, insieme alla Hochschule Offenburg.
Obiettivo: Le persone interessate devono poter svolgere autonomamente le attività quotidiane, alleggerendo il carico del personale di assistenza.
Tecnologia: Python, ROS2, deep learning, reinforcement learning, Linux, interfaccia web
Maggiori informazioni sul progetto
Cosa hanno in comune i nostri progetti
- Chiarezza prima della prima riga di codice: Studi di fattibilità, prototipi e analisi di redditività rendono visibili i rischi fin dall'inizio.
- Agili e trasparenti: Sviluppiamo a piccoli passi con Scrum – Lei vede regolarmente lo stato di avanzamento e contribuisce a orientare il progetto.
- Qualità fin dall'inizio: Test automatizzati e garanzia della qualità accompagnano ogni progetto.
- Il know-how resta a Lei: Su richiesta formiamo il Suo team, affinché possa sviluppare ulteriormente il software in autonomia.
Il Suo progetto
Si trova di fronte a un compito simile? Trova altri esempi tra i nostri progetti e le nostre referenze. Come si svolge una collaborazione con noi lo può leggere alla voce Collaborazione. Non esiti a contattarci – La consigliamo senza impegno: Contattaci.
