Mjukvaruutveckling

Mjukvara & Interaktionsdesign

Mjukvara är det som skapar värdet i produkten! Ja, det är väl inte riktigt hela sanningen. En produkts funktionalitet och känslan av att använda den är naturligtvis beroende av hårdvaran också, men mjukvaran spelar ofta en helt avgörande roll.

Vi brukar säga att ”i3tex utvecklar framtidens produkter för en bättre värld” – vilket i praktiken innebär att vi utvecklar tekniska produkter inom en bred flora av olika teknikområden, applikationer och branscher. Och för att kunna realisera önskad funktionalitet på produkten krävs oftast någon form av mjukvara.

Läs om Herman Lundgren, mjukvaruutvecklare på i3tex >>

Läs om Igancio Mancha, mjukvaruutvecklare på i3tex >>

Embedded software

Stor del av den mjukvara vi tar fram är så kallad embedded-mjukvara. Det innebär allt ifrån att ta fram drivrutiner för hårdvara till att forma själva applikationen. Vi har arbetat med detta sedan slutet av 80-talet, och kan därför utan tvekan säga att vi har en stor expertis inom området mjukvaruutveckling. Beroende på vilken applikation det gäller så kan det röra sig om en produkt med embedded Linux alternativt något annat operativsystem, men det kan lika gärna handla om ett mindre system som inte har behov av något operativsystem alls.

Listan med hårdvaror, mikrokontrollers, kommunikationsgränssnitt, utvecklingsmiljöer, konfigurationsverktyg och standarder som i3tex arbetar med kan göras väldigt lång. Ett par exempel är ARM Cortex, C2000 Piccolo, TCP/IP, Bluetooth, USB, SPI, Signalbehandling, Embedded Linux, Contiki, Yocto, Keil, IAR Embedded Workbench, Code Composer Studio, Eclipse, GIT, Jira, Doxygen och IEC62304.

Controls & modellbaserad utveckling

Mekatroniska system behöver styras, övervakas och regleras för att fungera som de ska. Typiska exempel hittar vi i fordonsindustrin där till exempel motorer och aktiva chassisystem regleras via mjukvara. Typiskt för detta område är också att man jobbar med att skapa virtuella modeller av systemen, så kallade plantmodeller. Dessa möjliggör tidig simulering och virtuell verifiering. Modellerna används också av styrmjukvaran för att förutspå vad som kommer att hända i framtiden. Plantmodeller och styrmjukvara utvecklas med verktyg som Matlab/Simulink, ASCET, TargetLink och RealTime Workshop.

Mobila Applikationer och PC-mjukvaror

i3tex har utvecklat en rad smartphoneappar, både för industriellt bruk och för medicinteknikbranschen, primärt med fokus på Android- och iOS-plattformarna. Uppdragen ställer stora krav på vår förmåga att ta fram effektiva användargränssnitt – och kommunikationen med omvärlden, via Bluetooth eller andra internetbaserade protokoll, är alltid en del av funktionaliteten.

PC-mjukvara tar vi vanligtvis fram för testning, konfigurering, styrning och övervakning av någon produkt. Klassiska exempel är program för att styra en testutrustning eller köra och övervaka vår elmotorrigg.

Uppkopplade system & fleet management

När produkter är ute på fältet kan det finnas ett behov av att ha koll på dem – var de finns, hur de används och att de fungerar. En förutsättning för att det ska vara möjligt är att produkterna är uppkopplade och dessutom behövs ett centraliserat administrationssystem för insamling av data och statistik. Vi har kunskaper om skalbara SQL-databaser med hög tillgänglighet, säker kommunikation, kryptering och autentisering. Några exempel på miljöer för mjukvaruutveckling och andra verktyg som vi har lång erfarenhet av är MySQL, PostgreSQL, Visual Studio, Delphi och GCC.

Interaktionsdesign

För att en produkt ska ha bra användbarhet eller Usability, dvs vara lätt och säker att använda krävs att användargränssnitt är väl utformade efter användarna och det som de förväntas göra. Våra interaktionsdesigners säkerställer en hög upplevd kvalitet genom att identifiera målgruppens olika behov via användarstudier. Efter användbarhetstester. Detta gäller allt från produkters fysiska och kognitiva ergonomi till interaktion mot bildskärm eller andra gränssnitt (HMI, MMI).

Håkan Rolin
Business Unit Manager Software Development
?>