Metodiky vývoje software, MDA
|
|
- Marek Neduchal
- před 8 lety
- Počet zobrazení:
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í 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íceUnifikovaný 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íceAgile 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íceNá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íceZuzana Š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íceNá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íceKlasické 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íceMetodika 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íceObsah. 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Í 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íceVý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íceVý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íceNá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íceSOFTWAROVÉ 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íceSmysl 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íceNá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íceAnalý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íceUML - 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íceProblé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íceZá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ícePŘÍ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íceCASE 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íce2. 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íce7 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íceUnifikovaný 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íceAgile. 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íceRoč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íce7 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íceTREND 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íceCASE. 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íceTÉ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íce10 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íceModelová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íceSOFTWAROVÉ 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íceXINF1. 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íce2 Ž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ícePOČÍ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íceVý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íceVý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íce8 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íce8 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íceUML 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ícePrincipy 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íceSOFTWAROVÉ 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íceAnalytická 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íceSeznam.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íceJiří 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íceAgilní 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íceVý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íceObjektová 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íceAgilní 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íceNormy 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íce2. 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íceManaž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íce1 Ú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íceMETODIKY 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íceRUP - 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íceRUP - 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íceNá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íce4IT445 - 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íceSoftwarové 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íce6 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íceNá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ícePř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íce5 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
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ícePř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íceModelová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íce5 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í 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ícePokroč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íceNovinky 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íceBusiness 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íceEXIN 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íceSoftwarový 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íceMetodiky 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íceZEMĚ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íceTÉ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íceOOT 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íceModelem ří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íceVý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íceAgilní 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íceCo 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íceAnalý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íceTÉ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íceKIV/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íceInformač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íceMetodický 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íceSoftwarový 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íceInformač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íceOOT 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íceAgilní 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íceJakou 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íce7.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íce1. 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íce01 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íceInformač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/ 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íceArchitektura 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 Ing. Pavel Rozsypal IBM Česká republika Global Business Services Lekce 3 - Projektové
Více