Metody strukturované analýzy a projektování MIS – II
Rozdíl mezi metodikami a metodami, vztah mezi nimi
Metodika je obecně pracovní postup (metoda) nebo nauka o metodě. Ve vývoji software metodika představuje souhrn doporučených praktik a postupů, pokrývajících celý životní cyklus vytvářené aplikace. V tomto oboru velmi často dochází – kvůli nesprávnému překladu z angličtiny – k záměně pojmu metodika za metodologie. Pro řešení dílčích problémů mohou být v rámci nasazení metodiky uplatněny specifické postupy – metody.
Metoda je soustavný postup, který v dané oblasti vede k cíli, v ideálním případě nezávisle na schopnostech toho , kdo ho provádí. Souhrn pojmů,nástrojů a pravidel , jež patří k základům každé vědy, popř. i jiných činností
Systémy CASE
CASE systémy jsou softwary pro počítačovou podporu softwarového inženýrství. Účelem je usnadnit programátorům práci, zvýšit současně kvalitu produktu, zkrátit čas vývoje, usnadnit spolupráci mezi programátory, zajistit průběžnou dokumentaci, umožnit implementaci změn v SW atp. Ideálem je plná automatizace tvorby softwarového díla. Možných přístupů je více. Od historického PROLOGu až k dnešním - na objektových metodologiích založeným - systémům, jakými jsou např.: Rational Rose, Enterprise Architect, Visual Paradigm a mnoho dalších.
Spojuje aspekt
• Softwarového inženýrství – použití standardizovaných metodologií
• Počítačové podpory – realizace v podobě SW a HW nástrojů
Definice CASE podle SEI:
„A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within a software development process.“
Nástroje (CASE tools)
Druhy CASE systémů

Komponenty CASE systémů
Oblasti CASE nástrojů
Typické oblasti jsou:
· Generování kódu
· (Datové) modelování
· Refaktorovací nástroje
· Nástroje pro transformace modelů (v MDA architektu
· Nástroje pro správu konfigurací (včetně správy verzí)
Universal Modeling Language (UML)
UML (Unified modeling language) je jazyk pro modelování a návrh softwaru, nejčastěji využíván v objektově orientovaný jazycích pro návrh třídních hierarchií v diagramu tříd, dovolujete kreslit například průběhy aktivit, procesů, stavů, zavedení. Jazyk nedefinuje žádnou metodiku vývoje softwaru a jeho fáze, pro tyto účely existuje samostatný standard Unified Process. UML bylo standardizováno v roce 1997 a nahradilo velké množství standardů, které se používaly do poloviny devadesátých let dvacátého stolení. Jazyk UML je implementován v mnoha CASE nástrojích a stal se průmyslovým formátem zápisu softwarových architektur. V roce 2004 byla standardizována verze 2.0.
Diagramy jsou nejznámější a nejpoužívanější částí standardu. Následuje přehled diagramů v UML 2.0 včetně jejich rozčlenění do skupin:
strukturní diagramy:
diagramy chování:
diagramy interakce:
Kreslení konceptu
Při tomto použití je UML podpůrným nástrojem pro komunikaci mezi vývojáři a pro zaznamenání myšlenek a návrhů. Do diagramů se kreslí pouze věci podstatné pro grafické vyjádření návrhu, části návrhu před tím, než se začne programovat.
Důležitá je srozumitelnost, rychlost nakreslení a snadnost změny či navržení alternativ řešení.
Kreslení detailních návrhů
Cílem je zaznamenat kompletní návrh či kompletní realizaci. Při kreslení návrhu by měl analytik obsáhnout všechny prvky tak, aby programátor byl schopen vytvořit program bez velkého přemýšlení nad věcnou oblastí (pro programátora by neměla vzniknout potřeba konzultace s uživatelem). Při kreslení detailních návrhů se obvykle používají specializované programy (CASE), které jsou schopny sdílet informace mezi jednotlivými modely a kontrolovat konzistenci návrhu. Při dokumentaci programu se často používání nástroje pro generování diagramů z vlastního kódu aplikace.
UML jako programovací jazyk
Při tomto použití vývojář nakreslí UML diagramy, ze kterých se vygeneruje přímo spustitelný kód. Toto vyžaduje specializované nástroje a velmi přesné vyjadřování v UML diagramech. V této souvislosti se velmi často používá pojem Model Driven Architecture (MDA), což je další standard skupiny OMG, který se snaží standardizovat použití UML jako programovacího jazyka.
Metamodel
Tento pohled používají autoři UML a autoři CASE nástrojů - nedívají se na UML jako na diagramy, pro ně je základem UML metamodel (diagramy jsou pouze grafickou reprezentací metamodelu). Při tomto přístupu se často používá pojem model místo pojmu diagram, např. místo diagramu tříd se používá pojem model tříd. Metamodel se popisuje pomocí Meta-Object-Facility (MOF) - abstraktního jazyka pro specifikaci, vytváření a správu metamodelů (další standard OMG). Pro výměnu metamodelů se používá XMI - na XML založený standard (součást standardu UML).