Lekce 1 - 1 Přehled metodiky vývoje GIS aplikací Vytvořeno pro seminář na FIMU: Vybrané kapitoly z GIS, podzimní semestr. Prezentovaná metodika vychází z kombinace metodik LBMS a Oracle CDM. Lekce 1: Fáze a procesy vývoje Procesy vývoje Business Requirements Definition – definice požadavků V tomto procesu jsou definovány business požadavky kladené na aplikaci. Je vytvořen procesní model, konceptuální datový model a konceptuální funkční model. Dále jsou popsány nefunkční požadavky (uživatelský interface, požadované odezvy systému, …). V rámci tohoto procesu je vytvořen první návrh pilotního území. Existing Systems Examination – analýza stávajících systémů Analýza stávajícího systému (stávajících systémů), pokud uživatel chce novým systémem pokrýt funkcionalitu stávajícího systému (stávajících systémů) Technical Architecture – definice technické infrastruktury Určení technické infrastruktury navrhovaného systému – technických a technologických prvků systému. Podrobnost a obsah návrhu se liší podle fáze projektu, ve které je technická architektura vytvářena. Technická architektura by měla vycházet ze širší informační strategie, kterou by uživatel měl mít vytvořenu. Database Design and Build – návrh a vytvoření databáze Proces vytvoření logického datového modelu, fyzického datového modelu a implementace databáze v DDL. Module Design and Build – návrh a vytvoření modulů Z procesního modelu, konceptuálního datového modelu a konceptuálního funkčního modelu je vytvořen logický model modulů, které podporují navržené funkce. Dále probíhá implementace modulů ve zvoleném technologickém prostředí. Data Conversion – migrace a konverze dat Migrace, konverze a testování migrovaných dat potřebných pro testování a provoz vyvíjeného systému. Migrace dat může být podporována automatickými prostředky nebo realizována manuálně. Documentation – dokumentace Vytváření dokumentace ve všech fázích a všech výstupů systému. Testing – testování Vytváření testovacích scénářů, testovacích návodů a skriptů. Testování modulů, testování business funkcí, integrační testování. Training – školení Příprava školení a vlastní školení školitelů a uživatelů vyvíjeného systému. 3kolení administrace a podpory systému. Lekce 1 - 2 Transition – přechod Proces, který od začátku projektu připravuje přechod na nový systém. Připravuje se instalační plán, scénář přechodu na nový systém, plán implementace HW a SW prostředků pro testovacím a produktivní provoz. Post-System Support – poinstalační podpora, podpora produkce Monitorování a řešení provozních problémů pomocí help-desku, příprava upgrade aplikace s opravenými chybami. Vyhodnocování provozu systému, plánování přírůstků a dalšího rozvoje systému. Přehled fází vývoje – klasický přístup Definition (Definice) V této fázi se plánuje celý implementační projekt. Definují se základní procesy a strategie, provede se sběr a analýza potenciálních změn produktu. Vytvoří se procesní Model nejvyšší úrovně. Definuje se strategie implementace. Definují se požadavky a strategie pro aplikační a technickou architekturu. Definují se požadavky a strategie pro konverzi dat a tvorbu dokumentace, navrhují se standardy a procedury pro dokumentaci systému, připravuje se glosář projektu. Definuje se strategie a požadavky pro funkční testování systému, strategie pro výkonnostní testy a navrhuje se strategie pro osvojení a vyškolení uživatelů. Analysis (Analýza) V této fázi jsou vytvořeny scénáře business požadavků na základě výstupů předchozí fáze. Je navrženo zavedení nových business operací do aplikační a technické architektury. Je navržena Lekce 1 - 3 definice aplikační a technické architektury systému. Technická architektura na nejvyšší úrovni zahrnuje návrh platformy, software a komunikačních komponent nového systému. Design (Návrh řešení) V této fázi se provádí dokumentace Business procedur, definuje se aplikační setup, bezpečnostní aplikační architektura, standardy designu a buildu. Vytváří se návrh aplikací – návrh funkcí, návrh databáze a technický návrh. Definují se standardy pro konverzi dat, připravuje se prostředí pro konverzi a mapují se data pro konverzi na datové struktury vyvíjené aplikace. Definují se manuální konverzní procedury a konverzní programy, připravuje se plán testů konverze. Vytvářejí se testovací skripty pro testování modulů, jejich komunikaci, pro systémové a integrační testy. Je vytvořen návrh výkonnostních testů. Provádí se analýza potřeb pro školení uživatelů a tvoří se plán uživatelských školení. Build (Vytvoření aplikace) V této fázi se vytváří kód a testují se parametrizace a rozšíření systému, včetně aplikačních zlepšení, konverzí a interfaces. Vytvářejí se a provádějí funkční, výkonnostní a integrační testy systému, definuje se aplikační a databázová architektura, definuje se platforma řešení a síťové architektury. Po přípravě vývojového prostředí je možno zahájit práce na vytvoření databáze a vývoji aplikačních modulů. Pokračuje vývoj konverzních programů a provádí se testy konverzních nástrojů. V této fázi se vytváří dokumentace - Instalační příručky, Uživatelské příručky a Systémové příručky. Po přípravě testovacího prostředí se provádí testy modulů a systémové, instalační a integračních testy. Provádí se příprava klíčových uživatelů pro testování. Provádí se výkonnostních testy systému. Pro účely budoucího školení se vytvářejí školicích materiály a prostředí pro školení uživatelů. Je vytvořen návrh infrastruktury pro support produkční fáze a plánu přechodu a náhradních řešení. Transition (Přechod) V této fázi na nový systém zahrnuje instalaci konverzních programů, konverzi a verifikaci dat, funkční testování, výkonnostní testy, zaškolení školitelů zákazníka, produkční migraci, přípravu produkčního prostředí, setup aplikací a jejich implementaci. Fáze končí zahájením produkce systému. Production (Produkce) Tato fáze je poslední fází implementace a je současně začátkem supportu systému. Tato konečná fáze obsahuje činnosti zaměřené na měření výkonnosti a jemné ladění systému, provádí se masivní podpora uživatelů systému. Připravuje se návrh budoucích business a technických záměrů pro případný další rozvoj systému. Lekce 1 - 4 Přehled fází vývoje – rychlý přístup Sloučením a zjednodušením fází definice a analýzy, návrhu a vytvoření aplikace a přechodu a produkce je možné realizovat „rychlý přístup“ při vývoji aplikace. Přehled fází vývoje – „lite“ přístup Ještě rychlejší – „lite“ – přístup vznikne při řešení založeném na prototypování. Uživateli se předkládají prototypy řešení, nad nimi probíhá analýza požadavků a zpřesňování řešení do dalších prototypů. Výsledná aplikace je ve fázi přechodu a produkce implantována do produktivního provozu. Lekce 1 - 5 Fáze klasického přístupu: Definice projektu V této fázi se plánuje celý vývojový nebo implementační projekt. Definují se základní procesy a strategie, provede se sběr a analýza potenciálních změn produktu. Vytvoří se procesní Model nejvyšší úrovně. Definuje se strategie vývoje a implementace. Definují se požadavky a strategie pro aplikační a technickou architekturu. Definují se požadavky a strategie pro konverzi dat a tvorbu dokumentace, navrhují se standardy a procedury pro dokumentaci systému, připravuje se glosář projektu. Definuje se strategie a požadavky pro funkční testování systému, strategie pro výkonnostní testy a navrhuje se strategie pro osvojení a vyškolení uživatelů. Procesy ve fázi Definice Cíle fáze Definice Získat informace a porozumět business procesům a funkcím, potřebným ke splnění cílů projektu Analýza stávajících business procesů a informačních systémů, které ovlivňují cíle projektu Definice požadavků na nejvyšší úroveň systému, na interface a na konverzi dat Definice požadavků na nejvyšší úroveň architektury, technologie a konfiguraci podporujících funkční a informační potřeby aplikace Připravit přehlednou zprávu s definice rozsahu projektu Získat souhlas managementu k dalším etapám projektu Kritické faktory úspěchu Existuje zřetelná definice business cílů vztahujících se k projektu Klíčový management, klíčoví uživatelé a technici klienta aktivně participují na cílech projektu Lekce 1 - 6 Projektový tým má přístup k informacím vztahujícím se k business procesům a systémům ovlivňujícím projekt Vedoucí projektu efektivně řídí funkční rozsah projektu a řešení problémů Procesy ve fázi Definice, jejich vstupy a výstupy Lekce 1 - 7 Fáze klasického přístupu: Analýza Cílem této fáze je přesná formulace detailních požadavků na IS. V průběhu fáze Analýza projektový tým analyzuje business oblasti specifikované v předcházející fázi Definice. Členové analytického týmu by měli získat a zdokumentovat důkladnou znalost business oblasti vytvořením správné sady modelů. Modly musí obsahovat popis toho, čím se business oblast zabývá, a popis informací, které jsou v analyzované business oblasti potřebné. Procesy ve fázi Analýza Cíle fáze Analýza Vytvořit přesný a úplný procesní, funkční a datový model business oblasti Definovat detailní funkční, informační a operační požadavky na navrhovaný IS Definovat technickou architekturu HW a SW, na které bude implementován navržený IS Navrhnout strategii pro migraci dat ze stávajícího systému (stávajících systémů) na nový IS Kritické faktory úspěchu Existuje objektivně potvrzená angažovanost uživatelů Nové požadavky a otázky jsou řešeny včas Jsou implementovány standardy QA (zajišťování kvality) Projektový tým identifikuje klíčové problémy při přechodu do fáze Design Je zaveden kvalitní systém pro řízení změn funkčního rozsahu projektu Lekce 1 - 8 Existuje dobře definovaná aktuální technická architektura nebo IT strategie Procesy ve fázi Analýza, jejich vstupy a výstupy Fáze klasického přístupu: Design a další fáze jsou předmětem jarního semestru.