Lasciate i vostri contatti, vi invieremo la nostra panoramica via email
Acconsento al trattamento dei miei dati personali per l'invio di materiale di marketing personalizzato in conformità con la normativa vigente. Informativa sulla privacy. Confermando l'invio, l'utente accetta di ricevere materiale di marketing
Grazie!

Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.

Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1800+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.
Chi siamo
Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1800+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.

Aggiornamento del software di analisi termica: elaborazione dei dati più rapida per 40%

Innowise ha potenziato l'applicazione web di analisi termica di un cliente migliorando la qualità del codice, potenziando la visualizzazione dei modelli 3D e aggiungendo nuove funzionalità.

Cliente

Industria
Tecnologia dell'informazione
Regione
UE
Cliente da
2023

Il nostro cliente sviluppa un software di modellazione termica che consente agli ingegneri di verificare le prestazioni dei loro progetti alle alte temperature. Gli ingegneri caricano e configurano i modelli 3D delle parti del prodotto, che vengono poi inviati a un supercomputer per l'elaborazione e la simulazione. L'applicazione web analizza questi modelli per identificare caratteristiche quali la distribuzione della temperatura, la dissipazione del calore, il flusso dei fluidi, la resistenza termica, l'irraggiamento termico, la capacità di raffreddamento, ecc. In questo modo, gli ingegneri possono risparmiare risorse sui prototipi e testare i loro progetti via software.

Le informazioni dettagliate sul cliente non possono essere divulgate in base ai termini NDA.

Sfida

Risoluzione dei rallentamenti dell'applicazione web e miglioramento dell'accuratezza del modello 3D

Il nostro cliente si è rivolto a noi con diversi problemi: il suo software per l'analisi termica e i modelli 3D non venivano caricati correttamente, e alcuni modelli non apparivano affatto. Inoltre, l'applicazione web faticava a visualizzare efficacemente le relazioni termiche tra le diverse parti e a presentare i risultati delle analisi. Questi problemi hanno reso difficile per gli utenti interpretare e utilizzare i dati in modo efficiente.

Soluzione

Aggiornamento del software di analisi termica: dalla qualità del codice alle funzionalità avanzate

Innowise ha migliorato il software di un cliente analizzando il codice esistente, correggendo gli errori e aggiungendo nuove funzionalità. Abbiamo individuato i problemi nel codice e lo abbiamo reso più pulito per migliorare le prestazioni complessive del software. Il nostro team di esperti ha anche migliorato la qualità dei modelli 3D e introdotto nuove funzionalità, come la pagina della rete termica e gli strumenti di evoluzione del progetto, per migliorare ulteriormente il processo di sviluppo del prodotto.

Valutazione della qualità del codice e refactoring

I nostri ingegneri software hanno condotto una valutazione approfondita della base di codice esistente. Questo processo ha comportato un'immersione profonda nella struttura, nella funzionalità e nella salute generale del codice. Abbiamo utilizzato strumenti di analisi statica del codice come ESLint e SonarQube per rilevare automaticamente i potenziali problemi, seguiti da una revisione manuale per individuare tutto ciò che gli strumenti automatici avrebbero potuto tralasciare. Il team di Innowise ha esaminato i risultati e ha compilato un elenco dettagliato dei problemi e delle soluzioni consigliate.

Rifattorizzazione del codice

Poiché il refactoring del codice è fondamentale per mantenere una base di codice sana, ci siamo concentrati innanzitutto sul miglioramento della leggibilità e delle prestazioni del codice. Questi miglioramenti hanno reso più facile per gli sviluppatori comprendere e sviluppare il codice in futuro.

  • Eliminazione del codice ridondante: i nostri ingegneri hanno identificato ed eliminato i segmenti di codice duplicati e non necessari che ingombravano la base di codice. Ciò ha contribuito a ridurre le dimensioni complessive del codice e a migliorarne la manutenibilità.
  • Migliorare la leggibilità: abbiamo applicato standard di codifica e best practice coerenti, come l'indentazione corretta, le convenzioni di denominazione e la modularizzazione. Questo ha reso il codice più leggibile e più facile da capire e modificare per gli sviluppatori.
  • Ottimizzazione delle prestazioni: Il team di Innowise ha identificato i colli di bottiglia delle prestazioni e ha ottimizzato il codice per renderlo più efficiente. Ciò ha comportato l'ottimizzazione dei loop, la riduzione della complessità degli algoritmi e la garanzia di un utilizzo efficiente della memoria.

 

Correzione degli errori

La correzione degli errori era essenziale per mantenere il funzionamento del software fluido e affidabile. Risolvendo bug e problemi, abbiamo migliorato la stabilità del software e lo abbiamo reso migliore per gli utenti.

  • Identificazione e risoluzione dei bug: il nostro team di esperti ha utilizzato strumenti e tecniche di debug per individuare e risolvere i bug che causavano errori e comportamenti inattesi. Questo includeva la risoluzione di errori di sintassi, errori logici ed eccezioni di runtime.
  • Test unitario: abbiamo implementato test unitari completi utilizzando il framework Jest e la libreria Vue test utils per garantire che ogni singolo componente dell'applicazione funzionasse correttamente. Questo ci ha aiutato a individuare gli errori nelle prime fasi del processo di sviluppo.
  • Convalida del codice: Il team di Innowise ha poi convalidato il codice rispetto agli standard del settore per garantire la conformità e la solidità. Nell'ambito di questo processo abbiamo convalidato le integrazioni API, le routine di gestione dei dati e i componenti dell'interfaccia utente.
  • Integrazione continua: Infine, i nostri ingegneri hanno integrato la base di codice con una pipeline di integrazione continua (CI) utilizzando gli strumenti Jenkins e GitHub Actions. Questo ha automatizzato il processo di test del codice e la distribuzione, assicurando che le nuove modifiche non introducano nuovi errori.

Miglioramento della qualità del modello 3D

Per affrontare i problemi di visualizzazione dei modelli 3D nel nostro cliente software per l'analisi termicaabbiamo integrato la libreria vtk.js, che richiede meno risorse. Questo ha garantito che tutti i modelli venissero caricati correttamente e visualizzati in modo accurato.

Il nostro team ha anche affrontato i problemi di rendering dei modelli analizzando la pipeline di rendering, correggendo i bug e ottimizzando gli algoritmi. Ciò ha comportato il miglioramento della generazione delle mesh, della mappatura delle texture e dell'ombreggiatura, in modo che i modelli venissero visualizzati in modo accurato ed efficiente.

Nuove funzionalità

Per migliorare ulteriormente le capacità dell'applicazione, abbiamo introdotto diverse nuove funzioni destinate a migliorare l'esperienza dell'utente e a fornire approfondimenti sulle prestazioni termiche.

Pagina della rete termica

I nostri ingegneri software hanno creato una nuova pagina di rete termica che utilizza grafici interattivi per illustrare le relazioni termiche tra le diverse parti di un prodotto. Questa visualizzazione offre agli utenti una comprensione più chiara e intuitiva del modo in cui il calore viene distribuito e trasferito all'interno del loro progetto. Gli utenti possono ora vedere le interazioni termiche in un formato grafico, rendendo più facile l'identificazione di potenziali punti caldi. La pagina consente lo zoom e la panoramica, in modo che gli utenti possano concentrarsi su aree specifiche di interesse e analizzare le prestazioni termiche in dettaglio.

Pagina sull'evoluzione del design

In seguito, abbiamo aggiunto una funzione di evoluzione del progetto che consente agli utenti di tracciare e confrontare l'evoluzione dei loro progetti nel corso di più iterazioni. Questa funzione è particolarmente utile per chi deve valutare l'impatto delle modifiche al progetto sulle prestazioni termiche. Gli utenti possono salvare diverse iterazioni delle loro simulazioni, confrontarle fianco a fianco e selezionare la versione migliore in base ai risultati. La pagina dell'evoluzione del progetto include una vista a linea temporale, che rappresenta visivamente la progressione delle modifiche al progetto e i corrispondenti risultati della simulazione. Gli utenti possono scaricare le impostazioni della migliore iterazione, facilitando la documentazione e l'implementazione del progetto ottimale.

Presentazione dei dati strutturati

I nostri professionisti hanno reso i dati più facili da comprendere utilizzando tabelle e grafici. Questo approccio fornisce informazioni chiare su elementi cruciali come temperatura, pressione e portata. Gli utenti possono vedere i risultati senza dover cercare tra i dati disordinati. Le tabelle sono dotate di opzioni per l'ordinamento e il filtraggio, in modo che gli utenti possano concentrarsi su dettagli specifici. I grafici mostrano tendenze e schemi che aiutano gli utenti a individuare rapidamente le informazioni importanti. Abbiamo anche aggiunto funzioni come i tooltip e lo zoom per rendere i grafici più interattivi e facili da usare.

Tecnologie

Backend

.NET, C#, EntityFramework, Amazon SQS

Frontend

Javascript, Vue 3, Nuxt 3, Vuex, vtk.js, D3.js

Databases

PostgreSQL

DevOps

AWS (EKS, ECS, ECR, CloudWatch, EC2, S3, RDS, Amazon MQ, ecc.), GitLab, Terraform

Distribuzione continua

GitLab CI

Containerizzazione e gestione dei container
Docker, Elastic Kubernetes Service, Elastic Container Service - basato su AWS

Processo

Il nostro processo di sviluppo è stato suddiviso in diverse fasi per mantenere il progetto organizzato e la stretta collaborazione con il cliente. Utilizzando le metodologie Agile e Kanban, siamo riusciti ad adattarci rapidamente ai cambiamenti e a dare priorità alle attività in modo efficace. In questo modo abbiamo garantito che il progetto rimanesse in linea con i tempi e rispondesse alle esigenze del cliente.

Fase di scoperta

Nella fase di scoperta, abbiamo condotto una valutazione iniziale della base di codice e raccolto i requisiti dettagliati del cliente. Il risultato principale è stato un documento di Vision e Scope che delinea gli obiettivi e le finalità del progetto.

Fase di progettazione

In questa fase, il nostro team di esperti ha creato wireframe e prototipi dettagliati per le nuove funzionalità e i miglioramenti. I risultati principali includono una mappa del percorso del cliente e un prototipo cliccabile delle nuove pagine.

Fase di sviluppo

I nostri sviluppatori hanno quindi implementato il refactoring del codice, integrato VTK.js per i modelli 3D e creato nuove funzionalità. I risultati sono stati una base di codice aggiornata, nuove funzioni completamente funzionali e una migliore visualizzazione dei modelli 3D.

Fase di test

La fase successiva prevedeva test rigorosi, tra cui test unitari, di integrazione e di accettazione da parte dell'utente, per garantire funzionalità e affidabilità.

Fase di implementazione

Infine, abbiamo distribuito l'applicazione aggiornata nell'ambiente del cliente e fornito assistenza post-deployment.

Incontri e strumenti

Il nostro team si è riunito quotidianamente per discutere i progressi e risolvere tempestivamente i problemi, il che ci ha aiutato a mantenere lo slancio e a prevenire i ritardi. Abbiamo utilizzato Jira per gestire le attività e tracciare i progressi in modo trasparente, mentre Slack ha facilitato la comunicazione diretta e continua con il cliente. Questo approccio ci ha permesso di rispondere tempestivamente alle esigenze del cliente e di far avanzare il progetto in modo efficiente.

Team

2

Ingegneri front-end

2

Ingegneri back-end

2

Team Leads

1

QA

1

AQA

1

Designer UI/UX

1

DevOps

Risultati

40% analisi dei dati termici più veloce e tempi di caricamento dell'applicazione web accelerati

Funzionalità ampliate

La nuova pagina della rete termica ha fornito agli utenti un modo chiaro e interattivo per comprendere le relazioni termiche. Inoltre, ora possono facilmente confrontare diverse iterazioni di progettazione e selezionare quella ottimale, migliorando il processo di progettazione complessivo.

Miglioramento della qualità del codice

Il codice era più pulito, più manutenibile e privo dei precedenti errori diffusi, il che ha portato a una maggiore stabilità e affidabilità. software di analisi termica.

Migliore qualità del modello 3D

Tutti i modelli 3D sono stati visualizzati correttamente, migliorando l'esperienza dell'utente e l'affidabilità delle simulazioni termiche.

Presentazione strutturata dei risultati

I risultati sono stati presentati in modo strutturato e comprensibile. Di conseguenza, è diventato più facile per gli utenti interpretare e utilizzare le informazioni in modo efficace.
Durata del progetto
  • Maggio 2023 - Settembre 2023

40%

riduzione dei tempi di analisi dei dati termici

60%

caricamento più veloce delle applicazioni web

Contattateci!

Prenota una chiamata oppure compilate il modulo sottostante e sarete ricontattati una volta elaborata la vostra richiesta.

    Si prega di includere i dettagli del progetto, la durata, lo stack tecnologico, i professionisti IT necessari e altre informazioni pertinenti
    Registra un messaggio vocale sul tuo
    progetto per aiutarci a capirlo meglio
    Allega ulteriori documenti se necessario
    Caricare il file

    È possibile allegare fino a 1 file di 2 MB complessivi. File validi: pdf, jpg, jpeg, png

    Vi informiamo che cliccando sul pulsante Invia, Innowise tratterà i vostri dati personali in conformità con la nostra Informativa sulla privacy allo scopo di fornirvi informazioni adeguate.

    Cosa succede dopo?

    1

    Dopo aver ricevuto ed elaborato la vostra richiesta, vi ricontatteremo a breve per illustrare le esigenze del progetto e firmare un NDA per garantire la riservatezza delle informazioni.

    2

    Dopo aver esaminato i requisiti, i nostri analisti e sviluppatori elaborano una proposta di progetto con l'ambito di lavoro, le dimensioni del team, i tempi e i costi stimati.

    3

    Organizziamo un incontro con voi per discutere l'offerta e giungere a un accordo.

    4

    Firmiamo un contratto e iniziamo a lavorare sul vostro progetto il prima possibile.

    Спасибо!

    Cобщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    Grazie!

    Il tuo messaggio è stato inviato. 

    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    freccia