12. rész: Verzió- és feladatkezelés a szoftverfejlesztésben. Bakay Árpád NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu



Hasonló dokumentumok
11. rész: Tesztelés. Verziókezelés. Bakay Árpád NETvisor kft (30)

Source control systems. Horváth Ernő, Dr. Pozna Claudiu Radu

Tortoise SVN használata. Képes útmutató

A FEJLESZTÉS KIHÍVÁSAI

OOP és UML Áttekintés

Címkék és ágak kezelése i. Címkék és ágak kezelése

Termék életciklus és a verziókezelés

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

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

Szoftver technológia. Verziókövető rendszerek. Cserép Máté ELTE Informatikai Kar 2019.

7. rész: A specifikációtól az implementációig az EJB rétegben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

SAP vállalatirányítási rendszer alapjai

Rendszerkezelési útmutató

API tervezése mobil környezetbe. gyakorlat

8. rész: Implementáció JDeveloperben

Szolgáltatási szint és performancia menedzsment a PerformanceVisor alkalmazással. HOUG konferencia, 2007 április 19.

Iványi László ARM programozás. Szabó Béla 1. Óra Verziókövetés

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

UNITIS Rt. Windchill PDMLink oktatóanyag PDMLink ügyességek Pro/ENGINEER Wildfire környezetben

A TANTÁRGY ADATLAPJA

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

RH/CentOS felügyelet SUSE Manager segítségével. Kovács Lajos Vezető konzultáns

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

KÜRT Zrt. Logelemzés heti riport Felhasználói fiók, illetve felhasználói csoportkezelési műveletek

A fordítónak mindenhez lehet

Dr. Mileff Péter SZOFTVERFEJLESZTÉS VERZIÓKÖVETÉS, VERZIÓKÖVETŐ RENDSZEREK. Miskolci Egyetem Általános Informatikai Tanszék

STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT

Hálózati operációs rendszerek II.

Együttműködés, tudásmegosztás és feladatmenedzsment. avagy Microsoft eszközrendszer a vállalati folyamatok szolgálatában

Konfigurációmenedzsment

Tanúsított Iratkezelı Szoftver Office GOV Ügykövetési rendszer

Szoftverminőségbiztosítás

Jogában áll belépni?!

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

Microsoft SQL Server telepítése

Vidux DVR and CMS Release Notes update from to Verziókövetési jegyzet

GDi Esri Magyarország Felhasználói Konferencia Timár Gábor: Konkurens adatfeldolgozás ArcGIS rendszerben

Mi is a git? Csapatban dolgozni Git pro eszközök. Git bevezető. Szabó Adrienn Adatbányászat és Webes Keresés Kutatócsoport

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA

Alkalmazásportfólió. Szoftvermenedzsment. menedzsment. Racionalizálás. Konszolidáció. Nyilvántartás. Elemzés

GPRS Remote. GPRS alapú android applikáció távvezérléshez. Kezelési útmutató

(Teszt)automatizálás. Bevezető

2. rész: A projekt specifikációs szakasza. Bakay Árpád dr. NETvisor kft (30)

Másolatképzési technikák és azok felhasználási lehetőségei

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Tisztaszınyeg nyilvántartó

Leolvasói rendszer kialakításának koncepciója ipari mobil eszközökkel (ipari PDA-val)

BOOKING GUIDE. itbroadcast - INFOTÉKA

Hálózati rendszerek adminisztrációja JunOS OS alapokon

Szakdolgozati, TDK témajavaslatok

Szakdolgozat. Uzonyi László

Bazaar ismertető. Timár András

LINUX LDAP címtár. Mi a címtár?

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

BMD Rendszerkövetelmények

OZW V7.0 firmware frissítés, Remote Tool Access részletes ismertető

Kérdés Kép Válasz HIBAS Válasz HELYES Válasz HIBAS Válasz HIBAS Kérdés Kép Válasz HIBAS Válasz HELYES Válasz HIBAS Válasz HIBAS Kérdés Kép Válasz

Tisztelt Telepítő! 2. Ellenőrizze, hogy a modul engedélyezve van-e: Szekció [382] Opció 5 (alternatív kommunikátor) BE.

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

Guarding Vision Beállítása

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

Pentaho 4: Mindennapi BI egyszerűen. Fekszi Csaba Ügyvezető október 6.

RapidMiner telepítés i. RapidMiner telepítés

A Skype architektúrája. P2P hálózat Supernode ok, peer-ek, login server

Bevezetés: az SQL-be

2. lépés: openssh szerver telepítés sudo apt-get install openssh-server

Információ és kommunikáció

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

e-nhh ELEKTRONIKUS RLAPOK ÜGYFÉLOLDALI FELÜLETEI

CCS Hungary, 2000 szeptember. Handling rendszer technikai specifikáció

A fejlesztéshez használható eszközök

SQLServer. SQLServer konfigurációk

Szolgáltatás mérés/riportolás magas fokon Egy valós megoldás Pepsi berkekben

Tisztelt Telepítő! A központ és az alkalmazás összehangolását a következőképpen hajthatja végre:

A szoftverfejlesztés eszközei

Új technológiák az Ubuntuban. Új fejlesztések Amik egy éven belül jelenhetnek meg az Ubuntuban

TELEPÍTÉSI ÉS FELHASZNÁLÓI ÚTMUTATÓ

Informatikai Főosztály. Igazságszolgáltatási Tanács Hivatala május 29.

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

Azonnali fizetési rendszer megvalósítása

Mérési útmutató a Secure Shell (SSH) controll és audit című méréshez

Az elektronikus növényorvosi vény (e-vény) szoftver

A polgármesteri hivatal informatikai rendszere a városirányítás szolgálatában

System Center Service Manager 2012 műszaki előadás. Ker-Soft Kft. Kovács Gábor - rendszermérnök Nagy Dániel - rendszermérnök

Újdonságok. Jancsich Ernő Ferenc

Társadalombiztosítási ellátások alrendszere

Code review és continous integration toolok BME-MIT

Valós idejű információk megjelenítése web-alapú SCADA rendszerben Modbus TCP protokollon keresztül

Ellenőrző lista. 2. Hálózati útvonal beállítások, kapcsolatok, névfeloldások ellenőrzése: WebEC és BKPR URL-k kliensről történő ellenőrzése.

Adatbányászat és Perszonalizáció architektúra

Üzleti intelligencia eszköztár a SAS 9.2 platformon

1. Kapcsolók konfigurálása

ÜGYFÉL OLDALI BEÁLLÍTÁSOK KÉZIKÖNYVE

A WORDPRESS TELEPÍTÉSÉNEK LÉPÉSEI

DocBook útmutató. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával Útmutató 2010.

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

Projekt beszámoló. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető Rendszer Napon belüli Kereskedéshez

Átírás:

12. rész: Verzió- és feladatkezelés a szoftverfejlesztésben Bakay Árpád NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu

1. Verziókövetés Def: a szoftver megépítéséhez szükséges források tárolása és megosztása Biztonságosan Ellenırzött hozzáféréssel A fejlesztési munka legújabb állapotának ill. korábbi mérföldköveinek megırzésével.

Biztonság Megbízható hardveren Pl.: szerver tükrözött diszkkel gyakorlatban: workgroup server diszk hiba ellen Rendszeres mentés, archiválás szerver vagy környezeti hiba ellen A fejlesztés teljes történetének rögzítése Verziók azonosítása (pl. revision number ) fejlesztıi/kooperációs hiba ellen új verziók és visszamenı javítások párhuzamos fejlesztéséhez

Ellenırzött hozzáférés Felhasználó azonosítás Cél, hogy a változtatások névhez köthetık legyenek Nem elsısorban a rosszindulatú támadók ellen!! De: pl. a vétett hibák eltakarásának a szándéka elıfordulhat Esetleg: Ipari kémek ellen Konkurencia kezelés File szinten (párhuzamos módosítás követése) Alkalmazás logikai szinten Konzisztens szoftver-állapotok megjelölése, megkülönböztetése a napi biztonsági mentésektıl.

Verziókezelés architektúra Szerver Repository Munkamásolat Munkamásolat Munkamásolat Fejlesztıi munkaállomás #1 Fejlesztıi munkaállomás #2 Fejlesztıi munkaállomás #3

Verziókövetés alapmőveletek Lokális munkamásolat készítése checkout (CVS/SVN) Lokális másolat frissítése update (CVS/SVN) Változások megtekintése log, diff, status (CVS/SVN) Változások visszaküldése a repositoryba commit (CVS/SVN)

A file szintő konkurrencia kezelése Copy-Modify-Merge - Optimistic concurrency Mindenki írhat, mindent Nem kell lock-olni De: változások összefőzése szükséges lehet Merge Lock/Modify/Unlock - Strictly controlled concurrency Megnyitás írásra mővelet kizárólagos Check-In elvben mindig sikerül

A két megközelítés (és a terminológia) összehasonlítása Munkalépés Lokális munkaverzió lekérése Optimistic Példa: CVS, SVN Checkout, update Pessimistic Példa: MS VSS get latest version Lockolás írásra Nincs checkout Párhuzamos változások egyesítése update (with merge) Nincs Visszaküldés a szerverre commit checkin Megbízunk a kliensekben, Nem ırizzük ıket Mindenkirıl tudunk, Minden változást ellenırzünk

Subversion Általános, ingyenes CMS eszköz Többféle hálózati konfigurációban: Egygépes környezetben file:// Kliens-szerver http://, https:// svn:// svn+ssh:// = svn ssh tunnel felett

SVN használata svn <cmd> <opts> <url> svn checkout svn://myrepos/myproj1/file.cpp svn checkout r 10 svn://myrepos/myproj1/file.cpp svn commit. m Fixed svn://myrepos/myproj1/file.cpp svn status svn://myrepos/myproj1/file.cpp myprog.java svn diff svn://myrepos/myproj1/file.cpp myprog.java Az SVN az editálást automatikusan követi se a file parancsok svn verzióit használjuk copy, delete, move, rmdir Fejlesztıi környezetbe integrált verziók

Verzió elágazások és egyesítések Példa: v1.x készül, de az 1.0-ban bugfixek szükségesek. Branch Elágaztatás svn copy trunk branches/my-calc-branch svn commit Branch merge Egyesítünk két verziót svn merge http://svn.example.com/ repos/calc/branches/my-calc-branch

Merge conflict resolution Az update mőveletnél, ha a felülírandó lokális munkaverzió nem egyezik meg az update forrás branch egyik korábbi verziójával sem. Nem, vagy részlegesen sikeres a merge, ha bizonyos sorok egyszerre változtak Ekkor egy konfliktus bejegyzés és kerül a fileba: <<<<<<< driver.c exit(nerr == 0? EXIT_SUCCESS : EXIT_FAILURE); ======= exit(!!nerr); >>>>>>> 1.6 ezt írtuk mi ezt került közben bele az 1.6-ba Szintaktikai hiba, de a csak munkaverzió fileba Kézzel kell kijavítani Kijavítás után committelhetı (v 1.7 lesz.) Commit során ellenırzi, maradtak-e a fileban conflict <<<<.. >>>> jelek Ha igen: warning

SVN a jdeveloperben

Lépések SVN engedélyezése Tools /References / Extensions: Versioning support 10.1.xxx SVN kapcsolat felvétele View / CVS navigator ablakban ssh2 access, host, username + ssh key repository path, pl. /c/cvs/ Csatlakozás / letöltés SVN repositoryhoz/bıl Versioning / Import module Versioning / Add

2. Feladat- és hibakövetés.. valamint változáskezelés, csoportmunka, stb. Cél: teendık munkafolyamatának nyilvántartása és nyomonkövetése Ez esetben programfejlesztési feladatokra idomítva Ilyen eszközök: Rational ClearQuest - ezt fogjuk megnézni Bugzilla (freeware, fapados) BugTracker.NET (freeware, egyszerő) DevTrack Borland Starteam Nemcsak szoftverfejlesztési munkafolyamatokhoz használható!!!

Feladatok Állapot-átmeneti diagramja Észlelés Tipikusan: megrendelı New (Bejelentve) Vezetı fejlesztı, Proj. Manager Open Kiadva Fejlesztı (Továbbítás másik fejlesztınek) Megoldási módok Kijavítva Nem hiba Dokumentálva Késleltetve Duplikátum Visszautasítás Megoldva Tesztelı Closed Lezárva (Az aki megnyitotta) Jóváhagyva Jóváhagyandó Minıségi vezetı Proj. Manager Plusz attribútumok: súlyosság: prioritás: kritikus súlyos normál enyhe változás kérés high / normal /low

Szokásos képességek A hiba/feladat története végig hitelesen naplózva van A bejelentés és a készrejelentés ténye egyértelmő Mellékletek is rögzíthetık: pl. logfileok, screenshotok Hatékony nézetek minden résztvevınek Pl. a hozzám rendelt hibák listája Riportok, statisztikák, grafikonok készíthetık, pl.: Megoldandó hibák száma, fejlesztık és súlyosság szerint Ki mennyit oldott meg, milyen gyorsan Hányat sikerült megoldani, hány lett visszadobva, stb. Email (sms, stb.) küldés, esetleg fogadás Web és hagyományos GUI (vagy csak Web)

Rational ClearQuest Customizálható hiba- és változáskezelı eszköz Más munkafolyamatok vezérlésére is alkalmas Feladatok, teendık bejelentése végrehajtókhoz rendelése végrehajtása egy vagy több résztvevıvel ellenırzése, jóváhagyása, lezárása követése egyedi és statisztikai szempontból A Rational Unified Process (RUP) szellemében

Állapotok (a default séma szerint) Spec állapotok: Elhalasztva Duplikátum

Main screen QUERY WORKSPACE DETAIL

A hibajegy (defect) Új hibajegy Unique ID State: Submitted (Bejelentve) Kötelezı mezık Piros Opcionális mezık Mellékletek

Hibajegy attribútumok ID Állapot Cím, leírás, szimptómák Jegyzetek, mellékletek Kulcsszavak Prioritás Fontosság (priority) Nehézség (difficulty) Megoldás jellege Fixed, no change, no error, workaround Tulajdonos - változik

Hibajegy késıbb Actions: átmenetek Notes: Megjegyzések hozzáfőzése Resolution: Megoldás rögzítése History: történet (csak olvasható)

Hibajegy attribútumok ID Állapot Cím, leírás, szimptómák Jegyzetek, mellékletek Kulcsszavak Prioritás Fontosság (priority) Nehézség (difficulty) Megoldás jellege Fixed, no change, no error, workaround Tulajdonos - változik

Lekérdezések, grafikonok, riportok Központi és egyéni változatok Egyéni beállítások elmenthetık Geenerált grafikonok és riportok emailezhetık

Lekérdezések (táblázat) Milyen objektum(ok)ra Szőrıfeltételek specifikálása Equals, Contains, Like, Less/Greater than, Empty AND OR NOT logikai mőveletek Megjelenített attribútumok

Grafikonok (charts) Típusok Eloszlás Idıskálá Kor szerint bontva

Riportok Riport formátum Alapformátum: részletezett, összegzett, Egyedi testreszabás Kapcsolódik egy v. több queryhez

Riport

ClearQuest power features Séma módosítás CQ Designer Akár teljesen új entitások és relációk Állapotátmenetek és azokhoz kapcsolódó akciók Belsı és külsı (VP / Perl) script nyelvek Programozói API Pl.: automatikus tesztek által generált feladatok Több feladatkövetı rendszer szinkronizálása

További Extrák Update schema for live database User admin with distributed/delegated administration. Integrációk más Rational termékekkel Stb.

Verziókövetés és hibakövetés integrációja Checkin/checkoutnál ki kell választani a fejlesztıhöz rendelt hibajegyek közül azt, amelyikre ez a mővelet irányul Hibakövetésnél egy újabb tab-on látható, hogy az adott hiba kapcsán milyen verzió-mőveletek történtek Elsısorban a végsı bug-fixing v. support fázisban használható

Verziókezelési történet a ClearQuest hibajegynél

3. Automatikus építés és tesztelés Éjszakánként kiszedi a CVS-bıl a legfrissebb revision-t Lefordítja Lefuttatja az automatikus teszteket Hibákat emailben, vagy közvetlenül a feladatkövetıben rögzíti

Automatikus build management - elınyök A lehetı leggyorsabb visszajelzés a kód állapotáról Rászorítja az embereket, hogy csak mőködı kódot tegyenek be Az integrálás folyamatosan alakul ki és ellenırizve van

Korszerő config/build management környezet Verziókezelı szerver Repository Feladatkövetı rendszer Build/test server Compile/test Munkamásolat Munkamásolat Fejlesztıi munkaállomás #1 Fejlesztıi munkaállomás #2

Köszönöm a figyelmet! arpad.bakay@netvisor.hu