Ukázkový projekt SI A7B36SI2 – Řízení SW Projektů
Ing. Ondřej Macek Katedra Počítačů ČVUT v Praze, FEL
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Ukázkový projekt k SW inženýrství
Šablona v LaTeXu pro odevzdávání projektů https://sites.google.com/a/fel.cvut.cz/vystupy-oppa/
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
ˇ´ızen´ı softwarovy ´ ch projekt˚ R u ´ n projektu Pla Verze 1.0
iLector
Autoˇri: Dami´an Zlo Cornelius Hron Bartolomˇej Haspeklo ´ Evel´ yna Hof´ırkova ´ dsetoulal Ctirad Ra Kontakt:
[email protected] Cviˇcen´ı: St 12:30
ˇerven 2012 2. c
Vedouc´ı: Ing. Radim Zlomek, Ph.D.
Obsah 1 Z´ amˇ er projektu 1.1 Probl´em/Pˇr´ıleˇzitost . . . . . . . . . . . . 1.2 C´ıl projektu . . . . . . . . . . . . . . . . 1.3 Obsah projektu . . . . . . . . . . . . . . 1.4 Krit´eria u ´spˇechu . . . . . . . . . . . . . . 1.5 Pˇrek´aˇzky, rizika, pˇredpoklady . . . . . . 1.6 Kontextov´ y model . . . . . . . . . . . . 1.6.1 Zhodnocen´ı kontextov´eho modelu 1.7 FURPS . . . . . . . . . . . . . . . . . . 1.7.1 Funkcionalita . . . . . . . . . . . 1.7.2 Pouˇzitelnost . . . . . . . . . . . . 1.7.3 Spolehlivost . . . . . . . . . . . . 1.7.4 V´ ykon . . . . . . . . . . . . . . . 1.7.5 Rozˇsiˇritelnost . . . . . . . . . . . 1.8 SWOT . . . . . . . . . . . . . . . . . . . 1.8.1 Siln´e str´anky . . . . . . . . . . . 1.8.2 Slabiny . . . . . . . . . . . . . . . 1.8.3 Pˇr´ıleˇzitosti . . . . . . . . . . . . . 1.8.4 Hrozby . . . . . . . . . . . . . . . 1.8.5 Shrnut´ı . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
3 3 3 3 3 3 4 4 5 5 5 5 5 5 6 6 6 6 6 6
2 Pl´ an projektu ˇ 2.1 Casov´ y r´amec projektu . . . . . . . . . . . . . . . . . . . . . . 2.2 RACI matice . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Kritick´a cesta . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 7 7 7
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
3 Pl´ an rizik 10 3.1 Organizaˇcn´ı/manaˇzersk´a rizika . . . . . . . . . . . . . . . . . . 10 3.2 Technick´a rizika . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3 Matice rizik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4 Metodika v´ yvoje 14 4.1 Vykazov´an´ı a pl´anov´an´ı u ´kol˚ u . . . . . . . . . . . . . . . . . . 14
1
5 Finanˇ cn´ı pl´ an 5.1 Zdroje . . . . . . . . . . . . . . . . . . 5.1.1 V´ ypoˇcet z WBS . . . . . . . . . 5.1.2 Odhad pomoc´ı COCOMO . . . 5.1.3 Odhad pomoc´ı funkˇcn´ıch celk˚ u 5.1.4 V´ ypoˇcet ceny . . . . . . . . . . 5.2 Shrnut´ı . . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
15 15 15 18 20 21 22
6 Zhodnocen´ı vznikl´ e aplikace
23
7 Zhodnocen´ı pr˚ ubˇ ehu projektu
23
8 Zhodnocen´ı finanˇ cn´ıho pl´ anu
23
9 Zhodnocen´ı teamov´ e spolupr´ ace
24
10 Osobn´ı hodnocen´ı jednotlivc˚ u 10.1 prof. Ing. Dami´an Zlo, CSc. . 10.2 Bc. Cornelius Hron . . . . . . 10.3 Bartolomˇej Haspeklo . . . . . 10.4 Evel´ yna Hof´ırkov´a . . . . . . 10.5 Ctirad R´adsetoulal . . . . . .
24 24 24 25 25 25
2
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
1
Z´ amˇ er projektu
1.1
Probl´ em/Pˇ r´ıleˇ zitost
N´aˇs projekt se snaˇz´ı reagovat na popt´avku vzdˇel´avac´ıch instituc´ı, kter´e si ˇza´daj´ı efektivn´ı prezentaci sv´ ych zamˇestnanc˚ u. Soudob´a ˇreˇsen´ı nenab´ızej´ı jak dostateˇcnˇe uˇzivatelsk´ y pˇr´ıvˇetiv´e prostˇred´ı a manipulaci s jednotliv´ ymi u ´ˇcty, tak vysokou variabilitu zobrazen´ ych dat.
1.2
C´ıl projektu
C´ılem projektu je vytvoˇren´ı syst´emu, kter´ y prostˇrednictv´ım webov´eho rozhran´ı umoˇzn´ı spr´avu a prezentaci lektorsk´ ych u ´ˇct˚ u, kter´a bude zahrnovat zmˇenu osobn´ıch u ´daj˚ u, pˇrehled pˇredmˇet˚ u, kter´e lektor vyuˇcuje ˇci v minulosti vyuˇcoval, seznam publikac´ı a citac´ı, kter´e lektorovi n´aleˇz´ı, a v neposledn´ı ˇradˇe v´ yzkumn´e skupiny, projekty a granty, kter´ ych se lektor u ´ˇcastn´ı.
1.3
Obsah projektu
• Vytvoˇren´ı webov´e prezentace. • Implementace lektorsk´eho webov´eho rozhran´ı.
1.4
Krit´ eria u ´ spˇ echu
• Projekt bude dokonˇcen vˇcas. • Rozpoˇcet nebude pˇrekroˇcen o v´ıce jak 5 %. • Bude implementov´ano nejm´enˇe 90 % funkcionality.
1.5
Pˇ rek´ aˇ zky, rizika, pˇ redpoklady
• Ukonˇcen´ı spolupr´ace ˇclena (ˇci v´ıce ˇclen˚ u) v t´ ymu. ˇ • Casov´ a t´ıseˇ n zp˚ usoben´a nevhodn´ ym pl´anov´an´ım projektu. • Povrchn´ı znalost potˇrebn´ ych technologi´ı.
3
Lektor Veřejnost
Editace profilu Vyhledání lektora/předmětu
Profil
Výpis lektorů/předmětů
iLector Databáze rozvrhů/předmětů Založení/smazání účtu
KOS
Předměty
Správa účtů
Administrátor
Obr´azek 1: Kontextov´ y diagram.
1.6
Kontextov´ y model
Editace profil˚ u v kontextov´em diagramu na obr´azku 1 zahrnuje jak spr´avu osobn´ıch u ´daj˚ u, tak editaci seznam˚ u publikac´ı a citac´ı, projekt˚ u a grant˚ u, v´ yzkumn´ ych skupin a v neposledn´ı ˇradˇe vyuˇcovan´ ych pˇredmˇet˚ u. 1.6.1
Zhodnocen´ı kontextov´ eho modelu
Pˇri tvorbˇe kontextov´eho modelu jsme si uvˇedomili, ˇze mnoho u ´daj˚ u, kter´e chceme zobrazovat je jiˇz ve st´avaj´ıc´ım syst´emu KOS, proto se pokus´ıme z´ıskat u ´daje z tohoto zdroje. D´ale jsme spoleˇcnˇe se z´akazn´ıkem doˇsli k tomu, ˇze bude tˇreba, aby lektor mohl z´aznamy skr´ yvat - to znamen´a, ˇze u nˇekter´ ych pˇredmˇet˚ u m˚ uˇze nastavit to, ˇze nejsou vidˇet v jeho profilu (toho bude vyuˇzito pro r˚ uzn´e obskurn´ı pˇredmˇety jako A7B36PRO, kter´ y o profilu uˇcitele nic nevypov´ıd´a.) Tak´e jsme definovali novou roli v syst´emu - Administr´atora, kter´a bude m´ıt na starosti nastaven´ı syst´emu a hlavnˇe spr´avu uˇcitel˚ u.
4
1.7 1.7.1
FURPS Funkcionalita
• Pˇrihl´aˇsen´ı se do syst´emu v roli lektora/administr´atora. • Zaloˇzen´ı/zruˇsen´ı lektorsk´eho u ´ˇctu administr´atorem. ´ • Uprava osobn´ıch u ´daj˚ u lektorem. • Pˇrid´an´ı/odebr´an´ı publikace/citace ze seznamu lektorem. • Zaloˇzen´ı/zruˇsen´ı projektu/grantu/skupiny lektorem. • Vyhled´an´ı lektora/pˇredmˇetu uˇzivatelem. 1.7.2
Pouˇ zitelnost
• Intuitivn´ı rozhran´ı pro uˇzivatele syst´emu ovˇeˇren´e kognitivn´ım pr˚ uchodem. • Slovn´ıky pro texty zobrazen´e na str´ance umoˇzn ˇuj´ı multijazyˇcnost nebo uzp˚ usoben´ı textu str´anky. 1.7.3
Spolehlivost
• Veˇsker´a data budou t´ ydnˇe z´alohov´ana, d´ıky tomu bude moˇzn´e aplikaci obnovit do stavu posledn´ı z´alohy do 24 hodin od p´adu. • Bude ˇslapat jako hodinky. 1.7.4
V´ ykon
• Obslouˇz´ı 1000 poˇzadavk˚ u uˇzivatelsk´ ych poˇzadavk˚ u najednou a z˚ ustane zachov´ana reakˇcn´ı doba jedna sekunda. 1.7.5
Rozˇ siˇ ritelnost
• Modularita projektu zajiˇst’uj´ıc´ı snadnou n´ahradu komponent. • Integrace se st´avaj´ıc´ım uˇzivatelsk´ ym syst´emem (identity management). • Integrace na KOS umoˇzn´ı snadnˇejˇs´ı z´ısk´an´ı dat o uˇcitel´ıch.
5
1.8
SWOT
Jak´a je ˇsance na u ´spˇech naˇseho produktu na trhu? Na tuto ot´azku jsme se pokusili odpovˇedˇet pomoc´ı SWOT anal´ yzy. 1.8.1
Siln´ e str´ anky
1. Siln´ y program´atorsk´ y t´ ym s mnoha zkuˇsenostmi zajist´ı rychl´e dod´an´ı na trh. 1.8.2
Slabiny
1. T´ema nen´ı pˇr´ıliˇs origin´aln´ı. ˇ 2. Sv´ ym rozsahem pokr´ yv´a jen CVUT. Limitace shibbolethem a KOSem. 1.8.3
Pˇ r´ıleˇ zitosti
ˇ 1. Aktu´alnˇe bˇeˇz´ı program rozvoje informaˇcn´ı infrastruktury CVUT a takov´ato aplikace se urˇcitˇe bude hodit. 2. Najdeme uplatnˇen´ı i v nˇekter´em evropsk´em fondu. 1.8.4
Hrozby
ˇ 1. V r´amci rozvoje infrastruktury CVUT se tento projekt realizuje jin´ ym t´ ymem na lepˇs´ı u ´rovni. 1.8.5
Shrnut´ı
Aˇckoliv m´ame schopn´ y t´ ym a opravdu si vˇeˇr´ıme, ˇze aplikaci dok´aˇzeme implementovat a prosadit jej´ı nasazen´ı, z˚ ust´av´a tu velk´e nebezpeˇc´ı, ˇze n´as nˇekdo pˇredbˇehne. Je dokonce moˇzn´e, ˇze tato aplikace v˚ ubec nen´ı potˇreba!
6
2
Pl´ an projektu
2.1
ˇ Casov´ y r´ amec projektu
Pˇri pl´anov´an´ı projektu jsme si vytyˇcili ˇctyˇri z´akladn´ı miln´ıky (deliveries). Prvn´ımi dvˇema jsou n´avrh a implementace administr´atorsk´eho a uˇzivatelsk´eho rozhran´ı, d´ale pak grafick´ y n´avrh a v neposledn´ı ˇradˇe pl´an samotn´ y a s n´ım spjat´a dokumentace cel´eho projektu. Vˇsechny deliveries spolu s jejich trv´an´ım jsou v tabulce 1. Podrobnˇejˇs´ı a pˇredevˇs´ım n´azornˇejˇs´ı rozˇclenˇen´ı jednotliv´ ych aktivit, kter´e bude nutn´e v pr˚ ubˇehu v´ yvoje vykonat, je v zjednoduˇsen´e WBS - viz obr´azek 2 a pokud m´ate z´ajem o bliˇzˇs´ı sezn´amen´ı se s harmonogram nahl´ednˇete do pˇriloˇzen´eho souboru MS Project. Miln´ık Ad. rozhran´ı Uˇz. rozhran´ı Grafick´ y n´avrh Tutori´al
T´ yden zapoˇ cet´ı 2 2 1 10
T´ yden ukonˇ cen´ı 14 14 4 14
Tabulka 1: Tabulka shrnuje hlavn´ı miln´ıky projektu a ukazuje, kdy na nich zaˇcneme pracovat a kdy je dod´ame.
Vˇsechny aktivity jsme tak´e vypsali do tabulky 2.
2.2
RACI matice
Vˇsechny u ´koly jsme si rozdˇelili mezi sebou tak jak to ukazuje RACI matice (tabulka 3). Toto rozdˇelen´ı je d˚ uleˇzit´e, protoˇze bude urˇcovat cenu i ˇcasov´ y pr˚ ubˇeh projektu.
2.3
Kritick´ a cesta
S´ıt’ov´ y diagram na obr´azku 3 sestrojen´ y na z´akladˇe aktivit z tabulky 2 poslouˇzil k nalezen´ı kritick´e cesty (viz ˇcerven´e znaˇcen´ı). D˚ uraz byl kladen zejm´ena na co nejrovnomˇernˇejˇs´ı rozdˇelen´ı aktivit mezi naˇse dva program´atory (viz tabulka 3), jejichˇz spoleˇcn´a pr´ace zahrnuje kritickou cestu projektu. Mus´ıme si tedy d´at na program´atory poˇr´adn´ y pozor. 7
Dokumentace
Tutorial
Plán projektu
Základní layout
Formuláře/Profily
Analýza
Návrh
POS
GUI
Logo
Přihlášení
Správa osobních údajů
Založení/Zrušení projektu
iLector View/Controller
Návrh uživatelského rozhraní
Testování
Model
Základní entity
Persistence entit
Přihlášení
Založení/Smazání účtu
View/Controller Návrh administrátorského rozhraní
Testování
Model
Základní entity
Persistence entit
Obr´azek 2: WBS zn´azorˇ nuj´ıc´ı ˇclenˇen´ı aktivit.
8
Založení/Zrušení skupiny
# 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18
N´ azev aktivity Pl´an projektu Logo Z´akladn´ı layout Formul´aˇre/profily Revize anal´ yzy 1 Revize anal´ yzy 2 Persistence ad. entit Zaloˇzen´ı/zruˇsen´ı u ´ˇctu Persistence uˇz. entit Spr´ava osobn´ıch u ´daj˚ u Zaloˇzen´ı/zruˇsen´ı projektu Zaloˇzen´ı/zruˇsen´ı skupiny Testov´an´ı ad. prostˇred´ı Testov´an´ı uˇz. prostˇred´ı Z´akladn´ı ad. entity Pˇrihl´aˇsen´ı ad. Z´akladn´ı uˇz. entity Pˇrihl´aˇsen´ı uˇz.
Tabulka 2: V´ yˇcet vˇsech aktivit v projektu
aktivital/osoba Ad. rozhran´ı Uˇ z. rozhran´ı Grafick´ y n´ avrh Dokumentace
D. Z. I I CI RA
C. H. C RA I I
B. H. RA C I I
E. H. I I RA I
Tabulka 3: RACI matice projektu.
9
C. R. R R I I
ˇ ıseln´ Obr´azek 3: S´ıt’ov´ y diagram s ˇcervenˇe vyznaˇcenou kritickou cestou. C´ y popis aktivit odpov´ıd´a poˇrad´ı v tabulce 2.
3
Pl´ an rizik
Projekt je zat´ıˇzen sedmi riziky, jejichˇz podrobn´ y popis je k nalezen´ı v tabulk´ach n´ıˇze. Pro posledn´ı dvˇe rizika budou v pr˚ ubˇehu v´ yvoje stanoveny protiopatˇrovac´ı strategie.
3.1
Organizaˇ cn´ı/manaˇ zersk´ a rizika
ID Popis P(X) Dopad Typ Z´ avaˇ znost Protiopatˇ ren´ı
1 Person´aln´ı zmˇeny ve v´ yvoj´aˇrsk´em t´ ymu N´ızk´a Zdroje MNG Stˇredn´ı Pravideln´a motivaˇcn´ı diskuse se ˇcleny t´ ymu
10
ID Popis P(X) Dopad Typ Z´ avaˇ znost Protiopatˇ ren´ı
4 Neporozumˇen´ı technologi´ım Stˇredn´ı ˇ Cas MNG Stˇredn´ı Porada s expertem
ID Popis P(X) Dopad Typ Z´ avaˇ znost Protiopatˇ ren´ı
5 ˇ Casov´ a t´ıseˇ n zp˚ usoben´a ˇspatn´ ym pl´anov´an´ım Vysok´a ˇ Cas ORG Stˇredn´ı Pravideln´e revize pl´anu
ID Popis P(X) Dopad Typ Z´ avaˇ znost Protiopatˇ ren´ı
3 Neporozumˇen´ı zad´an´ı Stˇredn´ı ˇ Cas MNG Stˇredn´ı Pravideln´e sch˚ uze se ˇcleny t´ ymu
3.2
Technick´ a rizika
ID Popis P(X) Dopad Typ Z´ avaˇ znost Protiopatˇ ren´ı
2 Ztr´ata dat na poˇc´ıtaˇc´ıch ˇclen˚ u t´ ymu Stˇredn´ı ˇ Cas TECH Stˇredn´ı Z´alohov´an´ı dat do sd´ılen´eho repozit´aˇre
11
ID Popis P(X) Dopad Typ Z´ avaˇ znost Protiopatˇ ren´ı
6 Ztr´ata dat v d˚ usledku selh´an´ı serverov´ ych u ´loˇziˇst’ Stˇredn´ı Pen´ıze TECH Vysok´a Pravideln´a z´aloha dat a kontrola stavu serveru
ID Popis P(X) Dopad Typ Z´ avaˇ znost Protiopatˇ ren´ı
7 Zneuˇzit´ı dat u ´toˇcn´ıkem Stˇredn´ı Pen´ıze TECH Vysok´a Bezpeˇcnostn´ı revize serverov´ ych u ´loˇziˇst’
3.3
Matice rizik
Matice rizik zachycuje jednotliv´a rizika dle jejich z´avaˇznosti dopadu na projekt a pravdˇepodobnosti v´ yskytu. Modˇre jsou oznaˇcena m´enˇe z´avaˇzn´a a pravdˇepodobn´a rizika (person´aln´ı zmˇeny), b´ıle zhruba stˇrednˇe z´avaˇzn´a a pravdˇepodobn´a rizika (ztr´ata dat) a ˇcervenˇe pak ta nejob´avanˇejˇs´ı rizika, kter´a oˇcek´av´ame pˇredevˇs´ım ve f´azi nasazen´ı projektu (ztr´ata a zneuˇzit´ı dat). Jak pˇredch´azet tˇemto z´avaˇzn´ ym rizik˚ um, bude t´ematem speci´aln´ıho ˇskolen´ı.
12
Obr´azek 4: Matice rizik.
13
4
Metodika v´ yvoje
Pro realizaci projektu jsme zvolili RUP-like metodiku v´ yvoje. To znamen´a, ˇze udˇel´ame poˇc´ateˇcn´ı anal´ yzu, kter´ y n´am odhal´ı vˇetˇsinu poˇzadavk˚ u, n´aslednˇe navrhneme a implementujeme SW, ve chv´ıli kdy bude hotovo 80 % poˇzadavk˚ u pˇredstav´ıme prototypy z´akazn´ıkovi a zaˇcneme testovat a vytv´aˇret dokumentaci.
4.1
Vykazov´ an´ı a pl´ anov´ an´ı u ´ kol˚ u
Pro zaznamen´an´ı a n´asledn´e rozdˇelov´an´ı jednotliv´ ych aktivit vyuˇzijeme sluˇzeb serveru GitHub.com, kde zaloˇz´ıme projektov´ y reposit´aˇr. Budeme t´eˇz vyuˇz´ıvat moˇznost´ı tamn´ı Wiki, na kter´e budeme v pˇrehledn´ ych pˇr´ıspˇevc´ıch zachycovat pr˚ ubˇeh veˇsker´ ych sch˚ uz´ı, kter´e se budou konat pravidelnˇe jednou t´ ydnˇe.
14
5
Finanˇ cn´ı pl´ an
Finanˇcn´ı pl´an m´ame zpracovat pomoc´ı tˇr´ı r˚ uzn´ ych metod a n´aslednˇe porovnat v´ ysledky. Pro vˇsechny tˇri v´ ypoˇcty je d˚ uleˇzit´e,ˇze byla stanovena marˇze 15 % odhadnut´e ceny. Po dod´an´ı prvn´ıho prototypu je pravdˇepodobn´e, ˇze se odhadnut´a cena pohne o ± 10 %. Z´akazn´ık byl s touto skuteˇcnost´ı obezn´amen a souhlasil s n´ı.
5.1
Zdroje
U SW projekt˚ u jsou nejd˚ uleˇzitˇejˇs´ı kvalitn´ı lidsk´e zdroje - ty m´ame. Jejich finanˇcn´ı ohodnocen´ı najedete v tabulce 4. Jm´ eno zdroje Dami´an Zlo Cornelius Hron Bartolomˇej Haspeklo Evel´ yna Hof´ırkov´a Ctirad R´adsetoulal
´ ctov´ Uˇ ano za hodinu 1 000,00 Kˇc 200,00 Kˇc 200,00 Kˇc 500,00 Kˇc 150,00 Kˇc
Poˇ cet hodin 48 64 64 56 32
ˇ astky, kter´e si za jednotliv´e zamˇestnance na´ Tabulka 4: C´ uˇctuje firma a pˇredpokl´adan´a vyt´ıˇzenost na projektu podle ˇcasov´eho pl´anu. Vedle lidsk´ ych zdroj˚ u je t´eˇz poˇc´ıt´ano s licencovan´ ym poˇc´ıtaˇcov´ ym vybaven´ım, s prostˇredky jakou jsou notebooky pro kaˇzd´eho ˇclena t´ ymu, d´ale pak testovac´ım, produkˇcn´ım a z´alohovac´ım serverem. Tak´e je nutn´e db´at na pron´ajem prostor jako jsou kancel´aˇre a m´ıstnost pro kon´an´ı hromadn´ ych sch˚ uz´ı, vˇse shrnuje tabulka 5. subsectionV´ ypoˇcet ceny projektu 5.1.1
V´ ypoˇ cet z WBS
Tabulka 6 zahrnuje pouze n´aklady spjat´e s d´ılˇc´ımi aktivitami, jejichˇz ˇcasov´a n´aroˇcnost byla odhadnuta na z´akladˇe pˇredchoz´ıch zkuˇsenost´ı z jin´ ych projekt˚ u a cena spoˇc´ıt´ana dle tabulky 4, kde je uveden´ y i poˇcet hodin, kter´e maj´ı b´ yt na projektu odpracov´any podle ˇcasov´eho pl´anu. Zapoˇc´ıt´av´a se jak mzda zdroje, kterou je zdroj placen od hodiny dle sv´e kvalifikace (viz tabulku 4), tak fixn´ı n´aklady na vybaven´ı a kacel´aˇre. Celkov´a 15
# 19 20 21 22 23 24
N´ azev zdroje 5x notebook 1x testovac´ı server 1x produkˇcn´ı server 1x z´alohovac´ı server 1x kancel´aˇr 1x m´ıstnost pro kon´an´ı sch˚ uz´ı Celkem
Celkov´ e n´ aklady 75 000,00 Kˇc 30 000,00 Kˇc 30 000,00 Kˇc 20 000,00 Kˇc 42 000,00 Kˇc 6 000,00 Kˇc 173 000,00 Kˇ c
Tabulka 5: N´aklady na ostatn´ı zdroje. cena tak ˇcin´ı 284 000 Kˇc, pˇripoˇcteme-li marˇzi, pak z´akazn´ık mus´ı zaplatit 315 000 Kˇc.
16
# 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18
N´ azev aktivity Pl´an projektu Logo Z´akladn´ı layout Formul´aˇre/profily Revize anal´ yzy 1 Revize anal´ yzy 2 Persistence ad. entit Zaloˇzen´ı/zruˇsen´ı u ´ˇctu Persistence uˇz. entit Spr´ava osobn´ıch u ´daj˚ u Zaloˇzen´ı/zruˇsen´ı projektu Zaloˇzen´ı/zruˇsen´ı skupiny Testov´an´ı ad. prostˇred´ı Testov´an´ı uˇz. prostˇred´ı Z´akladn´ı ad. entity Pˇrihl´aˇsen´ı ad. Z´akladn´ı uˇz. entity Pˇrihl´aˇsen´ı uˇz. Celkem
Celkov´ e n´ aklady 32 000,00 Kˇc 12 000,00 Kˇc 12 000,00 Kˇc 8 000,00 Kˇc 8 000,00 Kˇc 8 000,00 Kˇc 3 200,00 Kˇc 3 200,00 Kˇc 3 200,00 Kˇc 3 200,00 Kˇc 3 200,00 Kˇc 3 200,00 Kˇc 2 400,00 Kˇc 2 400,00 Kˇc 1 600,00 Kˇc 1 600,00 Kˇc 1 600,00 Kˇc 1 600,00 Kˇc 110 400,00 Kˇ c
Tabulka 6: N´aklady na projekt za vykonan´e aktivity.
17
5.1.2
Odhad pomoc´ı COCOMO
Aˇckoliv s COCOMO nem´ame ˇza´dn´e pˇredchoz´ı zkuˇsenosti, pokusili jsme se o odhad ceny touto metodou. Proto mus´ıme odhadnout poˇcet ˇr´adk˚ u k´odu, kter´ y vyprodukujeme - mysl´ıme, ˇze to bude zhruba 3,6 KLOC, n´aˇs t´ ym je mal´ y a proto budeme vyuˇz´ıvat tzv. organic mode. Pro v´ ypoˇcet pouˇzijeme n´astroj http://sunset.usc.edu/research/COCOMOII/cocomo81_pgm/cocomo81. html, kde jsme dalˇs´ı parametry nastavili tak, jak ukazuje obr´azek1 5. V´ ysledek je u ´sil´ı 2,36 Person Months a trv´an´ı 3,47 mˇes´ıc˚ u, pˇri pˇredpokl´adan´em t´ ymu a jeho mˇes´ıˇcn´ıch u ´ˇctovan´ ych n´akladech je cena projektu rovna 239 013,6 Kˇc2 . Po pˇriˇcten´ı ostatn´ıch n´aklad˚ u a marˇze dost´av´ame 473 800 Kˇc.
1 2
Omlouv´ ame se, ˇze je to png a ne vektorov´ y obr´azek. Poˇc´ıt´ ame pr˚ umˇern´e n´ aklady na t´ ym 68 880 Kˇc
18
Obr´azek 5: Nastaven´ı COCOMO kalkul´atoru.
19
5.1.3
Odhad pomoc´ı funkˇ cn´ıch celk˚ u
Posledn´ı metoda odhadu, kterou jsme zvolili prov´est je metoda odhadu pomoc´ı funkˇcn´ıch celk˚ u. Pˇri odhadu opˇet nar´aˇz´ıme na probl´em, ˇze n´am chyb´ı historick´a data o pˇredchoz´ıch projektech a nem´ame zkuˇsenost s vyhled´av´an´ım funkˇcn´ıch celk˚ u a se stanovov´an´ım jejich sloˇzitosti. Pˇrehled identifikovan´ ych funkˇcn´ıch celk˚ u shrnuj´ı kapitoly n´ıˇze, u kaˇzd´eho celku je v z´avorce uvedena pˇredpokl´adan´a sloˇzitost3 . Extern´ı vstupy 1. obrazovka ”Administr´atorsk´a spr´ava u ´ˇct˚ u”(M) 2. obrazovka ”Lektor - u ´prava publikac´ı”(M) 3. obrazovka ”Lektor - u ´prava pˇredmˇet˚ u”(M) Extern´ı v´ ystupy 1. obrazovka ”Pˇrehled uˇcitel˚ u”(M) 2. obrazovka ”Pˇrehled pˇredmˇet˚ u”(M) 3. obrazovka ”Pˇrehled grant˚ u”(M) 4. obrazovka ”Pˇrehled v´ yzkumn´ ych skupin”(M) 5. obrazovka ”Detail uˇcitele”(S) 6. obrazovka ”Detail v´ yzkumn´e skupiny”(S) 7. obrazovka ”Detail pˇredmˇetu”(M) Extern´ı dotazy 1. filtrov´an´ı pˇredmˇet˚ u dle n´azvu/k´odu (S) 2. filtrov´an´ı uˇcitel˚ u dle jm´ena (S) Intern´ı logika 1. 20 datab´azov´ ych tabulek a jejich obsluha (S) 3
M = mal´ a, S = stˇredn´ı, V = velk´a
20
2. pˇrihl´aˇsen´ı/odhl´aˇsen´ı do syst´emu (S) Extern´ı rozhran´ı 1. rozhran´ı na KOSApi (V) 2. pˇrihlaˇsov´an´ı shibboleth (V) 5.1.4
V´ ypoˇ cet ceny
V´ ypoˇcet z´ısk´ame dosazen´ım do tabulky, souˇctem hodnot a vyn´asoben´ım koeficientem vlivu, kter´ y jsme pro naˇse potˇreby stanovili na 1. V´ ypoˇcet funkˇcn´ıch celk˚ u pak vid´ıte v tabulce 7, celkem tedy bude program obsahovat 277 funkˇcn´ıch celk˚ u. V kn´ıˇzce o odhadech SW doporuˇcen´e pˇredn´aˇsej´ıc´ım, jsme naˇsli tabulku, kter´a pˇrev´ad´ı funkˇcn´ı celky na ˇr´adky k´odu v r˚ uzn´ ych jazyc´ıch, pro n´aˇs pˇr´ıpad (jazyk Java) je podle tohoto pˇrevodu stˇredn´ı odhad velikosti k´odu 15 235 LOC4 . Vzhledem k tomu, ˇze nem´ame k dispozici data z pˇredchoz´ıch let, opˇet jsme pouˇzili doporuˇcenou kn´ıˇzku o odhadech a s vyuˇzit´ım obr´azku 19.7 urˇcili trv´an´ı naˇseho projektu na 10,5 mˇes´ıce. Pr˚ umˇern´ y mˇes´ıˇcn´ı plat pouˇzijeme stejn´ y jako v pˇredchoz´ı kapitole a dost´av´ame tak ˇca´stku 722 400 Kˇc na lidsk´e zdroje. Pˇripoˇc´ıt´ame fixn´ı n´aklady a marˇzi a v´ ysledn´a cena projektu tedy je 1 086 750 Kˇc. Charakteristika Mal´a sloˇzitost extern´ı vstupy 9 extern´ı v´ ystupy 20 extern´ı dotazy 0 intern´ı logika 0 extern´ı rozhran´ı 0 Funkˇcn´ıch celk˚ u
Stˇredn´ı sloˇzitost 0 10 8 210 0 277
Velk´a sloˇzitost 0 0 0 0 20
Tabulka 7: Pˇrehled funkˇcn´ıch celk˚ u v jednotliv´ ych oblastech a kategori´ıch sloˇzitosti.
4
coˇz je zhruba ˇctyˇrikr´ at v´ıc neˇz jsme odhadovali v COCOMO
21
5.2
Shrnut´ı
Pro v´ ypoˇcet odhadu ceny projektu jsme pouˇzili tˇri r˚ uzn´e metody, takˇze vid´ıme jako nutn´e shrnout naˇse pozorov´an´ı a moˇznosti, kter´e m˚ uˇzeme nab´ıdnout z´akazn´ıkovi. V tabulce 8 jsme shrnuli data, kter´a n´am vyˇsla - zejm´ena n´as zaj´ımal LOC, cena pr´ace a samozˇrejmˇe v´ ysledn´a cena. Metodika Odhad z WBS COCOMO FC
KLOC – 3,6 15
Cena pr´ace [kKˇc] 110 239 772
V´ ysledn´a cena [kKˇc] 315 474 1 087
Tabulka 8: Tabulka shrnuje odhad ceny projektu r˚ uzn´ ymi metodami. Ceny jsou uvedeny v kilokorun´ach. Rozd´ıly mezi jednotliv´ ymi odhady jsou znaˇcn´e a to jak v oblasti ceny, tak v oblasti rozsahu projektu (LOC), to bude nejsp´ıˇs zp˚ usobeno t´ım, ˇze jsme si nepˇreˇcetli ˇza´dn´ y ˇcl´anek o tom jak odhadovat, takˇze naˇse metodika odhadu v COCOMO a FC vych´azela jen z tipu. Nav´ıc nem´ame ˇza´dn´a historick´a data, takˇze jsme u FC vych´azeli z dat v knize, kter´a ale v˚ ubec nemusela pasovat na naˇse projekty. D˚ uvodem rozd´ılu v poˇctu ˇr´adk˚ u mohou b´ yt d´any i t´ım, ˇze my chceme pouˇz´ıt frameworky, kter´e n´am usnadn´ı psan´ı k´odu (tˇreba nebudeme ps´at ˇz´adn´e SQL), takˇze to mohlo zp˚ usobit rozd´ıl. Kaˇzdop´adnˇe takov´ yto rozptyl pˇr´ımo vol´a po podrobn´em sledov´an´ı v´ ydaj˚ u v pr˚ ubˇehu projektu. To co n´am vyˇslo v FC povaˇzujeme za pˇr´ıliˇs vysokou cenu takˇze jsme se jako t´ ym rozhodli z´akazn´ıka poˇza´dat o 395 000 Kˇc, coˇz je pr˚ umˇer mezi odhadem z WBS a COCOMO.
22
6
Zhodnocen´ı vznikl´ e aplikace
Podaˇrilo se n´am realizovat veˇskerou funkcionalitu aplikace, kter´a v souˇcasn´e dobˇe disponuje uˇzivatelsk´ ym rozhran´ım jak pro administr´atory, tak pro lektory. Pˇri n´avrhu byl kladen d˚ uraz zejm´ena na intuitivnost, pˇr´ıstupnost a efektivitu. Veˇsker´a funkcionalita byla t´eˇz zd´arnˇe a peˇclivˇe otestov´ana. Grafick´e prostˇred´ı bylo navrˇzeno s ohledem na minimalistiˇcnost a praktiˇcnost. Poˇzadavek ze zad´an´ı projektu na 90% implementovan´e funkˇcnosti tedy povaˇzujeme za splnˇen´ y. V´ ysledky v´ ykonnostn´ıch test˚ u ukazuj´ı, ˇze i poˇzadavek z FURPS na v´ ykon byl splnˇen. S funkˇcn´ım aspektem aplikace jsme v´ıce neˇz spokojeni.
7
Zhodnocen´ı pr˚ ubˇ ehu projektu
Dokonˇcen´ı projektu n´am trvalo o t´ yden d´ele, neˇz jsme pˇredpokl´adali. Hlavn´ım d˚ uvodem byla implementace a testov´an´ı administr´atorsk´eho a uˇzivatelsk´eho rozhran´ı (prvn´ı a druh´ y miln´ık). Projekt tedy byl u ´spˇeˇsnˇe odevzd´an aˇz v patn´act´em t´ ydnu, z hlediska odevzd´an´ı tedy nejsme s projektem spokojeni. Protoˇze jsme sledovali v´ yvoj projektu v ˇcase m˚ uˇzeme nyn´ı uk´azat jak pr´ace na projektu re´alnˇe prob´ıhala.
8
Zhodnocen´ı finanˇ cn´ıho pl´ anu
Vzhledem k pozdn´ımu odevzd´an´ı se odpracovan´e hodiny program´ator˚ u se nav´ yˇsily o 32 hodin (C.H., B.H.), testera o 8 hodin (C.R.), ostatn´ı pracovali podle pl´anu, proto mzdy vzrostly o 7 600 Kˇc a bylo nutn´e prodlouˇzit i pron´ajem pracovn´ı a sch˚ uzovac´ı m´ıstnosti - celkem 12 000 Kˇc. N´aklady na projekt tedy vzrostly na 303 000 Kˇc. Aby toho nebylo m´alo, tak si z´akazn´ık tvrd´ ym jedn´an´ım vymohl slevu za pozdˇe odevzdan´ y projekt 2,5% z p˚ uvodn´ı dohodnut´e ceny. To n´am nakonec aˇz tolik nevadilo, protoˇze se cena uk´azala jako hodnˇe nadstˇrelen´a a firma st´ale vyk´azala zisk 82 000 Kˇc coˇz ˇcin´ı 21% z koneˇcn´e ceny5 . V r´amci odhad˚ u ceny projektu jsme narazili i na probl´em odhadu rozsahu projektu z hlediska LOC, nyn´ı na konci projektu m˚ uˇzeme ˇr´ıct, ˇze n´aˇs projektu 5
tento dokument se nikdy nesm´ı dostat do rukou z´akazn´ıkovi
23
m´a 4200 LOC, tedy o nˇeco v´ıce neˇz jsme ˇcekali (resp. hlavnˇe jsme zapomnˇeli na instalaˇcn´ı skripty a CSS).
9
Zhodnocen´ı teamov´ e spolupr´ ace
Git se v pr˚ ubˇehu v´ yvoje osvˇedˇcil. Nepoztr´aceli jsme toho ani zdaleka tolik, kolik jsme mohli. Komunikace po vˇetˇsinu ˇcasu prob´ıhala z oˇc´ı do oˇc´ı, pˇr´ıpadnˇe plamennou v´ ymˇenou n´azor˚ u pˇres elektronickou poˇstu. Obˇcas si nˇekolik z n´as vjelo do vlas˚ u, coˇz jsme ˇreˇsili povinnou a upˇr´ımnou vz´ajemnou omluvou.
10
Osobn´ı hodnocen´ı jednotlivc˚ u
Tato ˇca´st nereflektuje dohodu t´ ymu, ale odr´aˇz´ı osobn´ı n´azor konkr´etn´ıho jednotlivce.
10.1
prof. Ing. Dami´ an Zlo, CSc.
Spokojen´ y bych mohl b´ yt s prac´ı vˇsech z´ uˇcastnˇen´ ych, pokud by to nebyly jen l´ın´ı geekov´e. Je sice fajn, ˇze dohr´ali Ufo 3 a zlepˇsili se v Diablu a Wowku, ale mohli by taky snad trochu makat na projektu, ne? Po nˇekolika vytrˇzen´ ych s´ıt’ov´ ych kabelech se pr´ace zaˇcala daˇrit a to, ˇze je projekt tak dobr´ y jak je je moje z´asluha. Nevid´ım nic ˇc´ım bych mohl b´ yt t´ ymu na obt´ıˇz. Jsem hodnˇe r´ad, ˇze jsem si mohl vyzkouˇset roli vedouc´ıho t´ ymu a vˇeˇr´ım, ˇze jsem dok´azal, ˇze na to m´am.
10.2
Bc. Cornelius Hron
M´a pr´ace spoˇc´ıvala v n´avrhu a pˇredevˇs´ım implementaci administr´atorsk´eho rozhran´ı, coˇz se co do funkcionality ˇc´asteˇcnˇe krylo se zodpovˇednost´ı Bert´ıka, kter´ y psal uˇzivatelskou ˇc´ast. Zpoˇc´atku jsem na pˇredmˇet kaˇslal, ale pak mne Dami´an pˇresvˇedˇcil, ˇze bych nemusel, i tak projekt d´ıky mnˇe sklouzl do ˇcasov´e ztr´aty, na druhou stranu je v m´e ˇca´sti spousta ajaxov´ ych vychyt´avek (i kdyˇz Dami´an ˇr´ık´a, ˇze je nikdo nechtˇel). V t´ ymu jsem mˇel zpoˇca´tku probl´em s Dami´anem, ale nakonec jsem si zvykl, git byl peklo, ale nakonec to ˇslo na druhou stranu s Bert´ıkem uˇz do ˇza´dn´eho projektu asi nep˚ ujdu, je to straˇsn´ y chaot a mˇel by na tom zapracovat.
24
10.3
Bartolomˇ ej Haspeklo
Implementoval jsem uˇzivatelsk´e rozhran´ı pro lektory, coˇz se mi s m´ırn´ ym zpoˇzdˇen´ım u ´spˇeˇsnˇe podaˇrilo. Zpoˇzdˇen´ı vzniklo t´ım, ˇze jsem se prostˇe nedok´azal soustˇredit a nav´ıc jsem nˇekde ztratil zad´an´ı a neˇz jsem si ˇrekl ostatn´ım o kopii.... Jsem r´ad ˇze mi Dami´an pomohl se alespoˇ n ˇca´steˇcnˇe zorientovat v projektu. M˚ uj pˇr´ınos byl implementaˇcn´ı, ale udˇelal jsem i kus manu´al˚ u, douf´am, ˇze to uˇzivatel´e ocen´ı.
10.4
Evel´ yna Hof´ırkov´ a
Mˇela jsem na svˇedom´ı vizu´aln´ı zpracov´an´ı projektu a mohu prohl´asit, ˇze jsem si sv˚ uj d´ıl pr´ace aˇz nebezpeˇcnˇe uˇz´ıvala. Od n´avrhu loga, se kter´ ym jsem si n´aleˇzitˇe vyhr´ala, aˇz po samotn´ y layout webov´ ych str´anek, pak jsem sice musela ˇreˇsit projektovou dokumentaci, coˇz mne tolik nebavilo, ale alespoˇ n jsem nemusela programovat a zabralo mi to m´alo ˇcasu. V druh´e p˚ ulce projektu mi obˇcas pˇriˇslo, ˇze kluk˚ um moc nepom´ah´am, ale oni mi to urˇcitˇe odpust´ı.
10.5
Ctirad R´ adsetoulal
Zbyl na mˇe nejnevdˇeˇcnˇejˇs´ı kus pr´ace, a to testov´an´ı. Testoval jsem od nevid´ım do nevid´ım a pˇrekroˇcil tak vytyˇcen´ y ˇcasov´ y pl´an - za to ale stejnˇe mohl Cornelius a Bert´ık. Spolupr´ace s Dami´anem byla naprost´e zlo! Douf´am, ˇze toho t´ ypka uˇz nikdy nepotk´am. D´ıky nˇemu byla atmosf´era na projektu stejn´a jako v pr´aci!! Osmn´act hodin dennˇe h´akuju, vedlo toho ˇskola - fakt nem´am zapotˇreb´ı, aby mi tam nˇekdo (D) s*** na hlavu u ´plnˇe stejnˇe jako v pr´aci!!!!! Douf´am, ˇze pro ostatn´ı to bylo pouˇcen´ı a budou se v ˇzivotˇe vˇenovat nˇeˇcemu jin´emu, ˇskoda ˇze takov´ y re´aln´ y pˇredmˇet je aˇz ve tˇret’a´ku.
25