Sftwarvý prces
Sftwarvý prces definice suvisejících pjmů Sftware - Prgramvé vybavení pčítače. Sftware je tvřen suhrnem pčítačvých prgramů, pravidel, úvdní dkumentace a dat, která náleží prvzu pčítačvéh systému. Charakteristika sftwaru - Sftware se nikdy fyzicky neptřebuje. Sftware je řešen a vyvíjen inženýry. září 08 Střední průmyslvá škla Bruntál 2
Sftwarvý prces sftwarvé inženýrství Sftwarvé inženýrství - je samstatný ing. br, který řeší systematický přístup k vývji, prvzvání, údržbě a nahrazvání staréh sftwaru. září 08 Střední průmyslvá škla Bruntál 3
Sftwarvý prces Vývj sftware je prces, při němž jsu uživatelvy ptřeby transfrmvány na pžadavky na sftware, tyt jsu transfrmvány na návrh, návrh je implementván pmcí kódu, kód je testván, dkumentván pr knečné pužití. září 08 Střední průmyslvá škla Bruntál 4
Sftwarvý prces Jinak řečen sftwarvý prces nám umžňuje sledvat celý průběh vývje sftware tak, abychm lépe dkázali vyhvět ptřebám klienta. Letité pznatky v zásadě umžnily rzdělit sftwarvý prces d něklika základních aktivit. září 08 Střední průmyslvá škla Bruntál 5
Sftwarvý prces aktivity při vývji sftware Specifikace pžadavků becná definice funkcí a jiných mezení vyvíjenéh sftwaru. Vývj implementace systémů dle daných výsledků specifikace (musí dpvídat pžadavkům) Validace aktivita, ve které se skutečně věří, že sftware dpvídá zadání. Evluce musí být umžněn další vývj sftware tak, aby byl umžněn a zajištěn jeh další vývj září 08 Střední průmyslvá škla Bruntál 6
Sftwarvý prces viditelné znaky vývje sftware Artefakty Výpisy z prgramů Dkumentace Data Zdrjvé kódy Prcesy Pracvní pstupy Uznávaná pravidla Interakce mezi členy týmu září 08 Střední průmyslvá škla Bruntál 7
Sftwarvý prces prgramvání ve velkém vs. v malém Przatím pužijte pznámky z hdin. září 08 Střední průmyslvá škla Bruntál 8
Sftwarvý prces viditelné znaky vývje sftware Vzhledem k pvaze sftwaru je právě viditelnst jedntlivých artefaktů a prcesů velmi důležitá. Je t t jediné c nám umžňuje ptimalizvat aktivity. Při knfrntaci s jiným dvětvím výrby, jak jsu například stavebnictví a strjírenství, kde je každá s fází výrby jasně zřetelná, je výrba sftwaru prblematičtější. Víme z vlastních zkušenstí, že u sftwaru může být viditelný výsledek práce až p něklika desítkách hdin. září 08 Střední průmyslvá škla Bruntál 9
Sftwarvý prces mdely živtníh cyklu Mdely živtníh cyklu jsu jakýmsi pracvním pstupem, kterými se řídí výrba sftwaru. Každý z níže uváděných mdelů je pak vhdný pr různrdé typy prjektů. Cž bude jedn ze srvnávacích kritérii. Mdely živtníh cyklu nám umžní lépe sledvat již zmíněné aktivity a zlepšují řízení vývje sftwaru. září 08 Střední průmyslvá škla Bruntál 10
Sftwarvý prces mdely živtníh cyklu: Vdpád září 08 Střední průmyslvá škla Bruntál 11
Sftwarvý prces mdely živtníh cyklu: Vdpád Pr kvalitu sftware by byl nejvhdnější, kdyby každá fáze byla úplná 100% a už bychm se k ní nemuseli vracet t by garantval také úplný výstup. Z praxe však víme, že se žádná fáze nepdaří napprvé dknčit a je ptřeba se k nim vracet. září 08 Střední průmyslvá škla Bruntál 12
Sftwarvý prces mdely živtníh cyklu: Vdpád Definice pžadavků prbíhají knzultace s klientem, jejichž výsledkem by měla být c mžná nejpřesnější specifikace pžadavků uvažvanéh sftwaru. Analýza a návrh sftware zde se připravují na základě pžadavků pdklady pr prgramátra. Jinak řečen, musíme přesně říct c a jak má prgramátr udělat. Implementace a testvání kmpnent pět zde vycházíme z předchzíh cyklu. V tét části prbíhá kódvání v knkrétním jazyce a věření správnsti výsledků. září 08 Střední průmyslvá škla Bruntál 13
Sftwarvý prces mdely živtníh cyklu: Vdpád Testvání celéh systému předpslední fáze věřuje splnění pžadavků na systém. Prvz a údržba nenápadná, částečně pmíjená fáze, ale časvě nejnárčnější. V tét fázi musí být zajištěna reakce na změny půsbící na sftware z klníh prstředí (nvé technlgie, perační systémy, architektury pčítačů, apd.) září 08 Střední průmyslvá škla Bruntál 14
Sftwarvý prces mdely živtníh cyklu: Vdpád Nevýhdy Pr klienty je btížné dpředu jasně specifikvat c vlastně chtějí. Čast vznáší ddatečné pžadavky, cž naburává sled fází Vdpádu. Výsledky dsti pžděně p sepsání pžadavků, cž zvyšuje nárky na trpělivst klienta. Prblematické je též hledání chyb. Když si představíme, že snahu je vyhtvit každu z fází c nejúplnější, pak chyba ppřípadě nvý pžadavek značně zvyšuje nárky na čas a tím zvyšuje i cenu prjektu. V reálném prstředí se jedntlivé fáze btížně ddržují. V případě pužití Vdpádu u webvých aplikací, kde jsu zvýšené nárky na design (implementace), djde k psunu části implementace. září 08 Střední průmyslvá škla Bruntál 15
Sftwarvý prces mdely živtníh cyklu: Vdpád Výhdy Díky jasnému rzdělení jedntlivých etap lze lépe rzdělvat práci mezi jedntlivé specialisty. V dnešní dbě se stává jen zřídka, že by jeden člvěk realizval rzumně velké sftwarvé díl efektivně sám. Je ptřeba mít velké mnžství znalstí. V případě ddržení sledu a bsahu jedntlivých etap je Vdpád velmi efektivní z phledu zapracvání pžadavků, zvyšuje tak celkvu pravděpdbnst úspěšnsti prjektu. Díky tét schpnsti bývá v praxi čast preferván před statními mdely. září 08 Střední průmyslvá škla Bruntál 16
Sftwarvý prces mdely živtníh cyklu: Výzkumník září 08 Střední průmyslvá škla Bruntál 17
Sftwarvý prces mdely živtníh cyklu: Výzkumník Stává se, že blast, pr kteru je systém vyvíjen není příliš bvyklá pr realizační tým. Pr příklad lze uvést například systém pr evidenci drgistických výrbků. Zde z největší pravděpdbnstí nelze čekávat pdrbnu znalst řešitelů v daném dvětví. Během získávání pznatků se vývjáři mhu čast vracet zpět na začátek. V tmt knkrétním případě by mhl být vhdnější pužít mdel Výzkumník. Napak například pr evidenci CD/DVD disků Vdpád, prtže čekáváme, že řešitel, dkáže hned v úvdu krigvat pžadavky. září 08 Střední průmyslvá škla Bruntál 18
Sftwarvý prces mdely živtníh cyklu: Výzkumník Vytvř systém s vědmstí nespecifikvanéh výsledku, řešitel přistupí přím k tvrbě rámcvých specifikací. Implementuj systém výsledkem tét etapy je funkční systém se všemi čekávanými vlastnstmi. Pužívej systém klient testuje systém a zjišťuje zda mu vyhvuje, či nikli. Předání htvéh systém v ideálním případě je mžné, že již při prvním pkusu djde k předání systému. září 08 Střední průmyslvá škla Bruntál 19
Sftwarvý prces mdely živtníh cyklu: Výzkumník Nevýhdy Při pužití Výzkumníka nevzniká příliš kvalitní dkumentace. Většinu řešitel prvedené změny v implementaci nezapracvává d dkumentace. Tent fakt částečně kmplikuje další vývj sftwaru. Je vhdný puze pr menší nadané řešitelské týmy. Velmi špatně se sledují jedntlivé etapy vývje jak jsu analýza a návrh. Obtížné manažerské řízení dělba úklů. Těžká nahraditelnst řešitelů prjektu. Nvý prgramátr má díky neúplné dkumentaci prblémy se změnami aplikaci září 08 Střední průmyslvá škla Bruntál 20
Sftwarvý prces mdely živtníh cyklu: Výzkumník Výhdy Existuje reálná šance, že je výrbek schválen hned napprvé a předán k užívání. Dba řešení prjektu bývá kratší než u Vdpádu. Vynecháním částí, kde se tvří dkumentace, je mžné zásadně vlivnit cenu výslednéh prduktu. Je velmi výknný u malých prjektů, takvých jež se nedají rzumně rzdělit na menší samstatně existující pdsystémy. září 08 Střední průmyslvá škla Bruntál 21
Sftwarvý prces mdely živtníh cyklu: Prttyp Sběr pžadavků a tvrba analýzy Rychlý návrh Vylepšení návrhu prttypu Vytvření prttypu Vyhdncení prttypu klientem Specifikace systému Návrh a implementace systému září 08 Střední průmyslvá škla Bruntál 22
Sftwarvý prces mdely živtníh cyklu: Prttyp Phled prttypu na sftwarvý prces se čekávaně dlišuje d Výzkumníka a Vdpádu. Pžadavky a analýza systému jsu tvřeny s vědmím, že se během vývje mhu změnit. Očekává se, že některé části již vyvinutéh sftwaru budu vědmě zahzeny. Prttyp prhlubuje splupráci mezi řešiteli a zákazníkem. Klient během vývje testuje prttypy (buď ve frmě specifikace neb úplné implementace) a dále upřesňuje své pžadavky. Tent způsb vývje je vhdný v situacích, kdy zákazník přesně neví c d systému chce. září 08 Střední průmyslvá škla Bruntál 23
Sftwarvý prces mdely živtníh cyklu: Prttyp Sběr pžadavků a tvrba analýzy v prttypu může být neúplná čekávají se změny. Rychlý návrh ze znalstíz předchzí fáze se prvede rychlý návrh prttypu systému. Vytvření prttypu musíbýt funkční, v prvních fázích nemusí sledvat mdel chvání, dále je vhdné tvřit prttyp tak aby jeh části byly znvu pužitelné. Viz. Kmpnentní technlgie. Tent přístup může výrazně urychlit další vývj. září 08 Střední průmyslvá škla Bruntál 24
Sftwarvý prces mdely živtníh cyklu: Prttyp Vyhdncení prttypu klientem klient se vyjádří k prttypu, věří prttyp vlastním testváním. Aby byl efekt testvání c nejlepší, je zaptřebí úplně zdkumentvat výsledky testů. Vylepšení návrh prttypu zapracvání pznatků z předchzí fáze. Specifikace systému + Návrh a implementace systému využití pznatků ze specifikace a implementace prttypů. Jedná se finální zkmpletvání. září 08 Střední průmyslvá škla Bruntál 25
Sftwarvý prces mdely živtníh cyklu: Prttyp Nevýhdy Vyské nárky na interakci s klientem, při větším pčtu prttypů se ztrácí efektivita. Navíc vyské mnžství prttypů zvyšuje dbu řešení prjektu. Prttyp je nevhdný pr řešení velmi velkých prjektů a těch prjektů, které vyžadují velké mnžství přerzdělvané práce. Z phledu manažerskéh řízení se špatně přerzděluje práce. Zpravidla každý prttyp má svůj vlastní evluční vývj. Některé prttypy mhu být úplně nepužitelné, zbytečná práce. Špatně se určuje cena díla. září 08 Střední průmyslvá škla Bruntál 26
Sftwarvý prces mdely živtníh cyklu: Prttyp Výhdy Hlavní výhda spčívá především v tm, že se může prttypvat tak dluh, dkud není systém dle pžadavků zákazníka. Pkud řešitelé tvří specifikaci a následně implementaci tak, že se dá pět pužít, může být prttypvání velmi rychlé. V případě, že prttypujeme puze specifikaci můžeme ušetřit čas strávený nad implementací. září 08 Střední průmyslvá škla Bruntál 27
Sftwarvý prces mdely živtníh cyklu: Ratinal Unified Prcess září 08 Střední průmyslvá škla Bruntál 28
Sftwarvý prces mdely živtníh cyklu: Ratinal Unified Prcess Metdlgie Ratinal Unified Prces (RUP) je kmerčním rzšířením Unified Prces (UP) d firmy IBM. Nejpdstatnějším rzdílem je rzšíření pracvních pstupů: přidání Byznys mdelvání před pžadavky a přidání Nasazení. Metdlgie samzřejmě bsahují i další rzdíly, ale ty jsu pr naše ptřeby zanedbatelné. Bez újmy na úplnsti se budeme zabývat UP a pzději rzšíříme výklad i RUP. září 08 Střední průmyslvá škla Bruntál 29
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Unified prces (UP) definuje prces vývje sftware a s ním spjené tři základní tázky: kd, c, kdy a jak. UP je prti UML, které tvří jazykvu část, částí prcesní. Metdika UP byla vyvinuta v rce 1967. Jelikž se d sebe jedntlivé prjekty zpracvávané pmcí UP liší, cž je přirzený stav vyplívající z pžadavků na systém, je nutné pr každý prjekt vytvřit nvu instanci. Díky tmut pstupu je dcílena vyská univerzalizace, která se dá pužít na každý prjekt. Metdika UP bsahuje tři základní aximy. Zásada řízení případem užití a rizikem. Zásada sustředění na architekturu. Zásada iterace a přírůstku. září 08 Střední průmyslvá škla Bruntál 30
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Kd, c, kdy a jak? Při průchdu dbejte na t, aby jste si dkázaly dpvědět na výše uvedené tázky! Sledujete naplnění dpvědí během jedntlivých iterací, v každé iteraci si je musíte věřit! září 08 Střední průmyslvá škla Bruntál 31
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Jak hlavní příns UP chápeme iterativní přístup k jedntlivým pracvním pstupům. V každé iteraci pak díky testvání věřujeme správnst dsavadních výsledků. Výška křivky v jedntlivých pracvních pstupech pak vyjadřuje mnžství vyknané práce. Viditelné rzčlenění umžňuje dbru kntrlu a dělbu práce mezi jedntlivé specialisty. září 08 Střední průmyslvá škla Bruntál 32
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Pracvní pstupy a iterace UP přesně specifikuje pracvní pstup, který ve svém sledu určuje, c je třeba udělat a způsby, kterými je mžné cíle dsáhnut. Základních pracvních pstupů je pět, každý z nich bvykle zahrnuje plánvání, dhad a další pstupy a mechanismy, které jsu pr danu iteraci specifické. Pžadavky Analýza Návrh Implementace Testvání září 08 Střední průmyslvá škla Bruntál 33
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Pžadavky. Zaznamenávají, c by měl systém dělat, jak by se měl chvat a další kritéria definvané zadavatelem. Analýza. Zjemnění pžadavků, určení jejich struktury, snaha hlubší pchpení. Návrh. Prvádí realizaci knkrétních pžadavků a kmpzici architektury systému. Implementace. Jedná se zápis kódu v daném jazyce na základě prvedenéh návrhu. Testvání. V tét části se věřuje, zda systém dpvídá pžadavkům a zahrnuje čekávané funkce. září 08 Střední průmyslvá škla Bruntál 34
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Fáze metdiky UP Každý pracvní pstup iterace je rzlžen d něklika základních fází. Je evidentní, že každý ztěcht pstupů nemůže být vyhtven přím. Jinak řečen každá metdika by se měla skládat z čtyř fází, které by měli být dděleny tzv. milníkem. Začátek Rzpracvání Knstrukce Zavedení září 08 Střední průmyslvá škla Bruntál 35
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Začátek. V tét fázi djde k samtnému dstartvání. Milníkem je definice cíle, kteréh se má dsáhnut p uknčení dané fáze. Tent faktr je velmi důležitý, prtže prti statním vývjvým prcesům, které se spíše zaměřují na artefakty, UP je zaměřena více na knečné cíle. Rzpracvání. V tét fázi je důležité vytvření spustitelné architektury. Jedná se již spustitelný systém, který pkrývá nejméně 80 % funkčních pžadavků. Je určen k dalšímu dpracvání a zjemnění. Milníkem tét fáze je vytvření živtníh cyklu se všemi náležitstmi. září 08 Střední průmyslvá škla Bruntál 36
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Knstrukce. Zde se již ze spustitelnéh základu vytvřenéh ve stádiu rzpracvání stává knečná verze systému. V tmt stádiu jsu dále dknčeny veškeré mdely, a systém zahrnuje veškeré pžadavky. Milník je prvzní způsbilst. Zavedení. Pslední částí je zavedení. Zde se snažíme především dknčení testvání a pravu všech chyb. Dalšími cíly jsu příprava uživatelů, tvrba manuálů, šklenía dalšíkrky ptřebné pr zavedení sftwaru d praxe. Nasazení prduktu je psledním milníkem. září 08 Střední průmyslvá škla Bruntál 37
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Nevýhdy Pr malé prjekty není UP příliš vhdné, důvdem je pžadavek na úplnu a kvalitní dkumentaci, jejíž tvrba může být zdluhavá. Zdluhavst vývje je prblematické z phledu klních změn, délka vývje, může být natlik dluhá, že dynamický vývj v tmt bru, může rychlejší než rychlst tvrby prduktu. září 08 Střední průmyslvá škla Bruntál 38
Sftwarvý prces mdely živtníh cyklu: Unified Prcess Výhdy Lze velmi rychle nalézt chybu, dstranění chyby v ranném kamžiku vývje aplikace, snižuje náklady na její pzdější dstranění. Pzdější dstranění je ttiž zásadně dražší a navíc pzdě dhalená chyby jde většinu na vrub řešitele. Lze velmi elegantně přerzdělvat práci a průběžně sledvat výsledky jedntlivých pracvních týmů. Od středně velkých prjektů je UP neb její mdifikace nejefektivnější. Důvdem je právě na ptimalizace dělby a kntrly práce. září 08 Střední průmyslvá škla Bruntál 39
Sftwarvý prces Agilní metdiky Nejužívanějšíagilnímetdiky SCRUM Extrémní prgramvání LEAN Develpment Feauture Driven Develpment Test Driven Develpment Další metdiky Crystal Adaptive Driven Develpment září 08 Střední průmyslvá škla Bruntál 40
Sftwarvý prces Agilní metdiky SCRUM Develpment prces Zvýšení efektivity vývje sfwtare Iterativní přístup Inkrementální přístup Každý vývjář dpvídá za svu mnžinu bjektů Tři až sm pevně daných pslupnstí s pevnými časvými intervaly (Sprints) Denní schůzky (suplují centrální plánvání) Každý Sprint knčí výsledkem (Dem) Klíčvé pjmy Flexibilní předměty ddání (nejasné cíle) Flexibilní harmngram Malé týmy (tři až šest členů kmbinace týmů) Časté revize (každdenní zkumání) Splupráce září 08 Střední průmyslvá škla Bruntál 41
Sftwarvý prces Agilní metdiky SCRUM Develpment prces Pjmy metdiky SCRUM Backlg (Nsič infrmací činnstech, funkcích, vlastnstech, uživatelských příbězích Rizik (silně rientván na analýzu rizik) Pslupnst krků a fází Plánvání (Rzsah aktuální verze, harmngram, nutné zdrje. Důležitý je Backlg je mapván na bjekty) Architektura a design (vytvření architektury) Vývj Uzavření (Zákazník psudí parametry aktuální verze) září 08 Střední průmyslvá škla Bruntál 42
Sftwarvý prces Agilní metdiky SCRUM Develpment prces Třetí fáze - Vývj září 08 Střední průmyslvá škla Bruntál 43
Sftwarvý prces Agilní metdiky SCRUM Develpment prces Výhdy Pružná reakce na změny zadání Každdenní reflexe vývje Objektvě rientvaný přístup Nevýhdy Obtížný přechd na nvý způsb práce Vhdné typy lidí Vyrvnání se s dlišným typem vývje SCRUM je spíše způsb vedení, nedefinuje knkrétní pstupy Zdrje: Agilní prgramvání, Václav Kadlec http://www.sfthuse.se/uplades/scrum_eng_webb.pdf -SCRUM za pět minut září 08 Střední průmyslvá škla Bruntál 44
Sftwarvý prces Agilní metdiky Extrémní prgramvání Největší důraz je kladen na zdrjvý kód. Pvažuje se za jediný exaktní, jednznačný, změřitelný, věřitelný a nezpchybnitelný zdrj infrmací. Charakteristiky Jednduchst (nejjedndušší verze, která ještě může fungvat) Průběžné revize a kntrly zdrjvéh textu Neustálé zlepšvání návrhu (refaktrizace) Klíč k úspěchu je architektura Testvání mdulů Velmi krátké iterace (minuty, hdiny) září 08 Střední průmyslvá škla Bruntál 45
Sftwarvý prces Agilní metdiky Extrémní prgramvání září 08 Střední průmyslvá škla Bruntál 46
Sftwarvý prces Agilní metdiky Extrémní prgramvání Čtyři hdnty extrémníh prgramvání Kmunikace Jednduchst Odvaha Zpětná vazba Pátá, pdprahvá hdnta: respekt září 08 Střední průmyslvá škla Bruntál 47
Sftwarvý prces Agilní metdiky Extrémní prgramvání Výhdy V suladu s lidskými instinkty Iterativní a inkrementální vývj Nelpění na frmalitách Nevýhdy Nutný zaběhlý tým neúspěšný pkus Prč dělat věci jednduše, když t jde slžitě Prgramátři s dbru znalstí prgramátrských základů Klektivní vlastnictví kódu, kd za c zdpvídá http://www.extremeprgramming.rg/ září 08 Střední průmyslvá škla Bruntál 48
Sftwarvý prces Agilní metdiky LEAN Develpment Metdika převzata z výrby autmbilů z tzv. Lean Manufactring. Ta je pužívána v autmbilce Tyta (Tyta Prductin Systém) Cíle Vývj sftware za třetinu bvykléh času Třetina bvykléh rzpčtu Snížit na třetinu četnst chyb C je při vývji pdle LEAN Develpment nepstradatelné Surviny a základní materiály Výsledný prdukt, který někd kupí Nástrje pužívané týmem při výrbě prduktu Dvednsti získané týmem září 08 Střední průmyslvá škla Bruntál 49
Sftwarvý prces Agilní metdiky LEAN Develpment Odstranění zbytečnstí C můžeme pstrádat Minimální specifikace čast puze pžadavky Minimalizace zásb Vyvíjíme jen t c je ptřebné Ptřebujeme jen t c ptřebuje klient k prvzu Maximalizace tku Push systém rzdělení d krků Lineární vývj Vývj je tažen pptávku Rzhdnutí prvádět c nejpzději Vycházíme z měnících se pžadavků září 08 Střední průmyslvá škla Bruntál 50
Sftwarvý prces Agilní metdiky LEAN Develpment Pracvníci mají pravmci rzhdvat Nerzhduje se shra, pracvníci rzhdují sami Hlavním cílem je uspkjvat pžadavky zákazníků Častý kntakt s klientem Vyšší spkjenst Zavedení zpětné vazby Pčítáme s neúplnými pžadavky Mžnst přepisu či likvidace již htvých částí prgramu Odstranění lkálních ptimalizací Neptimalizvat lkální mduly. Zefektivnění jednh mdulu nemusí nutně znamenat zefektivnění celku. Optimalizvat celek září 08 Střední průmyslvá škla Bruntál 51
Sftwarvý prces Agilní metdiky LEAN Develpment Partnerství s ddavateli Pr ddávané části systému najít splehlivéh ddavatele Kultura pr neustálé zlepšvání Zvýšení mtivace členů týmu Zlepšení pracvníh prstředí září 08 Střední průmyslvá škla Bruntál 52
Sftwarvý prces Agilní metdiky LEAN Develpment Výhdy Mžný rychlý vývj systému Část pstupů lze aplikvat i d jiných metdik Velký prstr pr individuality v týmu Nevýhdy Není skutečnu metdiku Nevhdné pr velmi velké prjekty Lineární vývj je tak pmalý jak je pmalý nejpmalejší prgramátr září 08 Střední průmyslvá škla Bruntál 53
Sftwarvý prces Empirické zákny Během let, kdy byl vyvíjen sftware se zjistil, že existují pravidla a pstupy, které se pakují, neb které vykazují během dby živta sftware pdbné neb ttžné vlastnsti. Tyt pznatky daly za vznik Empirickým záknům. Nejčastěji sledvané vlastnsti: Dělba, plánvání (nrmvání) práce Ohdncení práce Nárčnst prací V závislsti na uvedeném - výsledky září 08 Střední průmyslvá škla Bruntál 54
Sftwarvý prces Empirické zákny Tat sledvání a prváděly především velké sftwarvé firmy (USA). Systematické sledvání dal za vznik Sftwarvé fyzice. Lehman a Belady studvali dynamiku sftwarvých systémů pté c byly dknčeny P statickém vyhdncení dat údržbě a vzrůstající veliksti systémů publikvali následujících pět záknů. září 08 Střední průmyslvá škla Bruntál 55
Sftwarvý prces Empirické/Lehmanvy zákny Zákn trvalé prměny: Systém pužívaný v reálném prstředí se neustále mění, dkud není cenvě výhdnější systém restrukturalizvat neb jej nahradit zcela nvu verzí. Zákn rstucí slžitsti: Při evlučních změnách je prgram stále méně a méně strukturvaný (vzrůstá entrpie) a vzrůstá tedy jeh slžitst. Odstranění narůstající slžitsti vyžaduje ddatečné úsilí. Zákn vývje prgramu: Rychlst změn glbálních atributů systému se může jevit v mezeném časvém intervalu jak náhdná. V dluhdbém phledu se však jedná seberegulující prces, který lze statisticky sledvat a předvídat. září 08 Střední průmyslvá škla Bruntál 56
Sftwarvý prces Empirické/Lehmanvy zákny Zákn invariantní sptřeby práce: Celkvý pkrk při vývji prjektů je statisticky invariantní. Jinak řečen, rychlst vývje prgramů je přibližně knstantní a nekreluje s vynalženými prstředky. Zákn mezené veliksti přírůstku: Systém určuje přípustnu velikst přírůstku v nvých verzích. Pkud je limita překrčena, bjeví se závažné prblémy týkající se kvality a pužitelnsti systému. září 08 Střední průmyslvá škla Bruntál 57
Sftwarvý prces Behemv TpTen 1. Nalezení a prava sftwarvéh prblému je 100x dražší než dstranění defektu ve fázi pžadavků a v úvdních fázích návrhu. 2. Údaje uvedené v plánu práce lze stlačit ( přidáním lidí peněz atd.) 25%, ale víc ne. 3. Údržba stjí 2x tlik, c vývj aplikací. 4. Vývj a údržba jsu především funkcí veliksti prduktu 5. Variace lidských schpnstí je příčinu největších variací v prduktivitě 6. Pdíl ceny SW a HW se změnil z hdnty 15:85 v rce 1955 na 85:15 v rce 1985 a stále rste ve prspěch SW. září 08 Střední průmyslvá škla Bruntál 58
Sftwarvý prces Behemv TpTen 7. Puze 15% práce tvří kódvání 8. Instrukce aplikačníh prgramu je 3x dražší než instrukce individuálníh prgramu, instrukce systémvých prgramů jsu 9x dražší 9. Inspekce prgramu zachyt 60% chyb 10. Mnhé SW prcesy splňují Paretv rzlžení: 20% mdul přispívají k 80% ceny, 20% mdul bsahuje 80% chyb, 20% chyb sptřebuje 80% rzpčtu vyhrazenéh na pravy, 20% mdul sptřebuje 80% času výpčtu, 20% nástrjů pužívá 80% času září 08 Střední průmyslvá škla Bruntál 59
Sftwarvý prces Literatura: http://www.fi.muni.cz/~schr/pa103/slajdy/ září 08 Střední průmyslvá škla Bruntál 60