Úvod do softwarového inženýrství IUS 2009/2010 p.1/55

Save this PDF as:
 WORD  PNG  TXT  JPG

Rozměr: px
Začít zobrazení ze stránky:

Download "Úvod do softwarového inženýrství IUS 2009/2010 p.1/55"

Transkript

1 Úvod do softwarového inženýrství IUS 2009/ přednáška Ing. Radek Kočí, Ph.D. Ing. Bohuslav Křena, Ph.D. Úvod do softwarového inženýrství IUS 2009/2010 p.1/55

2 Dnešní téma Implementace a testování Strategie implementace Techniky testování Strategie testování Agilní metodologie Základní principy Srovnání metodologií Extreme programming (XP) Úvod do softwarového inženýrství IUS 2009/2010 p.2/55

3 Implementace softwaru transformace návrhu jednotlivých modulů (návrhových podsystémů) a jejich vzájemných vazeb do programové realizace kritéria posuzování implementace (procesu tvorby programu) srozumitelnost (programu, výstupu programu) čitelnost udržovatelnost efektivnost aplikace (doba odezvy, požadavky na pamět,... ) přenositelnost efektivnost procesu tvorby programu důležitost jasných cílů (všechna kritéria nelze obvykle splnit) Úvod do softwarového inženýrství IUS 2009/2010 p.3/55

4 Implementace softwaru transformace návrhu jednotlivých modulů (návrhových podsystémů) a jejich vzájemných vazeb do programové realizace kritéria posuzování implementace (procesu tvorby programu) srozumitelnost (programu, výstupu programu) čitelnost udržovatelnost efektivnost aplikace (doba odezvy, požadavky na pamět,... ) přenositelnost efektivnost procesu tvorby programu důležitost jasných cílů (všechna kritéria nelze obvykle splnit) Vzpomínáte si ještě, co je to udržovatelnost a přenositelnost? Úvod do softwarového inženýrství IUS 2009/2010 p.3/55

5 Implementace softwaru transformace návrhu jednotlivých modulů (návrhových podsystémů) a jejich vzájemných vazeb do programové realizace kritéria posuzování implementace (procesu tvorby programu) srozumitelnost (programu, výstupu programu) čitelnost udržovatelnost efektivnost aplikace (doba odezvy, požadavky na pamět,... ) přenositelnost efektivnost procesu tvorby programu důležitost jasných cílů (všechna kritéria nelze obvykle splnit) Udržovatelnost úsilí, které je potřeba vynaložit na další vývoj a údržbu softwaru podle měnících se potřeb zákazníka a také v důsledku měnícího se okolí (např. změna legislativy). Přenositelnost úsilí, které je nutné pro přenos softwaru z jedné platformy na jinou. Úvod do softwarového inženýrství IUS 2009/2010 p.3/55

6 Implementace softwaru Podíl implementace na celkovém objemu prací v životním cyklu softwaru se snižuje: zavedením 4GL jazyků vizuálním programováním (zejména v souvislosti s tvorbou GUI) využíváním integrovaných vývojových prostředí využívání pokročilých prostředků trasování a ladění programů generováním aplikací (např. z Rational Rose) vývojem prostředků spolupráce aplikací (middleware) rozšířením a rozvojem OO/AO/komponentního přístupu znovupoužitelností (využití internetu) Úvod do softwarového inženýrství IUS 2009/2010 p.4/55

7 Generace programovacích jazyků první generace programování přímo v binárním kódu druhá generace asemblery, symbolické vyjádření binárních instrukcí (1 ku 1) třetí generace procedurální jazyky jeden příkaz se transformuje do 5-10 instrukcí v binárním kódu čtvrtá generace (4GL) neprocedurální jazyky (definuje se, co je třeba vykonat, ne jak) jeden příkaz se přeloží do cca instrukcí v binárním kódu často méně efektivní realizace kódu nemožnost ovlivnit zabudovaný způsob realizace jednotlivých akcí uživatelské programování, angl. "End-User Programming" např. Microsoft Excel Úvod do softwarového inženýrství IUS 2009/2010 p.5/55

8 Strategie implementace postup, jakým se realizují jednotlivé softwarové součásti a odevzdávají na testování částečná závislost na architektuře a strategii návrhu potřeba inkrementálního (postupného) vývoje strategie implementace zpravidla podmiňuje strategii testování Implementace zdola-nahoru systém je možné předvádět až po jeho úplném dokončení možnost přímého použití odladěných modulů nižších úrovní chyby v logice se identifikují až v etapě integračního testování testování modulů na nižších úrovních: potřeba speciálních modulů (simulace chování/dat vyšších úrovní) testování modulů jednotlivě je jednodušší než testování logiky celého systému Úvod do softwarového inženýrství IUS 2009/2010 p.6/55

9 Strategie implementace Implementace shora-dolů možnost demonstrace systému poměrně brzy včasná identifikace najzávažnějších chyb logika systému se ověřuje několikrát (testování celého systému) testování systému: potřeba simulačních modulů (simulace práce podsystémů) nedá sa použít, pokud se požaduje implementace některých modulů nejnižší úrovně na začátku (např. výstupní sestavy) testování logiky systému je náročnější než testování modulů jednotlivě Úvod do softwarového inženýrství IUS 2009/2010 p.7/55

10 Strategie implementace Implementace shora-dolů možnost demonstrace systému poměrně brzy včasná identifikace najzávažnějších chyb logika systému se ověřuje několikrát (testování celého systému) testování systému: potřeba simulačních modulů (simulace práce podsystémů) nedá sa použít, pokud se požaduje implementace některých modulů nejnižší úrovně na začátku (např. výstupní sestavy) testování logiky systému je náročnější než testování modulů jednotlivě V praxi se požívá kombinace přístupu zdola-nahoru a shora-dolů. Úvod do softwarového inženýrství IUS 2009/2010 p.7/55

11 Implementace shrnutí Programy se nevytvářejí tak, aby se lehce psaly, ale aby se lehce četly a modifikovaly! Úvod do softwarového inženýrství IUS 2009/2010 p.8/55

12 Validace a verifikace programu Zjišt ujeme, zda software odpovídá specifikaci a splňuje požadavky uživatele. verifikace: Vytváříme výrobek správně? (podle požadavků, specifikace,... ) validace: Vytváříme správný výrobek? (Jsou splněny potřeby uživatele? Odpovídá tomu specifikace?) Sledované vlastnosti: správnost spolehlivost efektivnost bezpečnost... Úvod do softwarového inženýrství IUS 2009/2010 p.9/55

13 Validace a verifikace programu Správnost výrobku nepostačuje! Dokonce správnost někdy není nevyhnutelná! Příklad specifikace procedury SORT: Vstupní podmínka A: array(1..n) of integer Výstupní podmínka B: array(1..n) of integer, přičemž B(1) B(2)... B(N) Implementace: procedure SORT begin for i:= 1 to N do B[i] := 0; end Chyba ve specifikaci:... a prvky pole B jsou permutací prvků pole A. Úvod do softwarového inženýrství IUS 2009/2010 p.10/55

14 Cíle verifikace a validace odhalit chyby během vývoje Test, který neodhalí nesprávné chování systému, je neúspěšný. prokázat požadované vlastnosti Dijkstra: "Testování nemůže prokázat, že v programu nejsou chyby. Může pouze ukázat, že tam chyby jsou!" Murphy: "Když může systém spadnout, tak taky spadne, a to v tom nejnevhodnějším okamžiku." Úvod do softwarového inženýrství IUS 2009/2010 p.11/55

15 Typy ověřování statické nevyžaduje běh programu, lze v libovolné etapě vývoje SW dynamické proces odvození vlastností výrobku na základě výsledků použití (běhu) programu s vybranými vstupy statické ověřování specifikace požadavků návrh programy prototyp dynamické ověřování Úvod do softwarového inženýrství IUS 2009/2010 p.12/55

16 Přístupy statického ověřování Prohlídka dokumentu formální (inspection) neformální (walkthrough) je založena na statické prohlídce vytvořených dokumentů (i zdrojových textů programů) Matematická verifikace formální matematický důkaz ověřovaný dokument musí být formálně reprezentovaný (přesná definice sémantiky) Úvod do softwarového inženýrství IUS 2009/2010 p.13/55

17 Přístupy dynamického ověřování (testování) cíl: vybrat takové testovací vstupy, pro které je pravděpodobnost příslušnosti do množiny I ch vysoká Úvod do softwarového inženýrství IUS 2009/2010 p.14/55

18 Množina testovacích vstupů velikost množiny testovacích vstupů musí být přijatelná testovací vstup se vybírá na základě testovacího kritéria testovací kritérium určuje podmínky, které musí splňovat množina testovacích vstupů, např. pokrytí všech příkazů v programu Program Specifikace Aplikování kritéria Množiny testovacích vstupů Kritérium Úvod do softwarového inženýrství IUS 2009/2010 p.15/55

19 Vlastnosti testovacího kritéria spolehlivost: kritérium K je spolehlivé, když všechny množiny testovacích vstupů splňující kritérium K odhalí ty samé chyby nezáleží na tom, která množina testovacích vstupů se vybere, vždy odhalíme ty samé chyby platnost: kritérium K je platné, když pro každou chybu v programu existuje množina testovacích vstupů, která splňuje kritérium K a která odhalí chybu Když je testovací kritérium spolehlivé a platné a množina testovacích vstupů, která splňuje kritérium, neodhalí žádné chyby, tak program neobsahuje chyby. Úvod do softwarového inženýrství IUS 2009/2010 p.16/55

20 Vlastnosti testovacího kritéria spolehlivost: kritérium K je spolehlivé, když všechny množiny testovacích vstupů splňující kritérium K odhalí ty samé chyby nezáleží na tom, která množina testovacích vstupů se vybere, vždy odhalíme ty samé chyby platnost: kritérium K je platné, když pro každou chybu v programu existuje množina testovacích vstupů, která splňuje kritérium K a která odhalí chybu Když je testovací kritérium spolehlivé a platné a množina testovacích vstupů, která splňuje kritérium, neodhalí žádné chyby, tak program neobsahuje chyby. ALE Bylo dokázané, že neexistuje algoritmus, který určí platné kritérium pro libovolný program. Úvod do softwarového inženýrství IUS 2009/2010 p.16/55

21 Proces testování Testovací vstupy Testovací údaje Výsledky Navrhni testovací vstupy Připrav testovací vstupy Proved program Porovnej výsledky Zpráva Úvod do softwarového inženýrství IUS 2009/2010 p.17/55

22 Techniky testování náhodné testování množina testovacích vstupů se vybere náhodně funkcionální testování na základě specifikace programu (vstupy, výstupy) metoda černé skříňky black box, data driven, functional, input/output driven, closed box strukturální testování na základě vnitřní struktury programu metoda bílé skříňky white box, glass box, logic driven, path oriented, open box testování rozhraní na základě znalostí rozhraní mezi moduly a specifikace programu Úvod do softwarového inženýrství IUS 2009/2010 p.18/55

23 Funkcionální testování zjištění zda vstupně-výstupní chování vyhovuje specifikaci např. matematická funkce se specifikuje vstupy a výstupy testovací vstupy se odvozují přímo ze specifikace neuvažuje se vnitřní struktura, logika modulu velká množina testovacích vstupů (problém) úplné funkcionální testování je v praxi nemožné Příklad: ABS(x) vstup (x) výstup Úvod do softwarového inženýrství IUS 2009/2010 p.19/55

24 Třídy ekvivalence vstupů/výstupů každý možný vstup/výstup patří do jedné z tříd ekvivalence, pro které je chování systému identické (vstup-výstup) žádný vstup/výstup nepatří do více tříd ekvivalence pokud se při daném vstupu/výstupu zjistí chyba, tak stejnou chybu je možné odhalit použitím jiného vstupu/výstupu z dané třídy ekvivalence Úvod do softwarového inženýrství IUS 2009/2010 p.20/55

25 Třídy ekvivalence vstupů/výstupů Granularita třídy ekvivalence rozsah hodnota podmnožina Výběr testovacích údajů z třídy ekvivalence průměr, medián třídy ekvivalence hranice třídy ekvivalence (příp. s okolními hodnotami) náhodně (doplnění množiny testovacích vstupů) Příklad: ABS(x) třídy ekvivalence vybrané vstupy/výstupy (x:int) (, 0) ( 32767,32767), ( 16384,16384), ( 1,1),... 0 (0, 0) (0, ) (32768,32768), (16384,16384), (1, 1),... Úvod do softwarového inženýrství IUS 2009/2010 p.21/55

26 Strukturální testování vychází se z vnitřní struktury programu testuje se implementace programu snaha o pokrytí různých struktur programu řízení údaje (data) kritéria: založená na tocích řízení (pokrytí cest, pokrytí rozhodovacích bloků nebo podmínek a pokrytí příkazů) založená na tocích dat mutační testování do programu se úmyslně zavedou chyby kontrolujeme, zda navržené testy tyto chyby odhalí (kvalita testu) Příklad: if x > 0 then y := x else y := -x; Úvod do softwarového inženýrství IUS 2009/2010 p.22/55

27 Strategie testování Testování zdola-nahoru (bottom-up testing) testují se komponenty na nižší úrovni, poté se integrují do komponenty vyšší úrovně a znovu testují vhodné, pokud většina modulů stejné úrovně je připravena Testování shora-dolů (top-down testing) testují se integrované moduly nejvyšší úrovně, poté se testují submoduly problém s připraveností všech modulů (simulace modulů na nižších úrovních) Sendvičové testování (sandwich testing) kombinace strategií bottom-up a top-down testování moduly se rozdělí do dvou skupin logické: řízení a rozhodování, top-down funkční : vykonávání požadovaných funkcí, bottom-up Úvod do softwarového inženýrství IUS 2009/2010 p.23/55

28 Strategie testování Jednofázové testování (big-bang testing) moduly se otestují samostatně a poté se naráz integrují náročná identifikace místa chyby při integraci náročné rozlišení chyb v rozhraní modulů od ostatních chyb Testování porovnáváním (comparison testing, back-to-back testing) více verzí systému na testování prototyp technika programování N-verzí vývoj vysoce spolehlivých systémů vývoj více verzí produktu pro různé platformy stejné výsledky značí, že verze pravděpodobně pracují správně problémy: stejné chyby ve verzích nevyhovující specifikace Úvod do softwarového inženýrství IUS 2009/2010 p.24/55

29 Akceptační testování Testuje se na reálných datech. Testuje se u uživatele. Uživatel určí, zda produkt splňuje zadání. Další změny po akceptaci systému již představují údržbu systému. Vztahuje se na zakázkový software. Úvod do softwarového inženýrství IUS 2009/2010 p.25/55

30 Alfa a Beta testování... pro generické softwarové výrobky, kde není možné provést akceptační testy u každého zákazníka (operační systémy, kompilátory,... ) Alfa testování tam, kde se vyvíjí software testuje uživatel, vývojáři sledují a evidují chyby známé prostředí Beta testování testují uživatelé u sebe neznámé prostředí výsledkem je zpráva uživatele modifikace softwaru předání softwaru k používání Úvod do softwarového inženýrství IUS 2009/2010 p.26/55

31 Téma: Agilní metodologie Úvod do softwarového inženýrství IUS 2009/2010 p.27/55

32 Metodologie disciplinovaný proces nad vývojem softwaru s cílem zajistit tento vývoj více predikovatelný a efektivnější častá kritika "byrokratizace" metodologií příliš mnoho aktivit, které metodologie předepisuje, způsobuje snížení efektivity celého procesu vývoje nová skupina metodologií lightweight methodologies, dnes agile methodologies (agilní metodologie) Úvod do softwarového inženýrství IUS 2009/2010 p.28/55

33 Agilní metodologie snaha o kompromis mezi chaotickým přístupem bez procesů a přístupem s mnoha procesy rozumná velikost souboru procesů k zajištění přiměřeného zisku menší objem dokumentace v každém kroku klíčová část dokumentace je zdrojový kód! základní charakteristiky: adaptivní vs. prediktivní metody (přístupy) people-oriented vs. process-oriented metody (přístupy) Úvod do softwarového inženýrství IUS 2009/2010 p.29/55

34 Základní srovnání metod Adaptivní vs. prediktivní prediktivní metody plánují velké části softwarových procesů velmi detailně pro dlouhý časový úsek adaptivní metody (agilní metodologie) reagují na změny, procesy se v čase vyvíjejí People-oriented vs. process-oriented process-oriented metody definují pevnou posloupnost kroků procesy by měly fungovat za všech okolností (změna týmu,... ) people-oriented metody (agilní metodologie) žádný proces nikdy nevytváří dovednosti (znalosti) vývojového týmu úlohou procesu je podpora práce vývojového týmu Úvod do softwarového inženýrství IUS 2009/2010 p.30/55

35 Predikovatelnost procesu vývoje existují projekty, kde máme na začátku poměrně jasnou představu projekty vyžadující mnoho procedur, času, velké týmy a stabilní požadavky projekty NASA,... dobrá predikovatelnost procesu vývoje existují projekty, kde máme na začátku poměrně jasnou představu ale s časem se mění okolní podmínky a tedy i požadavky business projekty,... horší predikovatelnost procesu vývoje existují projekty, kde máme na začátku poměrně mlhavou představu business projekty,... špatná predikovatelnost procesu vývoje Úvod do softwarového inženýrství IUS 2009/2010 p.31/55

36 Predikovatelnost procesu vývoje Problém většiny projektů je, že se požadavky neustále mění. Je tedy predikovatelnost nemožná? Úvod do softwarového inženýrství IUS 2009/2010 p.32/55

37 Predikovatelnost procesu vývoje Přístupy k řešení requirements engineering před tvorbou softwaru získat plně srozumitelný obraz požadavků schválený (podepsaný) zákazníkem definování procedur limitujících změny požadavků po schválení klade vysoké nároky na proces specifikace požadavků a preciznost jejich vyjádření fixní požadavky jejich vytvoření stojí příliš mnoho energie a času adaptivní metody... Úvod do softwarového inženýrství IUS 2009/2010 p.32/55

38 Řízení adaptivních procesů Iterativní vývoj inkrementální spirálový... Každá iterace zahrnuje analýzu požadavků návrh (úpravy návrhu) implementaci testování analýzu rizik Otázka délky iterace týdny měsíce... Úvod do softwarového inženýrství IUS 2009/2010 p.33/55

39 Řízení adaptivních procesů Plánování procesů v první iteraci se vždy provádí plánování procesů, a to na základě zkušeností či dostupných metodik tento plán se během iterací vyvíjí (zpřesňuje) podle reálného stavu Úvod do softwarového inženýrství IUS 2009/2010 p.34/55

40 Process-oriented methods striktně definované procesy lidé jsou zdroje, které jsou dostupné v několika rolích analytik manažer programátor tester... podstatná je role, nikoliv individualita lidí není důležité jaké analytiky máte, ale kolik jich máte člověk je jednoduše nahraditelná komponenta vývojového procesu za standardní prostředek komunikace se považuje dokumentace Úvod do softwarového inženýrství IUS 2009/2010 p.35/55

41 Process-oriented methods striktně definované procesy lidé jsou zdroje, které jsou dostupné v několika rolích analytik manažer programátor tester... podstatná je role, nikoliv individualita lidí není důležité jaké analytiky máte, ale kolik jich máte člověk je jednoduše nahraditelná komponenta vývojového procesu za standardní prostředek komunikace se považuje dokumentace Teze: člověk vykonávající práci není ten, kdo může nejlépe určit, jak tuto práci nejlépe udělat Úvod do softwarového inženýrství IUS 2009/2010 p.35/55

42 People-oriented methods Design and programming are human activities; forget that and all is lost. Bjarne Stroustrup, 1991 lidé mají problémy fungovat konzistentně v průběhu času pokud člověk dostane každý den stejný úkol, vytvoří podobné výsledky, ale nikdy ne stejné schopnost pracovního nasazení/soustředění se mění den ze dne, z místa na místo (někteří pracují lépe v noci) lidé jsou komunikující bytosti fyzická blízkost gestikulace, hlasový projev, intonace otázky a odpovědi v reálném čase Úvod do softwarového inženýrství IUS 2009/2010 p.36/55

43 People-oriented methods Design and programming are human activities; forget that and all is lost. Bjarne Stroustrup, 1991 lidé mají problémy fungovat konzistentně v průběhu času pokud člověk dostane každý den stejný úkol, vytvoří podobné výsledky, ale nikdy ne stejné schopnost pracovního nasazení/soustředění se mění den ze dne, z místa na místo (někteří pracují lépe v noci) lidé jsou komunikující bytosti fyzická blízkost gestikulace, hlasový projev, intonace otázky a odpovědi v reálném čase Teze: člověk je kompetentní profesionál schopný rozhodovat všechny technické otázky své práce. Úvod do softwarového inženýrství IUS 2009/2010 p.36/55

44 Efektivnost komunikace efektivnost komunikace whiteboard telefon mail dokument forma komunikace Úvod do softwarového inženýrství IUS 2009/2010 p.37/55

45 Agilní metodologie Základní teze Jediná cesta, jak prověřit správnost navrženého systému, je co nejrychleji jej vyvinout, předložit zákazníkovi a na základě zpětné vazby upravovat. Člen týmu je schopen rozhodovat technické otázky své práce. Rozumná velikost souboru procesů. Klasické pravidlo Implementujeme pro dnešek, navrhujeme pro zítřek. Úvod do softwarového inženýrství IUS 2009/2010 p.38/55

46 Agilní metodologie Základní teze Jediná cesta, jak prověřit správnost navrženého systému, je co nejrychleji jej vyvinout, předložit zákazníkovi a na základě zpětné vazby upravovat. Člen týmu je schopen rozhodovat technické otázky své práce. Rozumná velikost souboru procesů. Klasické pravidlo Implementujeme pro dnešek, navrhujeme pro zítřek. Upravené pravidlo Implementujeme pro dnešek, navrhujeme pro úspěšnou implementaci. Úvod do softwarového inženýrství IUS 2009/2010 p.38/55

47 Agilní metodologie Agilní metodologie Extreme programming (XP) Crystal Scrum Feature Driven Development Dynamic System Development Method (DSDM)... Úvod do softwarového inženýrství IUS 2009/2010 p.39/55

48 Extrémní programování (XP) Kořeny XP Kent Beck: Extreme Programming Explained: Embrace Change Kent Beck, Ward Cunningham 80. léta Smalltalk 90. léta získávání zkušeností v různých projektech, rozšiřování idejí agilního přístupu Úvod do softwarového inženýrství IUS 2009/2010 p.40/55

49 Charakteristické prvky XP Komunikace programátoři, zákazníci a manažeři musí spolu komunikovat XP využívá takové techniky, které komunikaci vyžadují (testování, párové programování, odhady úkolů) člen týmu, který udržuje komunikační toky, pomáhá programátorům s technickými dovednostmi, komunikuje s manažery na vyšších úrovních Úvod do softwarového inženýrství IUS 2009/2010 p.41/55

50 Charakteristické prvky XP Komunikace programátoři, zákazníci a manažeři musí spolu komunikovat XP využívá takové techniky, které komunikaci vyžadují (testování, párové programování, odhady úkolů) člen týmu, který udržuje komunikační toky, pomáhá programátorům s technickými dovednostmi, komunikuje s manažery na vyšších úrovních Zpětná vazba "Zeptej se systému", "Už máš napsaný test?" snaha mít co nejdříve nejdůležitější části systému, nejlépe přímo v provozu zpětná vazba by měla být rychlá přehnaný optimismus se léčí zpětnou vazbou člen týmu, který sleduje metriky, srovnává je s očekávaným stavem (nutnost malé režie) Úvod do softwarového inženýrství IUS 2009/2010 p.41/55

51 Charakteristické prvky XP Jednoduchost "Co je nejjednodušší věc, která by ještě fungovala?" je dobré udržovat si přehled o tom, co bude nicméně je nutné soustředit se na to, co je potřeba právě ted jednoduché věci je třeba vytvářet jednoduše úspora času na opravdu složité věci v případě potřeby není problém jednoduché věci rozšířit Úvod do softwarového inženýrství IUS 2009/2010 p.42/55

52 Charakteristické prvky XP Jednoduchost "Co je nejjednodušší věc, která by ještě fungovala?" je dobré udržovat si přehled o tom, co bude nicméně je nutné soustředit se na to, co je potřeba právě ted jednoduché věci je třeba vytvářet jednoduše úspora času na opravdu složité věci v případě potřeby není problém jednoduché věci rozšířit Odvaha nebát se provést zásadní změny (např. i za cenu dočasného snížení úspěšnosti testů a tedy zvýšeného úsilí) nebát se zahodit naprogramovaný kód nebát se zkusit neznámé (když nevíš, že to nejde, může se to podařit) Úvod do softwarového inženýrství IUS 2009/2010 p.42/55

53 Základní techniky XP Přírůstkové (malé) změny návrh a implementace se mění v čase jen pozvolna uvolňování malých verzí systému (nejpodstatnější požadavky, postupně vylepšované a doplňované) Úvod do softwarového inženýrství IUS 2009/2010 p.43/55

54 Základní techniky XP Přírůstkové (malé) změny návrh a implementace se mění v čase jen pozvolna uvolňování malých verzí systému (nejpodstatnější požadavky, postupně vylepšované a doplňované) Testování "Co nelze otestovat, to neexistuje." ke každé funkci píšeme testy (mnohdy testujeme dříve, než programujeme) zautomatizovaný systém testů integrace a integrační testování Úvod do softwarového inženýrství IUS 2009/2010 p.43/55

55 Základní techniky XP Párové programování jednu věc programují vždy 2 programátoři (ale pouze 1 skutečně píše) ten, kdo píše, se soustřed uje na nejlepší způsob implementace problému druhý se soustřed uje na problém z globálnějšího pohledu bude to fungovat, jaké další testy, možnost zjednodušení,... páry jsou dynamické Úvod do softwarového inženýrství IUS 2009/2010 p.44/55

56 Základní techniky XP Párové programování jednu věc programují vždy 2 programátoři (ale pouze 1 skutečně píše) ten, kdo píše, se soustřed uje na nejlepší způsob implementace problému druhý se soustřed uje na problém z globálnějšího pohledu bude to fungovat, jaké další testy, možnost zjednodušení,... páry jsou dynamické Refaktorizace úprava stávajícího programu zjednodušení, zefektivnění návrhu odstranění (úprava) nepotřebných částí změna architektury (pravidlo přírůstkové změny) při refaktorizaci se nemění funkcionalita! Úvod do softwarového inženýrství IUS 2009/2010 p.44/55

57 Základní techniky XP Metriky důležitá součást určení kvality softwarových procesů např. poměr plánovaného času a skutečného času přiměřený počet metrik (3 4) pokud přestane metrika plnit svůj účel nahradit jinou např. metrika testů funkcionality se blíží 100% nahradit jinou s menší úspěšností existují pravidla udávající kdy a jak často by se měly jednotlivé techniky používat Úvod do softwarového inženýrství IUS 2009/2010 p.45/55

58 Proces vývoje v XP Iterace 1 4 týdny nezbytným výsledkem je sada testů funkcionality v první iteraci základy architektury výsledkem je základní funkční systém v dalších iteracích rozšiřování základní verze hledání odchylek od plánu (čas, testování,... ) v případě odchylek změna plánu nebo změna procesu Úvod do softwarového inženýrství IUS 2009/2010 p.46/55

59 Proces vývoje v XP Správný návrh se vyznačuje všechny testy fungují, neobsahuje duplicitní logiku, má co nejmenší počet tříd a metod, programátor zná všechny záměry návrhu. Motivace vývojářů lidé lépe pracují, pokud je práce baví jídlo, hračky, vybavení pracoviště,... Úvod do softwarového inženýrství IUS 2009/2010 p.47/55

60 Je RUP agilní metodou? Úvod do softwarového inženýrství IUS 2009/2010 p.48/55

61 Je RUP agilní metodou? Základní charakteristika základní vyjadřovací prostředek je UML pracuje v iteracích definuje obsah každé iterace definuje pracovní rámec (framework) Použití RUP klasický heavyweight proces agilní proces Úvod do softwarového inženýrství IUS 2009/2010 p.48/55

62 Je RUP agilní metodou? Craig Larman "light RUP" měsíční iterace první 3 dny iterace využití UML pro přiblížení návrhu pro danou iteraci dx proces minimální RUP proces považuje UML za jeden z možných pomocných prostředků Úvod do softwarového inženýrství IUS 2009/2010 p.49/55

63 Principy agilních metodologií shrnutí Iterativní a inkrementální vývoj krátké iterace nové funkce (funkcionalita) se dodávají často zákazník má pocit, že se něco děje, má možnost rychle modifikovat funkcionalitu / požadavky Princip jednoduchosti "Implementujeme pro dnešek, navrhujeme pro zítřek." {problém predikovatelnosti} zvyšování funkcionality (nákladů) na základě spekulace "Do systému vložíme to, co potřebujeme, když to potřebujeme." Osobní komunikace v týmu zásadní problém každé skupiny je komunikace komunikace jako jedna z forem vývoje softwaru používají se takové techniky, které komunikaci vyžadují párové programování, refaktorizace, časté schůzky se zákazníkem,... Úvod do softwarového inženýrství IUS 2009/2010 p.50/55

64 Principy agilních metodologií shrnutí Zákazník je členem vývojového týmu zákazník komunikuje s vývojovým týmem zákazník se spolupodílí na návrhu systému, na testech,... Průběžné automatizované testování časté změny systému vyžadují časté ověřování správnosti testy by měly být automatizované testy by měly být napsány před implementací Dokumentace význam formálních dokumentů je snižován základní dokumentace je zdrojový kód (klade se na něj největší důraz) uživatelský manuál (ne příliš rozsáhlý) Úvod do softwarového inženýrství IUS 2009/2010 p.51/55

65 Prediktivní či agilní metodologii? Kdy použít agilní metodologii? neurčité nebo měnící se požadavky odpovědní a dobře motivovaní vývojáři zákazník, který je ochoten zapojit se do vývoje Kdy použít prediktivní metodologii? velký vývojový tým (více jak 100 lidí) pevný rozsah projektu Výběr metodologie ovšem závisí na mnoha dalších aspektech... Úvod do softwarového inženýrství IUS 2009/2010 p.52/55

66 Poznatky z praxe Přístupy lidí vývoj podle předpisů můžeme říci, že neúspěch není naše chyba lidé preferují konzervativní přístup a neúspěch než riskovat úspěch s odlišnou metodou každá nová technika návrhu vypadá příliš složitě na použití návrhové týmy ignorují nástroje a techniky, které nemají rádi lidé pracují (učí se) dobře podle příkladů Metodologie většina metodologií může být vytvořena (použita) tak, aby pracovala v nějakém projektu libovolná metodologie může vést nějaký projekt k neúspěchu úspěšné týmy používají inkrementální vývoj "heavy" procesy bývají úspěšné "light" procesy jsou častěji úspěšné, úspěch je připisován právě "lightness" použité metodologie Úvod do softwarového inženýrství IUS 2009/2010 p.53/55

67 SW inženýr a metodologie Co musí umět dobrý SW inženýr? vybrat vhodnou metodologii nebo na základě metodologií vytvořit scénář vývoje softwaru tak, aby projekt úspěšně dosáhl stanoveného cíle, stanovit cíle splnitelné v daném prostředí cena termín dokončení funkčnost kvalita a to s ohledem na vývojový tým, který má k dispozici. Úvod do softwarového inženýrství IUS 2009/2010 p.54/55

68 Další reference Václav Kadlec. Agilní programování: Metodiky efektivního vývoje softwaru. Craig Larman. Agile and iterative development: a manager s guide. Scott W. Ambler. Agile database techniques: effective strategies for the agile software developer. Mike Cohn. Agile estimating and planning. Kent Beck. Extreme Programming Explained: Embrace Change. Alistair Cockburn. Agile Software Development: The Cooperative Game. Alistair Cockburn. Crystal Clear: A Human-Powered Methodology for Small Teams. Ken Schwaber, Mike Beedle. Agile Software Development with SCRUM. Úvod do softwarového inženýrství IUS 2009/2010 p.55/55

Řízení reálných projektů, agilní metodiky

Řízení reálných projektů, agilní metodiky Agent Technology Group Katedra kybernetiky Fakulta elektrotechnická - České vysoké učení technické Praha, 2009 Osnova Lze vyvíjet software bez metodiky? - bohužel ano menší komerční firmy (zejména vývoj

Více

Ročníkový projekt. Jaroslav Žáček jaroslav.zacek@osu.cz

Ročníkový projekt. Jaroslav Žáček jaroslav.zacek@osu.cz Ročníkový projekt Jaroslav Žáček jaroslav.zacek@osu.cz Cíle předmětů Vytvoření fungující aplikace, která splňuje definované požadavky Vyzkoušet si celý životní cyklus projektu - specifikace zadání, formování

Více

Obsah. Úvod 9 Poděkování 10 Co je obsahem této knihy 10 Pro koho je tato kniha určena 11 Zpětná vazba od čtenářů 11 Errata 11

Obsah. Úvod 9 Poděkování 10 Co je obsahem této knihy 10 Pro koho je tato kniha určena 11 Zpětná vazba od čtenářů 11 Errata 11 Úvod 9 Poděkování 10 Co je obsahem této knihy 10 Pro koho je tato kniha určena 11 Zpětná vazba od čtenářů 11 Errata 11 KAPITOLA 1 Co je třeba znát aneb důležité pojmy 13 Krátce o požadavcích 13 Stakeholdeři

Více

Metodiky pro efektivní vývoj software (agilní programování)

Metodiky pro efektivní vývoj software (agilní programování) Metodiky pro efektivní vývoj software (agilní programování) Netradiční metody programování Cílem těchto metodik je vyvinout kvalitní a dobře fungující software rychle a levně. Umožňují flexibilní reakci

Více

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

X36SIN: Softwarové inženýrství. Životní cyklus a plánování X36SIN: Softwarové inženýrství Životní cyklus a plánování 1 Kontext Minule jsme si řekli, co to je deklarace záměru, odborný článek, katalog požadavků, seznam aktérů a seznam událostí. Seznam aktérů a

Více

SOFTWAROVÉ INŽENÝRSTVÍ 1

SOFTWAROVÉ INŽENÝRSTVÍ 1 Metodický list č. 1 Název tématického celku: Úvod do softwarového inženýrství Základním cílem tohoto tematického celku je vysvětlení smyslu discipliny nazývané softwarové inženýrství. Tematický celek zahrnuje

Více

Jakou metodiku použít pro

Jakou metodiku použít pro Jakou metodiku použít pro konkrétní projekt? Hodnocení a výběr vhodné metodiky pro budování IS Alena Buchalcevová Katedra informačních č technologií, VŠE Praha Agenda metodika jako nástroj zvýšení úspěšnosti

Více

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Osnova přednášky Co to je softwarové inženýrství Softwarový proces Metodika a metoda Evoluce softwarových

Více

5 Požadavky a jejich specifikace

5 Požadavky a jejich specifikace 5 Požadavky a jejich specifikace 5.1 Inženýrství (requirements engineering) - proces stanovení služeb, které by měl vyvíjený systém poskytovat a omezení, za nichž musí pracovat - CO má systém dělat, ne

Více

Program a životní cyklus programu

Program a životní cyklus programu Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy

Více

Agilní metodiky vývoje softwaru

Agilní metodiky vývoje softwaru vývoje softwaru : důraz na průběžnou komunikaci mezi vývojovým týmem a zákazníkem důraz na tvorbu kvalitního kódu a funkcí, které mají přímou obchodní hodnotu pro zákazníka týmovou spolupráci a samoorganizaci

Více

Základy analýzy. autor. Jan Novotný http://blog.novoj.net/ 15. února 2007

Základy analýzy. autor. Jan Novotný http://blog.novoj.net/ 15. února 2007 Základy analýzy autor Jan Novotný http://blog.novoj.net/ 15. února 2007 V prezentaci jsou použity diagramy z: Wikipedia, Sparx UML Tutorial, Argo UML Metodiky vývoje Různé metodiky vývoje vazba na fáze

Více

Přehled rolí v jednotlivých metodikách

Přehled rolí v jednotlivých metodikách 4IT421 Zlepšování procesů budování informačních systémů Přehled rolí v jednotlivých metodikách RUP pro velké projekty, RUP pro malé projekty, OpenUP, MMSP, Scrum, XP Bc. Kamila Langrová (xlank10) ZS 2013/2014

Více

Vývoj IS. Vladimíra Zádová, KIN, EF TUL- ISN3

Vývoj IS. Vladimíra Zádová, KIN, EF TUL- ISN3 Vývoj IS Metodika Metoda Nástroje Technika Životní cyklus Etapy Přístupy k vývoji Základní alternativy vývoje a provozu Integrace Doporučený souhrn etap, přístupů, zásad, postupů, pravidel, metod, technik,

Více

Software - - - - generické produkty - smluvní, zakázkové produkty - - udržovatelnost spolehlivost efektivita použitelnost - - - - specifikace

Software - - - - generické produkty - smluvní, zakázkové produkty - - udržovatelnost spolehlivost efektivita použitelnost - - - - specifikace 1. Software - software o souhrn počítačových programů, procedur, pravidel a průvodní dokumentace a dat, který náleží k provozu počítačového systému o vyvíjen a řešen inženýrskými pracemi o fyzicky se neopotřebuje

Více

TREND 07-201 POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

TREND 07-201 POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE Tel. +420 543426329 TREND 07-201 POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE Autor: Vít Chvál Verze dokumentu: 1.0 Datum poslední změny: 18.2.2013 Obsah: 1 Pracovník 3 2 Pracovní činnosti (Náplň práce)

Více

Zátěžové testy aplikací

Zátěžové testy aplikací Zátěžové testy aplikací Obsah Zátěžové testy v životním cyklu vývoje software Kdy a proč provádět zátěžové testy Projekt zátěžového testu Fáze zátěžového testu Software pro zátěžové testy Zátěžové testy

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 21. Otázka : Softwarový process. Jeho definice, modely a vyspělostní úrovně. Standardizovaný přístup pomocí RUP (Rational Unified Process). Obsah :

Více

Zuzana Šochová 30.10.2008. MFF Modelování a realizace softwarových projektů

Zuzana Šochová 30.10.2008. MFF Modelování a realizace softwarových projektů Zuzana Šochová 30.10.2008 1 Metody řízení projektů Týmová spolupráce Agilní metody Scrum proces Backlog úloh a odhady Jak plánovat Tým a zákazník 2 Executive support User involvement Experienced project

Více

A7B36SI2 Tematický okruh SI11 Revidoval: Martin Kvetko

A7B36SI2 Tematický okruh SI11 Revidoval: Martin Kvetko Obsah Kvalita SW, jak zajistit kvalitu SW a jak ji ověřit Zabezpečení kvality, techniky řízení kvality SW. Potřeba kultivovat kvalitu, Cena za jakost Procesy pro řízení kvality, harmonogram řízení kvality

Více

AGILNÍ METODIKY VÝVOJE SOFTWARE

AGILNÍ METODIKY VÝVOJE SOFTWARE AGILNÍ METODIKY VÝVOJE SOFTWARE Postupy předchozích metodik, založené na důsledné analýze a propracovaném návrhu jsou obecně nejlepší. Ale Děláte web půl roku? Konkurence mezitím spustila dva Zdánlivě

Více

Agenda. Docházka Odhadování Neohlášený test Vedení projektů Historie projektů

Agenda. Docházka Odhadování Neohlášený test Vedení projektů Historie projektů Odhadování pracnosti a PM Agenda Docházka Odhadování Neohlášený test Vedení projektů Historie projektů PM, odhadování, historie Odhadování Snaha určit rozsah. Důležité pro stanovení ceny a termínu Do nabídek.

Více

Agilní metodiky Agilní Jan Smolík

Agilní metodiky Agilní Jan Smolík Agilní metodiky Jan Smolík Kritéria pro členění metodik Zaměření metodiky Rozsah metodiky Váha metodiky Typ řešení Doména Zaměření metodiky Globální metodiky (Enterprise Methodologies) Zaměřené na komplexní

Více

Informační systémy. Jaroslav Žáček jaroslav.zacek@osu.cz

Informační systémy. Jaroslav Žáček jaroslav.zacek@osu.cz Informační systémy Jaroslav Žáček jaroslav.zacek@osu.cz Úvod - co možná umíte z předmětu SWENG Rozdělení IT Architektura IS Klíčový prvek řízení IS z něj vycházejí detailní analytické i plánovací charakteristiky

Více

Analýza a Návrh. Analýza

Analýza a Návrh. Analýza Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,

Více

Životní cyklus vývoje SW. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Životní cyklus vývoje SW. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Životní cyklus vývoje SW Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Proč potřebujeme definovat proces vývoje Při vývoji SW nemáme tvrdá fakta, jako v jiných vědách (fyzika, chemie,

Více

14 Úvod do plánování projektu Řízení projektu

14 Úvod do plánování projektu Řízení projektu 14 Úvod do plánování projektu Řízení projektu Plánování projektu Vývoj - rozbor zadání odhad pracnosti, doby řešení, nákladů,... analýza rizik strategie řešení organizace týmu PLÁN PROJEKTU 14.1 Softwarové

Více

01. Životní cyklus programového díla, analýza, návrh, implementace, provoz a metodiky vývoje SW. (A7B36SIN)

01. Životní cyklus programového díla, analýza, návrh, implementace, provoz a metodiky vývoje SW. (A7B36SIN) Zpracoval: houzvjir@fel.cvut.cz 01. Životní cyklus programového díla, analýza, návrh, implementace, provoz a metodiky vývoje SW. (A7B36SIN) Obsah Životní cyklus programového díla... 2 Analýza... 4 Postup

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Inženýr IT a řídících systémů

Inženýr IT a řídících systémů Inženýr IT a řídících systémů Kdo to je: Inženýr IT a řídících systémů je vysoce kvalifikovaný pracovník, který komplexně stanovuje směry technického rozvoje řídících technologických systémů a nastavení

Více

PowerOPTI Řízení účinnosti tepelného cyklu

PowerOPTI Řízení účinnosti tepelného cyklu PowerOPTI Řízení účinnosti tepelného cyklu VIZE Zvýšit konkurenceschopnost provozovatelů elektráren a tepláren. Základní funkce: Spolehlivé hodnocení a řízení účinnosti tepelného cyklu, včasná diagnostika

Více

Jsme firma, která už působí na trhu několik let. Za tu dobu jsme nasbírali

Jsme firma, která už působí na trhu několik let. Za tu dobu jsme nasbírali K.O.D.A. s.r.o Jsme firma, která už působí na trhu několik let. Za tu dobu jsme nasbírali dost zkušeností v našem oboru. Zabýváme se vývojem informačního systému pro výrobní podniky a dále konzultačními

Více

Agenda. Smysl teoretických cvičení Klasifikace Obecná pravidla Bugzilla Klasické problémy Poznámky k jednotlivým pojmům Antipatterns Testování testů

Agenda. Smysl teoretických cvičení Klasifikace Obecná pravidla Bugzilla Klasické problémy Poznámky k jednotlivým pojmům Antipatterns Testování testů Testování a QA Agenda Smysl teoretických cvičení Klasifikace Obecná pravidla Bugzilla Klasické problémy Poznámky k jednotlivým pojmům Antipatterns Testování testů Klasifikace Kategorie black box grey box

Více

software pro embedded systémy a mobilní zařízení

software pro embedded systémy a mobilní zařízení software pro embedded systémy a mobilní zařízení profil společnosti Eccam je česká softwarová společnost se sídlem v Praze. Zabýváme se návrhem a vývojem software pro embedded a mobilní systémy z různých

Více

Srovnávací analýza metodik vývoje software

Srovnávací analýza metodik vývoje software Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb Vladimír Popelka Srovnávací analýza metodik vývoje software Bakalářská práce 2009 Zadání bakalářské

Více

Co je to SCRUM! FRAMEWORK vs METODIKA. Ken Schwaber a Jeff Sutherland ho mají za framework Kde hledat detaily?

Co je to SCRUM! FRAMEWORK vs METODIKA. Ken Schwaber a Jeff Sutherland ho mají za framework Kde hledat detaily? Úvod do SCRUM!! Co je to SCRUM! FRAMEWORK vs METODIKA Ken Schwaber a Jeff Sutherland ho mají za framework Kde hledat detaily? agilemanifesto.org www.mountaingoatsoftware.com/scrum Z čeho to je...! Vychází

Více

InternetovéTechnologie

InternetovéTechnologie 8 InternetovéTechnologie webdesign, mobile first Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky Webové stránky a aplikace - Webové stránky - množina vzájemně propojených stránek, které obsahují informace

Více

6INF2. RNDr. Jaroslav Žáček, Ph.D. jaroslav.zacek@osu.cz

6INF2. RNDr. Jaroslav Žáček, Ph.D. jaroslav.zacek@osu.cz 6INF2 RNDr. Jaroslav Žáček, Ph.D. jaroslav.zacek@osu.cz Vliv IT na změny ve společnosti Vznik nových produktů (platební karty, digitální kamery, ) Vznik ucelených řešení na bázi IS bez přítomnosti lidí

Více

Využití SysML pro tvorbu modelů v systémovém inženýrství

Využití SysML pro tvorbu modelů v systémovém inženýrství Využití SysML pro tvorbu modelů v systémovém inženýrství Antonín Srna, Ústav informatiky, Provozně ekonomická fakulta, Mendelova univerzita v Brně, xsrna2@mendelu.cz Abstrakt Článek se zaobírá univerzálním

Více

Agilní metodiky vývoje software

Agilní metodiky vývoje software MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY ^TIS m p Agilní metodiky vývoje software DIPLOMOVÁ PRÁCE Bc. Tomáš Kotrla Brno, Podzim 2005 Prohlášení Prohlašuji, že tato diplomová práce je mým původním

Více

Slovenská spořitelna:

Slovenská spořitelna: Případová studie Slovenská spořitelna: Microsoft Dynamics CRM pro správu klientů ze segmentu malých a středních podniků Jak jsme Slovenské spořitelně usnadnily a zefektivnily práci s klienty ze segmentu

Více

METODIKA FEATURE-DRIVEN DEVELOPMENT NEOPOUŠTÍ MODELOVÁNÍ A PROCESY, A PŘESTO PŘINÁŠÍ VÝHODY AGILNÍHO VÝVOJE ing. Alena Buchalcevová, Ph.

METODIKA FEATURE-DRIVEN DEVELOPMENT NEOPOUŠTÍ MODELOVÁNÍ A PROCESY, A PŘESTO PŘINÁŠÍ VÝHODY AGILNÍHO VÝVOJE ing. Alena Buchalcevová, Ph. METODIKA FEATURE-DRIVEN DEVELOPMENT NEOPOUŠTÍ MODELOVÁNÍ A PROCESY, A PŘESTO PŘINÁŠÍ VÝHODY AGILNÍHO VÝVOJE ing. Alena Buchalcevová, Ph.D Katedra informačních technologií VŠE Praha nám. W.Churchilla 4,

Více

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan Principy OOP při tvorbě aplikací v JEE Michal Čejchan Témata přednášky Principy OOP - připomenutí Úvod - co nás vede k používání OOP Reálný svět - jak (ne)používáme OOP Nedostatky na úrovni programovacích

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování Project management Project management Příprava projektu Zahájení High level plánování Vykonávání Detailní plánování Vykonávání Řízení a monitorování Uzavření a zhodnocení (iterace, projektu) Projekt Projekt

Více

Úvod do softwarového inženýrství IUS

Úvod do softwarového inženýrství IUS Úvod do softwarového inženýrství IUS Studijní opora Ing. Bohuslav Křena, Ph.D. Ing. Radek Kočí, Ph.D. 6. prosince 2006 Tento učební text vznikl za podpory projektu Zvýšení konkurenceschopnosti IT odborníků

Více

Agilní metodiky vývoje software

Agilní metodiky vývoje software MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY * ^ 1 S m p %,

Více

Hodnotocentrické metodiky

Hodnotocentrické metodiky 2 Hodnotocentrické metodiky Vyšší management Projektový manažer Jedna metodika těžko bude tou jedinou správnou,... pro každý projekt a realizační tým existuje jiný správný způsob práce. 1 Alistair Cockburn

Více

Principy UML. Clear View Training 2005 v2.2 1

Principy UML. Clear View Training 2005 v2.2 1 Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat

Více

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití Programové prostředky PC - 5 Informatika 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah: Vrstvy programového

Více

ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování

ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování 4.8.16. Úvod do programování Vyučovací předmět Úvod do programování je na naší škole nabízen v rámci volitelných předmětů v sextě, septimě nebo v oktávě jako jednoletý dvouhodinový kurz. V případě hlubšího

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Honeywell & Masarykova univerzita v Brně

Honeywell & Masarykova univerzita v Brně Honeywell & Masarykova univerzita v Brně Představení projektu ifest a dosavadních výsledků jeho řešení Ing. Jan Beran, Ph.D., Advanced Technology Europe (Platform Systems), Honeywell International Představení

Více

Aplikační Dokumentace Standardy ICT MPSV

Aplikační Dokumentace Standardy ICT MPSV Standardy ICT MPSV Datum: 19.12.2014 Informace o dokumentu Název dokumentu: Aplikační Dokumentace Historie verzí Číslo verze Datum verze Vypracoval Popis Jméno souboru 1.0 31.8.2012 Jan Apfelthaler Doplnění

Více

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI Cyril Klimeš a) Jan Melzer b) a) Ostravská univerzita, katedra informatiky a počítačů, 30. dubna 22, 701 03 Ostrava, ČR E-mail: cyril.klimes@osu.cz b) DC Concept

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

PRŮZKUM AGILNÍHO ŘÍZENÍ V ČR 2013

PRŮZKUM AGILNÍHO ŘÍZENÍ V ČR 2013 PRŮZKUM 2013... aneb jak jsme na tom s agilem PRŮZKUM 2013 ETNETERA & AGILE V KOSTCE V dnešní době již téměř každý volnonožec, každá firmička, firma či korporace slyšeli aspoň něco málo o Agilu. O tak

Více

Iterativní vývoj software KIV/ASWI 2014/2015

Iterativní vývoj software KIV/ASWI 2014/2015 Iterativní vývoj software KIV/ASWI 2014/2015 Obsah Iterativní vývoj struktura a vlastnosti iterace globální řízení Empirický proces Q: Jaké můžeme v nejbližší době čekat nové, vzrušující a slibné myšlenky

Více

Jan Horák. Pilíře řešení

Jan Horák. Pilíře řešení Jan Horák Pilíře řešení Nová generace systémů Důsledek rozvoje a změn informatiky ve zdravotnictví: Nové technologie Výkonnost, mobilita, velikost monitorů, dotykové ovládání, vzdálené přístupy Nové možnosti

Více

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 10 ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1 ROZHODOVÁNÍ TEORIÍ POMOCÍ SAT ŘEŠIČE (SMT)

Více

Dominik Vymětal. Informační technologie pro praxi 2009, Ostrava 1.-2.10.2009 1

Dominik Vymětal. Informační technologie pro praxi 2009, Ostrava 1.-2.10.2009 1 Dominik Vymětal 2009, Ostrava 1.-2.10.2009 1 Procesní model Výhody Orientace na konkrétní činnosti a možnost reengineeringu Nevýhody Malá orientace na průřezové nebo opakované činnosti Modely na základě

Více

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Příloha č. 3 k č.j. MV-159754-3/VZ-2013 Počet listů: 7 TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Nové funkcionality Czech POINT 2012 Popis rozhraní egon Service Bus Centrální Místo Služeb 2.0 (dále jen CMS

Více

Web Design Factory Projektové řízení pro progresivní společnost

Web Design Factory Projektové řízení pro progresivní společnost Web Design Factory Projektové řízení pro progresivní společnost Případová studie Name Description Projektové řízení pro progresivní společnost Implementace systému Atollon Workshop ve společnosti WDF Version

Více

POŘÍZENÍ A IMPLEMENTACE INFORMAČNÍCH SYSTÉMŮ

POŘÍZENÍ A IMPLEMENTACE INFORMAČNÍCH SYSTÉMŮ POŘÍZENÍ A IMPLEMENTACE INFORMAČNÍCH SYSTÉMŮ ŽIVOTNÍ CYKLUS IS Stejně jako stroje a technologické linky, které jsou pořízeny, provozovány a následně, po opotřebování vyřazeny, má i informační systém svůj

Více

Systém environmentálního řízení

Systém environmentálního řízení EMS Systém environmentálního řízení Pavel Růžička, MŽP Seminář k environmentální politice pro MSP Brno, 14.12.2007 Systémy environmentálního řízení Systematický přístup k ochraně ŽP ve všech směrech podnikatelské

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Aplikace pro srovna ní cen povinne ho ruc ení

Aplikace pro srovna ní cen povinne ho ruc ení Aplikace pro srovna ní cen povinne ho ruc ení Ukázkový přiklad mikroaplikace systému Formcrates 2010 Naucrates s.r.o. Veškerá práva vyhrazena. Vyskočilova 741/3, 140 00 Praha 4 Czech Republic tel.: +420

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Workflow, definice, charakteristika, trendy

Workflow, definice, charakteristika, trendy Workflow, definice, charakteristika, trendy Workflow management je efektivní správa toku informací a řízení v podnikových procesech. Workflow automatizuje procesy. Workflow podporuje tok dokumentů, informací

Více

Ing. Zuzana Šochová 30.4.2008. ČVUT FEL - Řízení softwarových projektů

Ing. Zuzana Šochová 30.4.2008. ČVUT FEL - Řízení softwarových projektů Ing. Zuzana Šochová 30.4.2008 1 Outsourcing jako business model Práce v týmu Procesy a řízení lidí v outsourcingu Metodologie Agile SCRUM 2 Proč firmy hledají outsourcing? Levnější (?) Nedostatek vlastních

Více

Metodiky vývoje software, MDA

Metodiky vývoje software, MDA Metodiky vývoje software, MDA Karel Richta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze richta@fel.cvut.cz, 2011 Softwarové inženýrství I., BI-SI1

Více

ANALÝZA ETAP VE VÝVOJI A IMPLEMENTACI SOFTWARE A INFORMAČNÍCH SYSTÉMŮ V ÚPRAVNÁCH UHLÍ. Ing. Roman Danel, Ph.D. roman.danel@vsb.cz

ANALÝZA ETAP VE VÝVOJI A IMPLEMENTACI SOFTWARE A INFORMAČNÍCH SYSTÉMŮ V ÚPRAVNÁCH UHLÍ. Ing. Roman Danel, Ph.D. roman.danel@vsb.cz ANALÝZA ETAP VE VÝVOJI A IMPLEMENTACI SOFTWARE A INFORMAČNÍCH SYSTÉMŮ V ÚPRAVNÁCH UHLÍ Ing. Roman Danel, Ph.D. roman.danel@vsb.cz VŠB TU OSTRAVA Institut ekonomiky a systémů řízení Hornicko geologická

Více

Web je bezesporu nejrychleji měnícím se médiem, do kterého se

Web je bezesporu nejrychleji měnícím se médiem, do kterého se váš nový WEB Vážený zákazníku, velice si vážím vašeho zájmu o moje služby. Každý profesionál se snaží udělat zadanou práci co nejlépe. K tomu používá svoje osvědčené nástroje a získané Know-how. Věřím,

Více

Webové služby DPD. Verze 2015-05-05

Webové služby DPD. Verze 2015-05-05 Obsah 1 Úvod... 3 2 Moje DPD / IT4EM... 4 2.1 ShipmentService... 4 2.2 ManifestService... 4 2.3 PickupOrderService... 4 3 DeliCom / DPD... 5 3.1 LoginService... 5 3.2 ParcelShopFinderService... 6 3.3 DepotDataService...

Více

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Trendy a móda EMBARCADERO TECHNOLOGIES Popularita a prodej mobilních zařízení roste Skoro každý má

Více

Nová generace podnikových mobilních aplikací od HP

Nová generace podnikových mobilních aplikací od HP Nová generace podnikových mobilních aplikací od HP V době rozmachu chytrých telefonů a tabletů, které se již staly komoditním produktem a ne jen hračkou pro nadšence a profesionály, jsme svědky vzniku

Více

Manažerské účetnictví

Manažerské účetnictví Manažerské účetnictví Program 1. Úvod 2. Význam manažerského účetnictví pro řízení 3. Několik definic 4. Řízení nákladů 5. Podpora typických rozhodování manažerským účetnictvím 6. Jednotlivé složky manažerského

Více

Požadavky na parametry SLA

Požadavky na parametry SLA Příloha č.3 Požadavky na parametry SLA 1.1 Základní údaje Režim SLA pro provoz bude začínat od akceptace hlavního díla (nový portál) a je určen pro režim provozu portálu. Předmětem SLA budou následující

Více

Proč je analytický model IS nutným předpokladem pro zabránění tvorbě molochálních systémů

Proč je analytický model IS nutným předpokladem pro zabránění tvorbě molochálních systémů Proč je analytický model IS nutným předpokladem pro zabránění tvorbě molochálních systémů Část 1 autor RNDr. Ilja Kraval, http://www.objects.cz březen 2007 firma Object Consulting s.r.o. Úvod V reakci

Více

Aplikační standard - Dokumentace ICT Standardy MPSV MPSV

Aplikační standard - Dokumentace ICT Standardy MPSV MPSV ICT Standardy MPSV MPSV Vedoucí projektu Objednatele: Milan Hojer Vedoucí projektu Zhotovitele: Michal Čanda HEWLETT-PACKARD s.r.o. Vyskočilova 1/1410 140 21 Praha 4 Tel: 261 307 111 Datum: 7.10.2012 Informace

Více

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat QA & Dokumentace Agenda Docházka Návrat k minulému praktickému cvičení Zápočtové práce QA opakování Dokumentace Co, jak a proč dokumentovat Dotazy, přání, stížnosti Kde je chyba? public static StringBuilder

Více

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for Převod 4GL aplikací do webového prostředí Ing. Jan Musil, IBM ČR Community of Practice for CEEMEA Co je to EGL? -4GL a EGL Agenda Popis převodu z -4GL do EGL krok za krokem Obecný postup převodu Závěrečný

Více

Česká letecká servisní a. s.

Česká letecká servisní a. s. Česká letecká servisní a. s. 1/20 Česká letecká servisní a. s. Your integrator of the avionics Česká letecká servisní a. s. Úvod do RTCA-DO178B Česká letecká servisní a. s. 2/20 Co je RTCA-DO178B RTCA-DO178B,

Více

www.marbes.cz Ing. Jiří BERKOVEC Ing. Jan DROZEN 7.6. 2007 MARBES CONSULTING s.r.o. Brojova 16 326 00 Plzeň

www.marbes.cz Ing. Jiří BERKOVEC Ing. Jan DROZEN 7.6. 2007 MARBES CONSULTING s.r.o. Brojova 16 326 00 Plzeň na MěstskM stském úřadě PŘÍBRAM Ing. Jiří BERKOVEC Ing. Jan DROZEN 7.6. 2007 MARBES CONSULTING s.r.o. Brojova 16 326 00 Plzeň Úvod Důvody pro změnu Městský úřad Příbram vykonává státní správu na území

Více

Problémové domény a jejich charakteristiky

Problémové domény a jejich charakteristiky Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 02 1/16 Problémové domény a jejich charakteristiky Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta

Více

CMMI-DEV v.1.3 PA Configuration management

CMMI-DEV v.1.3 PA Configuration management VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE CMMI-DEV v.1.3 PA Configuration management 4IT421 - Zlepšování procesů budování IS Pavel Neuman ZS 2012/2013 Obsah 1. Úvod... 2 2. Configuration Management... 2 2.1. Úvodní

Více

ODŮVODNĚNÍ VEŘEJNÉ ZAKÁZKY

ODŮVODNĚNÍ VEŘEJNÉ ZAKÁZKY ODŮVODNĚNÍ VEŘEJNÉ ZAKÁZKY v souladu s 156 odst. 1 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen zákon ) Zadavatel: Česká republika Ministerstvo financí Sídlo: Letenská

Více

WebWalker www.webwalker.cz

WebWalker www.webwalker.cz WebWalker www.webwalker.cz Efektivní nástroj pro automatické testy webových aplikací Tester k vašim službám: WebWalker WebWalker je nástroj určený pro automatizované testování webových aplikací, který

Více

Příklad dobré praxe VII

Příklad dobré praxe VII Projekt Další vzdělávání pedagogických pracovníků středních škol v oblasti kariérového poradenství CZ 1.07/1.3.00/08.0181 Příklad dobré praxe VII pro průřezové téma Člověk a svět práce Mgr. Miroslav Široký

Více

Využití chemie v procesu testování webových aplikací vytvořených pomocí technologií PHP a Java

Využití chemie v procesu testování webových aplikací vytvořených pomocí technologií PHP a Java Využití chemie v procesu testování webových aplikací vytvořených pomocí technologií PHP a Java aneb Selenium v akci Michal Špaček, WebExpo 2008, Praha Proč vůbec testovat? Náš software nemá žádné chyby,

Více

Analýza a návrh webových aplikací I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Analýza a návrh webových aplikací I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Analýza a návrh webových aplikací I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Osnova dnešní přednášky Proč tento předmět vlastně existuje? Proč nestačí standardní metodiky SI? Co standardním

Více

Jednotný NIS Prezentace k zahájení projektu pro Radu kraje Vysočina. Projektový manažer - Ing. Ivan Sokolov, Ph.D.

Jednotný NIS Prezentace k zahájení projektu pro Radu kraje Vysočina. Projektový manažer - Ing. Ivan Sokolov, Ph.D. Prezentace k zahájení projektu pro Radu kraje Vysočina Projektový manažer - Ing. Ivan Sokolov, Ph.D. Obsah Úvod Cíle projektu Rozsah projektu Projektové řízení základní východiska Základní organizační

Více

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování

Více

Úvod do mobilní robotiky AIL028

Úvod do mobilní robotiky AIL028 Pravděpodobnostní plánování zbynek.winkler at mff.cuni.cz, md at robotika.cz http://robotika.cz/guide/umor05/cs 12. prosince 2005 1 Co už umíme a co ne? Jak řešit složitější případy? Definice konfiguračního

Více

Připravte se na konjunkturu se systémem řízení údržby SGM. SGM moderní nástroj pro řízení údržby nejen výrobních zařízení

Připravte se na konjunkturu se systémem řízení údržby SGM. SGM moderní nástroj pro řízení údržby nejen výrobních zařízení Připravte se na konjunkturu se systémem řízení údržby SGM SGM moderní nástroj pro řízení údržby nejen výrobních zařízení 30.3.2010 konference EAM, Brno Boris Soukeník ředitel Synergit s.r.o. Agenda prezentace

Více

Obsah: Základní pojmy, definice Informační systémy IT architektura Typické aplikační komponenty Implementace aplikací

Obsah: Základní pojmy, definice Informační systémy IT architektura Typické aplikační komponenty Implementace aplikací Monitorovací indikátor: 06.43.10 Počet nově vytvořených/inovovaných produktů Akce: Přednáška, KA 5 Číslo přednášky: 30 Téma: INFORMAČNÍ SYSTÉMY A ARCHITEKTURA IT V PODNIKU Lektor: Ing. Michal Beránek Třída/y:

Více

Zhodnocení architektury podniku. Jiří Mach 28. 8. 2014

Zhodnocení architektury podniku. Jiří Mach 28. 8. 2014 Zhodnocení architektury podniku Jiří Mach 28. 8. 2014 Obsah Zhodnocení architektury podniku Zahájení projektu Metodika/framework Harmonogram projektu 1. fáze: vytvoření popisu AS-IS stavu 2. fáze: analýza

Více