Számítógép-programozás
From Wikipedia, the free encyclopedia
A számítógép-programozás (vagy egyszerűen programozás) egy vagy több absztrakt algoritmus megvalósítását jelenti egy bizonyos programozási nyelven. A programozásban megtaláljuk a művészet, a tudomány, a matematika és a mérnöki tudomány elemeit.

A rendszerfejlesztés a programozást (az implementációt) a szoftverfejlesztés egyik lépéseként kezeli. A rendszerfejlesztés eszköztárát a feladat nagyságától, illetve céljától függően használják fel a programozás során: a szabványos modellező és rendszerfejlesztési módszertanok, projektmenedzsment, gyors alkalmazásfejlesztés, programverifikáció stb.
Története
Neumann-elvek, a tárolt programú számítógép
„ A. M. Turing angol matematikai logikus 1927-ben kimutatta (és a számológépi technika számos szakértője azóta különféle módokon gyakorlatilag is bebizonyította), hogy olyan programutasításokat is ki lehet dolgozni egy számológép számára, amelyek arra késztetik, hogy valamely más – pontosan meghatározott működésű – számológép módjára viselkedjék. Az ilyen utasításrendszereket, amelyek révén egy gép utánozza egy másik gép viselkedését… programoknak nevezzük.”
- Neumann János: A számológép és az agy, 1945[1]

- Teljesen elektronikus működés (ez Neumann idejében elektroncsöves felépítést jelentett, amit később a tranzisztoros, majd az integrált áramkörös felépítés követett)
- Kettes számrendszer használata (az összes művelet, pl. összeadás, szorzás, kettes számrendszerbeli logikai műveletekre redukálható)
- Belső memória használata
- Tárolt program elve. A számításokhoz szükséges adatokat és programutasításokat a gép azonos módon, egyaránt a belső memóriában (operatív tár) tárolja.[2]
- Soros utasításvégrehajtás (az utasítások végrehajtása időben egymás után történjen; ennek egy alternatívája a párhuzamos utasításvégrehajtás, amikor több utasítás egyidejűleg is végrehajtható: ezt a lehetőséget Neumann elvetette)
- Univerzális felhasználhatóság, Turing-gép (programozhatóság; a különböző feladatok programokkal legyenek megoldva, nem pedig erre a célra épített hardverrel)
- Szerkezet: öt funkcionális egység (aritmetikai egység, központi vezérlőegység, memóriák, bemeneti és kimeneti egységek)[3]
Programrendszerek és nagyméretű adatbázisok tervezésének és fejlesztésének elvei
A számítógép-programozás mai tudománya az 1980-as évektől kezdett kialakulni, amikor már komplett programrendszerekre volt szükség, amelyek nagyméretű adatbázisokat használtak.
Szabványos programtervezési, algoritmusleíró eszközök, módszertanok



A különféle programtervező, algoritmusleíró és vezérlő szerkezetek a programozási feladat műveletekre bontását, és az elemi műveletek végrehajtási sorrendjét írják le.
A módszertanok mindegyike abból indul ki, hogy egy program algoritmusa háromféle típusú vezérlési szerkezet segítségével írható le:
- Szekvencia: a sorban egymást követő elemi utasítások végrehajtása
- Szelekció: feltétel(ek)től függő tevékenység(ek) végrehajtása, több irányban folytatva az előrehaladást
- Iteráció: ismétlési szerkezet, elemi utasítások ciklikus végrehajtása feltétel alapján
Az idők során különféle módszertanok és grafikus – a program algoritmusának vizuális leírására alkalmas – tervezési eszközök jöttek létre:
- Folyamatábra (Control flow graph)
- Struktogram (Chapin-chart)
- Jackson-diagram (JSP diagram)
Szoftverfejlesztés
A szoftver egy gyűjtőnév a számítógépes programokra és adatokra. A dokumentáció is a szoftver szerves részét képezi, bár ez nincs benne a programban.
A szoftvertervezés részei:
- A megoldandó probléma meghatározása, felmérése a majdani felhasználók igényei alapján, specifikáció készítése
- Valamely programtervezési módszerrel a programszerkezet megalkotása és a használandó eszközök kiválasztása. (Hardver platform, nyelvek, adatok stb…)
- Forrásprogram elkészítése (kódolás)
- A kész program tesztelése
- Dokumentáció készítése, mely tartalmazza a szoftvertervezés fázisaiban keletkezett adatokat (felhasználói leírás, igényfelmérés, programtervek, algoritmusok, forráskód, tesztelési jegyzőkönyvek stb.), fő célja a szoftver későbbi fejlesztésének elősegítése.
A fenti pontok a program elkészültéig ismétlődnek. A „megoldandó probléma” és a „platform” a nehezebb döntések közé tartozik, mert ezeken a későbbiek során nehéz változtatni. A program kódolása, a tesztelés és a dokumentáció írása (jó esetben) egymást felváltva, a program elkészültéig zajlik.
A nagyobb rendszerfejlesztési projektek sikerét nagyban megnöveli a szabványos rendszerfejlesztési módszertanok (például SSADM) és a gyors alkalmazásfejlesztés használata.
Jegyzetek
Források
Kapcsolódó szócikkek
További információk
Wikiwand - on
Seamless Wikipedia browsing. On steroids.