Hardver-e a szoftver?

Hardver-e a szoftver?

Aki villamosmérnöki pályára lép, valamikor megtanulja, hogy mi az a hardver és mi az a szoftver. Alapvetően villamosmérnöknek sem kell lenni ehhez, a legtöbb ember nagyjából tudja, hogy mit jelentenek ezek a szavak.

A szakmában töltött évek múlásával egyre világosabbá válik a dolog, és egyre részletesebb képe lesz az embernek ezekről. Megjelenik a firmware és applikáció szétválasztás a szoftver tekintetében, a beágyazott firmware és számos további új fogalom, amik közti határ már nem mindig egyértelmű, sokban függ attól, hogy az adott ember/cég mivel foglalkozik. Abban viszont általában egyetértés van, hogy mi is a hardver. Az bizony az a kis zöld* beültetett PCB, alkatrészekkel, feliratokkal, ami csak kell. (*mint tudjuk “a NYÁK színe zöld”; de természetesen az ép ésszel felfogható összes színben gyártható)

A minap megkeresett bennünket egy cég, hogy szeretnének hardverfejlesztést rendelni tőlünk. Csak hardver, a szoftvert ők írnák. Ennek megfelelően rá is állítottuk a szükséges embereket, közösen elkészítettük a specifikációt és átbeszéltünk minden igényt az eszköz tudásával kapcsolatban.

Kitértünk arra, mi az amit szeretnének, ha tudna most vagy akár a későbbiekben könnyen belefejleszthető funkció lenne. Elkészült egy ütemterv a fejlesztésre, azt is átbeszéltük közösen, mikor szállítjuk az első prototípust, az ügyfelünk mennyi idő alatt tudja azt letesztelni, stb.

Már-már úgy nézett ki, hogy minden szükséges műszaki rész tisztázásra került, mi már az árajánlaton dolgoztunk, amikor egy elejtett félmondat megütötte a fülemet. Kicsit leegyszerűsítve nagyjából így hangzott: “Tudjuk, hogy ezt még ráér megbeszélni majd fejlesztés közben, de azt mindenképpen szeretnénk, hogy a LED villogási sebessége kívülről állítható legyen”. Ez elgondolkodtatott.

A szoftvert nem mi írjuk, miért lenne nekünk ez releváns?! Úgy hajtják meg a LED-et, ahogy csak szeretnék. Ennek nyomán elkezdtem velük beszélgetni, majd kiderült, hogy az ő értelmezésükben a hardver természetesen teljes mértékben tartalmazza az összes szükséges drivert és az alap funkcionalitást ellátó firmwaret (“állítható LED villogtatás”), az ő szoftverük pedig csak az állítgatásért felelős.

Elsőre ezen jót mosolyogtunk, hogy hát ez a hardverfejlesztés viszonylag sok szoftverfejlesztést tartalmaz, de utána egy kicsit elmélkedtem rajta.

A telefonos applikáció fejlesztők szoftverfejlesztők. Szoftvert fejlesztenek a telefonra, ami az ő nézőpontjukból egy hardver. Mégis rengeteg szoftver fut azon a telefonon, amik kiszolgálják az újabb szoftvert. Amikor besétálok a sarki boltba és veszek egy raspberry-t, hogy valami locsolja otthon a növényeimet, mert én mindig elfelejtem, akkor egy hardvert veszek, amire írok egy szoftvert, pedig ugye rengeteg egyéb szoftverkomponens támogat ebben. Sőt, még tovább menve, amikor PCB tervezés közben választok egy IC-t, annál aztán semmi sem jobban hardver, ugye? Mégis számos esetben az IC-n valójában már fut egy szoftver, ami az IC funkcionalitásáért felel (mondjuk egy szenzor IC esetében a digitális kimenetek kezeléséért felelős szoftver).

Hardver-e tehát a szoftver?

Természetesen nem, hiszen minden esetben egy szoftver valósítja meg ezeket a funkcionalitásokat. Az elkülönítés nem változott az idő múlásával, amikor kisgyerekként először megtanulta az ember, hogy a hardvert meg tudod fogni, a szoftvert pedig nem. Valójában mégsem ennyire egyértelmű a dolog.

Különböző megközelítések vannak és más-más szemüvegen át nézve más-más lesz a hardver és a szoftver. Amikor rendelek egy IC-t, akkor én hardvert veszek, valójában mégis kapok hozzá szoftvert. Ugyanezen analógia mentén teljesen jogos az a hozzáállás is, hogy ha rendelnek tőlünk egy hardverfejlesztést (például egy 3 fázisú motor meghajtó áramkört), akkor bizony a hidak és védelmek vezérlését ellátó szoftver része a feladatnak, és ez akár lehet teljesen magától értetődő is.

Én megtanultam a leckét, mindig nagyon egyértelműen tisztázni kell az ügyféllel, hogy pontosan mit vár el egy-egy feladat keretében. Nem ragadhatunk le a „hardvert meg lehet fogni, a szoftvert pedig nem” elkülönítésnél. Tisztázni kell, hogy ki mit ért az egyes szavak jelentésén (és akkor a szoftver-firmware-applikáció-stb értelmezésébe még bele sem mentünk).

Na és akkor szoftver-e a hardver? Ezt már mindenkinek a saját belátására bízom, hogy eldöntse. Mindenesetre olyan még nem fordult elő nálunk, hogy valaki szoftverfejlesztést szeretett volna rendelni és a specifikálás közben felmerült, hogy 6 mil-es technológia megfelelő lesz-e hozzá.

Szerző:
Vadász István, product manager

Blog

A krimpelt kapcsolatok megbízhatóságának ellenőrzése húzóerő mérő segítségével

A modern autóipari rendszerekben a vezetékek és a krimpelt érintkezők közötti kapcsolat minősége kritikus fontosságú.

Bővebben …

Gyártósori mérőrendszerek validációja

Az iparban többféle eljárás terjedt el, mi a következőkben a statisztikai úton történő validációs módszereket mutatjuk be.

Bővebben …

A biztonságos gépgyártás alapjai

Szabványok alkalmazásának jelentősége - esettanulmánnyal

Bővebben …