Tartalom:
   
   

 

 

 A számítógépek kézzel közvetlenül meg nem fogható részeinek gyűjtőneve. A szoftver önmagában nem képes létezni, hanem mindig valamilyen hardvereszközön kerül tárolásra a számítógép által történő feldolgozásig.

 

Csoportosítás:

Rendszerszoftverek: A számítógép egyes részeinek zavartalan együttműködését biztosítják:

BIOS (alapvető bemeneti/kimeneti rendszer): olyan szoftver, amely a számítógépgép ROM típusú memóriájában található.

Feladata:

az egyes hardver elemek működésének irányítása, az alapvető gépi folyamatok vezérlése

Operációs rendszerek: olyan szoftverek, amelyek a számítógép működtetéséhez szükséges parancsokat értelmezni tudják és azokat végre is hajtják.

Feladatai:

a hardver kezelése, a programok betöltése az operatív tárba és azok futtatása, kapcsolattartás a futó programokkal és a felhasználóval, a háttértárak tartalmának kezelése, adatok kezelése és átvitele, megszakítás- és hibakezelés.

Rendszerközeli szoftverek:

Megkönnyítik az operációs rendszerek használatát (pl: Total Commander), segítik a programkészítést (pl.: Turbo Pascal programozási nyelv)

Alkalmazói és felhasználói szoftverek:

Valamilyen konkrét feladat megoldására kifejlesztett szoftver.
A fontosabb területek:

Szövegszerkesztés, adatbázis-kezelés, táblázatkezelés, az információ grafikus megjelenítése, számítógéppel támogatott tervezés, szimuláció, játék, szórakozás.

A szoftverfejlesztés struktúrája:

 

A szoftverfejlesztés területe magában foglalja mindazon elveket, módszereket és eszközöket, amelyek célja a programok megbízható és hatékony elkészítésének támogatása. A szoftverfejlesztés átfogó lépéseinek leírására több megközelítési mód létezik. A szoftver életciklusa a szoftver teljes élettartamát fogja át, a kezdeti elképzelésektől egészen a végső elavulásig.

A szoftverfejlesztés egyes lépései több szempontból is különböznek egymástól.

Az egyes fázisok viszonyait szemlélteti a szoftverfejlesztés piramisa:

 

A piramis az egyes lépések eredményeinek terjedelmét is tükrözi. Induláskor az ötlet, az igény leírható néhány oldalon, azonban a specifikációnál már egy könyv is megtelne az elkészült leírásból. A programozásnál több ezer programsor keletkezik, amelyet még nagyobb helyigényű gépi kódra alakítanak a végrehajtáshoz.

A szoftverfejlesztést csak hatékony segédeszközökkel lehet a mai igényeknek megfelelően elvégezni. Az eszközök lehetnek számítógépi segédprogramok, mint pl. a fordítók, de magukban foglalják a módszertani segédeszközöket is. A szoftverfejlesztés technikájának korai fejlődési szakaszára az volt a jellemző, hogy a munka jelentős része az emberre volt bízva, és egyéni döntései alapján, teljesen szabadon dolgozott. Ez azonban jelentős időráfordítással és az eredmény ad-hoc jellegével járt.

Napjainkban egyre nagyobb szerep jut a szoftverfejlesztést segítő programoknak, és a mind szélesebb területet lefedő fejlesztési módszereknek. Csak segítségükkel biztosítható a felgyorsult fejlesztési tempó mellett is a megbízhatóság, szemantikai helyesség, karbantarthatóság, rugalmasság, hordozhatóság követelményeinek betartása.

Az általános rendszerfejlesztési metodikák mellett minden területnek, így a szoftverfejlesztésnek is megvan a saját egyedi vonása jellege. A sajátos követelmények megnehezítik a tervezés folyamatát. Brooks összefoglalja a szoftverfejlesztési módszerek sajátos szoftvervonásait:

-  komplexitás: a szoftver egymáshoz kapcsolódó komplex tevékenységek, meg­kötöttségek és struktúrák leírására, leképzésére szolgál. A szoftver tükrözi a valós világ komplexitását, a tervező a valóságot különböző összetettségi szin­tekre képezheti le.

-   illeszthetőség: a szoftver nem önmagában működik, hanem meglévő hardver­ és szoftverkörnyezetben. Így problémamentesen kell illeszkednie azokhoz.

-   rugalmasság: a valós világnak az alkalmazási területet érintő változásait kö­vetni kell, ami a módosítások gyorsaságát és áttekinthetőségét igényli.

-   elvontság: a leírt programkód alapján az ember nem tudja érzékelni a műkö­dést, a megvalósulást (legalábbis bizonyos szoftverméret felett). Így nem le­het közvetlenül ellenőrizni a szoftver helyességét, csak próbálkozással, ami viszont nem ad abszolút megbízhatóságot.

A szoftvertervezés folyamata a szoftver fejlesztésének élettörténetébe tartozik. A tervezőnek számos és különböző forrásból származó információ alapján kell elké­szítenie a szoftver tervét, specifikációját.

A rendszertervezőnek átfogó ismeretekkel kell rendelkeznie több szakterületről is. Vi­takérdés, hogy mi könnyebb: átképezni egy programfejlesztőt az adott terület szakembe­révé, vagy egy szakembert megtanítani a programfejlesztés technikájára. Egyik sem könnyű feladat, ezért az egymáshoz közelítéssel, azaz két vagy több ember együttműködésével oldják meg a feladatot. A szoftverfejlesztés csoportmunkán alapul, mely a feladatok cél­szerű szétosztását, a munka koordinálását és ellenőrzését igényli.

 

 

 
©2006 Dobos Zsanett.