Programtervezés. Dr. Iványi Péter



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

Szoftvertesztelés - Bevezető

Programozási alapismeretek 1. előadás

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

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

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

A program II. A program életútja 2

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

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?

DW 9. előadás DW tervezése, DW-projekt

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.

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

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

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

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

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

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

Bevezetés a programozásba

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

INFORMATIKAI ALAPISMERETEK

A KÓDOLÁS TECHNIKAI ELVEI

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Követelmény alapú minőségbiztosítás az államigazgatásban

Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben)

Szoftverminőségbiztosítás

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

MIÉRT KELL TESZTELNI?

INFORMATIKAI ALAPISMERETEK

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Bevezetés. Dr. Iványi Péter

WebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW

1. Jelölje meg az összes igaz állítást a következők közül!

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

Autóipari beágyazott rendszerek. Kockázatelemzés

Programozás alapjai (ANSI C)

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Szoftverminőségbiztosítás

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

Bevezetés a programozásba előadás: Alapvető programtervezési elvek

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)

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

Objektumorientált Programozás III.

Modellek ellenőrzése és tesztelése

Programozás Minta programterv a 1. házi feladathoz 1.

ISO 9001 revízió Dokumentált információ

Programozási nyelvek (ADA)

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

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

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

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

A dokumentáció felépítése

Programzás I gyakorlat

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

Törley Gábor PROGRAMOZÁSI NYELVEK, KÖRNYEZETEK KIFEJEZŐEREJÉNEK VIZSGÁLATA

Tájékoztató. Használható segédeszköz: számológép

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

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

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok

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

INFORMATIKAI ALAPISMERETEK

Információtartalom vázlata

Szoftver értékelés és karbantartás

Időkönyvelő Projektfeladat specifikáció

Wigner Jenő Műszaki, Informatikai Középiskola és Kollégium -/-/ OKJ: Automatikai technikus szakképesítés.

30 MB INFORMATIKAI PROJEKTELLENŐR

Informatikai alkalmazásfejlesztő Információrendszer-elemző és - tervező

Értékelés a BUS programhoz elkészült termékek magyar változatáról Készítette: Animatus Kft. Jókay Tamás január 07.

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

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Bevezetés az informatikába

Projectvezetők képességei

Programrendszerek tanúsítása szoftverminőség mérése

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

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka

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

Földmérési és Távérzékelési Intézet

Szoftverminőségbiztosítás

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

Adatszerkezetek 1. Dr. Iványi Péter

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

C programozási nyelv

Bevezetés a programozásba. 5. Előadás: Tömbök

Nézzük tovább a lexikai egységeket!

Gyakorlati vizsgatevékenység B

A programozás alapjai

Versenyző kódja: 3 27/2012. (VIII. 27.) NGM rendelet MAGYAR KERESKEDELMI ÉS IPARKAMARA. Szakma Kiváló Tanulója Verseny.

E-learning tananyagfejlesztő képzés tematika oktatott modulok

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

A C programozási nyelv I. Bevezetés

Rekurzió. Dr. Iványi Péter

A C programozási nyelv I. Bevezetés

Tartalommenedzser képzés tematika oktatott modulok

Gyakorlati feladat. Megoldókulccsal. Segédanyag 1 (4) május 25.

A TESZTELÉS ALAPJAI A TESZTELÉS ALAPVETŐ FOLYAMATA A TESZTELÉS PSZICHOLÓGIÁJA A TESZTELÉS ETIKAI KÓDEXE

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Képzési program. A képzés megnevezése: CNC szerviz technológus. 1. A képzéssel megszerezhető kompetenciák:

Átírás:

Programtervezés Dr. Iványi Péter 1

A programozás lépései 2

Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3

Feladat megfogalmazása Egyértelmű Teljes, minden részletre kiterjedő Érthető áttekinthető Pontos, szabatos Tömör, lényegretörő Szemléletes 4

Input adatok Mik az input adatok? Adatok értéktartománya Beviteli formátum Hogyan kell befejezni a bevitelt? Hibás adatok javíthatók-e, hogyan? Speciális előírások Kapcsolat adatok között Ellenőrzési lehetőségek 5

Output adatok Milyen adatot kell megjeleníteni? Milyen formátumban? Adatok megőrzése későbbre, milyen formátumban 6

Szokásos hibák 1. Nem teljesen tisztázott feladat 2. Nem egyértelmű fogalmak (pl. második legnagyobb) 3. Félrevezető szöveges leírás 4. Áttekinthetetlen megfogalmazás 5. A hogyanról szól a mit helyett 7

Tervezés Az összegyűjtött információt figyelembe véve a végleges adat szerkezetek és algoritmusok kidolgozása 8

Tervezési módszer A számítástechnika lehetőségei Milyen számítógépre, milyen rendszerre épül? A feladat nagyságrendje A csapat felkészültsége Rendelkezésre álló szoftverek Hagyományok, szabványok Anyagi fedezet 9

Elkészítés Tesztelés fejben Mi történik ha...? Program terv Ha hibátlan kész a feladat 10

Programírás Kódolás Programtervnek megfelelő forráskód Követi a programtervet Áttekinthető Tömör és egyértelmű megjegyzésekkel el van látva 11

Tesztelés A programozó maga is tesztel Próba adatokkal Célja: A programtervnek megfelelően működik? Van-e input adat amire leáll, vagy hibásan működik? Hatékony-e? Biztonságos? Felhasználóbarát? 12

Formai ellenőrzés Statikus tesztelés Automatizálható Minden utasítást legalább egyszer végre kell hajtani Kódellenőrzés Algoritmus vizsgálata (átolvasás) Ellentmondás keresés Kezdőérték nélkül használunk változót Kétszer adunk kezdőértéket 13

Statikus tesztelés inicializálatlan változó felhasználatlan változó végrehajthatatlan utasítás végtelen ciklus típuskeveredés azonosan igaz vagy hamis feltétel konstans értékű, változókat tartalmazó kifejezés 14

Dinamikus tesztelés Működés közben vizsgáljuk Fekete doboz módszer (adat vezérelt) A kód ismerete nélkül Minden adatot nem lehet tesztelni ezért teszt csoportok létrehozása Érvénytelen adatokból is kell teszt csoportot létrehozni Határesetek vizsgálata! 15

Fehér doboz módszer Ismerjük a kódot Dinamikus tesztelés Utasítás lefedés: minden utasítást legalább egyszer végrehajtjuk Döntés lefedés Részfeltétel lefedés... 16

Dinamikus tesztelés Volumen teszt (sok adat) Stressz teszt Nagy mennyiségű gyorsan érkező adattal Meghatározott időn belül hajtson végre egy feladatot Biztonsági teszt Vannak-e ellenőrzések 17

Hibakeresés Lényege: a felfedett hibajelenség okozójának megtalálása. 1. Eszközök használata előtt alapos végiggondolás 2. Csak akkor javítani, ha megtaláltuk a hibát 3. Egy megtalált hiba a program más részeiben is okozhat hibát 4. A hibák száma, súlyossága a program méretével nemlineárisan nő 5. Egyformán fontos, hogy miért nem csinálja, amit várunk, illetve, hogy miért csinál olyat, amit nem várunk 18

Hibajavítás Lényege: a megtalált hiba kijavítása. 1. A hiba kijavítása a program más részében okozhat hibát 2. A hibát kell javítani és nem a tüneteit 3. A jó javítás valószínűsége a program méretével fordítva arányos 4. A hibajavítás a tervezési fázisba is visszanyulhat 19

Hibakeresési eszközök Memória, változó kiírás Nyomkövetés (vezérlés, változók), hibától visszafelé Töréspont elhelyezése A hiba helyének és okának kijelzése Speciális ellenőrzések (pl. indexhatár) Lépésenkénti végrehajtás Állapotellenőrzés 20

Dokumentálás A program elkészülte után is kell dokumentációt készíteni Fejlesztői Felhasználói 21

Dokumentálás Fejlesztői dokumentáció specifikáció, követelményanalízis algoritmusok leírása, döntések, más alternatívák, érvek, magyarázatok adatleírás kód, implementációs szabványok, döntések tesztesetek hatékonysági mérések környezetleírás fejlesztési lehetőségek 22

Dokumentálás Felhasználói dokumentáció feladat (összefoglaló és részletes is) környezetleírás használat leírása (betöltés, lehetséges válaszok,...) bemenő adatok, eredmények, szolgáltatások mintaalkalmazás -példafutás hibaüzenetek és a hibák lehetséges okai 23