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

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

Testování software. Jaroslav Žáček

Testování software. Jaroslav Žáček Testování software Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Testování Obsáhlá disciplína, existuje spoustu pohledů Problém při nastavení míry kvality Kvalita: Schopnost objektu být

Více

Zajištění kvality programového vybavení - testování

Zajištění kvality programového vybavení - testování Zajištění kvality programového vybavení - testování Základy testování Proč se to dělá? Kvalita software 100% testování není možné Různé pohledy: Vývojářské testování (testy komponent, integrační, systémové

Více

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko Strategie testování, validace a verifikace. Testování v průběhu životního cyklu SW díla. Testování jednotek, integrační testování, validační testování, systémové testování, ladění. Principy testování,

Více

Ří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

CASE. Jaroslav Žáček

CASE. Jaroslav Žáček CASE Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? Definice dle SEI A CASE tool is a computer-based product aimed at supporting one or more software engineering activities

Více

Agile Software Development

Agile Software Development Agile Software Development Agile Software Development Jiri Fabian www.jirifabian.net O čem to bude O metodologiích RUP Agile XP Scrum Co je softwarový vývoj Umění? Manufaktura? Modelování? Co je softwarový

Více

Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu. Vývoje produktu Implementace produktu

Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu. Vývoje produktu Implementace produktu Životní cykly Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu Vývoje produktu Implementace produktu 1. Identifikace problému potřeba nového systému/služby

Více

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda Proces vývoje HRIS Vema Vlastnosti HRIS (Human Resources Information System) HRIS Vema Proces vývoje HRIS Vema Vema, a. s. Přední

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

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

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

12 Zajištění kvality programového vybavení

12 Zajištění kvality programového vybavení 12 Zajištění kvality programového vybavení Obecně dva druhy kvality u technických produktů: a) Kvalita návrhu - vlastnosti komponent, specifikované návrháři. U SW se týká analýzy a specifikace požadavků

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

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

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1 Kvalita SW produktů Jiří Sochor, Jaroslav Ráček 1 Klasický pohled na kvalitu SW Každý program dělá něco správně; nemusí však dělat to, co chceme, aby dělal. Kvalita: Dodržení explicitně stanovených funkčních

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

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

Úvod do softwarového inženýrství IUS 2009/2010 p.1/40 Úvod do softwarového inženýrství IUS 2009/2010 2. 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/40 Dekompozice složitých problémů rozdělení

Více

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze

Více

2 Životní cyklus programového díla

2 Životní cyklus programového díla 2 Životní cyklus programového díla Typické etapy: 1. Specifikace požadavků - specifikace problému - analýza požadavků 2. Vývoj programu - návrh - kódování (programování) 3. Verifikace a validace 4. Provoz

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

Testování Java EE aplikací Petr Adámek

Testování Java EE aplikací Petr Adámek Testování Java EE aplikací Petr Adámek Testování aplikací Testování aplikací Ověřuje soulad implementace se specifikací a s očekáváním zákazníka. Je důležitou součástí procesu řízení kvality vývoje software

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

Testování softwaru. 10. dubna Bořek Zelinka

Testování softwaru. 10. dubna Bořek Zelinka Testování softwaru 10. dubna 2013 Bořek Zelinka Agenda Definice testování Testování v rámci vývoje softwaru Základní rozdělení testů Představení testovacích technik Testovací strategie Copyright Unicorn

Více

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE Vývoj prvních programů byl prováděn nadšenci, programy byly šité na míru. Žádná metodika vývoje SW v té době neexistuje. Vývoj SW byl vnímán jako výzkum. Cíl, co bude

Více

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc.

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc. Softwarové inženýrství 01 doc. Ing. František Huňka, CSc. Obsah kurzu Softwarové inženýrství obecně vodopádová model spirálový model RUP agilní metodiky vývoj řízený vlastnostmi (Feature Development Design)

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

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

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství Přemysl Brada Cíle předmětu Organizační informace Opakování Cíl předmětu Praktické zkušenosti sw proces a iterativní vývoj jaksi mimochodem

Více

XINF1. Jaroslav Žáček jaroslav.zacek@osu.cz

XINF1. Jaroslav Žáček jaroslav.zacek@osu.cz XINF1 Jaroslav Žáček jaroslav.zacek@osu.cz Tutoriály 24.10. - 3h 6.11. - 2,2h 27.11. - 1,5h Tutoriály budeme věnovat nejen teorii, ale také cvičení a workshopům. Přečtěte si skripta dříve, než týden před

Více

Seminární práce Vývoj informačního systému. Manažerská informatika 2 Ing. Miroslav Lorenc

Seminární práce Vývoj informačního systému. Manažerská informatika 2 Ing. Miroslav Lorenc Seminární práce Vývoj informačního systému Manažerská informatika 2 Ing. Miroslav Lorenc Vypracoval: Jan Vít (xvitj17) LS 2007/2008 1. ÚVOD...3 1.1. POPIS PROJEKTU...3 2. OBSAH PROJEKTU...3 2.1. SEZNAM

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Citace článku. Alena Buchalcevová, Jan Kučera. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3

Citace článku. Alena Buchalcevová, Jan Kučera. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3 Citace článku BUCHALCEVOVÁ, Alena, KUČERA, Jan. Hodnocení metodik vývoje informačních systémů z pohledu testování. Systémová integrace, 2008, roč. 15, č. 2, s. 42 54. ISSN 1210-9479 Hodnocení metodik vývoje

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Jak testovat software v praxi. aneb šetříme svůj vlastní čas

Jak testovat software v praxi. aneb šetříme svůj vlastní čas Jak testovat software v praxi aneb šetříme svůj vlastní čas Proč testy nepíšeme Nemáme na to čas Platí v cca 5% případů Nový projekt Prototyp je třeba mít během pár dní Počítá se s tím, že další verze

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

Design systému. Komponentová versus procesní architektura

Design systému. Komponentová versus procesní architektura Design systému Komponentová versus procesní architektura Architektura : třídy statické aspekty propojení logický pohled struktura popisu systému Architektura procesů: objekty dynamické aspekty koordinace

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

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

Význam měřm. Mgr. Anna Borovcová doc. Ing. Alena Buchalcevová, Ph.D. VŠE Praha

Význam měřm. Mgr. Anna Borovcová doc. Ing. Alena Buchalcevová, Ph.D. VŠE Praha Význam měřm ěření v testování softwaru Mgr. Anna Borovcová doc. Ing. Alena Buchalcevová, Ph.D VŠE Praha Motivace The Standish Group reporty za roky 1994 2009 1994 1996 1998 2000 2002 2004 2006 2009 Úspěšných

Více

Vedení projektů, Odhadování, historie

Vedení projektů, Odhadování, historie Vedení projektů, Odhadování, historie Agenda Docházka Pár slov o došlých specifikacích Vedení projektů Pár slov SW projektu na MFF Odhadování Historie projektů Dotazy Project management Co je to projekt?

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

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

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

Projekt Velryba Ozdravné pobyty pro děti. Semestrální projekt

Projekt Velryba Ozdravné pobyty pro děti. Semestrální projekt Předmět AD7B36SI2 Informační systém ozdravných pobytů ČVUT FEL, obor STM Softwarové inženýrství 5. semestr, zima 2011/2012 Zpracovala: Radoslava Jandová Username: jandora1 e-mail: jandora1@fel.cvut.cz

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

Novinky v UML 2.5 a agilní modelování

Novinky v UML 2.5 a agilní modelování Novinky v UML 2.5 a agilní modelování Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro AIS 15. října 2015 Marek Rychlý Novinky v UML

Více

1.1 Zátěžové testování

1.1 Zátěžové testování 1.1 Zátěžové testování Předpokladem pro toto stádium testování je ukončení funkčních testů a zamražení systému pro zátěžové testování. Toto stádium testování má podpořit systémové testování a poukázat

Více

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto tomas.t.turecek@tieto.com

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto tomas.t.turecek@tieto.com 2010 Tieto Corporation Agile nejžádanější způsob vývoje software Tomáš Tureček Business consultant, Lean&Agile coach Tieto tomas.t.turecek@tieto.com 2012 Tieto Corporation Tieto Aktivity ve více než 20

Více

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK JAROSLAV.ZACEK@OSU.CZ TRADIČNÍ VS. ITERATIVNÍ PŘÍSTUPY Vodopádové principy Iterativní (agilní principy) Zaměřen na procesy, předpokládá jejich opakovatelnost. Zaměřen

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

Více

1. VYMEZENÍ ODBORNÉ STÁŽE

1. VYMEZENÍ ODBORNÉ STÁŽE 1. VYMEZENÍ ODBORNÉ STÁŽE Šablona stáže představuje základní rámec odborné stáže pro typovou pozici a obsahuje požadavky na obsah a průběh stáže, na stážistu i na poskytovatele stáže. Bílá pole označují

Více

1. VYMEZENÍ ODBORNÉ STÁŽE

1. VYMEZENÍ ODBORNÉ STÁŽE 1. VYMEZENÍ ODBORNÉ STÁŽE Šablona stáže představuje základní rámec odborné stáže pro typovou pozici a obsahuje požadavky na obsah a průběh stáže, na stážistu i na poskytovatele stáže. Bílá pole označují

Více

Diagram nebo text? Miroslav Benešovský, BenSoft s.r.o

Diagram nebo text? Miroslav Benešovský, BenSoft s.r.o Diagram nebo text? Miroslav Benešovský, Diagram nebo text? Jaká je role analytika při vývoji SW? Most mezi zákazníkem a vývojáři Jaké má analytik prostředky? Diagramy, vizuální modelování Jaká je zkušenost

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

Nebojte se přiznat, že potřebujete SQA

Nebojte se přiznat, že potřebujete SQA Nebojte se přiznat, že potřebujete SQA Internet a technologie 16 Václav Klimeš vaclav.klimes@nic.cz 1. 6. 2016 Osnova Kvalita Koncept kvality Co je a není SQA (Software Quality Assurance) Proč se zajímat

Více

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme Smysl metodiky IS/IT Koncentrovaná zkušenost Checklist na nic nezapomeneme Přínosy metodik Větší produktivita a kooperace týmů Komunikační standard Specializace projektových týmů Nezávislost na konkrétních

Více

End-to-end testování. 26. dubna Bořek Zelinka

End-to-end testování. 26. dubna Bořek Zelinka End-to-end testování 26. dubna 2013 Bořek Zelinka Bořek Zelinka Unicorn Systems, Test architekt Unicorn, 2004 Testování Quality Assurance ČVUT, Fakulta stavební, 2004 2 Agenda Princip end-to-end testů

Více

Vnitřní kontrolní systém a jeho audit

Vnitřní kontrolní systém a jeho audit Vnitřní kontrolní systém a jeho audit 7. SETKÁNÍ AUDITORŮ PRŮMYSLU 11. 5. 2012 Vlastimil Červený, CIA, CISA Agenda Požadavky na VŘKS dle metodik a standardů Definice VŘKS dle rámce COSO Role interního

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

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování 1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy

Více

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE Přednáška na semináři CAHP v Praze 4.9.2013 Prof. Ing. Petr Noskievič, CSc. Ing. Miroslav Mahdal, Ph.D. Katedra automatizační

Více

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

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

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1 Testování SW produktů Jiří Sochor, Jaroslav Ráček 1 Cena testování během vývoje 7% požadavky 29% 16% předběžný návrh podrobný návrh 24% 24% testování kódu a jednotek integrační a systémové testy Jiří Sochor,

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

Normy kvality softwaru a jejich podpora v metodikách budování informačních systémů

Normy kvality softwaru a jejich podpora v metodikách budování informačních systémů Normy kvality softwaru a jejich podpora v metodikách budování informačních systémů Alena Buchalcevová Vysoká škola ekonomická v Praze, Fakulta informatiky a statistiky, katedra informačních technologií

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

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

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

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

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

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

Řízení SW projektů. Lekce 3. Projektové procesy a znalostní oblasti. přednáška pro studenty FJFI ČVUT. zimní semestr 2012

Řízení SW projektů. Lekce 3. Projektové procesy a znalostní oblasti. přednáška pro studenty FJFI ČVUT. zimní semestr 2012 Řízení SW projektů Lekce 3 Projektové procesy a znalostní oblasti přednáška pro studenty FJFI ČVUT zimní semestr 2012 Ing. Pavel Rozsypal IBM Česká republika Global Business Services Lekce 3 - Projektové

Více

Dobré UX jako nejlepší marketingový nástroj mobilních aplikací. Vladimír Korbel

Dobré UX jako nejlepší marketingový nástroj mobilních aplikací. Vladimír Korbel Dobré UX jako nejlepší marketingový nástroj mobilních aplikací Vladimír Korbel Osnova Co je to User Experience (UX)? Proč je UX důležitá UX přínosy pro business Dobrý design v kontextu mobilních aplikací

Více

Fakulta elektrotechnická

Fakulta elektrotechnická České vysoké učení technické vpraze Fakulta elektrotechnická BAKALÁŘSKÁ PRÁCE Agilní metodiky programování DAQařídicích aplikací Praha, 2011 Autor: Adam Hamr Prohlášení Prohlašuji, že jsem předloženou

Více

MST - sběr dat pomocí mobilních terminálů on-line/off-line

MST - sběr dat pomocí mobilních terminálů on-line/off-line MST - sběr dat pomocí mobilních terminálů on-line/off-line Stručný přehled název: MST, software pro sběr dat mobilními terminály ve skladu (příjem, výdej, inventura) autor aplikace: FASK, spol. s r.o.,

Více

ČÍM MOHOU PŘISPĚT NEJZÁMĚJŠÍ AGILNÍ METODIKY KE ZLEPŠENÍ VÝVOJOVÉHO PROCESU?

ČÍM MOHOU PŘISPĚT NEJZÁMĚJŠÍ AGILNÍ METODIKY KE ZLEPŠENÍ VÝVOJOVÉHO PROCESU? ČÍM MOHOU PŘISPĚT NEJZÁMĚJŠÍ AGILNÍ METODIKY KE ZLEPŠENÍ VÝVOJOVÉHO PROCESU? HOW WELL-KNOWN AGILE METHODOLOGIES CAN CONTRIBUTE TO A SOFTWARE DEVELOPMENT PROCESS? Robert Pergl, Zdeněk Struska Abstrakt:

Více

Chyby software. J. Sochor, J. Ráček 1

Chyby software. J. Sochor, J. Ráček 1 Chyby software J. Sochor, J. Ráček 1 Výsledek projektu Úspěšný: Projekt je dokončen včas, bez překročení rozpočtu, se všemi specifikovanými rysy a funkcemi. S výhradami: Projekt je dokončen a funkční,

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Management rizika Bc. Ing. Karina Mužáková, Ph.D. BIVŠ,

Management rizika Bc. Ing. Karina Mužáková, Ph.D. BIVŠ, Management rizika Bc. Ing. Karina Mužáková, Ph.D. BIVŠ, 2015 1 5/ Řízení rizika na úrovni projektu, podniku a v rámci corporate governance. BIVŠ, 2015 2 Definice projektu říká, že se jedná o činnost, která

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování. 3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.

Více

VISUAL BASIC. Přehled témat

VISUAL BASIC. Přehled témat VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat

Více

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 7. Pracovní postupy Posloupnosti analytických a syntetických

Více

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena.

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena. Testování software Testování SW má podstatný vliv na kvalitu dodaného produktu. Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena. Na druhé straně, vytvořit

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

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

Více

Jak vytvořit správné Zadání IS

Jak vytvořit správné Zadání IS Jak vytvořit správné Zadání IS 26. dubna 2013 Jiří Svačina Jiří Svačina Unicorn Systems, Senior Consultant Unicorn, 1993 Vývoj Softwarová architektura Projektové řízení Business analýza Univerzita Hradec

Více

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR EVOLUČNÍ NÁVRH A OPTIMALIZACE APLIKAČNĚ SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR Miloš Minařík DVI4, 2. ročník, prezenční studium Školitel: Lukáš Sekanina Fakulta informačních technologií, Vysoké učení

Více

Informační systémy ve strojírenství

Informační systémy ve strojírenství 3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení Informační systémy ve strojírenství Radim Farana 1 Obsah Životní cyklus vývoje SW. Informační

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

Vývoj informačních systémů. Obecně o IS

Vývoj informačních systémů. Obecně o IS Vývoj informačních systémů Obecně o IS Informační systém Informační systém je propojení informačních technologií a lidských aktivit směřující k zajištění podpory procesů v organizaci. V širším slova smyslu

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

Metodiky pro automatické testování webové aplikace. Ondřej Melkes, Martin Komenda

Metodiky pro automatické testování webové aplikace. Ondřej Melkes, Martin Komenda Metodiky pro automatické testování webové aplikace Ondřej Melkes, Martin Komenda Obsah Testování sw obecně Unit testy Integrační testy Testování UI Nesprávné testování sw Neznalost testovacího procesu

Více

Unifikovaný modelovací jazyk UML

Unifikovaný modelovací jazyk UML Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li

Více

Úvod do problematiky vývoje Vývoj informačních systémů

Úvod do problematiky vývoje Vývoj informačních systémů Úvod do problematiky vývoje informačních systémů Vývoj informačních systémů Management Klasický management - slouží k udržování a rozvíjení zavedených systémů, které jsou prostředkem pro nepřetržitou,

Více

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?

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

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky

Více