Vývoj IS
Vladimíra Zádová, KIN, EF TUL- ISN3
• • • •
Metodika Metoda Nástroje Technika
• Životní cyklus – Etapy – Přístupy k vývoji
• Základní alternativy vývoje a provozu • Integrace Vladimíra Zádová, KIN, EF TUL- ISN3
Metodika (metodologie) Doporučený souhrn – – – – – – – – – –
etap, přístupů, zásad, postupů, pravidel, metod, technik, nástrojů, dokumentů metod řízení
pro tvůrce IS, který pokrývá celý životní cyklus IS Určuje kdo, kdy, co, proč má dělat během vývoje a provozu IS Vladimíra Zádová, KIN, EF TUL- ISN3
• Metodika se má vztahovat na všechny prvky IS • osoby –vývoj, uživatel, zadavatel – určení rolí a zodpovědnosti
• • • • • •
organizaci práce způsob řízení v jednotlivých fázích vývoje IS práci s informacemi o vyvíjeném IS SW a HW ekonomické otázky vývoje IS projektovou a provozní dokumentaci (doporučené dokumenty) Vladimíra Zádová, KIN, EF TUL- ISN3
• vznik metodiky (metody) – zobecnění principů, kroků, zásad… použitých při projektování určitého IS
Vladimíra Zádová, KIN, EF TUL- ISN3
Smysl metodiky • • • • • • • • •
vytvoří komunikační standard tvůrců i uživatelů IS zlepší produktivitu práce a kooperace vývojových týmů lepší specializaci projektových týmů na jednotlivé etapy vývoje IS nezávislost vyvíjeného IS na konkrétních řešitelích tvorba aktuální a kvalitní dokumentace větší pružnost k potřebám uživatelů efektivnější údržba IS definice kriterií kvality pro každou etapu vývoje IS kvalitnější řízení prací na projektech IS (plánování, organizování, vedení, výběr a úkolování pracovníků, kontrola) • snížení rizik spojených s vývojem IS (zdroje, rozsah, čas)
Vladimíra Zádová, KIN, EF TUL- ISN3
Členění metodik státem podporované (stát vyžaduje při státních zakázkách postup dle dané metodiky) – SSADM (Structured Systems Analysis and Design Method) - Velká Británie – SDM (System Development Metodology) - Nizozemí – MERISE - Francie
mezinárodní – Euromethod – EU
firemní metodiky – – – –
SE (System Engineering) - LBMS IE (Information Engineering Methodology) Oracle CASE * Method SAFE/xy (Sybase Advanced Framework to Enable xy) - Sybase
Vladimíra Zádová, KIN, EF TUL- ISN3
Metodiky vyvíjené v ČR – MDIS (KIT VŠE, 1993) – PDIT (KIT VŠE, PragoData, 1995)
Vladimíra Zádová, KIN, EF TUL- ISN3
Mezinárodní a národní normy • ISO/IEC12207-Procesy v životním cyklu softwaru • definuje procesy, činnosti, úkoly potřebné při dodání, vývoji, provozu, údržbě a odstranění SW produktu/služby a procesy pro definování, řízení a zlepšování procesů životního cyklu SW – ISO/IEC 15289
• dokumentace – ISO/IEC TR 15271
• Návod pro ISO/IEC12207 –jak mají být procesy definované v ISO/IEC12207 implementovány a přizpůsobeny
• ISO/IEC 15504 – Definuje postup při posuzování procesů, stanoví min. požadavky pro konzistenci a opakovatelnost posuzování Vladimíra Zádová, KIN, EF TUL- ISN3
Mezinárodní a národní normy • ISO 9000 – ČSN EN ISO 9001:2001 Systémy managementu jakosti – požadavky na systém – ČSN EN ISO 9000:2001 Systémy managementu jakosti – základy, zásady a slovník – ČSN EN ISO 9004:2001 Systémy managementu jakosti – směrnice pro zlepšování výkonnosti – ČSN EN ISO 9003 Systémy managementu jakosti –směrnice pro použití ISO 9001:2000 na počítačový SW (doplněk normy)
Vladimíra Zádová, KIN, EF TUL- ISN3
•
Globální metodiky (Enterprise Methodologies) – zaměřené na vývoj, provoz, řízení celopodnikového IS
•
Projektové metodiky (Project Methodologies) – zaměřené na vývoj/zavedení IS v určité oblasti
Vladimíra Zádová, KIN, EF TUL- ISN3
Metoda • určuje, CO je třeba dělat v určité fázi životního cyklu IS • je vždy spojena s určitým přístupem (funkční, datový, objektový) Každá metoda řeší postup činností v určité části procesu vývoje
př. YSM
Vladimíra Zádová, KIN, EF TUL- ISN3
Technika • určuje, jak dosáhnout požadovaného výsledku – přesný postup kroků – způsob použití nástrojů apod. – př. normalizace datového modelu, funkční analýza
Vladimíra Zádová, KIN, EF TUL- ISN3
Nástroj • je prostředkem k uskutečnění určité činnosti- při vývoji a provozu • k vyjádření výsledku dané činnosti - formalizuje vyjádření • často svázán s konkrétní technikou • např. DFD, ERD, STD, ...
Vladimíra Zádová, KIN, EF TUL- ISN3
Vztah metodiky, metod, technik a nástrojů
• jednotlivé metody nemusí patřit jednoznačně dané metodice – některé metody specifické - využívané jen určitými metodikami – některé metody univerzální - odkazují se na ně různé metodiky, v různých fázích vývoje IS
• obdoba pro techniky a nástroje
Vladimíra Zádová, KIN, EF TUL- ISN3
Životní cyklus IS
vymezuje základní etapy vývoje a provozu IS a obsah etap
Vladimíra Zádová, KIN, EF TUL- ISN3
Životní cyklus • metodikami může být chápán a definován různě • od jeho definice se odvíjí obsah metodiky • k jednotlivým etapám jsou metodikou vázány – cíle, metody, techniky, nástroje, dokumenty, specifika řízení apod.
• milníky - klíčové body postupu vývoje IS - začátky a konce etap
Vladimíra Zádová, KIN, EF TUL- ISN3
etapy
• cíl – proč má být provedena, co je výsledkem
• předpoklady zahájení etapy a kriteria ukončení etapy • klíčové dokumenty etapy • kritické faktory etapy - možná rizika
Vladimíra Zádová, KIN, EF TUL- ISN3
činnosti etapy (návaznost, souběžnost)
– – – – – –
cíl činnosti kroky činnosti vstupy (podklady) výstupy (výsledky) klíčové dokumenty účastníci, jejich pravomoc a odpovědnost
Vladimíra Zádová, KIN, EF TUL- ISN3
Etapy životního cyklu IS • • • • • • •
IST - informační strategie organizace ÚST - úvodní studie projektu (studie proveditelnosti..) GAN - globální analýza a návrh IS DAN - detailní analýza a návrh IS IMP - implementace ZAV - zavedení (instalace) PUR - provoz, údržba a rozvoj IS
Vladimíra Zádová, KIN, EF TUL- ISN3
Etapy životního cyklu IS • Příprava IS – Požadavky (záměr na tvorbu IS) – Úvodní studie (studie proveditelnosti)… oponentura
• Analýza a návrh – Globální oponentura – Detailní posouzení
Vladimíra Zádová, KIN, EF TUL- ISN3
Etapy životního cyklu IS • Realizace – Implementace – Zavádění • Provoz, údržba a rozvoj IS – Provoz a údržba IS – Rozvoj IS
Vladimíra Zádová, KIN, EF TUL- ISN3
Postupy vývoje
– – – – – –
Programuj a opravuj Vodopádový ( jednorázový vývoj) V-model Přírůstkový (inkrementální) Spirálový Evoluční (iterativní model)
Vladimíra Zádová, KIN, EF TUL- ISN3
Programuj a opravuj • Jednoduchý a neformální způsob vývoje • Skládá se ze: – specifikace požadavků – cyklu: programování-testování-oprava chyb – uvedení do provozu
• Základem je cyklus, v němž se vytváří aplikace • Ukončení: – pokud nejsou chyby, či je jejich počet na akceptovatelné úrovni nebo – pokud nastal stanovený termín ukončení projektu Vladimíra Zádová, KIN, EF TUL- ISN3
Vodopádový postup vývoje Specifikace požadavků Analýza Návrh Implementace Testování Zavedení Vladimíra Zádová, KIN, EF TUL- ISN3
Provoz a Údržba údržba
Vodopádový postup vývoje • Následující etapa začíná po dokončení předchozí • V případě nedostatků – lze jen návrat do předchozí etapy • Na počátku – pokrok – umožnil systematický a opakovaný postup
• Používán • Vhodný – pokud ve fázi specifikace požadavků je možné definovat všechny požadavky
• Nevhodný – v případě, že je nutné provádět změny během vývoje – Je možné projít jen jednou všemi etapami, není reakce od zákazníka ( po předání může nastat dlouhá fáze údržby – úpravy systému) – Integrace systému nastává až po naprogramování všech modulů
• Při zjištění problémů, které vedou ke změnám návrhu… zpoždění projektu Vladimíra Zádová, KIN, EF TUL- ISN3
V-model vývoje Akceptační testování
Analýza požadavků
Systémové testování
Návrh systému
Integrační testování
Návrh architektury
Návrh jednotek
Jednotkové testování
Implementace
Vladimíra Zádová, KIN, EF TUL- ISN3
V-model
• Provázání fází – specifikace a implementace systému (levá část – shora dolů) – integrace a testování (zdola nahoru –testování začíná od jednotek) Klade důraz na testování, jednotlivé fáze mají přiřazeny typy testů
Vladimíra Zádová, KIN, EF TUL- ISN3
Přírůstkový (inkrementální) postup vývoje • Přírůstek – ucelená, relativně uzavřená část systému (subsystém), kterou lze samostatně navrhnout, implementovat a uvést do provozu, přičemž funkčnost dříve dokončené části zůstane zachována
• Vývoj systému – po jednotlivých přírůstcích, přitom každý přírůstek má svůj životní cyklus
• Výhoda – části řešení se zavádějí postupně, zákazník vidí funkčnost jednotlivých částí, poskytne řešiteli dříve zpětnou vazbu Vladimíra Zádová, KIN, EF TUL- ISN3
Spirálový model
Vladimíra Zádová, KIN, EF TUL- ISN3
Spirálový model – Definuje 4 iterace
• Každá iterace má definici cílů, analýzu rizik, návrh řešení, ověření, vývoj, testování, plánování • I. iterace – identifikace globálních rizik projektu – stanovení základních východisek řešení
• II. iterace – specifikace požadavků
• III. iterace – detailní návrh řešení
• IV. iterace – implementace a testování – Přínos
• zavedení iterace a analýza rizik Vladimíra Zádová, KIN, EF TUL- ISN3
Evoluční (iterativní) model • Předem definovány jen hrubé požadavky • Po dodání každé verze se zpřesňují • Vyvíjí se jednotlivé verze produktu, ale požadavky nejsou předem specifikovány (x přírůstkovému modelu) • Každá specifikace požadavku obsahuje: návrh – kódování a testování – instalace a akceptace • výsledkem každé iterace je funkční verze systému
Vladimíra Zádová, KIN, EF TUL- ISN3
Vztahy mezi postupy vývoje Inkrementální vývoj – Jednotlivé části systému (přírůstky, inkrementy) vytvářeny „nezávisle“ na ostatních, pak integrace – Vývoj jednotlivých přírůstků může probíhat iterativně, vodopádem, ... – Alternativa k inkrementálnímu vývoji je vývoj celého systému naráz Iterativní vývoj – kroky směřující k vylepšení, zpřesnění nebo opravení části systému – může být použit spolu s inkrementálním vývojem, není ale vyžadováno Vodopádový vývoj – Inkrementální vývoj s jediným přírůstkem - celý systém – Iterativní vývoj s jedinou iterací – Analýza požadavků, analýza, návrh, …. se provádí pouze jednou
Vladimíra Zádová, KIN, EF TUL- ISN3
Silné a slabé stránky modelů životního cyklu vývoje model
Silné stránky
Slabé stránky
Programuj a opravuj
•jednoduchost
•obtížně použitelný na větší systémy
Vodopádový
•rozděluje proces vývoje na fáze •dává dobrou představu o rozsahu řešení
•předpokládá detailní specifikaci požadavků na začátku projektu •malá zpětná vazba od zákazníka •pozdní integrace a zjištění problémů pozdě •obtížná realizace změn požadavků
V-model
•důraz na testování a různé typy testů •trasovatelnost požadavků až do implementace
•předpokládá detailní specifikaci požadavků na začátku projektu •obtížná realizace změn požadavků
Spirálový
•zavádí vývoj v iteracích •důraz na analýzu rizik •prototypování –zpětná vazba od zákazníka
•všechny požadavky se specifikují ve druhé iteraci •testování až ve čtvrté iteraci
Inkrementální
•častá zpětná vazba od zákazníka •přírůstková spotřeba personálních zdrojů
•ne vždy je možné rozdělit systém na přírůstky •veškeré požadavky se specifikují na začátku – obtížně se realizují změny
Evoluční (iterativní)
•častá zpětná vazba od zákazníka •specifikace požadavků na základě každé iterace– možnost realizovat změny •přírůstková spotřeba personálních zdrojů •časná a častá integrace
•špatná představa o rozsahu celého řešení •obtížně realizovatelné u projektů s pevnou cenou •vysoké nároky na dostupnost zákazníka –nejlépe denně •instalace a akceptace jednotlivých verzí může být nákladná
Zdroj: BUCHALCEVOVÁ, A. Metodiky budování informačních systémů. Oeconomia, VŠE Praha, 2009; tabulka 4-1, str. 54
Vladimíra Zádová, KIN, EF TUL- ISN3
• Metodiky vývoje – Rigorózní – Agilní
Vladimíra Zádová, KIN, EF TUL- ISN3
Rigorózní metodiky vývoje • budování IS/ICT lze popsat, plánovat, řídit, měřit • zpravidla založeny na vodopádovém vývoji • mohou být založeny na iterativním a inkrementálním vývoji
• OPEN (Object-oriented Process, Environment and Notation), Rational Unified Process (RUP), Enterprise Unified Proccess (EUP), MMDIS (Multidimensional Management and Development of Information Systems)
Vladimíra Zádová, KIN, EF TUL- ISN3
Agilní metodiky vývoje • •
Od II. pol. 90. let Důvod vzniku: – rychlost změn prostředí, technologií • požadavky na rychlé zavedení i změny IS/ICT – vede ke změnám v metodikách – – – – –
zaměřené na vývoj nového řešení, ne na údržbu a provoz velmi krátké iterace (jeden měsíc a méně) UML se používá pouze jako doplněk malé ale výkonné týmy (dvojice) zapojení zákazníka do vývoje (zákazník se zúčastní sestavování návrhu a testů, ideálně je součástí vývojového týmu)
Vladimíra Zádová, KIN, EF TUL- ISN3
Agilní metodiky vývoje
• Agilní metodiky:
• • • • • • •
XP – Extreme Programming Scrum FDD – Feature Driven Development Crystal metodiky DSDM – Dynamic Systems Development Method Lean Development Agilní modelování (Agile Modeling)
Vladimíra Zádová, KIN, EF TUL- ISN3
Manifest agilního vývoje SW (Manifesto of Agile Software Development)
•
Deklarace 4 hodnot
– individuality a interakce mají přednost před nástroji a procesy – provozuschopný software má přednost před obsáhlou dokumentací – spolupráce se zákazníkem má přednost před sjednáváním smluv – reakce na změnu má přednost před plněním plánu
•
10 hlavních principů 1. 2.
Včasné a kontinuální dodávání SW, který zákazníkům přináší hodnotu Změnu požadavků lze provést i v dalších fázích vývoje, protože tím může zákazník získat konkurenční výhodu 3. Uživatelé a vývojáři spolupracují denně na projektu 4. Klíčovým faktorem úspěchu projektu jsou motivovaní jedinci, s podporou vedení i podmínkami pro práci 5. Komunikace je nejefektivnější způsob pro přenos informací v rámci vývoj. týmu 6. Primární mírou úspěchu je fungující SW 7. Agilní procesy předpokládají „zdravý“ vývoj (třeba vymezit prac. dobu cca 40 hod. týdně, přesčasy snižují produktivitu 8. Perfektní technické řešení i návrh 9. Jednoduchost řešení – zásadní 10. Nejlepší architektury, požadavky a návrhy vznikají ze samoorganizujících se týmů
Vladimíra Zádová, KIN, EF TUL- ISN3
Porovnání rigorózních a agilních metodik Agilní metodiky
Rigorózní metodiky Předpoklady
•SW procesy lze popsat •Požadavky lze předem definovat
•SW procesy nelze popsat •Předem jen hrubé požadavky
Obsah
•přesně orientované procesy, činnosti
•Jen generativní pravidla, praktiky, principy
Použití
•Standardní a velké projekty
•Výzkumné projekty, menší týmy
Vladimíra Zádová, KIN, EF TUL- ISN3
Způsoby vývoje a provozu IS/ICT
Vladimíra Zádová, KIN, EF TUL- ISN3
Modely dodávky ICT služeb - trendy řešení • 1960 – 1970 – Externí dávkové zpracování
• 1970 – 1985 – Vlastní vývoj a provoz IS
• 1985 – 2000 – Externí dodavatelé ERP, provoz vlastními silami
• 2000 – 2004 – Klasický outsourcing
• 2005…. – ASP, cloud computing ( PaaS, IaaS, SaaS)
Vladimíra Zádová, KIN, EF TUL- ISN3
Alternativy vývoje IS/ICT • Vlastní vývoj ve firmě (IASW ) • Vývoj na zakázku (IASW ) – externí softwarovou firmou
• Nákup aplikací (TASW) – model „SW jako licence“ – od různých výrobců – od generálního dodavatele – systémového integrátora
• Outsourcing provozu komplexního IS/IT • ASP • SaaS - model „SW jako služba“ Vladimíra Zádová, KIN, EF TUL- ISN3
Zkratky IASW - individuální aplikační software TASW - typový aplikační software OSS - open-source software IaaS - infrastruktura jako služba PaaS - platforma jako služba (= infrastruktura, vývojové a integrační nástroje) SaaS – software jako služba SLA ( Service Level Agreement) – smlouva o úrovni poskytovaných služeb Vladimíra Zádová, KIN, EF TUL- ISN3
IASW – funkcionalita IASW maximálně podporuje činnost podnikového procesu – vhodné pro podporu specifických procesů – vede k dosažení spec. výhody nad konkurencí
TASW – založen na referenčním modelu business procesů • může se lišit od procesů v konkrétní firmě
– standardizace život. cyklu SW; obvykle lze provozovat na více platformách
– vhodná volba pro vysoce standardizované procesy (účetnictví, mzdy…) Vladimíra Zádová, KIN, EF TUL- ISN3
• Při volbě TASW – podnik koupí licence a technologickou infrastrukturu od externích dodavatelů, provozuje vlastními silami – instalace a zprovoznění zajistí implementátor - TASW/systémový integrátor – úpravy dle potřeb podniku a individuálních uživatelů před nasazením: • lokalizace – úpravy dle platné legislativy, jazyka v teritoriu • customizace – úprava dle specifických potřeb zákazníka – přizpůsobení podnik. procesům, vzhled obrazovek, účetní osnova..
• perzonalizace – úpravy pro konkrét. uživatele – komunikač. jazyk, obrazovka… – úpravy realizovány zejména nastavováním hodnot parametrů
– jednotlivé instalace TASW u zákazníků se mohou lišit/liší • konkrétními úpravami při instalaci (lokalizace, customizace, perzonalizace) • verzí – při dodávce nové verze na trh nejsou zákazníci povinni si ji nainstalovat • případnými úpravami zdrojového kódu; ty smí provádět ten, kdo je dle SW licence oprávněn – většinou syst. integrátor či vlastník (= výrobce TASW) Vladimíra Zádová, KIN, EF TUL- ISN3
• OSS – tvoří virtuální tým vývojářů (SW komunita) - často zdarma – OSS je zdarma, nesmí být prodán třetí straně (existují výjimky) – lze ale prodávat/nakupovat doprovodné služby – dodávána v podobě zdrojových programů – zákazník si může přizpůsobit potřebám » spíš úpravou kódu než parametry – nemusí být garance kvality a opravy chyb v termínu – vhodné využít pro standardizované aplikace, které nejsou kritické z hlediska návaznosti a konkurenceschopnosti
Vladimíra Zádová, KIN, EF TUL- ISN3
Vlastní vývoj IS Výhody
Nevýhody
Zachování strategie v tajnosti
Vysoké náklady pořízení a údržbu
IS přesně odpovídá potřebám
Časová náročnost
Vysoká pravděpodobnost výskytu funkčních chyb
Nedostatek specialistů
Nedostatek know - how
Dokonalá znalost podmínek ve firmě Okamžitá dostupnost řešitelů pro uživatele – snadná řešitelnost problémů
Vladimíra Zádová, KIN, EF TUL- ISN3
Vývoj na zakázku Výhody IS odpovídající potřebám zákazníka
Nevýhody
Vysoké náklady pořízení (často vyšší než v případě int. vývoje)
Snazší řešitelnost problémů a možnost úprav
Časová náročnost (obvykle kratší než v případě int. vývoje)
Riziko závislosti na řešiteli
Nebezpečí zániku řešitele
Riziko úniku informací
Využití znalostí specialistů
Vladimíra Zádová, KIN, EF TUL- ISN3
Nákup aplikací od různých výrobců Výhody
Nevýhody
•
Rychlá realizace
•
Obtížnost integrace aplikací do IS firmy
•
Nejnižší náklady
•
•
Možnost výběru osvědčených řešení pro každou část IS
Obtížnost údržby vazeb mezi aplikacemi – tím relativně nízká stabilita IS
Vladimíra Zádová, KIN, EF TUL- ISN3
Nákup od generálního dodavatele – systémového integrátora Výhody Nejmenší časová náročnost Nízké náklady Osvědčená řešení každé části i celého IS
Nevýhody • Vysoká míra závislosti na dodavateli • Riziko úniku informací mimo hranice firmy • Riziko volby nevhodného systémového integrátora
Garance integrace dodavatelem Vstup know-how do firmy
Vladimíra Zádová, KIN, EF TUL- ISN3
Outsourcing IS Výhody
Nevýhody
Nevratnost důsledků rozhodnutí
Úplná závislost na firmě poskytující outsourcing
Riziko úniku informací mimo firmu (větší než u generálního dodavatele)
Rizika poskytovatele (nízká úroveň služeb, zánik poskytovatele)
Vysoké náklady
Odpadá odpovědnost za vytěsněnou oblast a její řízení možnost soustředit se na hlavní předmět činnosti
Rychlejší nástup nových technologií, firma nemusí řešit technologické aspekty Možnost vyřešení finančního zabezpečení vývoje, provozu a údržby IS/ICT
Vladimíra Zádová, KIN, EF TUL- ISN3
ASP – Application Service Providing • • • • • •
placený pronájem aplikace/služby stejná služba poskytována více zákazníkům současně služba je poskytována všem ve standardizované podobě, resp. s minimálními úpravami informační služba je poskytována po Internetu zákazník si může informační službu vyzkoušet před jejím zakoupením zákazník nemusí investovat do technologií –
•
odpadají aktivity spojené s implementací u zákazníka –
•
snižuje investiční náklady zrychlení
Datová (databázový server – uložiště dat) a aplikační vrstva (server pro realizaci obchodní logiky) – vlastní a spravuje poskytovatel ; Prezentační vrstva (zpravidla webové technologie) – uživatel
Pozn. tech. vybavení může vlastnit poskytovatel, nebo si je může pronajímat
Vladimíra Zádová, KIN, EF TUL- ISN3
SaaS –Software as a Service • Placený pronájem aplikace, infrastruktury a podpůrných služeb prostřednictvím internetu – dodávána velkému počtu zákazníků – nástupce ASP – někdy považován za ASP („marketingový tah“)-ale rozdíl: » vždy je poskytovatel i výrobce (u ASP nemusí být) » služba je poskytována více podnikům (u ASP může být i 1 klient) » založen na internetu a jeho protokolech
Vladimíra Zádová, KIN, EF TUL- ISN3
• Podrobnosti k SaaS, srovnání s tradičním modelem, ASP v článcích ( zde na Multiedu): – Polanský, Voříšek: SaaS model dodávky aplikací a z něho vyplývající transformace IT průmyslu – Voříšek: Srovnání SaaS a klasického modelu dodávky a provozu aplikací Prostudovat!!
Vladimíra Zádová, KIN, EF TUL- ISN3