Projekt iMHD Zápočtová práce na předmět Vedení DB aplikací a jazyk UML autor: Jakub Lysák Cílem projektu je vytvořit systém pro tvorbu orientace ("tabulek s číslem linky a popisem trasy") pro vozidla městské hromadné dopravy.
Výklad pojmů SPOJ – pro účely projektu se spojem rozumí vozidlo dopravce jedoucí v určitém čase mezi určitými zastávkami LINKA – SPOJE jedoucí po téže nebo velmi podobné trase. Linka bývá označena číslem, písmenem či kombinací čísel a písmen. VARIANTA LINKY – skupina SPOJŮ jedoucích po úplně stejných trasách. Každá linka má minimálně jednu variantu (označuje se TAM). Typicky má ovšem varianty dvě, jednu pro směr TAM a druhou pro směr ZPĚT. Další varianty linky existují pouze v případě, že všechny spoje linky nejedou po stejné trase, tj. typicky někam zajíždí nebo naopak do některých zastávek nezajíždí. Varianty linky (kromě variant TAM a ZPĚT) se označují písmeny. TRASA LINKY – seznam zastávek linky (nebo varianty linky), ve kterých SPOJE dané linky (varianty linky) zastavují. POLOOKRUŽNÍ LINKA – linka, která má jen jednu konečnou zastávku a její trasa je polookružní, tj. jede z výchozí zastávky do zastávky X, odtud jednosměrně do zastávky Y, odtud jednosměrně do zastávky X a odtud zpět do výchozí zastávky. Žádná zastávka kromě výchozí není zastávkou konečnou. Zastávce Y se říká MEZILEHLÁ. NOČNÍ LINKA – linka, která je v provozu v nočním období. Noční doprava má svá specifika, především značně neobvyklé trasy linek a delší intervaly mezi jednotlivými SPOJI. Proto je v zájmu dopravce informovat cestující o TRASE LINKY podrobněji – zejména o možnostech přestupu mezi jednotlivými NOČNÍMI LINKAMI, jméno ulice nebo čtvrti, ve které se zastávka nachází ATRIBUTY LINKY – podrobnější údaje o lince. Pro účely tohoto projektu se atributem linky rozumí příznak, zda je noční a zda je ve výluce. ATRIBUTY ZASTÁVKY – detailní údaje o zastávce. Pro účely tohoto projektu se atributy zastávky bude rozumět její jméno, charakter (stálá, na znamení, na znamení od 20 do 04 hod), význam (zda má být uvedena na VNĚJŠÍ BOČNÍ ORIENTACI), zda je přestupní zastávkou mezi NOČNÍMI LINKAMI. ČELNÍ ORIENTACE – tabule umístěná na přední straně vozidla. Obsahuje číslo linky a jméno konečné zastávky, v případě POLOOKRUŽNÍ LINKY také jméno mezilehlé zastávky. VNĚJŠÍ BOČNÍ ORIENTACE – tabule umístěná na pravé boční straně vozidla otočená směrem ven. Obsahuje číslo linky a přehled významných zastávek. VNITŘNÍ BOČNÍ ORIENTACE – tabule umístěná na pravé boční straně vozidla otočená směrem ven. Obsahuje číslo linky a seznam všech zastávek. V případě NOČNÍ LINKY obsahuje navíc také informace o možnostech přestupu a podrobnější popis míst, jimiž linka projíždí. ZADNÍ ORIENTACE – tabule umístěná na zadní straně vozidla. Obsahuje pouze číslo linky. ORIENTACE VOZIDLA – zahrnuje čtyři základní TYPY ORIENTACE: ČELNÍ ORIENTACI, VNITŘNÍ a VNĚJŠÍ BOČNÍ ORIENTACI a ZADNÍ ORIENTACI. Pokud se v textu dále hovoří o ORIENTACI bez přívlastku, znamená to právě tyto čtyři věci.
1
Požadavky zadavatele
Obecné systém musí pracovat na stávajícím HW dopravce. Minimální konfigurace je Pentium 233 s 32
MB RAM systém musí pracovat na stávajícím OS dopravce, tj. Windows 98; musí být zaručena funkčnost
systému i po plánovaném přechodu na nový OS Windows XP Professional se systémem bude pracovat vždy nejvýše jeden uživatel ovládání programu bude intuitivní, snadné; veškeré texty musí být v češtině
Specifické Systém bude umožňovat přidávat a vymazávat zastávky a nastavovat jejich atributy. Systém umožní uživateli zadávat nové, upravovat stávající a vymazávat linky a nastavovat jejich
atributy. Systém umožní uživateli přidávat nové, upravovat stávající a vymazávat varianty linek. Systém bude na základě výše uvedených údajů (linek, zastávek, variant) generovat orientaci
automaticky. Uživatel bude mít možnost orientaci dále upravovat do konečné podoby, přičemž systém bude tyto úpravy ukládat.
Systém bude umožňovat tisk orientace na standardních tiskárnách systému Windows 9x/ME/2000/XP.
Systém bude schopen vytvořenou orientaci konvertovat do formátu PDF.
2
Diagram bussiness procesů Základní a také jediný bussines proces realizovaný systémem:
v ytv oření/změna orientace
dodání do vozovny
v ýlep na tabule umístění ve
vozidle
v ytv oření/změna trasy linky
požadavek vedení
vedení společnosti
referát j ízdních řádů
řidič vozidla
údržba v ozidel
3
Diagramy use-case Základní přehled use-case projektu. Linkový a zastávkový modul jsou jen pomocné, hlavní část tvorby orientace zajišťuje orientační modul. Use-case jsou popsány až za diagramy. (Dovolil jsem si trochu šetřit papírem a navzdory vašemu doporučení dal na stránku vždy dva diagramy, v praxi bych dal každý na samostatnou stránku z důvodu přehlednosti.) Základní návrh use-case:
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
unregistered trial version EA 3.60 unregistered trial version
Orientační modul
Linkový a zastávkový modul
uživ atel
tv orba a editace linek
tv orba a editace zastáv ek
tv orba a editace orientace
tv orba a editace přestupů
tisk orientace
export orientace do PDF
v ýběr linky a varianty
«include»
«include»
«include»
«include»
«include»
«include»
4
Podrobnější rozpis use-case tvorby a editace zastávek a tvorby a editace přestupů:
A 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered
A 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered
A 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered
A 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered
A 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered
A 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered
tv orba a editace zastáv ek
přidání nov é zastáv ky
změna atributů zastáv ky
smazání zastáv ky
tv orba a editace přestupů
přidání nov ého přestupu
smazání přestupu
«extend»
«extend»
«extend»
«extend»
«extend»
E
E
E
E
E
E
Podrobnější rozpis use-case tvorby a editace linek:
tv orba a editace linek
v ytv oření nov é linky
editace linky
v ytv oření nov é v arianty
editace v arianty
smazání v arianty
nastav ení atributů linky
smazání linky
«include»
«extend»
«extend»
«extend»
«extend»
«extend»
«include»
«include»
«extend»
5
Podrobnější rozpis use-case tvorby a editace orientace:
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered tria
tv orba a editace orientace
editace orientace
návrh orientace
náv rh orientace noční linky
náv rh čelní orientace
náv rh zadní orientace
náv rh boční v nitřní orientace
náv rh boční v nější orientace
návrh boční vnitřní orientace
noční linky
návrh boční vněj ší orientace
noční linky
editace čelní orientace
editace zadní orientace
editace boční v nitřní orientace
editace boční v nější orientace
editor textu
editor grafiky
v ýběr typu orientace
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«include»
«include»
«include»
«include»«extend»
«include»
«include»
«include»
6
Slovní popis use-case (Popis některých opakujících se a velmi si podobných use-case je vynechán a je pouze konstatováno analogicky jako… Snad to nevadí.) výběr linky a varianty Systém zobrazí seznam linek a jejich variant. Uživatel si vybere právě jednu linku. Systém zobrazí varianty vybrané linky. Uživatel si vybere právě jednu variantu. výběr typu orientace Systém zobrazí výzvu k výběru jednoho ze čtyř typů ORIENTACE. Uživatel si vybere jeden až čtyři typy. export orientace do PDF Uživatel si vybere právě jednu linku a variantu pomocí VÝBĚR LINKY A VARIANTY. Uživatel zadá, jaký typ orientace chce zkonvertovat pomocí VÝBĚR TYPU ORIENTACE. Uživatel zadá jméno souboru, kam bude chtít uložit výsledný soubor ve formátu PDF. Systém uživateli oznámí výsledek konverze (úspěch – neúspěch) tisk orientace Uživatel si vybere právě jednu linku a variantu pomocí VÝBĚR LINKY A VARIANTY. Uživatel zadá, jaký typ orientace chce tisknout pomocí VÝBĚR TYPU ORIENTACE. Uživatel vybere tiskárnu, na níž chce tisknout a nastaví parametry tisku. Systém orientaci v požadovaném rozsahu na požadované tiskárně vytiskne. tvorba a editace zastávek Uživatel zvolí právě jednu z možností: PŘIDÁNÍ ZASTÁVKY, SMAZÁNÍ ZASTÁVKY, ZMĚNA ATRIBUTŮ ZASTÁVKY. Systém provede příslušnou akci. přidání nové zastávky Uživatel zadá jméno přidávané zastávky. Systém provede kontrolu, zda zastávka již existuje. Pokud existuje, zobrazí chybu ERR_STOP_EXIST a zastávku nepřidá. Pokud neexistuje, systém nastaví implicitní hodnoty atributů zastávky a zavolá ZMĚNA ATRIBUTŮ ZASTÁVKY. Uživatel upraví atributy zastávky. Systém novou zastávku včetně jejích atributů uloží. ERR_STOP_EXIST: Pokus o přidání již existující zastávky. Systém zobrazí: "Zastávka se zadaným jménem již existuje. Zadejte prosím jiné jméno." [OK] smazání zastávky Systém zobrazí seznam existujících zastávek a zobrazí ho uživateli. Uživatel vybere právě jednu zastávku. Systém zobrazí výzvu k potvrzení vymazání. Uživatel potvrdí výzvu.
7
Systém nalezne všechny linky a jejich varianty, které danou zastávkou projíždí. Systém provede SMAZÁNÍ VARIANTY pro každou dotčenou variantu. Systém zastávku vymaže včetně jejích atributů. změna atributů zastávky Systém zobrazí seznam existujících zastávek i s jejich atributy. Uživatel si vybere právě jednu zastávku. Systém v přehledné podobě zobrazí její atributy včetně možností, jakých mohou nabývat hodnot. Seznam atributů a jejich přípustných hodnot je uveden v příloze. Uživatel nastaví hodnoty atributů. Systém zkontroluje hodnoty atributů. Systém nové hodnoty atributů uloží. tvorba a editace přestupů přidání nového přestupu smazání přestupu (analogicky jako tvorba a editace zastávek resp. přidání nové zastávky, smazání nové zastávky) tvorba a editace linek Uživatel zvolí právě jednu z možností: VYTVOŘENÍ NOVÉ LINKY, EDITACE LINKY, SMAZÁNÍ LINKY. Systém provede příslušnou akci. vytvoření nové linky Systém zobrazí seznam existujících linek. Uživatel zadá jméno přidávané linky a nastaví atributy linky. Systém provede kontrolu, zda linka již existuje. Pokud existuje, zobrazí chybu ERR_LINE_EXIST a linku nevytvoří. Pokud neexistuje, systém zavolá VYVOŘENÍ NOVÉ VARIANTY Systém novou linku uloží. ERR_LINE_EXIST: Pokus o přidání již existující linky. Systém zobrazí: "Linka se zadaným jménem již existuje. Zadejte prosím jiné jméno." [OK] vytvoření nové varianty Systém přiřadí variantě implicitní jméno TAM a přejde do EDITACE VARIANTY. editace varianty Systém zobrazí seznam existujících zastávek. Uživatel upraví jméno varianty. Uživatel upraví trasu varianty a to tak, že ze seznamu zastávek vybere vždy jednu zastávku a přidá ji do seznamu zastávek varianty. Uživatel potvrdí zadané údaje. Systém zkontroluje, zda varianta linky s příslušným názvem existuje; pokud ano zobrazí výzvu, zda se má varianta přepsat. Systém uloží variantu linky. editace linky Systém zobrazí seznam existujících linek.
8
Uživatel vybere právě jednu linku. Uživatel zvolí právě jednu z možností: VYTVOŘENÍ NOVÉ VARIANTY, EDITACE VARIANTY, SMAZÁNÍ VARIANTY, NASTAVENÍ ATRIBUTŮ LINKY. Systém provede příslušnou akci s danou linkou. nastavení atributů linky Systém zobrazí atributy dané linky. Uživatel nastaví atributům nové hodnoty. Systém zkontroluje hodnoty atributů. Systém nové hodnoty uloží. smazání linky smazání varianty (analogicky jako destruktivní akce u zastávek) tvorba a editace orientace Systém zobrazí seznam linek a jejich variant. Uživatel si vybere právě jednu linku a variantu pomocí VÝBĚR LINKY A VARIANTY. Uživatel zvolí právě jednu z možností: NÁVRH ORIENTACE, EDITACE ORIENTACE, SMAZÁNÍ ORIENTACE. Systém provede příslušnou akci. návrh orientace Uživatel vybere pomocí VÝBĚR TYPU ORIENTACE nejméně jeden typ orientace. Systém podle vybrané linky a podle zadaného typu orientace provede jednu nebo více z následujících akcí: NÁVRH ČELNÍ ORIENTACE NÁVRH ZADNÍ ORIENTACE NÁVRH BOČNÍ VNITŘNÍ ORIENTACE NÁVRH BOČNÍ VNĚJŠÍ ORIENTACE návrh boční vnitřní orientace Systém vygeneruje základní návrh boční orientace. Pokud se jedná o noční linku, systém tento návrh doplní zavoláním NÁVRH BOČNÍ VNITŘNÍ ORIENTACE NOČNÍ LINKY. Pokud má linka nastavený atribut ovlivňujíc vzhled této části orientace, doplní se do návrhu další text podle atributu dané linky. Systém zavolá EDITACE BOČNÍ VNITŘNÍ ORIENTACE. návrh boční vnitřní orientace noční linky Systém najde zastávky dané linky, které jsou označeny jako přestupní a v nich navazující linky. Systém provede zvýraznění těchto zastávek a přidá k nim podrobnější popis možností přestupu (viz příloha). Systém prohledá atributy zastávek dané linky a doplní je do návrhu. návrh boční vnější orientace návrh zadní orientace návrh čelní orientace (analogicky jako návrh boční vnitřní orientace)
9
návrh boční vnitřní orientace noční linky (analogicky jako návrh boční vnější orientace noční linky) editor grafiky Uživatel vybírá jednotlivé grafické prvky návrhu a upravuje je. Pokud uživatel upravuje text, systém zavolá EDITOR TEXTU. editace orientace Uživatel vybere pomocí VÝBĚR TYPU ORIENTACE nejméně jeden typ orientace. Pokud pro zadanou linku a variantu nebyla orientace dosud vytvořena, systém zobrazí upozornění a provede NÁVRH xxx, kde xxx je vybraný typ orientace. Pokud již vytvořena byla, systém podle zvoleného typu orientace provede jednu nebo více z následujících akcí: EDITACE ČELNÍ ORIENTACE EDITACE ZADNÍ ORIENTACE EDITACE BOČNÍ VNITŘNÍ ORIENTACE EDITACE BOČNÍ VNĚJŠÍ ORIENTACE editace boční vnitřní orientace Systém načte a zobrazí navrženou orientaci. Pokud uživatel chce udělat v návrhu změny, systém zavolá EDITOR GRAFIKY. Systém uloží změny provedené uživatelem. editace boční vnější orientace editace zadní orientace editace čelní orientace (analogicky jako editace boční vnitřní orientace) smazání orientace (analogicky jako destruktivní akce u zastávek)
10
Acitivity diagram Pro jednoduchost uveden pouze jeden activity diagram – zachycuje typické použití systému od požadavku na vytvoření nové linky po tisk orientace.
v znik nov é linky
v ytvoření nové linky
v ytvoření nov é v arianty
přidání nov é zastáv ky
návrh orientace
editace orientace
tisk orientace
hotov á orientace
11
Class diagram Uživatelský class diagram projektu. Opět je v rámci úspory papíru porušeno pravidlo o počtu elementů na stránku; rozdělil bych to na dvě části v místě, kde je VARIANTA_LINKY. Poznámky k třídám: k čemu se daná třída vztahuje je buď zřejmé, nebo je vysvětleno ve VÝKLADU POJMŮ význam metod Load(), Save(), New(), Delete(), Change()/Edit() je zřejmý; ostatní metody a
atributy jsou vesměs popsány v poznámkách přímo v diagramu
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 tered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial versio 0 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial ve 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregistered trial version EA 3.60 unregis
0 unregistered trial version EA 3 60 unregistered trial version EA 3 60 unregistered trial version EA 3 60 unregis
ZASTÁVKA
+ Load() : void+ Save() : void+ New() : void+ Delete() : void+ CreateAttrib() : void+ GetAttrib() : void+ SetAttrib() : void+ DeleteAttrib() : void
VARIANTA_LINKY
+ Load() : void+ Save() : void+ New() : void+ Change() : void+ Delete() : void+ GetVarName() : void+ SetVarName() : void+ GetOrientState() : void- AddStop() : void
LINKA
+ Load() : void+ Save() : void+ New() : void+ Delete() : void+ CreateAttrib() : void+ GetAttribs() : void+ SetAttribs() : void+ DeleteAttrib() : void+ AddVariant() : void
NOČNÍ_LINKA
+ SetPřestup() : void+ GetPřestup() : void
ORIENTACE
+ Load() : void+ Save() : void+ New() : void+ Edit() : void+ Delete() : void+ GetState() : void+ SetState() : void
ČELNÍ_ORIENTACE
+ New() : void+ Edit() : void+ Delete() : void+ SaveChanges() : void
ZADNÍ_ORIENTACE
+ New() : void+ Edit() : void+ Delete() : void+ SaveChanges() : void
BOČNÍ_VNITŘNÍ_ORIENTACE
+ New() : void+ Edit() : void+ Delete() : void+ SaveChanges() : void
BOČNÍ_VNĚJŠÍ_ORIENTACE
+ New() : void+ Edit() : void+ Delete() : void+ SaveChanges() : void
PŘESTUP
+ New() : void+ Delete() : void+ Find() : void
ATRIBUT_ZASTÁVKY
+ Check() : void
ATRIBUT_LINKY
+ Check() : void
PŘESTUPpct (posibility change to) - l inka, na kterou je možno přestupit
state - určuje stav, ve kterém je orientace.Viz příslušný stavový diagram.
Check - kontrola, zda je atribut z přípustné množiny.
Systém atributů je navržen takto obecně, aby bylo možné atributy dále rozšiřovat bez změny podstatné změny systému. Ve smyslu výkladu pojmů jsou v obou případech atributy právě dva.
1..*
1
1
vytvořena pro1
1
0..*
1..*
tvoří trasu
0..*
0..* 1
0..*1
unregis
n EA 3.6
rsion EA 3.60 unregistered trial version EA
- name: char
- name: char
- number:
# state:
- l ine: VARIANTA_LINKY- stop: ZASTÁVKA- pct: VARIANTA_LINKY
- name: char- value: char
- name: char- value: char
12
State Diagram Stavový diagram třídy ORIENTACE. Zřejmě jediný, který je alespoň trochu netriviální.
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
0 unregistered trial version EA 3.60 unregistered trial version E
prázdná
v ytv ořená editov aná
v ytištěná uloženy změny
vytvoření
editace uživatelem
tisk
smazání
smazání
smazání
uložení změn
tisk
13
Odhad doby potřebné k realizaci projektu 1. úvodní fáze 3 dny seznámení se s problematikou, seznam požadavků 1 den seznam use-case 2 dny 2. uživatelská analýza 9 dní návrh tříd 1 den podrobný návrh use-case 2 dny oponentura 1 den konfirmace od klienta (včetně rezervy) 4 dny dokončení finální podoby uživatelské analýzy 1 den 3 . design 6 dní vlstní design 3 dny konzultace s vývojem 2 dny schůzky s project managerem 1 den 4. vývoj a testování 24 dní dekompozice 2 dny databázová vrstva 2 dny aplikační a vizuální vrstva 10 dní celkem 38 use-case 3 obtížné = 10 dní 8 středně těžkých = 16 dní 27 lehkých = 20 dní CELKEM 46 dní / 5 programátorů = 10 dní testování 3 dny rezerva 3 dny dokumentace 4 dny 5. závěrečná fáze 5 dní předávání "směrem nahoru" 3 dny instalace u klienta 1 den školení klienta, konfigurace 1 den 6 . opravy 4 dny každá 2 dny (optimisticky předpokládáme dvě) CELKEM 51 dní
14
(tj. zhruba 10 pracovních týdnů) Tedy na projekt celkem (včetně rezervy): 3 měsíce
Odhad nákladů Předpokládám měsíc = 20 pracovních dnů
osoba čistý čas strávený prací na projektu
(dny)
plat (tis.Kč/měsíc, zaokrouhlený
odhad)
daň z příjmů (tis.Kč/měsíc,
odhad)
režijní náklady (tis.Kč/měsíc)
NÁKLADY CELKEM (tis.Kč/měsíc)
konzultant 5 30 10 5 12uživatelský analytik 9 40 13 3 25designér 6 40 13 3 17project manager 5 50 17 5 18vývojáři a testeři (všichni celkem) 60 20 7 3 90
náklady celkem (tis.Kč) 162 zisk (20 %) (tis. Kč) 32 rezerva (tis. Kč) 16 CELKEM 210 + DPH 46
K ÚHRADĚ 256 Závěr: Odběrateli produktu naúčtujeme 255 900 Kč.
15