Autóipari beágyazott rendszerek. Fejlesztési fázis

Hasonló dokumentumok
Agilis projektmenedzsment

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

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Agilis szoftverfejlesztés és Scrum

Agilis adattárház építés a gyakorlatban. Gollnhofer Gábor Meta4Consulting Europe Kft.

INPUT PROGRAM Agilitás, SCRUM és Lean Startup

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Nagy bonyolultságú rendszerek fejlesztőeszközei

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Agilis szoftverfejlesztés és Scrum

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

Scrum vagy nem scrum - ahol nem hibázhatunk Röviden a budapesti fejlesztési központról

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Autóipari beágyazott rendszerek Dr. Balogh, András

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

Teszt terv Új funkció implementációja meglévı alkalmazásba

extreme Programming programozástechnika

MIÉRT KELL TESZTELNI?

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

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

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

Közösség, projektek, IDE

Minőségmenedzsment és Informatika Test-Driven Development

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

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

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Járműinformatika A járműinformatikai fejlesztés

Verziókövető rendszerek használata a szoftverfejlesztésben

Információtartalom vázlata

Fejlesztési modellek és módszertanok

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

(Teszt)automatizálás. Bevezető

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

Ami a vízesésen túl van

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

Logisztikai. ellátási lánc teljes integrálására. Logisztikai szolgáltatók integrációja. B2B hálózatokhoz a FLUID-WIN projektben.

A Projekt portfoliómenedzsment projekt iroda (PMO) alkalmazási feltételei, lehetőségei - szekció bevezető gondolatok

Bevezetés a programozásba

evosoft Hungary Kft.

Profexec Services - Projektmenedzsment képzések

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Test Strategy. Monotonitá s tűrése (0 5) Biztonsági tudás (0 5) Adatbázis ismeret (0 5)

Projekt siker és felelősség

Szoftvertesztelés - Bevezető

01. gyakorlat - Projektalapítás

IT Factory. Kiss László

Térinformatikai és távérzékelési alkalmazások fejlesztése. A szoftverfejlesztés technikai támogatása

Gyakorlati tapasztalatok dokumentumkezelő rendszerek bevezetésében. Hivekovics Zoltán Kereskedelmi vezető Remedios Kft.

Cégprofil publikus CÉGPROFIL 1

A szoftverellenőrzés szerepe

Java I. A Java programozási nyelv

Gyakorlat és házi feladat tájékoztató

INPUT PROGRAM 2. Kanban és SCRUM. KANBAN alapok

Gyakorlat és házi feladat tájékoztató

Orvostechnikai eszköz tesztelése DSS Unit test. Taliga Miklós BME-IIT

Szoftverminőségbiztosítás

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

Körkapcsolás 12. Bevezető november 5. Szalay Imre elnök PMI Budapest

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

Firmware fejlesztés. Mártonfalvi Zsolt Hardware programozó

Információs rendszerek Információsrendszer-fejlesztés

A projektvezetési eszköz implementációja hazai építő-, szerelőipari vállalkozásoknál

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

A CMMI alapú szoftverfejlesztési folyamat

Rónai Gergely. fejlesztési főmérnök BKK Közút Zrt.

Modell alapú tesztelés: célok és lehetőségek

2010 e-bike akkumulátor csomagok autóipari gyártás kezdete (Ni-Mh)

IT FEJLESZTÉSEK A GYAKORLATBAN

Körkapcsolás 12. Bevezető november 5. Szalay Imre elnök PMI Budapest

Az alkalmazás minőségbiztosítás folyamata Fókuszban a teszt-automatizálás

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

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

Rendszermodellezés: házi feladat bemutatás

Magyar Szabad Szoftver Tárház. Erdei Csaba Mátó Péter

Informatikai projekteredmények elfogadottságának tényezői

Szoftver újrafelhasználás

Object Orgy PROJEKTTERV 1 (9) Adattípusok menedzselése Palatinus Endre

Programozási technológia 2.

Programfejlesztési Modellek

30 MB INFORMATIKAI PROJEKTELLENŐR

Test Strategy. Tartalomjegyzék

Code review és continous integration toolok BME-MIT

Rubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József

Hogyan lehet megakadályozni az üzleti modellezés és az IT implementáció szétválását? Oracle BPM Suite

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

Szoftverfejlesztés teszteléssel

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

Szemléletmód váltás a banki BI projekteken

ISO HOGYAN ÉPÜL FEL A MIR RENDELÉSRE KÉSZÜLT ESZKÖZÖK GYÁRTÓI ESETÉN? előadó Juhász Attila SAASCO Kft.

Lean Történet Today es. Első lépések: Japán. Autóipari beszállítók. Első hullám: Nemzetközi. Autóipari beszállítók

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

TPM-Klub Knorr-Bremse VJR Hungária Kft december 2.

Átírás:

Autóipari beágyazott rendszerek Fejlesztési fázis 1

Szoftver és rendszer életciklus Fejlesztési fázisok és módszerek 2

Rendszer életciklus Az autóipari rendszerek életciklusának három fő fázisa van Fejlesztés (3-5 év) Gyártás (3-6 év) Üzemeltetés (>10 év) A rendszert végül megsemmisítik vagy újrahasznosítják 3

Fejlesztés Interdiszciplináris Gépészet E/E (elektromosság/elektronika) Mechatronika Hardver Szoftver 4

Fejlesztés Sok cég együttműködése Autógyár 1. szintű beszállítók (tier 1 suppliers) 2. szintű beszállítók Biztonsági felülvizsgálók Külső teszt cégek 5

Fejlesztés V modell 6

Fejlesztés V modell A fejlesztés koncepcionálisan a V modellt követi 7

Fejlesztés V modell A jármű fejlesztése a legfelsőbb szint, ezt részrendszerekre bontják. Pl. kormányszervó, fékrendszer, Ezeknek külön V folyamatuk lehet 8

Fejlesztés V modell Az autógyár egyik legfontosabb feladata a megkapott részrendszerek integrálása, integrációs és elfogadási tesztelése. Mivel majd minden részrendszer más beszállítótól érkezik, ez komplex feladat. 9

Fejlesztés V modell A részrendszerek V modellje az autógyár követelményeivel indul. Ez általában tartalmaz technikai, precízen megfogalmazott követelményeket, de ugyanakkor időnként nagyvonalú koncepciókat is. A beszállító első feladata a követelmények egyeztetése és pontosítása 10

Fejlesztés V modell Természetesen a valóságban a V modellben visszalépések, iterációk is vannak. Különböző megközelítések vannak arra vonatkozóan, hogy a rendszert milyen lépésekkel fejlesszük. Ezekben a visszalépések gyakorisága, a munkacsomagok nagysága eltérő. 11

Fejlesztés V modell Az úgynevezett Feature Driven Development (funkció alapú fejlesztés) például fő funkciónként vezeti végig a fejlesztést, azaz kisebb egységekre tagolja a rendszert. Minden funkcióval végrehajtja a V baloldalát, míg a tesztelést folyamatosan végzi. 12

Fejlesztés V modell Az iteratív megközelítések először egy nagyvonalú prototípust készítenek, majd ezt iteratívan finomítják, egyre több követelményt elégítve ki. Mivel az autóiparban kiemelt fontosságú a megfelelő tervdokumentáció, és annak ellenőrzése, az iterációk közben ezeket is napra készen kell tartani 13

Fejlesztés V modell Az agilis módszerek, mint a Scrum és a Kanban napjainkban az autóipari fejlesztések területén is teret nyernek. Itt a lényeg az iteratív fejlesztés, összeszokott csapattal, valamint a feladatok tiszta priorizálása és ütemezése. 14

Tapasztalatok A követelmények változnak A vízesés modell és a V modell ezeket nehézkesen kezeli A terv sohasem lesz tökéletes iterációkra van szükség Mikor van készen az implementáció? Ha a fejlesztő azt állítja? Ha sikerül feltölteni a verzió-kontrollba? Ha lefordul? Ha (egyszer) lefut? A dokumentáció és az implementáció viszonya Hogyan tartsuk szinkronban? Honnan tudjuk, hogy szinkronban vannak? Vevői elégedettség Ha csak a projekt végén telepítünk, nem lesz túl késő a panaszra? Mi történik, ha a vevő nem is ezt akarta? 15

Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 2001, the above authors this declaration may be freely copied in any form, but only in its entirety through this notice. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas 16

Mit is jelent az agilis fejlesztés? Individuals and interaction over processes and tools A merev szabályok helyett együttműködés Ne ragaszkodjunk (esetleg elavult) eszközökhöz Az értéket az emberek teremtik! A műszaki fejlesztés intuitív folyamat, ne zárjuk gátak közé Working software over comprehensive documentation Kerüljük a túldokumentálást Ha a dokumentum és a kód 1:1 megfeleltethető, akkor baj van A nagy mennyiségű, előre megírt dokumentáció veszélyes Nem lesz elsőre tökéletes Nem tartják karban Customer collaboration over contract negotiation Adjunk korai visszajelzést Folyamatosan egyeztessük az igényeket Változtassunk a követelményeken, ha a vevő mást szeretne Responding to change over following a plan Ha a környezet változik, a projektnek is változnia kell Általában minden hosszú távú terv változik! 17

Hogyan legyünk agilisek? Több módszertan létezik (pl. SCRUM, Kanban) Fő jellemzők Rövid, jól meghatározott projekt fázisok (sprint) Néhány hét Meghatározott cél Előre definiált feladatok Interaktív tervezés és becslés Projektvezető Vevő Csapat Folyamatos követés Napi csapatmegbeszélések 18

Agilis tervezés (Scrum) Product backlog Minden megvalósítandó funkció (user stories) Sprint backlog Az adott sprintben elvégzendő feladatok Cél: A feladat férjen bele egy sprintbe Mindig a product backlog legnagyobb prioritású elemeit választjuk Sprint tervezés Közös megbeszélés: vevő, projektvezető, csapat Feladatok priorizálása, erőforrás-becslés, erőforrás hozzárendelés Minden sprint elején Az erőforrás becslést és a csapat teljesítőképességét (sprint velocity) az előző sprintek alapján finomítják Daily scrum Napi helyzetértékelő megbeszélés 19

A Scrum Sprint Sprint tervezés Napi Scrum megbeszélés Sprint lezárás (retrospective) 20

Technikai eszközök Folyamatos integráció A termék folyamatosan épül Az új változások belekerülnek Egységtesztek lefutnak Elfogadási tesztek lefutnak Hiba esetén azonnali reakció Egységtesztek Automatikus tesztek Gyorsan lefuttatható Folyamatosan karban tartott Páros programozás Egy gép két fejlesztő négy szem többet lát Azonnali kód ellenőrzés 21

Technikai eszközök Tesztvezérelt fejlesztés Alapelv Csak akkor írj kódot, ha van (legalább) egy nem teljesülő teszt Következmény Először tesztet írunk! Minden esetben lesz egy jó kódfedést elérő teszt készletünk Minden refactoring után ellenőrizhetjük a funkcionalitást Kiegészítések Ha egy bukott teszt miatt kódot módosítunk, rakjunk is rendet (refactoring) A teszteket is tartsuk tisztán (nincs kód duplikáció, stb.) Gyakorlati megfontolások Ha jó eszközünk van, nem lassítja a munkát (sőt) Tudjuk, hogy mikor vagyunk kész (minden követelmény tesztelt) Mindig tudjuk, hogy működik-e a kód Az így elkészült egységteszteket a folyamatos integráció során is futtatjuk GUI esetén nehézkes lehet 22

Technikai eszközök Folyamatos integráció Szerver jellegű funkció Ütemezett feladat végrehajtás Minden változás esetén (verzió kontroll) Periodikusan (pl. minden nap éjfélkor) Feladattípusok Forráskód letöltés a verziókezelőből Szoftver fordítás Dokumentáció generálás (Doxygen, Javadoc) Futtatható fájl elkészítése Egységtesztek futtatása Elfogadási tesztek futtatása Eredmények publikálása Szoftver publikálása 23

Technikai eszközök Fejlesztőkörnyezet Nagyban befolyásolja a produktivitást Fő funkciók Kód szerkesztés Syntax highlight, code completion, Fordítás Teszt futtatás Refactoring Minél hatékonyabb, annál termelékenyebbek leszünk! 24

Scrum státusz Meg nem Folyamatban kezdett levő Elkészült feladatok A feladatok feladatok sprint célja A hátralevő munkamennyiség grafikonja Nem tervezett Nem lesz kész feladatok 25

Agilis technikák - összegzés Megfelelő technikai környezetben hatékonyak Újszerű megközelítés, ezért nagy a kezdeti ellenállás Segít a projekteket időben teljesíteni Gyorsan lehet reagálni a változásokra Módosítani lehet a tervet, ha változnak a prioritások Minden projekt tagnak tiszta képe van a státuszról Webes/mobil fejlesztéseknél elterjedt Az autóiparban is vannak már kezdeti sikerek Össze lehet egyeztetni az agilitást a biztonságkritikus rendszerekkel! 26

Fejlesztési fázisok Előfejlesztés / prototípus Egy új technológia vagy funkció kipróbálása Nem cél a tökéletesség Nem cél a biztonsági szabványoknak való megfelelés Fő cél: demonstrálható funkcionalitás Jellemző eszközök Hibrid vezérlőegység Meglevő eszköz módosítás, piggy board, Gyors prototípus hardver Nagy számítási kapacitású univerzális hardver Gyorsan programozható Viselkedési modelleket is végrehajt (Simulink) 27

Fejlesztési fázisok A minta fázis A sorozat fejlesztés első lépcsője A meglévő építőelemekből összeállított koncepció validátor Gyakran nem kerülhet járműbe Cél Méret Ellenállóság Összeszerelés A kiválasztott részmegoldások együttműködésének bemutatása Szoftverfejlesztés korai támogatása Funkcionális demonstráció akár tesztkörnyezetben Gyártás Gépi vagy kézi beültetés, sok kézi lépéssel, kézi összeszerelés 28

Fejlesztési fázisok B minta fázis Gyártásérett mechanikai és elektronikai megoldások Járműbe szerelhető Minden környezeti hatásnak ellenáll (aminek a végtermék is) Cél A véglegeshez közeli terv érvényesítése Járműtesztek Szoftver funkcionálisan teljes Minden diagnosztikai funkció is működik Akár közúton is használható Gyártás Kis sorozat, gépi beültetés, kézi elemekkel 29

Fejlesztési fázisok Design Validation tesztek Céljuk a design ellenőrzése Funkcionálisan Élettartam szempontjából Környezeti hatásoknak való ellenállás szempontjából Határhelyzetbeli működés ellenőrzése Első EMC mérések Tipikus tesztek Élettartam teszt Sóköd kamra Rázópad Klímakamrás tesztek Stressz tesztek (fordított táp, ) 30

Fejlesztési fázisok C minta fázis A B minta tapasztalatai alapján finomított megoldások Járműbe szerelhető Minden környezeti hatásnak ellenáll (aminek a végtermék is) Cél Fejlesztés lezárása Szoftver finomhangolás, kalibrálás EMC optimalizálás Gyártás Nagyobb sorozat, a végső gyártó gépekkel, de még nem szalagszerűen 31

Fejlesztési fázisok D minta fázis Minden optimalizálást tartalmaz Járműbe szerelhető Minden környezeti hatásnak ellenáll (aminek a végtermék is) Cél Felkészülés a sorozatgyártása Végső tesztek elvégzése Elfogadtatás a vevővel Gyártás Nagyobb sorozat, a végső gyártó gépekkel, a végső folyamat szerint 32

Fejlesztési fázisok Process Validation teszt Cél A gyártási folyamat érvényesítése Főleg élettartam teszt alapon Kiindulópont: funkcionális ellenőrzés már a DV-ben megvolt A gyártási folyamat az élettartamot befolyásolja leginkább Ezen kívül Termikus viselkedés mérése EMC mérések vevői elfogadás feltétele 33

Érettségi szintek A rendszer érettségét adják meg Függ A mechanika állapotától A hardver megbízhatóságától, gyártási körülményeitől A szoftver tesztek és analízis állapotától Gyártófüggő lépcsők Legalacsonyabb: csak tesztpadon alkalmazható Alacsony: csak tesztpályán használható, kiképzett sofőrrel Közepes: közúton is használható, kiképzett sofőrrel Magas: bárki vezetheti bármely körülmények között Külön korlátozások lehetnek Például: élettartam, hőmérséklet tartomány, 34