X36SIN: Softwarové inženýrství

Transkript

X36SIN: Softwarové inženýrství
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í

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...

Více

Presentace I

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...

Více

Finální dokumentaci projektu

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...

Více

Softwarové in enýrství Úvodní studie

Softwarové in enýrství Úvodní studie Souèástí návrhu budou uživatelská rozhraní pro operátory a administrátora

Více

X Mark I Pro Czech

X Mark I Pro Czech ■ Stisknutím tlačítka pro vstup do režimu COMP. ■ Nanejvýš pět hodnot lze vypočítat ....... EX #29

Více

Presentace II

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...

Více