2. Egy épületgépészeti berendezéseket és kiegészítő eszközeit gyártó és forgalmazó vállalatnál dolgozik műszaki informatikusként. Az Ön feladata a termékek műszaki tervdokumentációinak nyilvántartása, rendszerezése és ellenőrzése valamint a gyártási folyamatban résztvevő kollégák műszaki tervdokumentációval történő ellátása. Feladatainak folyamatos bővülése indokolttá tesz egy műszaki dokumentációt nyilvántartó rendszer létrehozását. Sorolja fel a műszaki rajz készítésére vonatkozó legfontosabb szabványokat! Műszaki rajz alapfogalmak: Definíció: A műszaki rajz információhordozón (papíron, mikrofilmen, mágneslemezen) rögzített, egyezményes szabályoknak megfelelően, grafikusan ábrázolt műszaki információ, amely rendszerint méretarányos. A műszaki rajzokkal kapcsolatos elnevezéseket, a rajzok alaki követelményeit (rajzlapméretek, vonalak) szabványok tartalmazzák. Ugyancsak szabványok írják elő a tárgyak műszaki ábrázolásának és méretmegadásának szabályait is. A műszaki gondolatok egyértelmű közlésének és azok megértésének vagyis a műszaki kommunikációnak alapfeltétele a vonatkozó szabványok alapos ismerete. A műszaki rajz a mérnökök közötti kommunikáció elsődleges formája. A műszaki rajz egy olyan dokumentum, amely a tervező elképzeléseit, elgondolásait rögzíti és közvetíti a gépen dolgozó, illetve a szerelést és ellenőrzést végző dolgozónak. A rajznak egyszerűnek, és egyértelműnek kell lennie. A Műszaki rajz csoportosítása: Szakma szerint: építész rajz, géprajz, villamos rajz Célja szerint: elvi rajz, műhely rajz, hálózati rajz, kapcsolási rajz, Kidolgozás módja szerint: vázlatrajz, szerkesztett rajz, ceruzarajz, tusrajz Szabványosítás: Tömegszerű gyártásban elvárjuk a különböző jellemzők állandóságát. A termékek jellemzőinek egységesítését szabványosításnak nevezzük. Az egységes értelmezést az egységes jelképrendszer biztosítja (pl. jelentéstartalommal ruházunk fel vonalakat). A szabvány fogalma: A szabvány elismert szervezet által alkotott vagy jóváhagyott, közmegegyezéssel elfogadott olyan műszaki (technikai) dokumentum, amely tevékenységre, vagy azok eredményére vonatkozik, és olyan általános és ismételten alkalmazható szabályokat, útmutatókat vagy jellemzőket tartalmaz, amelyek alkalmazásával a rendezőhatás az adott feltételek között a legkedvezőbb. A szabványok alkalmazásának előnyei: rendeltetésszerű használatra való alkalmasság: anyagösszetétel előírása, szakítószilárdság, folyáshatár, stb. kompatibilitás: összetartozó elemek méreteinek összehangolása, pl.: csap-persely átmérők, tűrések csereszabatosság: pl.: villanyégő foglalat termékvédelem: csomagolási, szállítási, kezelési, előírások, kölcsönös megértés: egységes jelek, műszaki rajz szabványok azonosíthatóság: tevékenység és eredmény összemérhető vizsgálatok: a vizsgálatok eredményei összehasonlíthatók,
választékrendezés: gazdaságos méretsorok: tengelycsonk méretek, csavarméretek, biztonság és környezetvédelem : a termékek és működésük a környezetet nem veszélyeztethetik, pl.: érintésvédelem A szabványosítás rendszere, egyes szabványfajták kapcsolódása: MSZ: nemzeti szabvány ISO: nemzetközi szabvány EN: európai szabvány MSZ EN: európai uniós szabvány honosítása MSZ ISO: nemzetközi szabvány honosítása MSZ IEC: nemzetközi szabvány honosítása (elektrotechnika) MSZ EN ISO: az Európai Unió által is elfogadott nemzetközi szabvány. Rajzeszközök, vonaltípusok, síkmértani szerkesztésre vonatkozó szabályok, a szabványos ábrázolási módok. A rajzeszközök: A műszaki rajz készítéséhez grafitceruzát kell használni. Fontos, hogy a grafitceruza megfelelően kialakított heggyel rendelkezzen, rajzi feladatnak megfelelő keménységű legyen, ez határozza meg a vonal "színét", valamint kopásából adódóan a vonal vastagságát is befolyásolja. Körök, körívek rajzolásához jó minőségű, megfelelő heggyel rendelkező körzőt kell alkalmazni. A ceruzás rajz javításához, szerkesztővonalak eltávolításához puha fehér radírt kell használni. A tusrajz korrigálásához arra alkalmas tusradírt alkalmazzunk. A rajzok készítéséhez fontos eszközök a vonalzók, melyek hosszmérésre és az egyenes vonalak rajzolására alkalmasak. Szakszerű alkalmazásuk megköveteli szögeinek ismeretét. Alkalmazhatók még a rajzoláshoz különböző görbevonalzók, rádiuszsablonok, ellipszis vonalzók és betűsablonok is. A tusrajzok a ceruzás rajzokról készülnek pauszpapírra, vagy fóliára. Eszközük az erre a célra kialakított tuskihúzó. A pauszpapírra készített tusrajz alkalmas a hagyományos fénymásolási technikával történő másolatok készítésére. Ezt az eljárást már ritkán alkalmazzák. A fóliára készült tusrajzokat korszerű fénymásoló gépeken lehet sokszorosítani. CAD, vagyis a számítógépes tervezés eszközei: A CAD rajzolás eszközei a számítógép és tartozékai, valamint egy CAD szoftver. Szükséges továbbá a számítógép használatának ismerete és a CAD szoftver ismerete is. A műszaki dokumentáció elkészítéséhez kell még nyomtató vagy plotter. A Szabványírás jellemzőit az MSZ ISO 3098-1, valamint az MSZ ISO 3098-3:1992 szabvány tartalmazza.
A műszaki rajzok felirataira vonatkozóan a következőket kell betartani: 1. Olvashatóság: az alak és írásjelek a szabványban megadott alakúak és méretűek legyenek! 2. Egységesség: a dokumentációban lévő összes rajzon az írás típusa, helyzete, alkalmazásának módszere, stílusa azonos legyen! 3. Alkalmasság a mikrofilmezésre és egyéb reprodukálásra: két szomszédos vonal közötti távolság, illetve a betűköz a vonalvastagság kétszerese legyen! A műszaki rajzokon alkalmazható írásjelek méreteit az alábbi táblázat tartalmazza. A Vonalfajták a műszaki rajzokon alkalmazható vonalfajtákat az MSZ ISO 128 előírásai szerint kell alkalmazni. A vonalfajtákat az alábbi táblázat tartalmazza:
Síkmértani szerkesztések: A rajzeszközök minősége, rendkívül fontos, a kézi rajzolás sikerét nagymértékben meghatározza. Fontos még a rajzoláshoz való hozzáállás, a nyugodt, tiszta körülmények, de elengedhetetlenek azok az ismeretek, amelyek a rajzok elkészítéséhez szükségesek. Egyszerű síkidomok szerkesztésének ismereteit feltételezve, a "Szakmai információtartalom" csak néhány, gyakran alkalmazott szerkesztési eljárást ismertet. 1. Merőleges szerkesztése 2. Párhuzamos szerkesztése adott távolságra 3. Az érintőkör szerkesztése két egyeneshez A műszaki ábrázolás módszerei: Ábrázolás nézetekkel: A műszaki ábrázoláshoz tartozik néhány szakkifejezés, melyeket meg kell tanulni. - A vetítési módszer meghatározott ábrázolási szabályok elnevezése. - A képsík az a sík, amelyre a tárgy alakzatát vetítjük, ábrázoljuk. - Koordináta-rendszer a tér egyes pontjainak egymáshoz viszonyított helyzetét határozza meg. Derékszögű koordináta-rendszer, Polár koordináta-rendszer, Henger koordinátarendszer - A koordináta-rendszerek tengelyei a koordinátatengelyek. - Derékszögű koordináta rendszernek három tengelye van, melyek egymásra merőlegesek, és egy közös metszéspontjuk van. A párhuzamos vetítés vetítővonalai párhuzamosak, eltérően a perspektivikus ábrázolástól. Jellemzően a merőleges vetítésnél alkalmazzuk, mellyel merőleges vetületi ábrázolást hozunk létre. Az első térnegyedbeli vetítés az európai vetítés merőleges vetítés, a tárgyat a képsíkok előtt helyezzük el. A második térnegyedbeli vetítés az amerikai vetítés, a tárgyat a képsíkok mögött helyezzük el. Szabályaik az ábrán láthatóak. A hazai gyakorlatban az európai vetítési mód a szokásos és, elfogadható, az amerikai vetítési mód, és jelölésének ismerete fontos az így készült rajzok értelmezésénél. A vetítési mód jelét a rajzok szövegmezőjében fel kell tüntetni. Axonometrikus ábrázolás: Az axonometrikus ábrázolás szabályokkal behatárolt térhatású ábrázolás. A tárgyak valóságos térbeli képein a párhuzamos élek egy pontban futnak össze, a távolság növekedésével a méretek csökkenni látszanak. Az axonometrikus ábrázolás során ezt nem vesszük figyelembe, a párhuzamos éleket párhuzamosra rajzoljuk, csökkenő méretek helyett pedig megállapodás szerinti méretarányt alkalmazunk. Több módszere van, melyek alapvetően a koordináta tengelyek elhelyezésében, valamint az alkalmazott méretarányban különböznek egymástól. Az axonometrikus ábrázolás fajtái: Egyméretű (izometrikus) axonometria Kétméretű (dimetrikus) axonometria Frontális (cavalier) axonometria Érdekes és sokatmondó ábrázolási mód a robbantott ábra.
Ábrázolás metszetekkel: A tárgyak belső részleteit, üregeit a nézeti képen nem látjuk. A belső formarészletek megmutatására szaggatott vonalakat alkalmazhatunk. A nem látható élek szaggatott vonalas ábrázolása azonban nem mindig egyértelmű, különösen, ha bonyolult a tárgy belseje. Ezért ezeket a tárgyakat metszetben ábrázoljuk. A metszeti ábrázolás lényege, hogy a tárgyat egy metszősíkkal képzeletben elmetszzük, és így ábrázoljuk. Ezt a módszert metszeti ábrázolásnak nevezzük. A metszeti ábrázolás fajtái: - Egyszerű metszet, - Teljes metszet, - Egy síkkal való metszés, - Fél metszet - Részmetszet - Lépcsős metszet - Befordított metszet Állapotdiagram, szekvencia diagram, használati esetek diagramja Statikus és dinamikus modellek: - Statikus modell (osztálydiagram, objektumdiagram). - Dinamikus modell (állapotdiagram, szekvencia diagram, együttműködési diagram, aktivációs diagram). Az állapotdiagram: Az események és állapotok sorozatát állapotdiagramban írhatjuk le. Amikor egy objektum vesz egy üzenetet (esemény), akkor az arra adott válasz függ az üzenettől és a pillanatnyi állapottól. A válasz része lehet, hogy az objektum új állapotba jut. Ezt állapotváltásnak, vagy állapotátmenetnek, röviden átmenetnek nevezzük. Az állapotdiagram olyan gráf, amelynek csomópontjai az objektum állapotai, élei pedig az események hatására bekövetkező átmenetek. Egy adott állapotból kivezető különböző átmenetek különböző eseményekhez tartoznak. Egy állapotdiagram mindig az egész osztály viselkedését írja le. Mivel az adott osztály valamennyi példánya egyformán viselkedik, valamennyi ugyanazon attribútumokkal és állapotdiagrammal rendelkezik. Mivel mindegyik példány önálló, a többitől függetlenül létező, az egyes példányok pillanatnyi állapotát a konkrétan őket ért hatások határozzák meg. Azaz a különböző példányok különböző állapotban lehetnek. Szekvenciadiagram: a rendszer működésének leírása - az objektumok egymásnak üzeneteket küldhetnek, ezek között időbeni sorrend van Alapfogalmak: osztályszerep, osztályszerep életvonala, aktivizációs életvonal, üzenet. - objektum létrehozása, megsemmisítése az objektrum létrejön egy másik objektum által küldött üzenet hatására, és meg is semmisíthető - objektum aktivizációja Életvonala során az objektum aktív módon viselkedhet, amíg valamilyen tevékenységet végrehajt. Az aktív állapotot előidézheti egy másik objektum üzenete, illetve üzenettel meg is szüntetheti azt. Használati esetek diagramja: - a felhasználók szempontjából kívánja szemléltetni a rendszer működését (a szolgáltatás megvalósítása nem ismert) a) használati esetek b) felhasználók c) felhasználási relációk.
Adatmodell megtervezése, algoritmizálás Az adatbázis tervezés főbb lépései: - Az adatbázis céljának meghatározása - A szükséges táblák meghatározása - A szükséges mezők meghatározása - Kapcsolatok meghatározása - A terv finomítása. Elemezzük a terveket, hogy megtaláljuk az esetleges hibákat. - Tesztelés, normál formák, elsődleges kulcsok - Kapcsolattípusok: egy az egyhez, egy a többhöz, több a többhöz Az adatbázisban létrehozhatunk: - Táblákat (az adatok tárolásához) - Lekérdezéseket (az adatok logikai megjelenítésére, szűrésére) - Űrlapokat (a vizuális megjelenítésre, felhasználásra) - Jelentéseket (nyomtatáshoz) - Makrókat, modulokat (az űrlapok eseményeihez) Adatkezelési modellek: - Fogalmi - Logikai Modellek - Fizikai Fogalmi modell szint: Legtermészetesebben hasonlít a valósághoz. Absztrakt modell. Leírjuk a kapcsolatrendszert, tisztázzuk az alapadatokat, kérdéseket. Vannak-e az egyedek között kapcsolatok. Az egyedek tulajdonságait összeszedjük. Logikai modell szint: Az egyedek tulajdonságait és kapcsolatait kiválasztjuk, átültetjük a számítógép nyelvére, adat nyelvre. A relációs adatmodell szabályrendszerére igazítjuk az adatokat. A fogalmi modell adatait átírjuk a számítógépre. Adatábrázolás, hogyan, miként ábrázoljuk az adatokat. Fizikai adatmodell szint: Kiválasztjuk melyik adatbáziskezelőt használjuk (szoftver). A szoftverre igazítjuk az adatbevitelt. Fizikai adatfüggetlenség fogalma: Ha változik a fizikai adattárolás módja, a szoftver ne vegye észre a különbséget, ha másképp van letárolva az adat. Pl: Access MSSQL Adat típus: - szöveges, - szám/adat típus Kell-e az adattal számolni, műveleteket végzünk-e vele, ha igen szám/adat, ha nem, szöveges adattípus. Az algoritmus definíciója: Egy feladat megoldására szolgáló egyértelműen előírt módon és sorrendben végrehajtandó véges tevékenységsorozat, mely véges idő alatt befejeződik. Azon egyértelmű instrukciók halmaza, mely egy konkrét feladat véges számú lépésben történő megoldásához vezet. Az algoritmizálhatóság feltételei: - Lépésekre bontott végrehajtható folyamat - Minden lépés egy elemi utasítás vagy felbontható elemi utasításokra - Meghatározott a végrehajtási sorrend - Véges a leírás
Az algoritmus műveletei: - szekvenciák (utasítások egymás utánisága) - iterációk más néven ciklusok (utasítások ismétlődése) - szelekciók (az algoritmus feltételtől függő elágaztatása) Az algoritmizálás alapjai: - Az algoritmus lépésekből áll. - Minden lépésnek egyértelműen végrehajthatónak kell lennie. - A végrehajtandó instrukcióknak valamilyen célja van. - Az algoritmusnak vannak bemenő adatai melyeket felhasznál. - Az algoritmusnak legalább egy kimenő adatot produkálnia kell. - Az algoritmus véges számú lépésben megoldhatónak kell lennie. - Az algoritmus legyen hatékony és felhasználó barát Adatbázisok felépítése: táblák, rekordok, mezők. Adatintegritás, adatvédelem. Relációs adatmodell A tábla a logikailag összetartozó adatokat foglalja össze. A tábla oszlopokból és sorokból áll, melyeket mezőknek, illetve rekordoknak nevezünk. A rekord az adatbázis egy sora. Egy rekordban tároljuk az egymással összefüggő adatokat. A mező az adatbázis egy oszlopa, amelyben az egyedek tulajdonságértékeit tároljuk. Az elemi adatok a táblázat celláiban szereplő értékek, amelyek az egyed konkrét tulajdonságai. Az egyed az, amit le akarunk írni, amelynek az adatait tároljuk és gyűjtjük az adatbázisban. Az egyedet idegen szóval entitásnak nevezzük. Egyednek tekinthetünk például egy személyt. Az attribútum vagyis tulajdonság az egyed valamely jellemzője. Az egyed az attribútumok összességével jellemezhető. Egy személy egy jellemzője lehet például a neve. Az egyedre vonatkozóan megadott tulajdonságok összességét egyedtípusnak nevezzük. Egy személy leírható például a nevével, életkorával, testmagasságával, a szeme és haja színével együttesen. Az egyedre vonatkozóan megadott konkrét tulajdonságokat egyed-előfordulásnak nevezzük. Egy egyed-előfordulás például Kovács Ödön, aki 29 éves, 183 cm magas, kék szemű, barna hajú. Adatintegritás: Az adatok korrektek, konzisztensek és aktuálisak, kell, hogy legyenek. A konzisztencia azt jelenti, hogy az adatbázisban az összetartozó adatok módosítása együtt, a megfelelő sorrendben történjen. Ha vannak redundáns adatok, akkor azoknak nem szabad egymással ellentmondásban lenni. Olvasási konzisztencia – garantálja, hogy ha egy tranzakció (parancs) indulásakor az adatok nem ellentmondásosak, akkor azok a tranzakció (parancs) végén is ellentmondásmentesek maradnak. Legtöbbször már a séma definiálásakor megadhatók kritériumok, feltételek az egyes adatok tartalmára és formátumára vonatkozóan. Az adat bevitelekor az adatbázis kezelő rendszer ellenőrzi, hogy az aktuális adat teljesíti-e ezeket a követelményeket. Amennyiben nem, az adatot nem fogadja el. Az adatbázisban a tényleges adatok mellett tárolódnak azok összefüggései, kapcsolatai is.
Hivatkozási integritás: A hivatkozási integritás azt jelenti, hogy egy kapcsolatnál a hivatkozott adatnak létezni kell. A korszerű adatbázis kezelő rendszer az adatmanipulációk során ellenőrzi, hogy a művelet nem sérti-e a hivatkozási integritást. Az adatok helyessége nemcsak az adatbázis kezelő rendszer felelőssége, az alkalmazás fejlesztőjének is igyekeznie kell úgy megterveznie az adatbázist, hogy abban a lehető legkevesebb lehetőség legyen arra, hogy az adatok valamilyen szempontból helytelenek legyenek. Megtervezhetjük úgy az adatkarbantartást, hogy a felhasználónak kell mindig begépelnie a megfelelő város nevét. Az adatot felvivő személy hibát véthet a gépelés során, illetve előfordulhat – különösen hosszabb nevű városok esetén –, hogy egyik alkalommal rövidített, más alkalommal teljes formában gépeli be az adatot. A számítógép számára azonban a különbözőképpen írt nevek különböző várost jelölnek. Ez problémákat okozhat abban az esetben, ha például városok szerint kell összesíteni, vagy rendezni adatokat. Megteheti azonban az alkalmazás fejlesztője, hogy már a fejlesztés során összegyűjti a lehetséges városok neveit, s azokat eltárolja az adatbázisban. Az adatbevitelkor, pedig csak választani kell közülük. Ezáltal a hibázás lehetősége jelentősen csökken. Adatvédelem: A számítógépes információs, vagy irányítási rendszereket a felhasználó a manuális tevékenységek kiváltására használja, hiszen ha mindent duplázva, kézzel és számítógéppel is végig kell vinni, akkor a munka hatékonysága nemhogy növekedne inkább csökken. Ez azt is jelenti, hogy a felhasználó rábízza magát, azaz összes adatát a számítógépes rendszerre, vagyis a legtöbb adat csak ott tárolódik. A tárolt adatok elvesztése szinte pótolhatatlan veszteséget okozhatnak. Ezért a rendszernek fel kell készülnie, amennyire csak lehet a veszélyekre, mint az adathordozó megsérülése, az operációs rendszer vagy a program összeomlására. Az adatvesztés elkerülésének fontosságát, az elveszett adatok visszaszerzésére irányuló igényt jól mutatja a Kürt cég története is, mely sérült adathordozók helyreállítására specializálódott. Az adatsérülés mellett a felhasználóra leselkedő másik veszélytípus, az adatok illetéktelen személyekhez történő kerülése. A rendszernek tehát, ismét hasonlóan az operációs rendszerekhez, szabályoznia és ellenőriznie kell a hozzáféréseket, különbséget kell tennie az egyes felhasználók között az elvégezhető műveletek tekintetében. Ehhez a viszont nyilván kell tartani a jogosult felhasználókat, azok jogait és minden műveleti igény kiadásakor ellenőrizni kell, hogy elvégezhető-e a művelet. Ennek egyik ismert megoldása a hozzáférés monitoring rendszer, mely ellenőrzi és naplózza is az erőforrás-hozzáféréseket. A hozzáférési védelem egyik másik elterjedt módszere a titkosítás. Relációs adatmodell: A relációs adatmodell az alábbi három komponens együttesét jelenti: - Adatstruktúra - Műveletek - Integritási feltételek A relációs modell, mint minden más adatmodell tartalmaz statikus és dinamikus elemeket is. A statikus elemek az adatok tárolási struktúráját írják le, míg a dinamikus oldal a struktúrákon végzendő műveleteket adja meg. A relációs modell főbb jellemzői leegyszerűsítve a következő pontokban foglalhatók össze: - Az adatmodell egy egyszerű és könnyen megérthető, rugalmasan kezelhető strukturális részt tartalmaz. Alapját az adattáblák képezik.
- A modellhez olyan műveleti rész csatlakozik, amely a programozási nyelveknél egyszerűbb kezelői felületet biztosít, hogy minél általánosabban, minél szélesebb körben lehessen használni. - Az adatmodell integritási részében egyszerű, közérthető de egyben hatékony feltételeket definiál. Az integritási feltételek előnye, hogy deklaratív megadásukkal a szabályok magában az adatbázisban kerülnek letárolásra. Ezen modell elvén működő rendszerek automatikusan ellenőrizik e szabályok betartását, pontosabban csak olyan tevékenységeket engednek meg, amelyek nem sértik a megadott integritási előírásokat. - Egyszerű tervezési metodika, az adatbázis tervezése jól definiált, egyértelmű elméleti alapokon nyugszik. A tervezés elméleti alapjai az un. Normalizálási szabályokon alapulnak, amelyek a relációs modell strukturális lehetőségeit és a modellezendő fogalmak közötti függőségi kapcsolatokat veszik figyelembe. A normalizáció elvégzésével egy hatékony, áttekinthető adatmodellt kaphatunk. A relációs adatmodell tulajdonságai: - Minden táblának egyedi neve van. - A reláció oszlopai névvel vannak ellátva és ezek a nevek egy reláción belül egyediek. - Reláció foka (oszlopok száma) állandó, mivel az oszlopok a tulajdonságokat jelképezik, amiket nem változtatunk. Az oszlopok sorrendje tetszőleges; azonosításuk a nevük alapján történik. - A sorok sorrendje tetszőleges, mivel a tartalmuk alapján különböztetjük meg őket. Nem létezhet két teljesen megegyező sor a táblázatban, mint ahogy nem létezik két egyforma egyed-előfordulás sem. - Egy domainből csak egy elemérték kerülhet be a táblázatba. Általában megengedett, hogy ne kerüljön be érték valamelyik mezőbe, ekkor a mező definiálatlan értéket (NULL) fog tartalmazni. - Minden relációban léteznie kell az oszlopok egy olyan halmazának, melyek a reláció bármely sorát egyértelműen meghatározzák. Ezt hívjuk majd a reláció kulcsának. Elsődleges kulcs fogalma. Index fogalma, indexelés Elsődleges kulcs: a táblázat rekordjainak egyértelmű azonosítója, értéke egyedi. Index fogalma: Az index a táblához kapcsolódó, gyors keresést lehetővé tevő táblázat. Az index tartalmazza, hogy a tábla rekordjai egy vagy több oszlop alapján (pld. vezetéknév és keresztnév) sorba rendezve hogyan következnek egymás után. Fontos, hogy ez nem jelenti a teljes tábla megismétlését többféle rendezettséggel: az index csak egy mutató, amely hivatkozik a táblára. Indexelés: Az index kulcs ismeretével közvetlenül megkaphatjuk, hogy a kulcsot tartalmazó sor fizikailag hol helyezkedik el az adatbázisban. Az indexek szerkezete nagyon gyors (a soros, "minden rekordot egymás után megvizsgálunk" kereséshez képest egy nagyságrenddel gyorsabb) keresést tesz lehetővé. Az indexek létrehozása jelentősen növeli az adatbázis hatékonyságát, de a méretét is. Egy általános adatbázisban az indexek helyfoglalása körülbelül akkora, mint az adatoké.
Felület elkészítése (prototípus), kódolás, alkalmazáslogika megvalósítása A program életútja: 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 szakmai nyelven. Legtöbbször 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. További 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). 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 szélső és extrém, kifejezetten abnormális adatbevitelek, normális esetek vizsgálata nagyon fontos! A tesztelés célja minél több hiba felderítése. Először 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 1-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) 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 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. 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. Alkalmazáslogika megvalósítása: az alkalmazáslogika a rendszer magjaként a feladatspecifikus műveletek végrehajtására szolgáló algoritmusokat foglalja magába. Egy adatbázis-kezelő alkalmazás esetén alapvetően három különböző réteget különböztetünk meg. Ezek a következők: az adatszolgáltatások rétege (Data Processing), az alkalmazáslogika rétege (Business Logic) és a felhasználói felület (User Interface) rétege (megjelenítési réteg). Az adatszolgáltatások rétege (Data Processing): Ez a réteg felelős az adatok fizikai eléréséért, feldolgozásáért. E réteg feladata az adatbázis állományok nyitása, zárása, új adat felvitele, törlése, módosítása, indexek kezelése, zárolási konfliktushelyzetek feloldása, stb. Az alkalmazáslogika rétege (Bussines Logic): Az alkalmazáslogika rétege az adatbázisra vonatkozó szabályok összességét tartalmazza. Gyakorlatilag ebbe a rétegbe tartoznak azok a funkciók, műveletek amelyek meghatározzák egy adatbázis működését. Ilyen szabályok a mező illetve rekordszintű ellenőrzések (mezőszintű ellenőrzés pl. ha egy tanuló érdemjegyeinek felvitelekor a program csak egy és öt közötti értéket enged felvinni), a hivatkozási függőségek ellenőrzése ( pl. egy könyvet csak akkor lehessen eladni ha az szerepel a könyvesbolt árukészletén) stb. Megjelenítési réteg (User Interface): Ezek után nézzük meg milyen adatbázis architektúrák vannak, és azokban az előbb tárgyalt rétegek hogyan vannak implementálva.