Software

Artikulu hau "Kalitatezko 2.000 artikulu 12-16 urteko ikasleentzat" proiektuaren parte da
Artikulu hau Wikipedia guztiek izan beharreko artikuluen zerrendaren parte da
Wikipedia, Entziklopedia askea

Testu editore bat LibreOffice

Konputagailuen softwarea, edo software laburbilduz, konputagailuaren agindu edo datu multzo bat da. Softwareak konputagailua zer egin behar duen adierazten du. Hardwarea, beste aldetik, lana burutzen duen atal fisikoa da. Konputagailuen softwareak konputagailuaren programak, liburutegiak eta data exekuta ezinak (online dauden dokumentuak adibidez) erabiltzen ditu. Konputagailuaren softwareak eta hardwareak batera lan egin behar dute.

Osagai logikoek, besteak beste, aplikazio informatikoak dituzte, hala nola testu-prozesadorea, erabiltzaileari testuen edizioari dagozkion zeregin guztiak egiteko aukera ematen diona; sistema-software deritzona, sistema eragilea, alegia, gainerako programei modu egokian funtzionatzeko aukera ematen diena, osagai fisikoen eta gainerako aplikazioen arteko interakzioa ere errazten duena, eta erabiltzailearekiko interfazea eskaintzen duena.[1]

Software gehiena goi-mailako programazio-lengoaietan idatzita dago, programatzaileek erabil ditzaten errazagoak eta eraginkorragoak baitira, makina-lengoaiatik hurbilago baitaude hizkuntza naturaletik.[2] Goi-mailako lengoaiak makinaren lengoaia bihurtzen dira, konpiladore edo interpretea erabiliz, edo bien konbinazioa erabiliz. Softwarea mihiztatze-lengoaian ere idatzita egon daiteke. Mihiztatze-lengoaia hori maila baxukoa da eta lotura handia du makina-lengoaiaren jarraibideekin; mihiztatzaile bat erabiliz, makinaren lengoaiara itzultzen da.

Softwarearen anglizismoa zabalduena da kontzeptu horri buruz hitz egitean, batez ere, frantsesezko logiciel hitzetik eratorritako sinonimo «logicial» terminoa frantsesaren eraginpeko herrialde eta eremuetan erabiltzen baita gehienbat.

Etimologia[aldatu | aldatu iturburu kodea]

Softwarea (NAF[ˈsoft.wer]: [soft.wer]) ingelesetik datorren hitza da, eta gaztelaniaz ez du testuingururako itzulpen egokirik; beraz, maiz erabiltzen da itzuli gabe, eta halaxe onartu zuen Espainiako Errege Akademiak (RAE).[3] Gauza bera ez bada ere, programen (informatikoak), aplikazioen (informatikoak) edo euskarri logikoen bidez ordeztu ohi da.[4]

Softwareari deitzen zaio software-ingeniaritzako produktua.[5]

«Logicial» terminoa frantsesezko logizel terminoaren kalko lexikoa da; neologismoa 1969an sortu zen, logique ('logika') eta matériel ('materiala') hitzetatik abiatuta, Calculeko Planaren ardura duen Informatikaren Ordezkaritzaren itzulpen gisa.[6]

Softwarearen definizioa[aldatu | aldatu iturburu kodea]

Hainbat definizio daude softwarerako onartuta, baina, seguruenik, formalena honako hau izango da: Programa informatikoen, prozeduraren, arauen, dokumentazioaren eta lotutako datuen multzoa da, sistema informatiko baten eragiketen parte direnak.

Definizio hori kontuan hartuta, softwarearen kontzeptua konputazio-programetatik harago doa, bere egoera guztietan: iturburu-kodea, kode bitarra edo exekutagarria; bere dokumentazioa, prozesatu beharreko datuak eta are erabiltzailearen informazioa ere softwarearen parte dira: hau da, ukiezin den guztia hartzen du, zerikusia duen "ez-fisiko" guztia.

John W. Tukeyk 1957an erabili zuen lehen aldiz software hitza. Software-ingeniaritzan eta konputazio-zientzietan, sistema informatikoek (programak eta datuak) prozesatutako informazio guztia da softwarea.

Charles Babbagek bere makina diferentzialaren zati gisa sartu zuen kalkuluak kontrolatzeko gailu baten memoriatik jarraibide-sekuentziak (programa) irakurtzeko kontzeptua. Software modernoaren zatirik handienaren oinarria osatzen duen teoria Alan Turing-ek proposatu zuen 1936ko saiakeran, «Zenbaki konputagarriak», erabaki-arazoari aplikatzeko.[7]

Software sailkapena[aldatu | aldatu iturburu kodea]

Softwarea hiru mota nagusitan bana ditzakegu:

Sistema-softwarea[aldatu | aldatu iturburu kodea]

Erabiltzailea eta programatzailea erabiltzen duten sistema informatikoaren zehaztasunetik aldentzen du. Honela, sistema-softwarea barneko ezaugarriekin lotuta dauden prozesuetatik isolatzen dira, adibidez memoria, diskoak, portuak eta komunikazio gailuak, inprimagailuak, monitoreak edo teklatuetatik. Sistema-softwareak erabiltzaileari interfazeak, kontroladoreak eta tresnak ematen dizkio sistema globala mantentzeko gai izateko. Honako hauek daude :

Idazmahairako Linux sistema eragile bat

Programazio-softwarea[aldatu | aldatu iturburu kodea]

Tresna multzo bat da zein programatzaileei programa informatikoak eratzeko aukera ematen dien hainbat hautabide eta programazio-lengoaia bitartez. Barne hartzen ditu:

  • Testu-editore
  • Konpiladore
  • Interpretatzaile
  • Estekatzaile
  • Garapen integratzaileko ingurune: Testu editoreak, konpiladoreak, interpretatzaileak eta estekatzaileak ingurune bakar batean batzen ditu programatzaileari lana errazteko. Gehienetan erabiltzaile interfaze grafiko garatu bat dauka.
Eredu kaskada hutsa edo sekuentziala, softwarearen bizi-ziklorako.

Aplikazio informatiko[aldatu | aldatu iturburu kodea]

Erabiltzaileei hainbat ataza espezifiko burutzeko erabiltzen dira, naiz eta automatizatua edo lagundurik izan. Nagusiki hanpadura egiten du negozioen arlotan. Honako hauek ditugu:

Softwarea garatzeko prozesua[aldatu | aldatu iturburu kodea]

Software garapena oso zaila izan daiteke bere tamaina, ezaugarri eta kritikotasunaren arabera. Adibidez sistema eragile bat sortzeko proiektuaren kudeaketa eta baliabide ugari behar dira. Beste aldetik, programa erraz batez hitz egiten dugunean, programatzaile bakar batek egin dezake. Softwarea hiru kategorietan banatzen da proiektuak duen tamainaren arabera txikia, ertaina eta handia. Existitzen dira metodologia pare bat estimazioa egiteko, hauen artean ezagueretarako bat COCOMO da. COCOMO ematen digu produkzio kostuak software proiektu bat garatzeko (ordu/pertsona, kostua, zenbateko kode lerro programazio-hizkuntzarekiko, etab. )

Software proiektu handietan hainbat betekizun konplexu egin behar dira, bai teknikaren aldetik bai kudeaketaren aldetik ere. Konplexutasuna dela-eta, ingeniaritza jakin batek horren ikasketa eta ikerketa egiten du: Software Ingeniaritza.

Beste aldetik software proiektu ertain eta txikietan lana egitearen arduradunak lan talde txikiak dira edo analista-programatzaile den pertsona bakarra. Bere zailtasunaren arabera ertainak diren software proiektuetan hainbat fase daukate softwarea burutzeko. Fase horiek moldagarriak izan behar dira metodologia edo prozesuen garapenarekiko. Gainera, lan taldeak edo analista-programatzaileak, banakako lana baldin bada, fase horiek jarraitu behar ditu.

Software garapen prozesuak arau zehatz batzuk dituzte. Arau horiek aplikatu behar dira software proiektu handi eta ertainetan. Bestela posiblea da proiektua ez bukatzea , proiektua zeukan helburuak ez betetzea edo hainbat errore edukitzea. Bete beharreko prozesu horien artean prozesu arinak (adibidez XP),pisutsuak eta motelak(adibidez RUP), eta beste tarteko batzuk. Normalean softwarearen arabera aplikatzen dira, nagusiki proiektuaren garapen buruaren arabera.

Edozein software garapenerako erabili eta aplikatutako prozesurako ( RUP,FDD,XP honen adibideak dira) bizi zikloaren modelo bat egin behar da.

Estimatu da gutxi gorabehera software proiektu handien % 28 ez direla amaitzen beste % 46 aldaketa handiak jasan egiten dutela eta hau dela eta izugarrizko atzerapenak jasan egiten dutela eta falta den % 28 arazorik gabe amaitzen direla.

Softwarearen eboluzio izaera[aldatu | aldatu iturburu kodea]

Software ingeniaritzaren arabera, softwarea garapen prozesuaren deribazioaren produktua da. Produktu hau ebolutiboa da bere bizi zikloan zehar. Softwarea eboluzioa egiten duen bakoitzean bertsio hobeagoa batera aldatzen da. Beraz, aldaketa bat jasan ondoren bere aurrekaria zen bertsioa baino hobeagoa da hainbat arlotan adibidez optimizazioa eta itxuran.

Software bat eboluzioa egiteari uko egiten duenean bere bizi zikloa amaitu dela esaten da. Hori gertatzekotan zaharkituta geratuko da momentu batean eta beste bat ordezkatuko du zaharkitutako software horri.

Softwarea eboluzioak egiten ditu ingurune aldaketei aurre egiteko. Aldaketa hauek funtzionalitatekoak, operatiboak, plataformakoak edo hardwarekoak izan ditzakete.

Erreferentziak[aldatu | aldatu iturburu kodea]

Ikus, gainera[aldatu | aldatu iturburu kodea]

Kanpo estekak[aldatu | aldatu iturburu kodea]

  • Software Zientzia eta Teknologia Hiztegia.