X36SIN: Softwarové inženýrství
Transkript
Obsah úvodní studie X36SIN: Softwarové inženýrství Požadovaný obsah úvodní studie projektu SI Úvodní studie poznamky 1 Plán projektu 1 Deklarace zám ru text 2 Rozpo et delka : as cena : peníze 1 Odborný lánek vytvá í zadavatel projektu Úvodní studie Odbo rný lánek text 1 Mode l je dnání (kontext) Tomu se te budeme v novat 1 2 Notace modelu jednání (UML) Model jedná jednání (Use Case Model) Prvky: aktér (actor) - uživatelská role nebo spolupracující systém hranice systému (systém boundary) vymezení hranice systému p ípad použití (use case) - dokumentace události, na kterou musí systém reagovat komunikace - vazba mezi aktérem a p ípadem použití (aktér komunikuje se systémem na daném p ípadu) Skok tam, kde jsme skon ili minule komunikace hranice systému aktér p ípad použití 3 P íklad: „e-obchod“ 4 Chyby v modelu jednání Akté i spolu komunikují mimo systém Není zd razn n dvojí výskyt aktéra Chybí p ípad použití (služba) pro n kterou událost Chybí n která reakce systému P ípad použití není popsán v datovém slovníku P ípad použití je popsán nevhodn (p íliš obecn ) Dva r zní akté i mají stejnou sadu událostí (pak to z ejm nejsou r zní akté i) Za událost se považuje p ihlášení do systému (za azení do role jde mimo kontext) E-obchod poskytuje zákazník m možnost nákupu produkt . 5 6 Dopl ky k modelu jednání Sekundární akté i sekundární aktér - uživatelská role nebo spolupracující systém nutná pro innost systému 7 Dopl ky k modelu jednání 8 Orientovaná komunikace orientovaná komunikace - p ípad, kdy chceme vyzna it sm r komunikace 9 Dopl ky k modelu jednání 10 Vztahy mezi službami vztahy mezi p ípady použití - pokud chceme explicitn vyjád it fakt, že takový vztah existuje <<include>> - pokud jeden p ípad zahrnuje p ípad jiný (nap . autentizace) <<extend>> - pokud n jaký p ípad rozši uje chování (je zde možnost volby) generalizace/specializace 11 12 Vztahy mezi službami Vztahy mezi službami Stereotyp vyjad ující, že daný p ípad použití rozši uje možnosti Stereotyp vyjad ující, že daný p ípad použití n co zahrnuje 13 Kombinace r zných prvk 14 Generalizace služeb 15 Dopl ky k modelu jednání 16 Generalizace aktér vztahy mezi aktéry - pokud chceme explicitn vyjád it fakt, že takový vztah existuje generalizace/specializace 17 18 Autentizace do role Model jednání pro Výtah 19 Kontextový diagram (ur ení hranice systému) 20 Kontextový diagram pro “Výtah” Výtah” datový tok (akce, událost) (ur ení hranice systému) SPINAC PATRA Systém PASAZER stisk tlacitka signalizace spinace patra indikace System pro rizeni vytahu aktér terminátor uživatelská role signalizace pretizeni SENZOR PRETIZENI tlacitko ON/OFF ridici povel datový tok (reakce) OPERATOR hranice systému RIZENI MOTORU 21 Chyby v definici kontextu 22 Význam termín Akté i spolu komunikují mimo systém Není zd razn n dvojí výskyt aktéra Chybí datový tok pro n kterou událost Chybí datový tok pro n kterou reakci systému Datový tok není popsán v datovém slovníku Datový tok je popsán nevhodn (p íliš obecn ) Dva r zní akté i mají stejnou sadu událostí (pak to z ejm nejsou r zní akté i) Za událost se považuje p ihlášení do systému (za azení do role jde mimo kontext) Všechny termíny v dokumentaci by m ly být zaneseny ve významovém slovníku (technický termín je datový slovník – Data Dictionary). Je to proto, aby se termíny používané v dokumentaci interpretovaly stejn – nap . „formulá 501“ m že být termín b žný pro zadavatele, ale rozum t mu musí i ešitel objednávka je obecn srozumitelný pojem, co ale má skute n obsahovat? 23 24 Datový slovník pro “Výtah” Datový slovník (dle Yourdona) (významy použitých termín ) Metaznak Význam P íklad Jak se to te = skládá se z X =Y X se skládá z Y + a Z=X+Y Z se skládá z X a Y () m že chyb t Z=X+(Y) Z se skládá z X a p íp. Z Y {} opakování Z={X} Z se skládá z n kolika X [] jeden z možných Z=[X|Y] Z se skládá bu z X nebo z Y (implicitní položku lze podtrhnout) ** komentá *toto je komentá * @ klí ová položka Z = @X+Y Z se skládá z X a Y, kde X je klí ová položka Z = @1X+@2Y X a Y tvo í klí (v tomto po adí) @< íslo> ást složeného klí e šachta = celé íslo *rozsah 1..4* patro = celé íslo *rozsah 1..40* tla ítko p ivolání = patro + sm r sm r = [ UP | DOWN ] tla ítko patra = šachta + patro stisk tla ítka = [ tla ítko patra | tla ítko p ivolání ] signalizace spína e patra = šachta + patro signalizace p etížení = šachta ídicí povel pro motor = šachta + povel povel = [ UP | DOWN | STOP ] indikace patra = šachta + patro indikace p ivolání = patro + sm r indikace = [ indikace patra | indikace p ivolání ] 25 26 Datový slovní slovník pro “Jmé Jméno” no” P .: Rozhovor na té téma „jmé jméno“ no“ lov k: My lidé se nazýváme jmény. Mar an: A co je to jméno? lov k: Jméno je posloupnost znak . Mar an: Takže „a1234“ je správné jméno? lov k: Ve jménech používáme pouze písmena. Mar an: Takže „X“ je správné jméno? lov k: Teoreticky ano, ale obvykle používáme jména, která obsahují nejmén dv písmena. Navíc mají lidé v tšinou více jmen – jméno je rozd leno na ásti, kterým se íká „první jméno“, „p íjmení“, apod. Mar an: …? celé jméno = { tituly p ed } + první jméno + { prost ední jméno } + p íjmení + { árka + tituly za } tituly p ed = [ pan | paní | sle na | ing. | RNDr. | doc. | prof. | … ] první jméno = jméno p íjmení = jméno prost ední jméno = jméno jméno = velké písmeno + 1{ malé písmeno } písmeno = [ malé písmeno | velké písmeno ] malé písmeno = [ a | á | b | c | … ] *písmena lokální abecedy* velké písmeno = [ A | Á | B | C | … ] *písmena lokální abecedy* árka = , tituly za = [ CSc. | PhD. | DrSc. | prom.mat. | … ] 27 Model jednání a kontext 28 Obsah úvodní studie Model jednání (use case model) slouží pro evidenci aktér a služeb systému. Kontextový diagram slouží pro evidenci aktér a datových tok . Oba modely se tedy dopl ují, ale p edstavují pouze prvý krok popisu, který musí být dopln n podrobn jším popisem služeb a dat. Požadovaný obsah úvodní studie projektu SI Úvodní studie poznamky 1 Plán projektu 1 Deklarace zám ru text 2 Rozpo et delka : as cena : peníze 1 Odborný lánek vytvá í zadavatel projektu 29 Odbo rný lánek text 1 Mode l je dnání (kontext) Tomu se te budeme v novat 30 Odhad náklad na projekt Náklady podle dekomposice na úlohy Odhad na základ zkušenosti z minula Cena projektu = Cena úlohy = již jsme n co podobného ešili a údaje o nákladech jsme si schovali cen úloh fixní náklady + cena za použití zdroj Odhad na základ dekompozice problému na odhadnutelné složky Cena za použití zdroje = odm na za práci v normální pracovní dob + odm na za práci p es as + fixní náklady na použití zdroje klasické ešení problému technikou „divide-etimpera“ Odhady na základ výpo tu z odhadu rozsahu Práce = jednotky * délka odhad se obvykle ídí odhadem rozsahu kódu (LOC, KLOC, FP) Práce je dána sou inem po tu jednotek zdroje, které na úloze pracují a délky úlohy 31 Jiné metody odhadu 32 Odhad rozpo tu dle COCOMO Vstup: Rozsah produktu v KLOC (KLines of Code) Náro nost = 2.94 * (Rozsah) 0.91 COCOMO (Constructive Cost Model) Barry Boehm (udává se v lov ko-m sících) as = 3.97 * (Náro nost) 0.28 Cena = as * Plat Koeficienty se m ní dle typu projektu a korekcí (cca 0.5 ÷ 2.0) http://sunset.usc.edu/research/COCOMOII/ 33 P íklad: Sestavovací Sestavovací program 34 P íklad výpo tu (COCOMO II) Velikost: 32 KLOC (KDSI) Náro nost (Effort): 121.77 M as: 15.50 m síc Lidí: 7.856 (organic mode – jednodušší známé projekty, spo teno p es COCOMO kalkulátor) http://sunset.usc.edu/research/COCOMOII/ cocomo81_pgm/cocomo81.html 35 36 P .: Náklady na projekt SPU Výnosy pro projekt SPU Tento produkt by m l být distribuován jako krabicové ešení. Budeme-li p edpokládat že se nám projekt poda í nasadit do 10ti firem (+ do jedné zdarma jako reklama), tak odhadovaná cena pro jednu kopii by m la být 50 000 K . Výnosy: 10 x 50.000,tj. 450.000,- Náklady dle MS-Project: 428.640,Náklady dle COCOMO II: 443.000,( lov kohodina je 200 K , parametry: SIZE = 5000, MODE = 1.05, DATA = 0.94, CPLX = 0.85, tj. náro nost = 13.86 lov ko-m síc , pot ebný as = 6.79 m síce) Zdroj: Projekt SPU Zdroj: Projekt SPU 37 Zhodnocení pro projekt SPU 38 Karnerova metoda odhadu Jiná metoda odhadu náklad , založená na modelu jednání Spo ítejte aktéry, každého aktéra za a te do kategorie: Ob metody odhadly cenu projektu na p ibližn 450 000 K . Myslíme si, že cena produktu 50 000 K ( + DPH) by pro koncového zákazníka (firma s deseti až sto zákazníky) by mohla být p ijatelná. Domníváme se, že nejmén 10 firem by si produkt zakoupilo, každý další prodej by znamenal zisk. Proto navrhujeme do projektu investovat. jednoduchý (nap . jiný systém komunikující p es API) – váha 1, st ední (nap . uživatel se znakovým terminálem nebo jiný systém komunikující p es TCP/IP) – váha 2, nebo složitý (nap . osoba komunikující p es GUI nebo Web) – váha 3. Se t te váhy všech aktér a získáte neupravenou váhu aktér - UAW (Unadjusted Actor Weights). Zdroj: Projekt SPU 39 Karnerova metoda odhadu (pokr .) (pokr.) 40 Karnerova metoda odhadu (pokr .) (pokr.) Se t te ob váhy a získáte neupravenou váhu modelu jednání – UUCP (Unadjusted Use Case Points) Adjustujte takto spo tenou váhu technickými faktory (TCF) a faktory prost edí (EF). Faktor má hodnotu 0 (žádný vliv) až 5 (silný vliv). Koeficient se spo ítá: TCF = 0.6+0.01*Technický faktor EF = 1.4-0.03*Faktor prost edí Získáte tak upravenou váhu modelu jednání – UCP (Use Case Points) UCP = (UAW+UUCP)*TCF*EF Vynásobte UCP p edpokládanou pracností jednoho p ípadu užití (cca 15 – 30 hod, Karner doporu uje 20 hod). Získáte pracnost v lov ko-hodinách. Rozd lte p ípady použití do kategorií podle odhadu po tu pot ebných transakcí: jednoduchý (mén než 4 transakce) – váha 5, st ední (4-7 transakcí) – váha 10, nebo složitý (více než 7 transakcí) – váha 15. Se t te váhy všech p ípad užití a získáte neupravenou váhu p ípad užití - UUCW (Unadjusted Use Case Weight). P íklad (Zdroj: www.komix.cz) 41 42 Co od Vás budeme chtít: Odhad náklad na HW a SW Nau it se íst a vytvá et plány. Prostudovat si a upravit plán SINPLAN.mpp (to je plán Vaší práce). Vytvo it plán práce pro Vaše následníky (pro ty, kte í budou projekt implementovat) a odhadnout z n j cenu. Pro ov ení odhadnout cenu ješt jiným zp sobem – nap . pomocí COCOMO, nebo Karnerovou metodou. P i odhadech náklad na realizaci je t eba p edb žn stanovit architekturu systému. Architekturu m žeme dokumentovat pomocí diagram nasazení (deployment diagrams). 43 Diagramy nasazení 44 P íklad diagramu nasazení Popisují fyzické rozmíst ní element systému na uzly výpo etního systému Uzly a elementy jsou zna eny obdobn jako objekty a t ídy (m že být uveden pouze typ, nebo konkrétní instance a typ – vyzna í se podtržením) Popisují nutné vazby mezi uzly (p ípadn též použitý protokol - „interface“) Obsahují pouze komponenty pot ebné pro b h aplikace komponenty pot ebné pro p eklad a sestavení jsou v diagramech komponent uzel instance komponenty 45 komunikace interface 46
Podobné dokumenty
YD36SIN: Úvod do softwarového inženýrství
Krátký výstižný text se stručnými informacemi
o projektu - jaké služby poskytuje, pro koho je
určen a jaká předpokládá omezení.
Měla by posloužit pro odpověď na otázku “co
ano, a co ne?”.
Je ob...
Presentace I
systému mají jednotný design.
Do redak ního systému lze p istupovat prost ednictvím webového rozhraní p es
internetový prohlíže . Systém rozd luje uživatele do t í rolí - Uživatel, Redaktor
a Admin...
Finální dokumentaci projektu
Pokud uvažujeme (super hrubou) mzdu 50 000,- Kč/osoba/měsíc, pak je celková cena při využití
4 pracovníků 1 199 000,- Kč,
5 pracovníků 1 487 500,- Kč.
5.2. Výpočet nákladů metodou COCOMO (Construkt...
Softwarové in enýrství Úvodní studie
Souèástí návrhu budou uivatelská rozhraní pro operátory a
administrátora
X Mark I Pro Czech
■ Stisknutím tlačítka
pro vstup do režimu COMP.
■ Nanejvýš pět hodnot lze vypočítat ....... EX #29
Presentace II
Pod lánkem mohou být diskuze, resp. komentá e. lánky jsou azeny do
tématických rubrik. Seznam lánk je možné filtrovat podle rubriky nebo
podle fulltextového vyhledávání. lánek je možné zobrazit zad...