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

Podobné dokumenty
Novinky v UML 2.5 a agilní modelování

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

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

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

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

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

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

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

SOFTWAROVÉ INŽENÝRSTVÍ 1

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

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

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

Obsah. Zpracoval:

AGILNÍ MODELOVÁNÍ A METODA BORM

Analýza a Návrh. Analýza

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

AGILNÍ METODIKY, JAK DÁL?

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

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

Agile Software Development

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

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

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

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

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

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

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

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

XINF1. Jaroslav Žáček

Unifikovaný proces vývoje

7 Jazyk UML (Unified Modeling Language)

Principy UML. Clear View Training 2005 v2.2 1

7 Jazyk UML (Unified Modeling Language)

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

Česká zemědělská univerzita v Praze. Provozně ekonomická fakulta. Katedra informačních technologií

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

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

Základy analýzy. autor. Jan Novotný února 2007

Unifikovaný modelovací jazyk UML

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

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

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

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

AGILNÍ METODIKY A SPRÁVA POŽADAVKŮ

MBI portál pro podporu řízení podnikové informatiky. mbi.vse.cz

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

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

Ročníkový projekt. Jaroslav Žáček

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

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

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

Analytická specifikace a její zpracování

Modelování webových služeb v UML

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ

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

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

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

5 Požadavky a jejich specifikace

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

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

Stav používání agilních metodik v ČR

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

5 Požadavky a jejich specifikace

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

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

Jaký má být dnes vývoj softwaru - business driven, test driven, model driven, architecture driven nebo service oriented?

Jakou metodiku použít pro

Metodiky vývoje software, MDA

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

Jak správně psát scénáře k případům užití?

Agilní metodiky vývoje softwaru

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

Analýza a modelování dat. Helena Palovská

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS

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

Projektová dokumentace pro tvorbu internetových aplikací

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

CASE nástroje. Jaroslav Žáček

RUP - Motivace, principy. Jaroslav Žáček

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

Informační systémy. Jaroslav Žáček

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

Y13ANW ÚVOD DO WEBOVÝCH METODIK. Ing. Martin Molhanec, CSc.

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

4 ARCHITEKTURA PODNIKOVÝCH PROCESŮ S ARISEM

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

Životní cyklus vývoje SW. Jaroslav Žáček

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

Objekty, třídy, vazby 2006 UOMO 30

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

6INF2. RNDr. Jaroslav Žáček, Ph.D.

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D.

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

Analýza. Pracovní postup Analýza

PROJEKTOVÁNÍ INFORMAČNÍCH SYSTÉMŮ Metodický list č. 1

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová

Transkript:

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ývoje softwaru můžeme pohlížet jako na boj se složitostí. Na jedné straně se do tohoto boje nasazují stále výkonnější nástroje, na druhé straně rostou požadavky na software (rozsah, kvalita, rychlost vývoje, flexibilita, přívětivost a další). A tak je složitost vývoje softwaru stále klíčovým problémem a je také jednou z příčin velkého počtu neúspěšných softwarových projektů. Jedním z nástrojů, které nám pomáhají bojovat se složitostí, je modelování. Modelování představuje činnost, která probíhá v rámci fáze analýzy a návrhu a jejímž výsledkem je jeden či více modelů. Model představuje abstraktní obraz reality, tedy oblasti, ze které pochází úloha, jež má být řešena informačním resp. programovým systémem. [Repa]. Smyslem modelování jako základního principu metodiky vývoje IS je především zabezpečit smysluplnost a správnost obsahu informačního systému. Platí-li, že informační systém je modelem reality, potom jeho správnost je dána tím, jak správně a přesně modeluje reálné skutečnosti. [Chlapek] Modelování umožňuje řešit i otázku velkého rozsahu softwarových projektů. Potřebujeme-li rozdělit práci mezi několik dílčích týmů, je kvalitní model nutným předpokladem efektivní spolupráce. Model poskytuje informace o kontextu řešené části v rámci celého systému a slouží také jako prostředek komunikace mezi členy týmu. Modely slouží také jako dokumentace řešení a v poslední době se stále více používají pro automatické generování kódu v rámci Modelem řízené architektury (Model Driven Architecture) MDA. Mýty o modelování a jak je překonat Přestože modelování prosazují standardizační organizace jako OMG a IEEE, výrobci CASE nástrojů a vývojových nástrojů a je součástí většiny metodik, v praxi se často neprovádí. Jednou z příčin jsou mýty o modelování jak je formuloval Scott Ambler v [Ambler,2001]. Mýtus 1: Modelování je vždy svázáno s dokumentací Velmi častým a nebezpečným mýtem je přesvědčení, že modelování je vždy svázáno s dokumentací.

Vývojáři nechtějí ztrácet čas tvorbou dokumentace, a tak nemodelují. Výsledkem je potom nízká kvalita vytvářených systémů. Náčrtky na papíře, obrázky na tabuli, CRC 1 karty, nákresy uživatelského rozhraní nejsou dokumenty, ale přesto představují hodnotné modely. Modelování plní podobnou úlohu jako plánování. Při plánování není hodnotou plán samotný, ale proces plánování. Stejně tak při modelování je důležitý proces modelování. Mýtus 2: Je možné vše namodelovat předem a správně Druhý mýtus přeceňuje význam modelů vytvořených předem. Jeho zastánci věří, že je možné namodelovat vše předem a správně. Výsledkem je potom obrovské množství dokumentace namísto fungujícího softwaru. Tento mýtus je spojen s běžnou praxí zmrazení požadavků na začátku životního cyklu vývoje, což vede k tomu, že dodané systémy neodpovídají skutečným potřebám uživatelů. Pro překonání tohoto mýtu je třeba si uvědomit, že není možné přemýšlet ve všech podrobnostech. A i když bychom předem vytvořili sebelepší model, při vývoji dochází ke změnám, takže pak model již nebude odpovídat kódu. Řešením je iterativní přístup - trochu modelování, trochu kódování, trochu testování a hlavně nasazení fungující verze softwaru. Mýtus 3: Modelování je spojeno s rigorózními metodikami Tento mýtus vychází z mýtu 1. Pokud si uvědomíme rozdíl mezi modelem a dokumentací, zjistíme, že můžeme modelovat agilním způsobem, to znamená vytvářet jednoduché modely a používat jednoduché nástroje. Mýtus 4: Při vývoji softwaru je třeba zmrazit požadavky Pokud se zmrazí požadavky na začátku životního cyklu, pak nejspíš bude dodáno to, co bylo požadováno, ale pravděpodobně ne to, co je třeba. Mýtus 5: Návrh (model) je vytesán do kamene Zastánci tohoto mýtu požadují, aby prvotní návrh zůstal neměnný. Pokud dojde ke změnám, je návrh zastaralý a neaktuální. Programátoři pak modely ignorují. Nikdo, ani nejlepší návrhář není dokonalý a stejně tak není dokonalé jeho dílo. Pokud se zafixuje návrh, zafixují se chyby. Mýtus 6: Při modelování je nutné používat CASE nástroj Dalším mýtem při modelování je představa, že pro modelování je nutné používat CASE nástroj, který nejlépe zvládne složité modely. Mnohdy je ale účinnější vytvářet jednoduché modely, které zachytí jen důležité informace. Mýtus 7: Modelování je ztráta času Tento mýtus zastávají zejména nováčci, kteří se orientují jen na kódování. Zkušenější vývojáři vědí, že se produktivita práce zvýší náčrtkem diagramu, vytvořením prototypu atd. Mýtus 8: Základem je datové modelování 1 Class Responsibility Collaboration - metoda pro zjišťování odpovědností tříd.

Datová komunita má historicky poměrně silnou pozici. Datové modelování je důležitý, ale sekundární úkol modelování. Mýtus 9: Všichni vývojáři umí modelovat Umění modelovat vyžaduje léta zkušeností. Charakteristika metodiky Agilní modelování O překonání výše uvedených mýtů usiluje metodika Agilní modelování (dříve nazývaná Extrémní modelování, XM). Autorem této metodiky je Scott Ambler. Agilní modelování je metodika založená na praktikách, principech a hodnotách, které jsou odvozeny z hodnot metodiky Extrémní programování (XP) [Beck]. Hodnoty Základní hodnoty Agilního modelování jsou převzaty z Extrémního programování. Jsou jimi komunikace, jednoduchost, zpětná vazba a odvaha. Komunikace je při vývoji softwaru velmi důležitá. Jde o komunikaci mezi všemi zainteresovanými (vývojáři, uživateli, projektovými manažery, vedením). Modely jsou důležitým faktorem, který podporuje jednoduchost vytvářeného softwaru i jednoduchost procesu jeho vývoje. Je mnohem jednodušší objasnit myšlenku pomocí obrázku či diagramu než stovkou řádků kódu. Při komunikaci pomocí diagramu lze získat rychle zpětnou vazbu, která je pro vývojáře velmi důležitá. Při vývoji softwaru je třeba mít také odvahu činit rozhodnutí. K hodnotám převzatým z XP přidává Scott Ambler ještě skromnost, kterou chápe jako umění přiznat si, že jedinec nemůže znát vše, ale ostatní mu mohou být nápomocni. Principy Agilní modelování opět přebírá některé principy z metodiky Extrémní programování - například jednoduchost, otevřená komunikace, cestování nalehko. Kromě toho ale přidává několik specifických modelovacích principů. Pokud je obrázek cennější než tisíc slov, je model cennější než 1024 řádek kódu. Principy agilního modelování uvádí tabulka 1 [Ambler,XM], [Ambler,AMWP]. Principy agilního modelování princip Nejdůležitějším úkolem je vytvořit fungující software Druhým nejdůležitějším úkolem je umožnit další práci na projektu Obsah je mnohem důležitější než reprezentace Jednoduchost vysvětlení cílem není vytvářet modely, ale vytvořit kvalitní software, který odpovídá potřebám zákazníka vytvořený software musí být natolik robustní, aby jej bylo možné dále rozvíjet, současně je třeba mít k dispozici takovou dokumentaci, aby byl další rozvoj možný každý model může být reprezentován různými způsoby, je třeba vybrat dostačující způsob aby splnil účel modelování, modely nemusí být tedy perfektní ani nemusí být nutně vytvořené v CASE nástrojích nejjednodušší řešení je nejlepší řešení

Principy agilního modelování princip Komunikace Modelovat za určitým účelem Uchopit změnu Změny je třeba dělat přírůstkově Je třeba se učit od druhých Znát své modely Přizpůsobení metodiky Maximalizovat výnosy z investic Více modelů Otevřená komunikace Důraz na kvalitu Rychlá zpětná vazba Cestovat nalehko Řídit se instinkty lidí tabulka 1: Principy agilního modelování vysvětlení hlavním smyslem modelování je komunikace mezi členy týmu navzájem i se zákazníky a zájmovými skupinami modely by se měly vytvářet jen když je jasné, pro koho je model určen a proč změny nastávají, je třeba je akceptovat je lepší měnit systém po malých částech než provést jednu všezahrnující změnu nikdo nemůže znát vše, je třeba se učit od druhých a rozvíjet své znalosti existují různé modely, které odrážejí pohledy na systém, je třeba znát jejich silné a slabé stránky a efektivně je využívat metodiku je třeba přizpůsobit podle konkrétních podmínek je třeba maximálně zhodnotit vynaložené prostředky k dispozici je široké spektrum modelů, je třeba použít nejvhodnější lidé se musí cítit volní, díky otevřené komunikaci mohou dělat lepší rozhodnutí je třeba se zaměřovat na kvalitu software v celém procesu jeho vývoje, kvalitní software může splnit požadavky zákazníka, je snazší jej měnit nejcennější při vývoji je rychlá zpětná vazba, prostředkem pro její zajištění je krátké iterace, prototypy, uživatel součástí týmu tento princip vychází z paralely mezi vývojem software a slézáním hory, je třeba vytvářet jen tolik modelů a dokumentace, aby je člověk mohl vzít s sebou lidé se snaží dělat vše pro dobro věci, je dobré využít jejich tacit znalostí Praktiky Praktiky agilního modelování jsou uvedeny v tabulce 2 Praktiky agilního modelování praktika Aktivní účast investorů Používání standardů při modelování Využívání vzorů vysvětlení úspěch projektu často závisí na aktivní účasti investorů vedení podniku, operativní pracovníci, jiné týmy je třeba používat obecné standardy modelování je třeba používat architektonické, návrhové a analytické vzory

Praktiky agilního modelování praktika Používání správných artefaktů Kolektivní vlastnictví Testovat modely Paralelní vytváření různých modelů Jednoduchý obsah Jednoduché zobrazení modelů Odstranění dočasných modelů Veřejné vystavení modelů Formalizace požadovaných modelů Přechod na jiné artefakty Modelování v malých přírůstcích Modelování pro komunikaci Modelování pro pochopení Je nebezpečné modelovat sám Testování modelů kódem Znovupoužití existujících zdrojů Úprava jen, když je to nezbytné Používání nejjednodušších nástrojů vysvětlení artefaktů je velké množství a je třeba vybrat vhodný pro daný účel odvozena od praktiky extrémního programování umožňuje každému pracovat na libovolném modelu testování je základní prostředek vytváření kvalitního software, je třeba testovat i modely modely reprezentují různé pohledy na vytvářený systém, je třeba znát silné a slabé stránky jednotlivých typů modelů a vytvářet více modelů je třeba se snažit o jednoduchost obsahu modelů je třeba se snažit o jednoduchost zobrazení modelů, je vhodné používat podmnožinu notace, cílem je jednoduchý model, který zachycuje klíčové rysy většina vytvářených modelů je dočasná, když splní svůj účel, je třeba je zrušit podporuje princip otevřené komunikace některé modely jsou požadovány např. vedením, ty je třeba formálně upravit protože modely reprezentují různé pohledy na vytvářený systém a vzájemně se doplňují, je třeba přecházet mezi modely souvisí s přírůstkovým vývojem, není možné vytvořit detailní model předem, ale vytváří se postupně smyslem modelování je komunikace v týmu, se zákazníkem, s vedením smyslem modelování je pochopení problému modelování je činnost, která vyžaduje abstrakci, zkušenosti, existuje více možností, jak model navrhnout, proto je vhodné modelovat s jinými model je abstrakce, pro zjištění, zda bude skutečně fungovat, je třeba napsat kód je třeba využívat hotové modely, vzory úpravy modelů jsou náročné a měly by se realizovat, jen když je to nezbytně nutné většina modelů může být malována na tabuli tabulka 2: Praktiky agilního modelování Abychom pochopili agilní modelování, je třeba pochopit rozdíl mezi modelem a agilním modelem. Model je abstrakce, která popisuje jeden nebo více aspektů problému. V tradičním pojetí je model chápán jako několik diagramů a odpovídající dokumentace. Na druhé straně za modely jsou

považovány také nevizuální artefakty jako CRC karty, popis byznys pravidel a textový popis byznys procesů. Agilní model je takový model, který je právě dostatečně dobrý ( just barely good enough ). Tuto podmínku splňuje model pokud: 1. plní svůj účel Účel modelování může být různý. Někdy slouží model k domluvě mezi členy týmu a se zákazníkem, jindy je na jeho základě definován rozsah projektu a nebo slouží pro pochopení věcné oblasti. 2. je pochopitelný Důležitým předpokladem účelnosti modelu je, aby byl pochopen cílovým subjektem. Model požadavků musí být psán jazykem věcné oblasti, ale model technologické architektury může používat technické termíny. Use case diagram nemá pro uživatele, který nezná notaci, hodnotu. Důležitým kritériem čitelnosti modelu je dodržování konvencí a doporučení pro modelování. 3. je dostatečně přesný Model často nemusí být 100% přesný, aby splnil svůj účel. Důležité je uvažovat o nákladech na 100% přesnost. 4. je dostatečně konzistentní Model nemusí být perfektně konzistentní, je třeba najít správný poměr mezi výší nákladů na perfektní konzistenci a ztrátami z nedostatečné konzistence. 5. je dostatečně detailní Podle účelu modelu je třeba stanovit míru detailu. 6. přináší kladnou hodnotu Přínosy vytvoření určitého artefaktu musí převážit náklady na jeho vytvoření a údržbu - licence CASE nástroje, zaškolení, čas na tvorbu modelu. 7. je co možná nejjednodušší Jednoduchost je ovlivněna úrovní detailu a rozsahem notace - je dobré zvolit podmnožinu notace Agilní modelování není ucelená metodika, ale poskytuje sadu principů a praktik, které se vztahují k modelování. Agilní modelování tak může být začleněno jak do tradičních metodik, tak do agilních metodik. Spojení Agilního modelování s metodikou Rational Unified Process (RUP) je popsáno například v [Ambler,AMRUP]. Stejně tak je možné využít Agilní modelování i spolu s dalšími agilními metodikami jako například Scrum a nebo Extrémní programování Ambler,AMXP]. obrázek Agilní modelování doplňuje ostatní softwarové procesy (metodiky).

Agilní modelem řízený vývoj Autor metodiku neustále rozvíjí. S prosazováním Modelem řízené architektury (MDA) představuje Agilní modelem řízený vývoj (Agile Model Driven Development AMDD). Agilní modelem řízený vývoj je iterativní přístup, který místo vytváření modelů před kódováním vytváří agilní, právě dostatečné modely v jednotlivých iteracích. Schéma modelů používaných v AMDD a jejich posloupnost zachycuje obrázek 2. Během prvního týdne práce na projektu se provádí Úvodní modelování (Initial Modeling), které zahrnuje Úvodní model požadavků (Initial Requirements Model) a Úvodní architektonický model (Initial Architectural Model). Pro modelování požadavků doporučuje Ambler následující modely: Model užití (Usage model), Úvodní doménový model (Initial domain model), Model uživatelského rozhraní (User interface model).

Každý z těchto tří typů modelů může mít různou podobu podle toho v rámci které metodiky je Agilní modelování použito. Tak například Model užití (Usage model) může být tvořen základními Případy užití (Use case) pokud je hlavní metodikou RUP a nebo seznamem užitných vlastností, pokud agilně modelujeme v rámci metodiky Feature Driven development (FDD). Používáme-li Agilní modelování v rámci Extrémního programování, pak vyjádříme požadavky na systém v podobě user stories. Stejně tak Úvodní doménový model může vystupovat v podobě kolekce CRC karet nebo konceptuálního UML class diagramu či datového modelu. Účelem vytváření architektonického modelu je definovat architekturu, která povede k fungujícímu systému. Pro modelování architektury je možné použít různé techniky, ale zatím žádná z nich není převažující. Často je architektura vyjadřována diagramy ve volné formě. Jak postupuje poznání dané oblasti, jsou úvodní modely upravovány. Ale vždy by měly zůstat jen dostatečně dobré. Naproti tomu detailní modelování se provádí až v jednotlivých iteracích v rámci model storming schůzek. Tyto schůzky vznikají neplánovaně, podle potřeby. Dva až tři vývojáři se sejdou a diskutují. Přitom na papír nebo tabuli zaznamenávají návrhy (modely). Podstatné je si uvědomit, že tento přístup k modelování vyžaduje nový typ vývojářů. Místo specialistů na modelování a specialistů na kódování a testování potřebujeme generalisty, kteří umějí jak modelovat, tak kódovat. Závěr LITERATURA [Ambler,1998] [Ambler,2001] [Ambler,2002a] [Ambler,2002b] Ambler, S.W.: CRC Modeling: Bridging the Communication gap Between Developers and Users, White Paper, 1998. Dostupný z WWW: http://www.agilemodeling.com/artifacts/crcmodel.htm Ambler, S. W.: Debunking Modeling Myths, August 2001, Software Development. Dostupný z WWW: http://www.sdmagazine.com/articles/2001/0108/0108k/0108k.htm Ambler, S.: How Much Proof Do You Need?, Agile Modeling, February 2002. Dostupný z WWW: ttp://www.sdmagazine.com/newsletters/agile/ Ambler, S.W.: Toward Executable UML, Software Development, January 2002. Dostupný z WWW: http://www.sdmagazine.com/articles/2002/0201/ [Ambler,2002c] Ambler, S.W.: Easy Does It, Software Development, March 2002. Dostupný z WWW: http://www.sdmagazine.com/documents/sdm0203h/ [Ambler,2002d] Ambler, S.W.: Tools and Evidence, Software Development, May 2002. Dostupný z WWW: http://www.sdmagazine.com [Ambler,2002e] [Ambler,2002f] Ambler, S.: Implicit to Formal:Validating Agile Models, Agile Modeling, September 2002. Dostupný z WWW: http://www.sdmagazine.com/newsletters/agile/ Ambler, S.W.: The Fragile Manifesto, Software Development, August 2002. Dostupný z WWW: http://www.sdmagazine.com/articles/2002/0208/

[Ambler,2002g] [Ambler,2003] [Ambler,AAM] [Ambler,AMDD] Ambler, S.W.: Bridging the Distance, Software Development, September 2002. Dostupný z WWW: http://www.sdmagazine.com/articles/2002/0209/ Ambler, S.W.: Something s Gotta Give, Software Development, March 2003. Dostupný z WWW: http://www.sdmagazine.com Ambler, S. W.: Agile Architectural Modeling. Dostupný z WWW: http://www.agilemodeling.com/essays/agilearchitecture.htm Ambler, S.W.: Agile Model Driven Development (AMDD) Dostupný z WWW:http://www.agilemodeling.com/essays/amdd.htm [Ambler,AMFDD] Ambler, S.: Agile Modeling and Feature Driven Development: Not just another agile methodology, Agile Modeling, May 2002. Dostupný z WWW: http://www.sdmagazine.com [Ambler,AMRUP] [Ambler,AMT] Ambler, S.: Agile Modeling and the Unified Process, Agile Modeling, 2001. Dostupný z WWW: http://www.agilemodeling.com/essays/agilemodelingrup.htm Ambler, S. W.: Architecture and Architecture Modeling Techniques, 2002. Dostupný z WWW: http://www.agiledata.org/essays/enterprisearchitecturetechniques.html [Ambler,AMWP] Ambler, S. W.: Introduction to Agile Modeling, Dostupný z WWW: http://www.agilemodeling.com/essays/introductiontoam.htm [Ambler,ASD] Ambler, S.W.: Agile Software Development. Dostupný z WWW: http://www.agilemodeling.com/essays/agilesoftwaredevelopment.htm [Ambler,MDA] Ambler, S.W.: Examining the Model Driven Architecture (MDA). Dostupný z WWW:http://www.agilemodeling.com/shared/mda.pdf [Ambler,Reuse] Ambler, S.: Reuse for the Real world, Agile Modeling, April 2002. [Ambler,XM] Dostupný z WWW: http://www.agilemodeling.com Ambler, S. W.: A Closer Look at Extreme Modeling, Software Development Magazine, April 2001. Dostupný z WWW: http://www.sdmagazine.com/documents/sdm0104m/ [Beck] Beck, K.: Extrémní programování, Grada 2002, ISBN 80-247-0300-9 [Buchalc,2002] Buchalcevová, A.: Agilní metodiky, In: Objekty 2002, ČZU Praha, 2002, ISBN 80-213-0947-4. [Buchalc,2005a] [Buchalc,2005b] [Chlapek] [Repa] Buchalcevová, A.: Metodiky vývoje a údržby informačních systémů, Grada, 2005, ISBN 80-247-1075-7. Buchalcevová, A.: Metodika feature-driven development neopouští modelování a procesy, a přesto přináší výhody agilního vývoje, Tvorba softwaru 2005 Chlapek D., Řepa V. : Materiály ke strukturované anylýze, skripta VŠE, 1. vyd. Praha 1997. 138s. ISBN 80-7079-60-4 Řepa, V. : Analýza a návrh informačních systémů, 1. vyd Praha: Ekopress 1999. 403s. ISBN 80-86119-13-0