Lämna dina kontaktuppgifter, så skickar vi dig vår översikt via e-post
Jag samtycker till att mina personuppgifter behandlas för att skicka personligt marknadsföringsmaterial i enlighet med Integritetspolicy. Genom att bekräfta inlämningen samtycker du till att få marknadsföringsmaterial
Tack!

Formuläret har skickats in framgångsrikt.
Ytterligare information finns i din brevlåda.

Innowise är ett internationellt företag för utveckling av mjukvara med fullständig cykel som grundades 2007. Vi är ett team med över 1800+ IT-proffs som utvecklar mjukvara för andra yrkesverksamma över hela världen.
Om oss
Innowise är ett internationellt företag som utvecklar mjukvara för hela cykeln som grundades 2007. Vi är ett team på över 1600+ IT-proffs som utvecklar mjukvara för andra företag yrkesverksamma över hela världen.

Uppgradering av programvara för termisk analys: 40% snabbare databehandling

Innowise förbättrade en kunds webbapp för termisk analys genom att förbättra kodkvaliteten, uppgradera visualiseringen av 3D-modeller och lägga till nya funktioner.

Kund

Industri
Informationsteknik
Region
EU
Kund sedan
2023

Vår kund utvecklar programvara för modellering av termisk design, som gör det möjligt för ingenjörer att se hur väl deras konstruktioner fungerar under höga temperaturer. Ingenjörerna laddar upp och konfigurerar 3D-modeller av produktdelar, som sedan skickas till en superdator för bearbetning och simulering. Webbapplikationen analyserar dessa modeller för att identifiera funktioner som temperaturfördelning, värmeavledning, vätskeflöde, värmemotstånd, värmestrålning, kylkapacitet etc. På så sätt kan ingenjörerna spara resurser på prototyper och testa sina konstruktioner via programvara.

Detaljerad information om kunden kan inte lämnas ut enligt villkoren i sekretessavtalet.

Utmaning

Lösning av problem med långsamma webbappar och förbättrad noggrannhet i 3D-modeller

Vår kund kom till oss med flera problem: deras programvara för termisk analys fungerade dåligt och 3D-modellerna laddades inte korrekt, och vissa modeller visades inte alls. Webbappen hade också svårt att på ett effektivt sätt visualisera termiska relationer mellan olika delar och presentera analysresultat. Problemen gjorde det svårt för användarna att tolka och använda data på ett effektivt sätt.

Lösning

Uppgradering av programvara för termisk analys: från kodkvalitet till avancerade funktioner

Innowise förbättrade sin kunds programvara genom att analysera befintlig kod, åtgärda fel och lägga till nya funktioner. Vi hittade problem i koden och gjorde den renare för att förbättra den övergripande programvaruprestandan. Vårt team av experter uppgraderade också 3D-modellernas kvalitet och införde nya funktioner som en termisk nätverkssida och verktyg för designutveckling för att ytterligare förbättra produktutvecklingsprocessen.

Bedömning av kodkvalitet och refaktorisering

Våra mjukvaruingenjörer genomförde en grundlig utvärdering av den befintliga kodbasen. Denna process innebar en djupdykning i kodens struktur, funktionalitet och övergripande hälsa. Vi använde statiska kodanalysverktyg som ESLint och SonarQube för att automatiskt upptäcka potentiella problem, följt av en manuell granskning för att fånga upp allt som automatiserade verktyg kan ha missat. Innowise-teamet granskade resultaten och sammanställde en detaljerad beskrivning av problemen och våra rekommenderade lösningar.

Refaktorisering av kod

Eftersom refaktorisering av kod är avgörande för att upprätthålla en sund kodbas fokuserade vi först och främst på att förbättra kodens läsbarhet och prestanda. Dessa förbättringar gjorde det enklare för utvecklare att förstå och bygga vidare på koden i framtiden.

  • Borttagning av överflödig kod: Våra ingenjörer identifierade och eliminerade dubbla och onödiga kodsegment som belastade kodbasen. Detta bidrog till att minska den totala storleken på koden och förbättra dess underhållbarhet.
  • Förbättrad läsbarhet: Vi tillämpade konsekventa kodningsstandarder och bästa praxis, till exempel korrekt indragning, namnkonventioner och modularisering. Detta gjorde koden mer läsbar och lättare för utvecklarna att förstå och modifiera.
  • Optimering av prestanda: Innowise team identifierade flaskhalsar i prestandan och optimerade koden för att den skulle köras mer effektivt. Detta inkluderade optimering av loopar, minskning av algoritmernas komplexitet och säkerställande av att minnesanvändningen var effektiv.

 

Felavhjälpning

Att åtgärda fel var avgörande för att programvaran skulle fungera smidigt och tillförlitligt. Genom att lösa buggar och problem förbättrade vi programvarans stabilitet och gjorde den bättre för användarna.

  • Identifiering och åtgärdande av fel: använde vårt team av experter felsökningsverktyg och tekniker för att spåra och åtgärda buggar som orsakade fel och oväntat beteende. Detta inkluderade hantering av syntaxfel, logikfel och runtime-undantag.
  • Enhetstestning: Vi implementerade omfattande enhetstester med hjälp av Jest-ramverket och Vue test utils-biblioteket för att säkerställa att varje enskild komponent i applikationen fungerade korrekt. Detta bidrog till att fånga upp fel tidigt i utvecklingsprocessen.
  • Validering av kod: sedan validerade Innowise-teamet koden mot branschstandarder för att säkerställa efterlevnad och robusthet. Vi validerade API-integrationer, datahanteringsrutiner och komponenter i användargränssnittet som en del av denna process.
  • Kontinuerlig integration: Slutligen integrerade våra ingenjörer kodbasen med en pipeline för kontinuerlig integration (CI) med hjälp av verktygen Jenkins och GitHub Actions. Detta automatiserade processen med kodtestning och driftsättning och säkerställa att nya ändringar inte medförde nya fel.

Förbättra kvaliteten på 3D-modeller

För att hantera problem med visualisering av 3D-modeller i vår kunds programvara för termisk analysintegrerade vi biblioteket vtk.js, som är mindre resurskrävande. Detta garanterade att alla modeller laddades korrekt och visades på ett korrekt sätt.

Vårt team tog också itu med problem med modellrendering genom att analysera renderingspipelinen, åtgärda buggar och optimera algoritmer. Detta inkluderade förbättrad meshgenerering, texturmappning och skuggning, så att modellerna visades korrekt och effektivt.

Nya funktioner

För att ytterligare förbättra applikationens kapacitet har vi infört flera nya funktioner som ska förbättra användarupplevelsen och ge djupare insikter i termisk prestanda.

Termisk nätverkssida

Våra programvaruingenjörer har skapat en ny sida för termiska nätverk som använder interaktiva grafer för att illustrera termiska förhållanden mellan olika delar av en produkt. Den här visualiseringen ger användarna en tydligare och mer intuitiv förståelse för hur värme distribueras och överförs i deras design. Användarna kan nu se de termiska interaktionerna i ett grafiskt format, vilket gör det lättare att identifiera potentiella hotspots. Sidan tillåter zoomning och panorering så att användarna kan fokusera på specifika områden av intresse och analysera den termiska prestandan i detalj.

Sida för designutveckling

Därefter lade vi till en funktion för konstruktionsutveckling som gör det möjligt för användare att spåra och jämföra utvecklingen av sina konstruktioner över flera iterationer. Den här funktionen är särskilt användbar för dem som behöver utvärdera hur konstruktionsändringar påverkar den termiska prestandan. Användarna kan spara olika iterationer av sina simuleringar, jämföra dem sida vid sida och välja den bästa versionen baserat på resultaten. Sidan Design Evolution innehåller en tidslinjevy, som visuellt representerar utvecklingen av konstruktionsändringar och deras motsvarande simuleringsresultat. Användarna kan ladda ner inställningarna för den bästa iterationen, vilket underlättar dokumentation och implementering av den optimala designen.

Presentation av strukturerad data

Våra experter gjorde data lättare att förstå med hjälp av tabeller och diagram. Det här tillvägagångssättet ger tydlig information om viktiga saker som temperatur, tryck och flödeshastighet. Användarna kan se resultaten utan att behöva sortera bland rörig data. Tabellerna har alternativ för att sortera och filtrera så att användarna kan fokusera på specifika detaljer. Graferna visar trender och mönster som hjälper användarna att snabbt upptäcka viktiga insikter. Vi har också lagt till funktioner som verktygstips och zoomning för att göra graferna mer interaktiva och användarvänliga.

Teknik

Backend

.NET, C#, EntityFramework, Amazon SQS

Frontend

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

Databaser

PostgreSQL

DevOps

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

Kontinuerlig distribution

GitLab CI

Containerisering och hantering av containrar
Docker, Elastic Kubernetes Service, Elastic Container Service - AWS-baserad

Process

Vår utvecklingsprocess delades in i flera faser för att hålla projektet organiserat och upprätthålla ett nära samarbete med kunden. Genom att använda Agile- och Kanban-metodik kunde vi snabbt anpassa oss till förändringar och prioritera uppgifter på ett effektivt sätt. Detta säkerställde att projektet höll sig på rätt spår och uppfyllde kundens behov.

Upptäcktsfasen

I upptäcktsfasen gjorde vi en första bedömning av kodbasen och samlade in detaljerade kundkrav. Den viktigaste leveransen var ett Vision and Scope-dokument som beskrev projektets mål och syften.

Konstruktionsfas

Under detta skede skapade vårt expertteam detaljerade wireframes och prototyper för de nya funktionerna och förbättringarna. Bland de viktigaste resultaten fanns en kundresekarta och en klickbar prototyp av de nya sidorna.

Utvecklingsfas

Därefter genomförde våra utvecklare refaktorisering av koden, integrerade VTK.js för 3D-modeller och skapade nya funktioner. Leveranserna omfattade en uppdaterad kodbas, fullt fungerande nya funktioner och förbättrade visualiseringar av 3D-modeller.

Testfas

I nästa steg genomfördes rigorösa tester, inklusive enhets-, integrations- och användaracceptanstester, för att säkerställa funktionalitet och tillförlitlighet.

Driftsättningsfas

Slutligen driftsatte vi den uppdaterade applikationen i kundens miljö och tillhandahöll support efter driftsättningen.

Möten och verktyg

Vårt team höll dagliga möten för att diskutera framstegen och lösa problem snabbt, vilket hjälpte oss att hålla tempot uppe och förhindra förseningar. Vi använde Jira för att hantera uppgifter och spåra framsteg på ett transparent sätt, medan Slack underlättade direkt och kontinuerlig kommunikation med kunden. Detta tillvägagångssätt gjorde det möjligt för oss att snabbt tillgodose kundens behov och hålla projektet effektivt framåt.

Team

2

Front-end-ingenjörer

2

Back-end-ingenjörer

2

Gruppledare

1

QA

1

AQA

1

UI/UX-designer

1

DevOps

Resultat

40% snabbare analys av termiska data och snabbare laddningstider för webbappar

Utökad funktionalitet

Den nya sidan för termiska nätverk gav användarna ett tydligt och interaktivt sätt att förstå termiska samband. Dessutom kunde de nu enkelt jämföra olika designiterationer och välja den optimala, vilket förbättrade den övergripande designprocessen.

Förbättrad kodkvalitet

Koden var renare, mer underhållbar och fri från de tidigare utbredda felen, vilket ledde till en mer stabil och tillförlitlig programvara för termisk analys.

Bättre kvalitet på 3D-modeller

Alla 3D-modeller visades nu korrekt, vilket förbättrade användarupplevelsen och tillförlitligheten hos de termiska simuleringarna.

Strukturerad presentation av resultat

Resultaten presenterades nu på ett strukturerat och begripligt sätt. Som ett resultat blev det lättare för användarna att tolka och använda informationen på ett effektivt sätt.
Projektets löptid
  • Maj 2023 - September 2023

40%

minskad tidsåtgång för analys av termiska data

60%

snabbare laddning av webbapplikationer

Kontakta oss!

Boka ett samtal eller fyll i formuläret nedan så återkommer vi till dig när vi har behandlat din förfrågan.

    Vänligen inkludera projektinformation, varaktighet, teknologistack, IT-proffs som behövs och annan relevant information
    Spela in ett röstmeddelande om ditt projekt för att hjälpa oss att förstå det bättre
     
    Bifoga ytterligare dokument vid behov
    Ladda upp filen

    Du kan bifoga upp till 1 fil på totalt 2 MB. Giltiga filer: pdf, jpg, jpeg, png

    Observera att när du klickar på knappen Skicka kommer Innowise att behandla dina personuppgifter i enlighet med vår Integritetspolicy för att ge dig lämplig information.

    Vad händer härnäst?

    1

    Efter att ha mottagit och behandlat din begäran kommer vi att återkomma till dig inom kort för att specificera dina projektbehov och underteckna en NDA för att säkerställa konfidentialitet av information.

    2

    Efter att ha undersökt kraven utarbetar våra analytiker och utvecklare en projektförslag med arbetets omfattning, lagets storlek, tid och kostnad uppskattningar.

    3

    Vi ordnar ett möte med dig för att diskutera erbjudandet och komma överens.

    4

    Vi skriver på ett kontrakt och börjar arbeta med ditt projekt så snabbt som möjligt.

    Tack!

    Ditt meddelande har skickats.
    Vi behandlar din begäran och kontaktar dig så snart som möjligt.

    Tack!

    Ditt meddelande har skickats. 

    We’ll process your request and contact you back as soon as possible.

    pil