A fejlesztéshez használható eszközök CASE Tools Computer Aided Software Engineering Tools 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 1
Ismétlés fejlesztési háromszög FILOZÓFIA Eszközök: alkalmazások, amelyek valamilyen formában támogatják a fejlesztést (pl. tevékenységeket automatizálnak, dokumentálnak, verziókövetnek, stb.), valamint ellenőrzik és összehangolják a fejlesztők munkáját. MÓDSZERTAN KÖZVETLEN MEGVALÓSÍTÁS MÓDSZER AUTOMATIZÁLÁS ESZKÖZÖK 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 2
Általános felépítés CASE-szótár (dictionary, repository) Tartalma visszatükrözi a támogatott módszertanok terjedelmét technikáit Bemenet Grafikus editor, szöveges információk megadása Kimenet Riportok, dokumentáció, grafikonok stb. Management Több felhasználós hozzáférés, verziókezelés, változásmenedzsment stb. Más eszközökkel való adatcsere biztosítása Azonos szótárszabvány esetén egyszerű Generálás (kód) Az alkalmazás hány százalékát képes generálni 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 3
Architektúra Central Repository Graphics Tools Description Tools Prototyping Tools Checkin & Checkout Import & Export Knowledge Housekeeping tools Data Sharing Tools Quality Management Tools Decision Support Tools CASE tool on the workstation Inputs: - models, - plans, - descriptions, - etc. Outputs: - reports, - analyses, - etc. User Repository Server Security & Version Control Design Generators Code Generators Document Tools Inquiry & Reporting Tools 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 4
Eszközök bevezetése egy szervezetnél A szervezetbe való bevezetés feltételei: Minden szempontból legyen a legmegfelelőbb A teljes fejlesztési csapat ismerje (képzés), elfogadja Vezetői elkötelezettség Jó projekt menedzser A bevezetés valószínűleg projekt keretében történik -> időveszteséget okoz, amire számítani kell Hagyományosan CASE eszközzel 15% 35% 40% 20% 20% kódolás tesztelés 15% kódolás tesztelés tervezés tervezés elemzés elemzés 30% 25% 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 5
Példa: követelménymenedzsment eszköz kiválasztása I. # Követelmény csoport Kifejtés/magyarázat Prioritás R-01 Dokumentáció generálása Hierarchikus fejezetek, exportálás fájlba, importálás fájlból, stb. 0 R-02 Webes hivatkozások, interfész Böngészőn keresztül is legyen kezelhető. 0 R-03 Pillanatfelvétel Legyen valamilyen snapshot jellegű funkciója (pl. a Word / Excel export is ennek számít), melynek célja, hogy az adott rögzített verzió mellé csatolni lehessen információkat. Fontos, hogy a pillanatkép feldolgozható formátumú legyen. R-04 Verziókövetés - 0 R-05 Nyomonkövetés R-06 Navigálhatóság A követelményváltozások kezelését időbeli struktúra és triggerek alapján képes legyen követni. Adott verzión belül értelmezett (pl. specifikáció és követelmények közötti kapcsolat legyen feltárható). Legyen képes a kapcsolatokon való navigációra előre és hátra irányban is. Előre irány: hatás analízis; hátra irány: eredet analízis. R-07 Relációk kezelése A követelmények nyilvántartásánál mindenféle relációt kezeljen. 1 R-08 Verifikáció menedzselése Legyen benne rögzíthető a verifikációs terv, analízis, tesztelés, mérések, stb. A verifikáció legyen indítható a követelménykezelőből (tesztesetek futtatása). A verifikáció állapotának nyomonkövetése, rögzítése, stb. 0 0 0 1 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 6
Példa: követelménymenedzsment eszköz kiválasztása II. # Követelmény csoport Kifejtés/magyarázat Prioritás R-09 R-10 Nézetek, csoportosítás, keresés Űrlapok tulajdonságainak beállítása Az egyes eszközök értékelésénél egyszerű kategóriák: Teljesíti (pontszám: 2) Részben teljesíti (pontszám: 1) Nem teljesíti (pontszám: 0) Biztosítása a követelménylista különböző szempontú nézeteinek beállíthatóságát. Biztosítása a követelménylistákban különböző szempontok szerinti keresést. Pl. legyen beállítható, hogy új követelmény felvételekor milyen adatokat kívánunk megadni. R-11 Hierarchikus felépítés A követelmények nyilvántartását hierarchikus felépítés mellett végezze. 2 R-12 Fedettségi listák automatikus generálása Legyen képes fedettségi listák automatikus generálásra. Példa fedettségi listára: lefedetlen követelmények, indokolatlan megvalósítás, stb. R-13 Jogosultság kezelése Kezeljen hozzáférési szinteket, különböző szerepköröket. 2 R-14 Értesítési rendszer A változásokról értesítse az érintetteket. Legyen konfigurálható az értesítési rendszer. 2 R-15 Security Sértetlenség, biztonsági másolatok, stb. 2 R-16 Megosztott szerkesztés Támogassa a csapat/csoportos munkát. 2 1 1 2 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 7
Milyen hasznokkal járhat egy jól kiválasztott CASE eszköz? Redundancia-mentes terv Szintaktikai hibák meghatározott részének automatikus kizárása Modellek konzisztenciája ellenőrizhető Csoportmunka támogatása Nyomon követhetőség Változáskezelés Automatikus kódgenerálás Automatikus dokumentáció generálás Stb. 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 8
Eszközök csoportosítása: integráltság Tool: legalább egy fejlesztési fázist támogat Toolkit: néhány fejlesztési fázist támogat Workbench: teljes fejlesztési életciklust támogat Integrated Workbench: többféle módszertant is támogat 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 9
Eszközök csoportosítása: életciklus és folyamat Életciklus Upper CASE: stratégiai tervezés, projektvezetés Middle CASE: rendszerelemzés, tervezés Lower CASE: rendszerspecifikáció készítés Folyamat Eszköz típus Specifikáció Tervezés Megvalósítás V&V Tesztelő X X Nyomkövető X X Programelemző X X Nyelvi feldolgozó X X Módszertámogató X X Prototípuskészítő X X Konfigurációkezelő X X Változtatáskezelő X X X X Dokumentációs X X X X Szerkesztő X X X X Tervező X X X X Újratervezési X 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 10
Eszközök csoportosítása: funkcionalitás Tervező eszköz Szerkesztő eszköz Változáskezelő eszköz Konfigurációkezelő eszköz Prototípus készítő eszköz Módszertámogató eszköz Nyelvi feldolgozó eszköz Programelemző eszköz Tesztelő eszköz Nyomonkövető eszköz Dokumentációs eszköz Újratervezési eszköz Stb. 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 11
Fejlesztési eszközök a szabványokban (IEC 61508, EN 50128) T1: olyan eszköz, amelynek kimenete semmilyen formában (közvetlenül/közvetve ill. az adatokat is beleértve) sem járul hozzá a biztonságkritikus rendszer futtatható kódjához Pl.: szövegszerkesztő editor T2: olyan eszköz, amely támogatja a tervezés/futtatható kód tesztelését vagy ellenőrzését (az eszköz közvetlenül nem tud hibát létrehozni a szoftverben) Pl.: statikus elemző, teszt lefedettség mérő T3: olyan eszköz, melynek van olyan kimenete, amely közvetetetten vagy közvetlenül hatással van a biztonságkritikus rendszer futtatható kódjára Pl. compiler 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 12
Fejlesztési eszközök a szabványokban (ISO 26262-8) 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 13
Fejlesztési eszközök a szabványokban (ISO 26262-8) Kategóriacsoport 1: egy adott szoftvereszköz észlelhet/nem észlelhet hibát a biztonság-releváns fejlesztési termékkel kapcsolatban TI1: akkor alkalmazandó, ha van olyan bizonyíték, hogy az eszköz erre nem képes (nem kell minősíteni) TI2: minden más esetben választandó (minden felhasználói esetet elemezni kell a potenciális hibákra és azok feltárására vonatkozóan) Kategóriacsoport 2: Tool Error Detection TD1: a hiba felismerésének vagy megelőzésének valószínűsége magas TD2: a hiba felismerésének vagy megelőzésének valószínűsége közepes TD3: minden más esetben (alacsony vagy ismeretlen) 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 14
Fejlesztési eszközök a szabványokban (DO-178 C, DO-330) DO-178 C: eszközök minősítése Kritérium 1: olyan eszköz, melynek kimenete részét képezi a (kritikus) légi szoftvernek, vagyis az eszköz hibát okozhat a kritikus szoftverben Kritérium 2: olyan eszköz, amely automatizálja a verifikációs folyamatokat (azaz hibát nem észlelhet) és amelynek a kimenetét a fejlesztési- és verifikációs folyamatok megszüntetésére vagy csökkentésére használjuk fel Kritérium 3: olyan eszköz, amely a tervezett felhasználási körén belül hibát nem észlelhet Előbbi kategóriákból és a SW kockázati szintjéből jön létre a Tool Qualification Level (TQL) DO-330: az eszközök minősítéséhez alkalmazott folyamatok ahol TQL-1 a legszigorúbb szint 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 15
Bemutató Fejlesztési eszközök 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 16
Összefoglalás Eszközök felépítés Eszközök bevezetése egy szervezetnél Eszközök csoportosítása: Integráltság Életciklus és folyamat Funkcionalitás Fejlesztési eszközök a szabványokban 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 17
Köszönöm a figyelmet! 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 18