Metodiky vývoje software, MDA

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

Download "Metodiky vývoje software, MDA"

Transkript

1 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 04/2011, Přednáška 10 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 1/65

2 Metodiky vývoje software Klasické metodiky Moderní strukturovaná analýza (MSA) Unifikovaný proces vývoje (UP) Agilní metodiky Extrémní programování (XP) SCRUM Modelem řízený vývoj (MDD, MDA) (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 2/65

3 Proces vývoje software Jedním ze základních cílů softwarového inženýrství je efektivní vytváření softwarových produktů. Chceme-li vytvářet software efektivně, musíme studovat proces jeho tvorby říká se mu také softwarový proces. Musíme se zabývat otázkou, jak by se mělo postupovat, jaké fáze a kroky v životním cyklu produktu jsou podstatné, co je jejich vstupem a výstupem. Musíme se zabývat otázkou, kdo tyto kroky realizuje, zda všichni dělají totéž, nebo se mohou specializovat. Všechny takové znalosti můžeme shrnout do doporučení, jak organizovat proces vývoje metodiky pro proces vývoje. Metodika není metodologie (nauka o metodách). richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 3/65

4 Softwarové profese Manažer projektu Vedoucí týmu Procesní analytik Softwarový architekt Návrhář (rozhranní, API, grafik, ) Vývojář (ideový programátor, druhý programátor) Kodér Testér Manažer kvality Knihovník Specialista na jazyk, prostředí, knihovnu, Dokumentarista Správce (sítě, aplikace, databáze, ) Redaktor obsahu richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 4/65

5 Software někdo vytváří. Softwarové týmy Jedním zprojevů přechodu od ruční výroby kmanufaktuře je definice softwarových profesí. Řešení velkých projektů vyžaduje spolupráci mnoha řešitelů a práci je nutno rozdělit. Dělba práce vyžaduje organizaci týmů řešících větší softwarové projekty. Týmy lze organizovat jako strukturované nebo nestrukturované. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 5/65

6 Organizace týmů Nestrukturované týmy Dělí práci podle objemu. Mohou být organizovány jako: Osamělí vlci Horda Demokratická skupina Strukturované týmy Dělí práci podle profese. Mohou být organizovány jako: Chirurgický tým Tým hlavního programátora Agilní skupina Více-týmová organizace (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 6/65

7 Kterou organizaci zvolit? Volba organizace je dána rozsahem projektu a schopností zdrojů (liší se v rozsahu 1-20). Pro menší rozsah lze použít nestrukturovaný tým. Pro větší projekty se samozřejmě hodí strukturované týmy. Máme-li dost prostředků, nejvýkonnější je chirurgický tým. Nemáme-li, nejefektivnější může být tým hlavního programátora, agilní skupina, nebo demokratická skupina. Na větší projekty je třeba více-týmová organizace (pravidlo 7±2). richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 7/65

8 Životní cyklus program. díla Nápad Neformální specifikace (vize, odborný článek) Katalog požadavků(aktéři, úvodní studie) Formální specifikace(analýza) Dekompozice (návrh) Řešení komponent (modulů) Implementace komponent Testování komponent Integrace komponent do celku Testování celku (akceptační test) Instalace Provoz a údržba Programování ve velkém Programování v malém richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 8/65

9 Fáze tvorby SW produktu Úvodní studie (informační plánování, feasibility study, sběr požadavků) podklady pro rozhodnutí, zda vůbec má projekt smysl. Analýza(specifikace) vytvoření dostatečně přesné specifikace produktu. Návrh(design) dekompozice systému na komponenty, které lze naprogramovat. Implementace(konstrukce) realizace komponent definovaných v návrhu a jejich sestavení do výsledného produktu. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 9/65

10 Náročnost fází životního cyklu Každý produkt by měl projít všemi fázemi životního cyklu. Ze statistik (pro velké systémy řádově stovky tisíc řádků kódu) vyplývá, že úsilí věnované těmto fázím by mělo být rozděleno zhruba v poměru: analýza 40% návrh 40% implementace 20% Pokudnevěnujemepočátečním fázím dostatečné úsilí, projeví se to zvýšenými nároky při implementaci či údržbě systému. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 10/65

11 Modely životního cyklu Pro standardizaci postupů jsou zavedeny typové modely životních cyklů, např.: Model vodopád (Waterfall) Model průzkumník Spirálový model Přírůstkový model Model životního cyklu určuje základní schéma postupu. Životní cyklus by měl vždy začínat dostatečně přesnou specifikací a návrhem. Není nutno realizovat celý systém najednou naopak přírůstky poskytují uživateli dobrý pocit postupu prací. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 11/65

12 Model vodopád Nikdy se nevracet zpět (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 12/65

13 Přírůstkový model Rozdělíme řešení na přírůstky (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 13/65

14 Spirálový model PROVOZ ANALÝZA IMPLEMEN- TACE NÁVRH (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 14/65

15 Model průzkumník Nejsme schopni odhadnout dopředu, jak to dopadne (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 15/65

16 Jiné modely životního cyklu Model RAD (Rapid Application Development) model určený pro dobře srozumitelné a dobře vymezené problémy, s malými riziky, využívající krátký vývojový cyklus (cca do 3 měsíců), problém je rozdělen na samostatné moduly -model založen na rychlé tvorbě prototypů Evoluční model využívá skládání komponent, které mohou být vyvíjeny současně, či zakoupeny a upraveny Formální metody využívají specifikací řízený styl vývoje, tj. generování programů ze specifikací Extrémní programování a podobné techniky Testy řízený vývoj (spirála s testy) richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 16/65

17 V-model act V-Model Vodopád s testy Úvodní studie Akceptační testy Analýza Integrační testy Návrh Testy jednotek Implementace richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 17/65

18 Metodiky pro softwarový proces Co to je softwarový proces umění, manufaktura, modelování? Proces vývoje software by se měl řídit nějakým doporučením sníží se tím pravděpodobnost chyb, opomenutí apod. Doporučení jsou obvykle shrnuta do metodiky(angl. methodology). Metodika je jen šablona, musíme ji přizpůsobit firmě, týmu, projektu, účelu (vývoj, provoz, přizpůsobení). Metodika předepisuje postup, jeho kroky a artefakty získané v těchto krocích. Skutečný proces vývoje pak využívá různé standardy, idiomy, předepsané formáty apod. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 18/65

19 Klasické Taxonomie metodik Strukturované, objektové, komponentové Vodopád (MSA, SSADM) Unifikovaný proces (UP) RUP (Rational Unified Process) Agilní (vycházejí z manifestu agilních metod) Testy řízený vývoj Extrémní programování (XP) SCRUM AUP (Agile Unified Process) richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 19/65

20 Moderní strukturovaná analýza (MSA) Autoři E.Yourdon (analýza), M.Page-Jones (návrh). Klasický vodopádový model. Sběr požadavků výstupem je odborný článek a hrubý model jednání. Analýza (E.Yourdon): Vytváří analytický model, který se skládá z datového modelu a funkční hierarchie sady diagramů datových toků (diagramů aktivit), popisujících požadovanou funkčnost. Návrh (M.Page-Jones): Výstup analýzy podrob tzv. transakční a transformační analýze a navrhni řešení. Implementace podle návrhu richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 20/65

21 act Moderní strukturov aná analýza (MSA) Hledání aktérů a případů užití «centralbuffer» Model jednání Náv rh funkcí Generalizace «centralbuffer» Model chov ání Doplnění dat «centralbuffer» Datov ý model Dekompzice Transakční analýza Transformační analýza «centralbuffer» Logický model richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 21/65

22 MSA: Analýza Vstupem je neformální specifikace (vize projektu). Sestavte aktéry a případy užití (kontext). Pro každý případ užití navrhněte funkci (proces), která bude tento případ obsluhovat. Zjistěte potřebná data pro každou funkci vymysli vstupní a výstupní data. Proveďte generalizaci a dekompozicitěchto funkcí. Generalizací dospějete k modelu jednání, navrhněte strukturu menu aplikace. Dekompozicí postupně dojdete k elementárním funkcím, které již postačí popsat textově (pomocí tzv. minispecifikací). richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 22/65

23 MSA: Návrh Proveď transakční analýzu-vezmi všechny diagramy datových toků (aktivity) a vyber z nich sadu pro každou transakci (případ užití). Pro každý takto získaný popis transakce vysleduj jádro, které transformuje data tzv. transformační analýza. Z jádra učiň ředitele této transakce (řídicí třídu) a doplň komunikaci s třídami získávajícími vstupní data a formátujícími výstupní data. K této sadě přidej tzv. transakční monitor: modul, který zjistí, o kterou transakci se jedná a vyvolá odpovídající řidící třídu. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 23/65

24 Unifikovaný proces vývoje (UP) UP je: Průmyslový standard kostry vývojového procesu Využívá notace UML (Unified Modeling Language) Je to otevřený standard (na rozdíl např. od RUP Rational Unified Process, dříve Rational, nyní IBM) Základem je publikace Jacobson, Booch, Rumbaugh: The Unified Software Development Process" UP je: Řízen požadavky a případy užití (use case driven) Řízen rizikem Staví na architektuře, komponentách a znovupoužití Iterativní a přírůstkový proces UP je: pouze generická metodika, musí být uzpůsobena pro danou firmu, projekt - standardy, šablony, nástroje, richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 24/65

25 Agilní metodiky Vycházejí z principů Manifestu agilních metodik. Psychologie týmu ( SCRUM ( CrystalClear( XP - Extreme Programming ( Dynamic Systems Development Method Adaptive Software Development Feature Driven Development Lean Development OpenUP richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 25/65

26 Extrémní programování (XP) Agilní technika vývoje softwaru, která dle agilního manifestu upřednostňuje: Týmovou spolupráci a interakci před formálními procesy a nástroji. Fungující software před obsáhlou, komplexní dokumentací. Spolupráci mezi zákazníkem a vývojáři před specifikacemi, zadáními, dohodnutými kontrakty. Rychlou adaptaci na změny v zadání před dodržováním předem stanovených pravidel. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 26/65

27 XP: Základní principy Řízeno požadavky uživatelů (user stories). Vyvíjí se v iteracích. Pracuje se ve dvojicích. Co nejjednodušší návrh (neprogramujeme dopředu), okamžité testování. Refaktorizace kódu, kód je společný - standardy pro kódování. Co nejrychlejší zpětná vazba, uživatel součástí vývojového týmu, minimum dokumentace. Nepřehánět zátěž - 40 hodin týdně. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 27/65

28 12 technik používaných v XP Plánování hrou Malé dodávky (releases) Metafory Jednoduchý návrh Párové programování Intezivní testování Refaktorizace kódu Kolektivní vlastnictví kódu Spojitá intergace 40 hodin/týden Zákazník součástí týmu Kódové standardy richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 28/65

29 Kdy se hodí XP? Když je limitovaný čas nebo finance. Když zákazník není přesně co chce, nebo není schopen dodat dostatečně přesné zadání. Když zákazník chce spolupracovat na projektu. Když se ví, že se bude systém měnit. Když jsou členové týmu schopni spolupracovat a dobře spolu vycházejí. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 29/65

30 Kdy se nehodí XP? Když je nutný větší tým vývojářů (více než 15). Když je vývojový cyklus (oprava, překlad, sestavení spuštění) příliš dlouhý (5 minut, hodina). Když jsou testy příliš dlouhé (minuty, hodiny). Když nelze zákazníka dostat do týmu. Když zákazník nechápe principy XP. (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 30/65

31 Srovnání XP představuje alternativu k UP, či vodopádovému modelu. Není to nekoordinované hackování kódu zdivočelými programátory. Aby fungovalo, musí mít tým jisté zkušenosti a musí dodržovat všech 12 technik. XP není všelék, hodí se jen někdy, ale někdy může přinášet lepší výsledky za kratší čas. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 31/65

32 SCRUM (pojem z rugby) Žádné týmové hierarchie, tým do 7 osob, pracuje se v jedné místnosti (osmóza), tým si volí šéfa (scrum master) Krátké iterace (sprints) Plánovací schůzka před každou iterací Seznam akcí pro danou iteraci (backlog) Denní skrumáže (co jsem udělal, co budu dělat, jaké mám problémy) Retrospekce po každé iteraci (heartbeat session) Vlastníkem kódu je tým - standardy pro kódování richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 32/65

33 Role v metodice SCRUM Metodika SCRUM stanovuje následující role: vedoucí projektu (ScrumMaster) řídí procesy a celkovou práci, zadavatel (Product Owner) který reprezentuje zainteresované osoby (stakeholders) a vývojář (TeamMember) který zahrnuje členy týmu. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 33/65

34 SCRUM -postup Vytvoření plánu projektu (project backlog) Sestavení případů užití (user stories) Definice potřebných úloh (sprintů). Realizace plánu projektu Výběr sprintu (sprint backlog) Realizace sprintu Denní setkání (SCRUM Meetings, skrumáže) Sledování postupu (burndown graf). Zdroj: Wikipedia (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 34/65

35 Agilní přístupy a dokumentace Představa, že v agilních metodikách se nevytváří žádná dokumentace, či modely, ale pouze kód, není pravdivá. V agilních metodikách modelujeme, dokumentujeme, ale pouze v jiné formě a pouze to, co je nezbytně nutné. Uživatelské příběhy (user stories) popisují funkčnost a detaily jsou zachyceny v testech. Další dokumentací je samozřejmě dobře strukturovaný a komentovaný zdrojový kód. Modely také existují ale například pouze jako náčrty na tabuli či na papíře. Jelikož jsou běžné krátké obrátky, kód se často mění (refaktoruje), stálo by přepracování modelů či jiných dokumentů spoustu úsilí nebo by se tyto staly brzy neaktuální, proto opravdu dokumentujeme jen důležité věci. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 35/65

36 Agilní přístupy a architektura Není pravda, že v agilních metodikách nenavrhujeme žádnou architekturu je pravdou, že na začátku projektu si nesedneme ke všem požadavkům (protože je ani nemáme) a neřešíme papírovou architekturu. V úvodních iteracích ale řešíme určitou kostru aplikace, vrstvy, způsob ukládání dat, komunikaci s ohledem na celé řešení, definujeme rozhraní vrstev, jelikož toto mohou být zásadní technické problémy (např. integrace se zastaralým legacy -bankovním systémem, pravidelné dávkové importy, implementace standardů), které mohou silně ovlivnit celé řešení použitou technologii, způsob komunikace mezi vrstvami, nutnost prototypů apod. Detailní architekturou se pak zabýváme vždy jen pro danou iteraci (tj. jen pro scénáře které nyní implementujeme), neřešíme architekturu s ohledem na požadavky, které bychom měli implementovat v budoucích iteracích, protože se mohou změnit priority, tyto požadavky se mohou posunout do dalších verzí, či úplně zrušit a naše snaha může přijít vniveč. Neděláme tedy architekturu do šuplíku, ale jen pro aktuální potřebu. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 36/65

37 Agilní jsou/mají být jen vývojáři? Agilní nemohou být jen vývojáři, obchodníci a management musí agilnímu přístupu rozumět také. Pokud zákazníkovi řekneme (tedy spíše naši obchodníci), že jsme schopni dodat opravdu všechno, co si vymyslel, za tu cenu, v tom čase a v té kvalitě (což se opravdu často děje), bez ohledu na to, co říká trojúhelník kvality, pak nás samozřejmě ani agilní přístupy nezachrání. Pokud zákazník nebude chtít spolupracovat, nebude se chtít účastnit pravidelných schůzek (user play), kde si hraje s dosud vyvinutým řešením, komentuje se a připomínkuje, nelze očekávat úspěch. Musíme zákazníka učit, vysvětlovat, proč je nutné vidět aplikaci a korigovat své i naše představy, že jen tak dostane opravdu to, co očekával. Je to těžké, protože zákazník byl po léta zvyklý na začátku nadiktovat všechny, tedy i ty nepotřebné požadavky (kterých je podle Standish Group více než polovina) a na konci očekával řešení. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 37/65

38 Podpora vedení firmy není třeba? Podpora vedení firmy je velmi důležitá. Nestačí, aby vedení vývojářům řeklo: ano, nějak si to teda udělejte (rozuměj zaveď agilní metodiku) to je další častou chybou a naivní představou. Co je ještě horší, je zavádět agilní praktiky a životní cyklus potají. Tajné zavádění či nedostatečná podpora ze strany managementu v podstatě úplně zhatí celou snahu, jelikož bez podpory managementu (který má tuto vizi protlačit) a bez oficiálních prostředků a schválení (vývojáři absolvují tréninky, zpomalí se tempo vývoje) agilní přístup ani zavést nelze, jedná se totiž o úplnou změnu chování a myšlení všech lidí v organizaci a také o změnu vystupování směrem k zákazníkovi (což potají moc dobře nejde :-). StandishGroupřadí podporu managementu (executivesupport) na 1. místo svého pravidlenéhotzv. Chaos report, který popisuje situaci ohledně projektů v IT. Angažovanost uživatelů v projektu řadí až na 2. místo. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 38/65

39 Agilní přístupy obecné shrnutí Agilní přístupy jako Scrum, XP, Leandevelopment, OpenUP, AUP apod. většinou představují sadu doporučení, co se v praxi osvědčilo. Metodika přesně říká co, kdy, kdo a jak má dělat. Zde se často popisují kroky, které je možné provádět při vývoji software, jaké artefakty mohou zachycovat různé informace, prostě jaké činnosti se v praxi osvědčily. Na nás pak je, abychom si vybrali, co konkrétně nyní potřebujeme, uznáme za vhodné dělat, tj. vytvořili si vlastní proces. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 39/65

40 Nutné je přizpůsobení metodiky Je to pochopitelné, každá organizace je jiná, má jinou strukturu, kulturu, distribuce týmu se různí, členové týmu mají jiné zkušenosti a znalosti, jejich povahové rysy jsou různé, také zákazník se chová jinak. Proto není možné postupovat vždy podle stejné či podobné metodiky, ale je třeba si daný proces vývoje upravit podle potřeb daného projektu (přesně toto doporučují či říkají dané přístupy). Samozřejmě je třeba dodržet a následovat určité zásady a principy. Funguje to stejně jako s bufetem ve formě švédských stolů. Bereme si jen to, co máme rádi (ne všechno častá dezinterpretace UP, že je příliš těžkopádná; nikde však není psáno, že máme dělat vše, co UP popisuje), s čím máme dobré zkušenosti, sem tam zkusíme něco nového a snažíme se tomu přijít na chuť, ale musíme dodržovat určité zásady. Jídlo dáváme na talíř, většinou jíme příbory, nápoje naléváme do skleniček apod. Zdroj: Procházka: Problémy s adopcí agile přístupů richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 40/65

41 Snaha o standardizaci V roce 1979 vytváří FletcherBuckleystandard IEEE 370 pro vytváření plánů zajišťujících kvalitu software. V roce 1986 vzniká standard IEEE 1002, který definuje taxonomii softwarově inženýrských standardů vznikají standardy pro proces životního cyklu software (Standard forsoftware LifeCycleProcesses) -standard ISO/IEC12207, vychází z DoDStd498. Standardizováno je všechno možné (např. ISO reprezentace pohlaví). Vznikají normy jako CMMI, ISO. Standardy pro řízení procesu vývoje ISO 9001:2000. CMMIje zkratkou z anglického TheCapabilityMaturity Model Integration-volně přeloženo: integrovaný, účinný a funkční model řízení procesů vývoje. Jedná se o soubor pravidel, požadavků a doporučení, které mají splňovat firemní procesy a co je třeba dodržovat, aby procesy vývoje byly efektivní, účinné a spolehlivé. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 41/65

42 Modelem řízený vývoj Model vzniká vždy. Někdy bohužel jen v hlavách vývojářů. Sdružení OMG propaguje přechod na modelem řízený vývoj - MDA Guide( Alternativní označení MDD (Model DrivenDevelopment), či dokonce MDE (Model Driven Engineering) Model je kombinací textu a diagramů. Model by měl být čitelný i bez diagramů. Diagramy pouze usnadňují pochopení základní myšlenky popisovaného. Každý digram by měl obsahovat pouze jednu myšlenku. Vytváření modelu je tedy převážně mentální úsilí vyúsťující v psaní textu a kreslení diagramů. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 42/65

43 Proč modely vytvářet? Zaměstnanci přicházejí a odcházejí, modely zůstávají. Znovu-použitelnost (firemní know-how). Sledovatelnost realizace požadavků. Zvýšení udržovatelnosti produktů. Možnost kontroly, animace. Možnost automatizovaného zpracování. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 43/65

44 Modelemřízený vývoj (OMG) Konceptuální model Doménový model Logický model ISM (Implementation Specific Model Zdroj: Materiály OMG Fyzický model (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 44/65

45 Reverzní inženýrství Reverzní inženýrství v informaticeje definováno jako proces analýzy předmětného systému s cílem identifikovat komponenty systému a jejich vzájemné vazby a/nebo vytvořit reprezentaci systému v jiné formě nebo na vyšší úrovni abstrakce (Wikipedie). Reverzní inženýrství řeší v České republice Autorský zákon tedy zákon 121/2000Sb. 65 (2) Myšlenky a principy, na nichž je založen jakýkoli prvek počítačového programu, včetně těch, které jsou podkladem jeho propojení s jiným programem, nejsou podle tohoto zákona chráněny. 66 Omezení rozsahu práv autora k počítačovému programu. Do práva autorského nezasahuje oprávněný uživatel rozmnoženiny počítačového programu, jestliže: b) jinak rozmnožuje, překládá, zpracovává, upravuje či jinak mění počítačový program, je-li to nezbytné k využití oprávněně nabyté rozmnoženiny počítačového programu v souladu s jeho určením, není-li dohodnuto jinak, d) zkoumá, studuje nebo zkouší sám nebo jím pověřená osoba funkčnost počítačového programu za účelem zjištění myšlenek a principů, na nichž je založen kterýkoli prvek počítačového programu, činí-li tak při takovém zavedení, uložení počítačového programu do paměti počítače nebo při jeho zobrazení, provozu či přenosu, k němuž je oprávněn. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 45/65

46 Sen OMG. Okružní jízda ( Round-Trip ) Vezmu existující systém, reverzním inženýrstvím z něj udělám model, ten opravím a vygeneruji novou verzi systému. Vezmu model z repositáře, upravím model podle požadavků, vygeneruji pracovní verzi systému, opravím v ní chyby, reverzním inženýrstvím z ní vytvořím opravený model, který schovám do repositáře. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 46/65

47 Okružní jízda (Round-Trip) Doménový model (CIM) Analýza Konceptuální Model (PIM) Návrh Logický model (PSM) Implementace Reverzní inženýrství Fyzický model (ISM kód) Provoz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 47/65

48 Podmínky pro okružní jízdu Nástroje pro práci s modely na všech úrovních. Nástroje pro transformace modelů v obou směrech. Řada nástrojů již umí některé přímé transformace. Např. pro datový model se umí generovat různé PSM z konceptuálního PIM. Speciálně pro relační platformu generují z konceptuálního PIM relační model (PSM) a posléze také SQL (ISM). Méně nástrojů umí zpětné transformace. Řada nástrojů umí vyrobit z kódu (ISM) jistou část platformověspecifického modelu, např. z SQL relačního PSM. richta@fel.cvut.cz (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 48/65

49 The End (ČVUT) Metodiky vývoje software, MDA BI-SI1, 2011, Přednáška 10, 49/65

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

Unifikovaný proces vývoje

Unifikovaný proces vývoje Unifikovaný proces vývoje 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

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

Návrh softwarových systémů - úvod, motivace

Návrh softwarových systémů - úvod, motivace Návrh softwarových systémů - úvod, motivace Jiří Šebek, Martin Tomášek Návrh softwarových systémů (B6B36NSS) Obsah Motivace Integrace s ostatními obory SI Kdo / co ovlivňuje cílový SW Modely, metodiky

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

Návrh softwarových systém. Návrh softwarových systémů

Návrh softwarových systém. Návrh softwarových systémů Návrh softwarových systém ů - úvod, motivace Jiří Šebek Návrh softwarových systémů (B6B36NSS) Obsah Motivace Integrace s ostatními obory SI Modely, metodiky SI Verzování SW 2 Úvod Motivace SI Velké projekty

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

Metodika analýzy. Příloha č. 1

Metodika analýzy. Příloha č. 1 Metodika analýzy Příloha č. 1 Příloha č. 1 1 Účel dokumentu Dokument popisuje závaznou metodiku systémové analýzy, je upraven na míru pro prostředí Podniku. Dokument je provázán s Podnikovou analýzou,

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ Předmětem softwarového inženýrství jsou metodiky pro řízení vývoje softwaru. Proč potřebujeme tyto metodiky? Čím je vývoje softwaru specifický oproti jiným odvětvím? SOFTWAROVÉ

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 Znalosti Schopnosti Cvičení

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

Návrh softwarových systémů - architektura softwarových systémů

Návrh softwarových systémů - architektura softwarových systémů Návrh softwarových systémů - architektura softwarových systémů Martin Tomášek, Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec Co je to architektura Využívá se

Více

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů Ing. Ondřej Macek 2013/14 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Historie 2 Jak vypadal vývoj SW? - Bylo třeba specifikovat zadání, to se naprogramovalo a pak se

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

Návrh softwarových systémů - architektura softwarových systémů

Návrh softwarových systémů - architektura softwarových systémů Návrh softwarových systémů - architektura softwarových systémů Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec Co je to architektura 2 Využívá se v různách oborech

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

UML - opakování 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

UML - opakování 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 UML - opakování 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 Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram

Více

Problémy při zavádění agilních přístupů

Problémy při zavádění agilních přístupů Jaroslav Procházka Katedra informatiky a počítačů, Přírodovědecká fakulta, Ostravská univerzita v Ostravě / TietoEnator Corp., Jaroslav.prochazka@osu.cz Abstrakt Agilní přístupy k vývoji software jsou

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

CASE nástroje. Jaroslav Žáček

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

Více

2. Začlenění HCI do životního cyklu software

2. Začlenění HCI do životního cyklu software Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language) 7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující

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

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

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

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language) 7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující

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

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

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

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

10 Metody a metodologie strukturované analýzy

10 Metody a metodologie strukturované analýzy 10 Metody a metodologie strukturované analýzy 10.1 Strukturovaná analýza DeMarco (1978) Nástroje: DFD, datový slovník, strukturovaná angličtina, rozhodovací tabulky a stromy Postup: 1. Analýza stávajícího

Více

Modelování procesů s využitím MS Visio.

Modelování procesů s využitím MS Visio. Modelování procesů s využitím MS Visio jan.matula@autocont.cz Co je to modelování procesů? Kreslení unifikovaných či standardizovaných symbolů, tvarů a grafů, které graficky znázorňují hlavní, řídící nebo

Více

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů Ing. Ondřej Macek 2013/14 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Historie 2 Jak vypadal vývoj SW? - Bylo třeba specifikovat zadání, to se naprogramovalo a pak se

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

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

POČÍTAČE A PROGRAMOVÁNÍ

POČÍTAČE A PROGRAMOVÁNÍ POČÍTAČE A PROGRAMOVÁNÍ Moderní metody vývoje softwaru, Demontrační příklad piškvorky Miroslav Vavroušek PPI 09 V1.0 Opakovaní z minulé přednášky Vícerozměrná statická a dynamická pole Pole polí Datový

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

Vývoj informačních systémů. Jak vyvíjet v týmu

Vývoj informačních systémů. Jak vyvíjet v týmu Vývoj informačních systémů Jak vyvíjet v týmu Co je potřeba a co je podstatné? Lidé a jejich spolupráce Plány, pravidla, procesy, řízení Dokumentace Techniky a technologie Dlouhý čas Cílem je produkt (software)

Více

8 Přehled OO metodik (metod, metodologií)

8 Přehled OO metodik (metod, metodologií) 8 Přehled OO metodik (metod, metodologií) 8.1 OO metodiky konce 80. a začátku 90.let - všechny populární OO metodiky předpokládají, že: a) zadavatel má jasný názor na svoje požadavky, b) zadavatel a vývojáři

Více

8 Přehled OO metodik (metod, metodologií)

8 Přehled OO metodik (metod, metodologií) 8 Přehled OO metodik (metod, metodologií) 8.1 OO metodiky konce 80. a začátku 90.let - všechny populární OO metodiky předpokládají, že: a) zadavatel jasný názor na svoje požadavky, b) zadavatel a vývojáři

Více

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz UML a jeho použití v procesu vývoje Jaroslav Žáček jaroslav.zacek@osu.cz Různé pohledy na modelování Různé pohledy na modelování Unified Modeling Language UML není metodikou ani programovacím jazykem,

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

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

Analytická specifikace a její zpracování

Analytická specifikace a její zpracování Analytická specifikace a její zpracování Analýza Měla by odpovědět na otázku CO? Musí definovat konceptuální model řešeného problému datový model entity, vztahy, omezení funkční model služby pro záznam,

Více

Seznam.cz. Tomáš Pergler. najdu tam, co neznám!

Seznam.cz. Tomáš Pergler. najdu tam, co neznám! Scrum @ Seznam.cz Tomáš Pergler Obsah přednášky Jak funguje Scrum role fáze (meetingy) vstupy / artefakty Jak děláme Scrum v Seznam.cz Praha Brno na dálku Jak reportujeme dál Projekty i maintenance Co

Více

Jiří Mašek BIVŠ V Pra r ha 20 2 08

Jiří Mašek BIVŠ V Pra r ha 20 2 08 Jiří Mašek BIVŠ Praha 2008 Procesvývoje IS Unifiedprocess(UP) Iterace vývoje Rysy CASE nástrojů Podpora metodických přístupů modelování Integrační mechanismy propojení modelů Podpora etap vývoje Generování

Více

Agilní metodiky a techniky. analýza a vývoj IS

Agilní metodiky a techniky. analýza a vývoj IS Agilní metodiky a techniky analýza a vývoj IS Využití UML UML jako náčrt systému UML jako plán vývoje UML jako programovací jazyk Příklad: Analýza - chyby v zákoně viz http://blog.geospy.org/tagged/anal%c3%bdza

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

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Osnova Základní principy tvorby SW Fáze tvorby SW v předmětu UOMO Analýza požadavků Modelování typových úloh 2006 UOMO 54 Tvorba SW Dříve umění vyvolených

Více

Agilní modelování. ing. Alena Buchalcevová, Ph.D. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3

Agilní modelování. ing. Alena Buchalcevová, Ph.D. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3 Agilní modelování ing. Alena Buchalcevová, Ph.D Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3 E-mail: buchalc@vse.cz Abstrakt Význam modelování při vývoji softwaru Na celou historii

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

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

Manažerská informatika - projektové řízení

Manažerská informatika - projektové řízení VŠE, fakulta Podnikohospodářská Manažerská informatika - projektové řízení Projekt implementace informačního systému Jiří Mikloš 2009 Obsah Obsah Obsah... 2 Úvod... 3 Zadání... 4 Projektový postup... 5

Více

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

1 Úvod 1.1 Vlastnosti programového vybavení (SW) 1 Úvod 1.1 Vlastnosti programového vybavení (SW) - dávkové zpracování - omezená distribuce - zakázkový SW - distribuované systémy - vestavěná inteligence - laciný HW - vliv zákazníka 1950 1960 1970 1980

Více

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ STUDIUM METODIKY VÝVOJE SOFTWARE Mgr. Jiří MARTINŮ doc. Ing. Petr ČERMÁK, Ph.D. Moravská vysoká škola Olomouc, o.p.s., 2018 Moravská vysoká škola

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 Zaměřen na procesy, předpokládá jejich opakovatelnost. Pevné, podrobné plány definovány

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

Návrh IS - UML. Jaroslav Žáček

Návrh IS - UML. Jaroslav Žáček Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trochu historie neuškodí Do roku 1994 chaos ve světě objektově orientovaných metod (několik jazyků pro vizuální modelování,

Více

4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ

4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ 4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ 1 METODIKY K ČEMU JSOU DOBRÉ? BUĎ NEMÁTE ŽÁDNOU NEBO STRIKTNÍ / RIGORÓZNÍ POSTUPY NĚCO MEZI TÍM: AGILNÍ PŘÍSTUP K ČEMU

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

6 Objektově-orientovaný vývoj programového vybavení

6 Objektově-orientovaný vývoj programového vybavení 6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).

Více

Návrh IS - UML. Jaroslav Žáček

Návrh IS - UML. Jaroslav Žáček Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ UML UML není metodikou ani programovacím jazykem, je to pouze vizuální modelovací nastroj pro objektově orientované systémy.

Více

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1 Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.3.2018 AVTK Úvod strana 1 strana 2 Program přednášek Úvod do AVT Metodiky Git a SVN Softwarové repozitáře Testování aplikací Prezentace projektů strana 3 Metodiky

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

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

Přednáška. Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE. e-fractal, s.r.o.

Přednáška. Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE. e-fractal, s.r.o. Přednáška Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE e-fractal, s.r.o. Úvod Agenda Motivace proč modelovat procesy Stručný úvod do metody C.C Příklad Motivace proč modelovat procesy

Více

Modelování požadavků

Modelování požadavků Modelování požadavků Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové inženýrství

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

Ž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

Pokročilé typové úlohy a scénáře 2006 UOMO 71

Pokročilé typové úlohy a scénáře 2006 UOMO 71 Pokročilé typové úlohy a scénáře 2006 UOMO 71 Osnova Interní model typové úlohy Vazby include a extend Provázanost typových úloh na firemní procesy a objekty Nejčastější chyby 2006 UOMO 72 Interní model

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

Business Process Modeling Notation

Business Process Modeling Notation Business Process Modeling Notation Stephen A. White, IBM Corporation Procesní řízení 1 Co to je BPMN? Standard Business Process Modeling Notation (BPMN) byl vyvinutý skupinou Business Process Management

Více

EXIN Agile Scrum Foundation Příručka ke zkoušce. Vydání

EXIN Agile Scrum Foundation Příručka ke zkoušce. Vydání EXIN Agile Scrum Foundation Příručka ke zkoušce Vydání 201608 Copyright 2016 EXIN Všechna práva vyhrazena. Žádná část této publikace nesmí být zveřejněna, reprodukována, kopírována nebo uložena v systému

Více

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

Softwarový proces. Bohumír Zoubek, Tomáš Krátký Softwarový proces Bohumír Zoubek, Tomáš Krátký 1 Úvod Základní pojmy Softwarový proces / Model životního cyklu vývoje software (SDLC, Software Development Lifecycle) Množina aktivit nutných k tomu, aby

Více

Metodiky vývoje SW. Taxonomie metodik. Metodiky pro softwarový proces. Moderní strukturovaná analýza. Unifikovaný proces vývoje (UP) Klasické.

Metodiky vývoje SW. Taxonomie metodik. Metodiky pro softwarový proces. Moderní strukturovaná analýza. Unifikovaný proces vývoje (UP) Klasické. Metodiky pro softwarový proces Metodiky vývoje SW Co to je softwarový proces umění, manufaktura, modelování? Proces vývoje software by se měl řídit nějakým doporučením sníží se tím pravděpodobnost chyb,

Více

ZEMĚMĚŘICKÝ ÚŘAD. Výzkum a vývoj programového aparátu pro generalizaci státního mapového díla. Ing. Přemysl JINDRÁK

ZEMĚMĚŘICKÝ ÚŘAD. Výzkum a vývoj programového aparátu pro generalizaci státního mapového díla. Ing. Přemysl JINDRÁK ZEMĚMĚŘICKÝ ÚŘAD Výzkum a vývoj programového aparátu pro generalizaci státního mapového díla Představení projektu Technologická Agentura ČR Praha, 31. 7. 2018 Ing. Přemysl JINDRÁK Základní vymezení Projekt

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

OOT Objektově orientované technologie

OOT Objektově orientované technologie OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová, Pavel Děrgel Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include

Více

Modelem řízený vývoj. SWI 1 Jan Kryštof

Modelem řízený vývoj. SWI 1 Jan Kryštof Modelem řízený vývoj SWI 1 Jan Kryštof Související zkratky MDA ~ Architecture formální vymezení MDD ~ Development aktivita SW vývojářů MDG, MDE,... UML ~ Unified modeling language OMG ~ Object Management

Více

Vývoj řízený testy Test Driven Development

Vývoj řízený testy Test Driven Development Vývoj řízený testy Test Driven Development Richard Salač, Ondřej Lanč Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze 23. - 30. 10. 2012 Obsah 1 Testování 2 Klasický přístup

Více

Agilní přístupy k vývoji SW. Jaroslav Žáček

Agilní přístupy k vývoji SW. Jaroslav Žáček Agilní přístupy k vývoji SW Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ http://www.agilemanifesto.org/ Principy 1/4 Naší nejvyšší prioritou je vyhovět zákazníkovi včasným a průběžným

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

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

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

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 22. Otázka : Úvodní fáze rozpracování softwarového projektu. Postupy při specifikaci byznys modelů. Specifikace požadavků a jejich rozpracování pomocí

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

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

Metodický rámec budování IS/ICT

Metodický rámec budování IS/ICT Metodický rámec budování IS/ICT Alena Buchalcevová Katedra informačních technologií VŠE Praha nám. W. Churchilla 4, 30 00 Praha 3 email: buchalc@vse.cz Abstrakt Článek popisuje metodický rámec pro budování

Více

Softwarový proces Martin Hlavatý 4. říjen 2018

Softwarový proces Martin Hlavatý 4. říjen 2018 Softwarový proces Martin Hlavatý 4. říjen 2018 Úvod Základní pojmy Softwarový proces / Model životního cyklu vývoje software (SDLC, Software Development Lifecycle) Množina aktivit nutných k tomu, aby software

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

OOT Objektově orientované technologie

OOT Objektově orientované technologie OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include a extend) Shrnutí

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

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

7.2 Model použití (jednání) (Use Case)

7.2 Model použití (jednání) (Use Case) 7.2 Model použití (jednání) (Use Case) - při analýze požadavků často popis typických interakcí uživatele, nedokumentované Jacobson model použití (1992) Scénář Posloupnost kroků popisujících interakci mezi

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

01 Teoretické disciplíny systémové vědy

01 Teoretické disciplíny systémové vědy 01 Teoretické disciplíny systémové vědy (systémový přístup, obecná teorie systému, systémová statika a dynamika, úlohy na statických a dynamických systémech, kybernetika) Systémová věda je vědní disciplínou

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

Ž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

Architektura softwarových systémů

Architektura softwarových systémů Architektura softwarových systémů Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové

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