A program II. A program életútja 2

Hasonló dokumentumok
Programtervezés. Dr. Iványi Péter

Programozási alapismeretek 1. előadás

A szabványosítás rendszere, egyes szabványfajták kapcsolódása: MSZ IEC: nemzetközi szabvány honosítása (elektrotechnika)

Programozás alapjai Bevezetés

Webprogramozás szakkör

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Algoritmizálás, adatmodellezés tanítása 6. előadás

Java programozási nyelv

Programozás alapjai (ANSI C)

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Verifikáció és validáció Általános bevezető

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Adatszerkezetek és algoritmusok

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

INFORMATIKA 1-4. évfolyam

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

INFORMATIKAI ALAPISMERETEK

A feladat címe, rövid emlékeztetje

Bánsághi Anna Bánsághi Anna 1 of 54

Programozási nyelvek (ADA)

Név: Neptun kód: Pontszám:

INFORMATIKAI ALAPISMERETEK

Algoritmizálás és adatmodellezés tanítása 1. előadás

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Programzás I gyakorlat

A KÓDOLÁS TECHNIKAI ELVEI

Mintavételes szabályozás mikrovezérlő segítségével

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Szoftverminőségbiztosítás

8. gyakorlat Pointerek, dinamikus memóriakezelés

rank(a) == rank([a b])

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Regionális forduló november 19.

Időkönyvelő Projektfeladat specifikáció

Podoski Péter és Zabb László

Széchenyi István Szakképző Iskola

TERC V.I.P. hardverkulcs regisztráció

cím: 6725 Szeged Bokor u. 18. telefon: Innomedio Kft Scrum módszertan 1.0 Verzió Érvényes: április 1-től

4. Használati útmutatás

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Információtartalom vázlata

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Regionális forduló november 19.

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

A.26. Hagyományos és korszerű tervezési eljárások

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

INFORMATIKAI ALAPISMERETEK

Elemi alkalmazások fejlesztése I.

Internetes alkalmazásfejlesztő képzés tematika oktatott modulok

Kompetens szoftvertesztelés a gyakorlatban II. zárthelyi dolgozat

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Aritmetikai kifejezések lengyelformára hozása

Biztonsági folyamatirányító. rendszerek szoftvere

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Informatika tanítási módszerek

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

5. tétel. Álláspályázati kiírást lát az interneten, ahol informatikust keresnek.

Python bevezető foglalkozás Python bevezető foglalkozás

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

A C programozási nyelv II. Utasítások. A függvény.

Szoftver karbantartási lépések ellenőrzése

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

Az informatika kulcsfogalmai

Az azonosító számú, Internetes alkalmazásfejlesztő megnevezésű elágazás szakmai követelménymoduljainak

minic studio Melinda Steel Weboldal kivitelezési árajánlat

KÖNYVTÁRRENDSZER. Igen

Bevezetés a programozásba

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Occam 1. Készítette: Szabó Éva

S z á m í t ó g é p e s a l a p i s m e r e t e k

Modellek dokumentálása

A szerzõrõl... xi Bevezetés... xiii

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

Szoftvertesztelés - Bevezető

Programozási segédlet

Internet programozása. 1. előadás

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Feladataink, kötelességeink, önkéntes és szabadidős tevékenységeink elvégzése, a közösségi életformák gyakorlása döntések sorozatából tevődik össze.

Szkriptnyelvek. 1. UNIX shell

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba

Fordítóprogramok. Aszalós László szeptember 7.

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Kivételkezelés. Tesztelés, hibakeresés, kivételkezelés. Programozás II. előadás. Szénási Sándor

Programozás alapjai. 7. előadás

Szoftver újrafelhasználás

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Jogi Behajtási Keretrendszer és moduljai üzemeltetése

Átírás:

A program II. A program életútja 2 A program elkészítése egy gyártási folyamat, melynek több fázisát különböztetjük meg. A fázisokon való végighaladást a program életútjának szokás nevezni. Feladatmegfogalmazás A program megrendel je megfogalmazza elvárásait, igényét köznapi vagy a megrendel szakmai nyelvén. Jobb helyeken a megrendel vel a rendszerszervez tárgyal, akinek feladata a megrendel szakmájának olyan szint ismerete, hogy eldönthesse a feladatról, hogy az mennyire számítógépesíthet, milyen hardverigény, létezik-e a probléma megoldására már kész szoftver. Továbbá milyen átalakításokat igényel a hagyományos folyamat a gépesítéshez. A rendszerszervez feladata az is, hogy közelít leg megbecsüli a szoftver elkészítési idejét és költségét. A feladat megfogalmazása legyen pontos, egyértelm, teljes; rövid, tömör formalizált; szemléletes, érthet, tagolt formájú. Egyértelm en és pontosan azt a feladatot és úgy oldja meg, ahogy azt a feladat kit z je elvárja. Specifikáció, algoritmustervezés A rendszerszervez, a programozó és a megrendel pontosan meghatározzák az alkalmazás feltételeit és határait, a lehetséges továbbfejlesztési irányokat. A feladatot a lehet legpontosabban leírják, ez lesz a programozó irányt je a továbbiakban. Az elkészült specifikáció a szakmai nyelv mellett tartalmazza a programozói szóhasználatot is a megrendel, felhasználó számára is érthet és ellen rizhet formában. A program legf bb részeit valamilyen módon meg kell terveznünk. E terv leírása különösen fontos a kés bbi teszteléshez, a dokumentáláshoz. A program tervez je ekkor állítja össze a menüszerkezetet, elkészíti a képerny terveket, meghatározza az adatábrázolási módokat. Különböz algoritmus-leíró eszközöket használhat a programozó (mondatszer leírás, folyamatábra, struktogram, struktúra diagram). 2 Melléklet: pralap_ii.ppt 2.

Kódolás A megtervezett program megvalósítása valamilyen programozási nyelv felhasználásával. A programnyelv kiválasztásakor figyelembe kell venni a programozási feladat jellegét, a már rendelkezésre álló programrészleteket, és a programot futtató rendszer jellemz it. Ha a kódolás során elakadunk, akkor a változtatásokat, új megoldási utakat az algoritmustervbe is fel kell vennünk. Ha nagyobb problémával kerülünk szembe, akkor akár a specifikációt is meg kell változtatnunk, és újra kell terveznünk algoritmusaink egy részét. A kódolás folyamata alatt újabb tesztadatokat gy jthetünk össze. A kés bbi könnyebb módosítás és továbbfejlesztés érdekében célszer megjegyzéseket is tenni a kódba. Tesztelés A program nyelvi helyességét általában az adott nyelv végzi. A széls és extrém, kifejezetten abnormális adatbevitelek, normális esetek vizsgálata nagyon fontos! Teszteléskor a cél az, hogy minél több hibát felderítsünk. Az els lépés, hogy megvizsgáljuk a program szövegét, tényleg azt írtuk-e le, amit akartunk. Következ lépés: m ködés közben vizsgáljuk a programot. Különböz bemen adatokra a megfelel kimenetet adja-e? Fontos, hogy minden lényeges esetet megvizsgáljunk. Pl. Ha egy számról el kell dönteni, hogy prímszám-e, akkor próbáljuk ki egy prímszámra, egy nem prímre, az -re és a 2-re is. Olyan bemen adatot is meg kell vizsgálni, ami a feladat szempontjából határesetnek min sül (pl. nullával való osztás). Vizsgálni kell azt is, hogy a program az el forduló hibalehet ségeket hogyan kezeli (rossz típusú adat esetén mi történik). Programozási típushibák - Gépelési hiba - Azonosító hibás megadása - Vezérlésátadási hiba (ciklusoknál rossz feltétel, case szerkezet hibás, eljárások függvények hívás, elágazás szervezési hibák, utasítások maradnak ki) - Végtelen ciklus - Változó hibái: pl.: nem kap kezd értéket, értékhatáron kívüli értéket kap, változószaporítás stb. - Inputadat hiba - Aritmetikai és logikai kifejezések hibái: pl.: zárójelezés, precedencia sorrend figyelmen kívül hagyása, operátorok megkeverése - Tömbökkel kapcsolatos hibák: pl.: méretezés, túlindexelés - Eljárásokkal kapcsolatos hibák: pl.: paraméterátadási hiba, változók lokalitásának figyelmen kívül hagyása, értékátadás - File-kezelési hibák: pl.: nyitás, zárás, kimarad az utolsó rekord, a file-mutatót nem jól kezeljük "Nincs tökéletes program, csak olyan, amelyiknek még nem találták meg a hibáit!" (Wirth) Statikus tesztelési módszer - szárazteszt: a program számítógép nélküli formális ellen rzése (kódellen rzés, egyeztetés az algoritmussal, szemantikai vagy logikai ellen rzés: nem követtünk-e el logikai hibát; a szintaktikai ellen rzés fordításkor kiderül) 3.

Dinamikus tesztelés - fekete doboz tesztelés: logikailag ellen rizzük a programot a program input-output adatain keresztül a forrásprogram ismerete nélkül (csak specifikáció alapján - nem ismert a m ködés) - az adatokat olyan csoportok szerint vizsgáljuk, ahol a csoport minden tagja egyformán viselkedik (ekvivalens állítások) - határesetek vizsgálata - fehér doboz tesztelés: a forrásprogram tételes ellen rzése különböz szempontok, stratégiák szerint - kipróbálási stratégiát készítünk (globális változók nyomkövetése, eljárások tesztelésének sorrendje, paraméterátadás figyelése) - tesztadatok generálása - útvonalak tesztelése: minden útvonalat be kell járni a programban (elágazásnál!) - csomópont tesztelés: a program minden csomópontján a logikai kifejezések minden részkifejezése vegye fel az összes lehetséges értéket Speciális tesztek - a konkrét esetvizsgálat nem a program helyességér l gy z meg, hanem konkrét szituációt elemez - a funkcióteszt azt vizsgálja, hogy az adott funkciót megoldja-e a program - biztonsági teszt: a program biztonságos m ködését vizsgálja, I/O hibákat figyeli, ellen rzi Hibakeresési eszközök, tesztelési eszközök - modulvégrehajtás: a program egészét l függetlenül a paraméterek változtatásával hajtjuk végre - kiíratjuk a változók értékét - nyomkövetés - utasításonként - programsoronként - logikai egységenként, modulonként - változó figyelés - folyamatos - adott feltételt l, szituációtól függ - töréspont elhelyezése - állapotellen rzés a program futása közben az adatok megjelenítésére részfeltételeket lehet hárítani (pl. rendezés ) Hibakeresés, javítás Program szövegének vizsgálata. El fordul, hogy egy hiba kijavítása után több hiba keletkezik. A hibakeresés a teszteléssel szorosan összekapcsolódik. A korszer bb fejleszt rendszerekben különböz hibakeres eszközök is rendelkezésre állnak: - az egyes változókat nyomon követhetjük a futás során, láthatjuk az aktuális értéküket - lépésenkénti végrehajtás: a programot a program szövege alapján utasításonként végrehajthatjuk - töréspontok elhelyezése: a program futása a programban elhelyezett töréspontig tart, majd innen folytathatjuk a végrehajtást 4.

Hatékonyságvizsgálat Az elkészült programot vizsgálni kell a futási id és a tárfelhasználás szempontjából, ezeknek a minimalizálására kell törekedni. Dokumentálás A programot érdemes magyarázó megjegyzésekkel ellátni a kés bbi fejlesztési munkák megkönnyítéséhez, illetve m ködésének megértéséhez. Üzembehelyezés, karbantartás A felhasználó megismeri a végleges verziót. A programozó kiképezi a felhasználót a program m ködtetésére. A felhasználó ellen rizheti, hogy a program a kívánt feladatokat oldja-e meg. Valódi üzemi körülmények között megtörténik egy átfogó tesztelés. Amennyiben a program használata során rendellenességek tapasztalhatók, akkor a fejleszt nek azt kötelessége a garanciális id n belül kijavítani. 5.

A dokumentáció Felhasználói kézikönyv (User Guide) A dokumentációk közül talán a legfontosabb. Részletesen tartalmaznia kell a program telepítését, indítását, használatát. Ki kell terjednie a program által elvégezhet összes funkcióra. Rendszerint képerny mintákkal, példákkal illusztrált. Tartalmazza az esetleges hibaüzeneteket és a kapcsolódó hibák elkerülésének, kijavításának lehet ségeit. A dokumentációnak olyan részletesnek kell lennie, hogy a legkevesebb hozzáértéssel is használni lehessen, hiszen ez nem szakembereknek készül els sorban. Általában kinyomtatott formában megvásárolható, ill. mai követelményeknek megfelel en HTML vagy PDF formátumban olvashatóak. Tartalma: - futtatáshoz szükséges géptípus, konfiguráció, hardverkörnyezet - a futáshoz szükséges szoftverek, operációs rendszer, szoftverkörnyezet - program közérthet nyelv specifikációja - kész program fontosabb paraméterei - speciális elnevezések - telepítés, installálás menete - program használatának részletes leírása - mintahasználat - hibajelzések leírása - hibák kezelésének leírása - program képességei, alkalmazási köre - menürendszer leírása - képerny képek Fejleszt i kézikönyv (Programming Guide) Ha egy program úgy kerül eladásra, hogy annak fejlesztési jogát is megvásárolják, akkor annak elengedhetetlenül tartalmaznia kell egy olyan dokumentációt, melynek birtokában egy másik programozó szükség esetén elvégezheti a módosításokat, hibajavításokat. Tartalma: - algoritmus részletes leírása - programban szerepl adatok leírása, változótáblák - program fejlesztési lehet ségei - program teljes listája - futás id eredmények Operátori kézikönyv (Installing Guide) Egyfelhasználós környezetben általában a felhasználói kézikönyv tartalmazza az üzemeltetési, operátori teend ket, mivel ott az nem válik szét. Többfelhasználós környezetben azonban az operátori teend ket leíró dokumentációnak tartalmaznia kell a program telepítésének menetét, szükséges konfigurációját, beállításokat. Leírja a program indítását, paraméterezését. El írja a szükséges mentések idejét, módját menetét. Az el forduló hibaüzenetek részletes leírását, valamint a hibák megszüntetésének módját. 6.