Software ingeniaritza

Software-aplikazioak mantentzeko eta sortzeko ingeniaritzaren adar bat. Informatika, ingeniaritza, proiektu-kudeaketa eta beste arloko jakintzak aplikatzen dira software-proiektu batean.

Software ingeniaritza softwarearen garapenerako ikuspegi sistematikoa da ingeniaritzaren aldetik. Kalitate on eta egiaztagarriko softwarea sortzeko tresnak, prozedurak zein ezagumendu-corpusa osatzea da bere helburua. Bere ardurapean sartzen dira softwarearen bizi-zikloko fase guztiak, bururatzen denetik erabiltzeari uzten zaion arte.

Kalitatezkoa izan dadin, softwarearen hainbat ezaugarri tinkatzen saiatzen da diziplina honetan:

  • Zuzena: Aurreikusi diren eskakizunak betetzen dira nahigabeko ondoriorik sorrarazi gabe.
  • Eraginkorra: Ezinbestekoak ez diren baliabideak ez dira kontsumitzen behar (denbora, biltegiratzea, sare-banda, energia, etab).
  • Erabilerraza: Kontutan hartzen dira erabiltzaileen premia, erosotasuna, kultura, trebezia digitala, etab.
  • Sendoa: Funtzionamenduaren akatsak ez dira agertzen, erabilpen edo input desegokiak ere pairatu arren.
  • Funtzionala: Erabiliko duen erakundearen funtzio, elkarrekintza eta beharretan oinarriturik dago softwarearen egitura.
  • Hedagarria: Geroko eskakizun berriak gehitzeko prozesua aurreikusten da eta errazteko neurriak hartzen dira.
  • Bateragarria: Beste sistema, programa eta aplikazioekin elkarreragiteko oztoporik ez agertzeko ahaleginak egiten dira.
  • Mantengarria: Funtzionatzeko konfigurazioan, etorkizunean suerta daitezkeen aldatzeko beharrak kontutan hartzen dira aurretik.
  • Eramangarria: Beste ekipoetan, sistema eragileetan edo sare-azpiegituretan funtzionatzeko prestasuna dago.
  • Berrerabilgarria: Softwarearen egiturazko osagaiak garraia daitezke beste sistemetan antzeko funtzioak betetzeko.

Software ingeniaritzak onura ateratzen du erlazionatuko beste jakintza-arlo batzutatik, hala nola konputazio-zientzia, proiektu kudeaketa, konputagailuen ingeniaritza eta matematika.

Hasierako aplikazio informatikoak planifikazio gabe eta teknika zaharrekin diseinaturik zeuden. Sortzen zen softwarea, kalitatea oso baxukoa zen, ondorioz produktibitatean jaitsiera bat egon zen, sektorea krisian sartuz. 70. hasieran hasi ziren informatikari taldeak softwarea, planifikazio eta teknika hobez diseinatzen (diseinu modularra, beheranzko metodologia...).

Edozein motatako informazio sistemaren eta eremu anitzetan ezargarriak diren bizitza zikloaren eboluzioaren fase guztiak barneratuz (negozioak, azterketa zientifikoa, medikuntza, produkzioa, logistika, banka, trafiko kontrola, meteorologia, zuzenbidea, internet, intranet, etab.). Hiztegietan ez da oraindik definizio zehatzik tartekatu, hala ere, izen handiko autoreek enuntziatutakoak aipa daitezke:

Izeneko autoreen definizioakAldatu

  • Software ingeniaritza software sistemen garapena eta mantentzearentzat egindako oinarri eta metodologien azterketa da (Zelkovitz, 1978).
  • Software ingeniaritza ordenagailu programen eraikuntzan eta diseinuan eta hau egin, garatu eta mantentzeko beharrezkoa den erlazionatutako dokumentazioan ezagupen zientifikoaren aplikazio praktikoa da. Softwarearen garapena edo softwarearen produkzio bezala ere ezagutzen da (Bohem, 1976).
  • Software ingeniaritza ingeniaritzan printzipio eta metodoen ezarpenean datza, errentagarria eta fidagarri den, eta makina errealetan lan egin dezaken software bat lortzeko helburuarekin sortua (Bauer, 1972).
  • Softwarearen ikuspegi sistematiko, diziplinatu eta garapenarentzat kuantifikagarri eta softwarearen ekintza eta mantentzearen aplikazioa da; hau da, softwarean egindako ingeniaritzaren aplikazioa (IEEE,1993).

Datu gehigarriakAldatu

2004.urtean, Estatu Batuetan, lan estatistiken bulegoak (U.S. Bureau of Labor Statistics) 760 840 Software ingeniari kontatu zituen. “Software ingeniari” hitza, hala ere, modu generikoan erabiltzen da enpresa munduan eta software ingeniari guztiek ez dute unibertsitate ezagunen ingeniari titulurik.

Autore batzuk Software ingeniaritza baino Softwarearen garapena terminoa hobesten dute softwarea sortzeko prozesuarentzat. Batzuek bestalde, hala nola Peter McBreen (“software craftmanship-en egile) pentsatzen dute Software ingeniaritzak zehaztasun maila bat eta era guztietako software garapenetarako aproposak ez diren prozesuen frogak suposatzen dituela.

Software ingeniaritza edota softwarearen ingeniaritza hitzak berdin erabiltzen dira. Hispanoamerikan bietatik lehengoa erabiltzen da normalean.

Kanpo estekakAldatu