INFORMAČNÍ SYSTÉM AUTOBAZARU S INZERČNÍM SYSTÉMEM A RECENZEMI AUTOMOBILŮ



Podobné dokumenty
INFORMAČNÍ SYSTÉM AUTOBAZARU S INZERČNÍM SYSTÉMEM A RECENZEMI AUTOMOBILŮ

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

IS Autopůjčovna VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY. (semestrální projekt) ZS

INFORMAČNÍ SYSTÉM PRODEJ LÍSTKŮ DO DIVADLA

INFORMAČNÍ SYSTÉM PŮJČOVNY JÍZDNÍCH KOL

Informační systém pro nemocnici

Systém pro online rozhovory

INZERTNÍ SERVER VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY. (semestrální projekt) ZS

Informační systém webhostingu

Elektronická zdravotní karta

Analýza Redakční systém blogu (ADA274, BYS037, RAB020, SIV021)

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177)

Analýza IS autoservisu:

Questionnaire příručka uživatele

Úvod do databázových systémů

IS Akademie Klasické Homeopatie

IS pro firmu vyrábějící potisky triček

Easycars Aplikace pro správu autobazaru

TAXexpert5 modul Kartotéka II.

Rezervační systém Tvorba WWW stránek

Uživatelská příručka

Dobrý FOTO Popis produktu a jeho rozšíření

Personální evidence zaměstnanců

Manuál k systému RS4S. verze 1.2

Athena Uživatelská dokumentace v

Sázková kancelář Z pekla štěstí

Uživatelská příručka 6.A6. (obr.1.)

Uživatelská příručka

Příručka pro editaci kontaktů na eagri

Internetová aukční síň

Pracovní výkazy. návod k použití. Internetová aplikace Pracovní výkazy slouží k zadávání pracovních výkazů od zaměstnanců a externích pracovníků.

Tour de ABB 2013 Průvodce online aplikací

UŽIVATELSKÁ PŘÍRUČKA PRO INTERNETOVÉ BANKOVNICTVÍ PPF banky a.s.

PTÁČEK - velkoobchod. eshop. ZÁKAZNICKÝ pracovní postup

IS Veřejná databáze filmů

Příloha č. 1 Verze IS esyco business

17. července :51 z moravec@yahoo.com

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

ISPOP 2019 MANUÁL PRO PRÁCI V REGISTRU ODBORNĚ ZPŮSOBILÝCH OSOB

E-aukce- elektronická aukce vozidelmanuál

Testování portálu MotoInzerce.cz

Dobrý SHOP Popis produktu a jeho rozšíření

Registr 200x. Registr smluv 200x. Příručka uživatele. Stanislav Matz Tel w-stránky:

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Docházka 3000 Personalistika

VYSOKÁ ŠKOLA BÁŇSKÁ- TECHNICKÁ UNIVERZITA OSTRAVA

UŽIVATELSKÁ PŘÍRUČKA PRO INTERNETBANKING PPF banky a.s.

Zabezpečení proti SQL injection

WR Invoicing. Web Revolution. Uživatelský manuál administračního rozhraní

CRM - manuál. Vypracovala: Monika Balažovičová [1] Softapp s.r.o., Kouty 1419, Valašské Meziříčí, tel.:

Nápověda k systému CCS Carnet Mini. Manuál k aplikaci pro evidenci knihy jízd

Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

Návod pro práci s aplikací

MANUÁL PRO UŽIVATELE WEBU ADRESÁŘ DESIGNÉRŮ

Portál Značení tabáku Uživatelská příručka pro registrované uživatele

MƏj úĭet Uživatelský manuál Verze 1.01/2010

Uživatelská příručka epusa. Březen Brojova 16, Plzeň IČO: , DIČ: CZ ,

PROFI TDi s.r.o , Želetice 40 Návod k používání systému OTDI.CZ

Stručný průvodce aplikací Sběr dat pro RIV

Nápověda k systému CCS Carnet Mini

nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

Byl vytvořen pro snadnou orientaci budoucích správců v systému. Čas, kdy byl uživatel naposledy aktivní.

Zabezpečení proti SQL injection

Návod na obsluhu softwaru Amobile Sale objednávkový a prodejní software pro PDA a tablety s OS Android.

Webové stránky fotbalového klubu

UŽIVATELSKÁ PŘÍRUČKA RODIČ

BENCHMARKING VENKOVA. Uživatelská příručka nástroje ehomer.cz. Verze dokumentu: 1.1

Jazz pro Účetní (export) Příručka uživatele

Teorie zpracování dat

Manuál pro implementaci služby PLATBA 24. Datum: 17. prosince 2014 Verze: 1.49

SYSTÉM PRO DRAŽBU ZNÁMEK

Univerzální rezervační systém. Uživatelská příručka

Úvod do databázových systémů 2012/2013 IS MHD. Jiří Znoj zno

K práci je možné přistoupit následujícím způsobem. Odkaz na práci se nachází na osobním webu autora práce:

Podrobný návod pro administraci zákaznických účtů na portálu Czechiatour.eu

EQAS Online. DNY kontroly kvality a speciálních metod HPLC, Lednice

Dobrý CMS Popis produktu a jeho rozšíření

Příručka pro editaci kontaktů na eagri

Uživatelská příručka

Stručný průvodce aplikací Sběr dat pro CEP a CEZ

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

IS Restaurace. Semestrální práce. Tomáš Rumíšek V Brně dne Peter Ševčík

Internetová filmová databáze IFDB

Use Case Model - Complete Report Grouped by Item Kind, Full Descriptions

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro editaci ŽS. Verze 1.

České vysoké učení technické, Fakulta elektrotechnická Úvodní studie semestrálního projektu z X36SIN

1.1. Základní informace o aplikacích pro pacienta

Jednotné portálové řešení práce a sociálních věcí

Uživatelská příručka v0.99

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

A7B36SI2 - Řízení SW projektů. Smart-Fine. Systém evidence parkovacích lístků pomocí chytrých telefonů. Analýza (v. 3)

MONITORING OBCHODNÍCH PARTNERŮ

Profesis KROK ZA KROKEM 2

Informační systém ozdravných pobytů zdravotní pojišťovny

Transkript:

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY INFORMAČNÍ SYSTÉM AUTOBAZARU S INZERČNÍM SYSTÉMEM A RECENZEMI AUTOMOBILŮ (semestrální projekt) ZS 2009-2010 Analýza Implementace Číslo skupiny: T09 6 Členové skupiny: Příjmení, jméno, login 1. Michal Zigo, ZIG012 1. Fajfr, Stanislav, faj069 2. Wrona Tomáš, WRO015 2. Horák, Ondřej, hor638 3. Miroslav Zpěvák, ZPE003 3. Jeřábek, Tomáš, jer042 4. Lapiš Richard, LAP028 4. Dočkal, Martin, doc068

1 Zadání (skupina T09, 7. října 2009) Cílem projektu je vytvoření komplexního informačního systému pro autobazar, který bude určený jak pro vnitřní správu informací, tak i prezentace prodávaných automobilů, které budou přístupné přes webové rozhraní. Tyto prezentace si vytváří samotní prodávající uživatelé a tak odpadá nutnost zaměstnávat na tuto činnost administrátora, ten tyto prezentace pouze autorizuje pro veřejné zobrazení, aby tak předešel zobrazení nevhodného inzerátu. Uživatel (prodejce či kupující) se nejprve na portále zaregistruje a až poté může v jednotlivých transakcích vystupovat buď jako prodávající či nakupující (např. jeden uživatel může současně prodávat svůj starý automobil a kupovat novější). Při prodeji uživatel přiveze prodávaný automobil do areálu autobazaru a zaměstnanec jej (automobil, případně při první transakci i zákazníka) zaregistruje. Poté prodávající zvolí tarif (doba platnosti inzerátu) - tedy již zobrazení inzerátu je paušálně zpoplatněno a spolu se zaměstnancem sepíší smlouvu, v níž si prodávající určí cenu, kterou si za automobil nárokuje. Tato cena bude navýšena o provizi autobazaru, která momentálně činí 15% z prodejní ceny. Jedním z požadavků je, aby tento procentuální podíl byl do budoucna snadno editovatelný. Poté je zákazníkovi umožněno vytvořit si vlastní prezentaci pro prodej automobilu - resp. inzerát s možností přidání fotek. Tyto inzeráty se běžným uživatelům zobrazí až po autorizaci inzerátu administrátorem. Inzeráty může prohlížet každý návštěvník stránek, avšak rezervovat si vůz bude moct pouze přihlášený (tedy registrovaný) uživatel za předpokladu, že automobil již nebude zamluven někým jiným. Rezervace je ovšem pouze dočasná, a pokud uživatel autobazar do 48hodin nenavštíví, automobil si nekoupí nebo rezervaci dříve nezruší, tak mu automaticky tato rezervace propadá. Prodej bude probíhat prostřednictvím autobazaru, přičemž autobazar zaujímá roli zprostředkovatele, za kterou dostane v případě prodeje procentuální provizi. Při prodeji se doplní odběratel v již podepsané smlouvě a také se vystaví faktury. Jelikož pracovníci autobazaru čas od času provádějí testy prodávaných automobilů, může být součástí prezentace i takzvaná recenze a to v případě, že již byl někdy v minulosti prováděn test totožného modelu automobilu (např. všechny testy automobilů Škoda Favorit). Zaměstnanci tedy musí mít i možnost tyto recenze vytvářet a měnit. Součástí systému bude i interní evidence zaměstnanců, kterou bude mít právo spravovat pouze vedoucí pracovník či administrátor.

Se systémem budou moci pracovat tito uživatelé: vedoucí pracovník, administrátor - právo editovat zaměstnance + to co zaměstnanec zaměstnanec - správa a autorizace prezentací, provádění finančních transakcísepisování smluv, správa recenzí, registrace zákazníků + to co nepřihlášený uživatel zákazník - to co nepřihlášený uživatel - v roli prodávajícího - vytváření a správa prezentací - v roli kupujícího - možnost rezervace automobilu nepřihlášený uživatel - prohlížení inzerátů a recenzí, registrace 1.1 Funkční požadavky PROČ nový IS V současné době je evidence autobazaru vedena prostřednictvím papírové kartotéky, což je z nynějšího hlediska naprosto nevyhovující. Tato evidence také neumožňuje efektivní prezentaci prodávaných automobilů. K ČEMU má IS sloužit Hlavní funkcí systému by měla být prezentace prodávaných automobilů s možností rezervace a vytváření vlastních prezentací (inzerátů s fotografiemi) z kterých plynou autobazaru příjmy, doplněných recenzemi modelů automobilů vytvářených pracovníky autobazaru pro lepší orientaci zákazníků ve světě motorů. Mezi vedlejší funkce systému bude také patřit vnitřní evidence zaměstnanců se správou jejich rolí a správy jejich tabulkových platů. KDO s IS bude pracovat o vedoucí pracovník, administrátor - právo editovat zaměstnance + to co zaměstnanec o zaměstnanec - správa a autorizace prezentací, provádění finančních transakcí-sepisování smluv, správa recenzí, registrace zákazníků + to co nepřihlášený uživatel o zákazník - to co nepřihlášený uživatel v roli prodávajícího - vytváření a správa prezentací v roli kupujícího - možnost rezervace automobilu o nepřihlášený uživatel - prohlížení inzerátů a recenzí, registrace

VSTUPY do systému U automobilů evidujeme značku a model automobilu, typ karoserie, typ automobilu (osobní/nákladní atd.), palivo, rok výroby, najeté kilometry, obsah motoru, barvu karoserie a typ převodovky a datum platnosti STK a kontroly emisí. U zákazníků evidujeme jméno a příjmení, kontaktní telefon, e-mail, adresu, případné IČO a DIČ a jeho heslo do systému. U zaměstnanců evidujeme jméno a příjmení, kontaktní telefon, e-mail, adresu, jeho pozici v autobazaru spojenou a jeho finančním ohodnocením a heslo do systému. U inzerátů evidujeme titulek inzerátu a doprovodný text majitele, datum vytvoření či editace, a zda byl inzerát schválen pracovníky autobazaru. U smluv evidujeme dodavatele a v případě prodeje i kupce automobilu, součástí smlouvy je i ujednání o zvoleném tarifu - tj. doby zobrazení inzerátu, prodejní cena, procenta z případného prodeje plynoucí autobazaru, datum vytvoření a datum vyřízení, identifikační číslo příslušného inzerátu a číslo automobilu, jehož se smlouvy týká. U fotografií se eviduje identifikační číslo inzerátu k němuž fotka přísluší, adresa fotky (její url) a alternativní její popis. U rezervací evidujeme identifikační číslo příslušného auta, zákazníka jenž si automobil rezervuje, čas rezervace, případně i poznámku k rezervaci. U recenzí evidujeme model automobilu, kterého se recenze týká, zaměstnance jež recenzi vytváří, datum vytvoření, titulek recenze (perex) a její samotný text. VÝSTUPY ze systému U faktur jsou požadovány standardní položky faktur jako dodavatel (vždy autobazar dodavatel služby) a odběratel (prodejce automobilu-odběr služby zprostředkování prodeje), datum, datum splatnosti, datum zdanitelného plnění, vystavil, doprovodný text, konečná cena a platební podmínky. Nefunkční požadavky I když informační systém eviduje kupce automobilu, neřeší občansko-právní smlouvy o prodeji mezi dodavatelem a kupcem automobilu, avšak pouze vztah mezi prodejcem s autobazarem o procentuální provizi ze zprostředkování prodeje a inzerci. Na implementaci nejsou kladeny žádné striktní požadavky, avšak, jelikož má být informační systém přístupný přes webové rozhraní, měly by se při implementaci zvolit vhodné moderní technologie jako např..net + MSSQL či PHP5 + MySQL5

1.1.1 Výpis funkcí, aktérů a reakcí výpis zaměstnanců (vedoucí, admin) -> vypíše zaměstnance přidání zaměstnance (vedoucí, admin) -> přidá nového zaměstnance editace zaměstnance (vedoucí, admin) -> upraví údaje zaměstnance smazání zaměstnance (vedoucí, admin) -> smaže zaměstnance výpis rolí (vedoucí, admin) -> vypíše role vytvoření nové role (vedoucí, admin) -> vytvoří novou roli editace role (vedoucí, admin) -> edituje roli smazání role (vedoucí, admin) -> smaže roli výpis inzerátů (vedoucí, admin, zaměstnanec, zákazník) -> vypíše inzeráty vytvoření inzerátu (vedoucí, admin, zaměstnanec, zákazník) -> vytvoření nového inzerátu editace inzerátu (vedoucí, admin, zaměstnanec, zákazník) -> editace inzerátu autorizace inzerátu (vedoucí, admin, zaměstnanec) -> autorizace inzerátu deaktivace inzerátu (vedoucí, admin, zaměstnanec) -> zrušení autorizace inzerátu smazání inzerátu (vedoucí, admin, zaměstnanec) -> smazání inzerátu výpis zákazníků (vedoucí, admin, zaměstnanec) -> vypíše zákazníky vytvoření zákazníka (vedoucí, admin, zaměstnanec) -> přidá nového zákazníka do systému editace zákazníka (vedoucí, admin, zaměstnanec) -> edituje parametry zákazníka smazání zákazníka (vedoucí, admin, zaměstnanec) -> smaže záznam zákazníka výpis fotografií (vedoucí, admin, zaměstnanec, zákazník) -> zobrazí fotografie přidání fotografie (vedoucí, admin, zaměstnanec, zákazník) -> přidá k inzerátu novou fotku smazání fotografie (vedoucí, admin, zaměstnanec, zákazník) -> smaže fotografii výpis rezervací (vedoucí, admin, zaměstnanec, zákazník) -> vypíše rezervace vytvoření rezervace (vedoucí, admin, zaměstnanec, zákazník) -> vytvoření nové rezervace zrušení rezervace (vedoucí, admin, zaměstnanec, zákazník, timer) -> zruší rezervaci výpis smluv (vedoucí, admin, zaměstnanec) -> vypíše smlouvy vytvoření smlouvy (vedoucí, admin, zaměstnanec) -> vytvoří záznam o nové smlouvě editace smlouvy (vedoucí, admin, zaměstnanec) -> edituje smlouvu storno smlouvy (vedoucí, admin, zaměstnanec) -> stornuje smlouvu (a tudíž i fakturu) výpis faktur (vedoucí, admin, zaměstnanec) -> vypíše faktury vytvoření faktury (vedoucí, admin, zaměstnanec) -> vytvoří záznam o nové faktuře editace faktury (vedoucí, admin, zaměstnanec) -> editace faktury storno faktury (vedoucí, admin, zaměstnanec) -> stornuje fakturu (defakto smlouvu)

výpis automobilů (vedoucí, admin, zaměstnanec, zákazník) -> vypíše automobily vytvoření automobilu (vedoucí, admin, zaměstnanec) -> vytvoření záznamu nového auta editace automobilu (vedoucí, admin, zaměstnanec) -> editace automobilu smazání automobilu (vedoucí, admin, zaměstnanec) -> smazání automobilu výpis recenzí (vedoucí, admin, zaměstnanec, zákazník) -> výpis recenzí modelu vytvoření recenze (vedoucí, admin, zaměstnanec) -> vytvoření recenze editace recenze (vedoucí, admin, zaměstnanec) -> editace recenze smazání recenze (vedoucí, admin, zaměstnanec) -> smazání recenze výpis tarifů (vedoucí, admin, zaměstnanec, zákazník) -> výpis tarifů vytvoření tarifu (vedoucí, admin, zaměstnanec) -> vytvoření tarifu editace tarifu (vedoucí, admin, zaměstnanec) -> úprava tarifu smazání tarifu (vedoucí, admin, zaměstnanec) -> smazání tarifu výpis modelů(vedoucí, admin, zaměstnanec, zákazník) -> výpis seznamu modelů značky auta vytvoření modelu(vedoucí, admin, zaměstnanec) -> přidání nového modelu auta editace modelů(vedoucí, admin, zaměstnanec) -> editace modelu smazání modelu (vedoucí, admin, zaměstnanec) -> smazání modelu výpis značek (vedoucí, admin, zaměstnanec, zákazník) -> výpis značek automobilů přidání značky (vedoucí, admin, zaměstnanec) -> přidání značky automobilu editace značky (vedoucí, admin, zaměstnanec) -> editace značky smazání značky (vedoucí, admin, zaměstnanec) -> smazání značky výpis barev (vedoucí, admin, zaměstnanec, zákazník) -> zobrazí seznam barev přidání barvy (vedoucí, admin, zaměstnanec) -> přidání barvy editace značky (vedoucí, admin, zaměstnanec) -> editace barvy smazání značky (vedoucí, admin, zaměstnanec) -> smazání barvy výpis typů aut(vedoucí, admin, zaměstnanec, zákazník) -> zobrazí výpis typů automobilů přidání typu aut (vedoucí, admin, zaměstnanec) -> přidá nový typ automobilu editace typu aut (vedoucí, admin, zaměstnanec) -> editace typu smazání typu aut (vedoucí, admin, zaměstnanec) -> smazání typu výpis karoserií (vedoucí, admin, zaměstnanec, zákazník) -> zobrazí výpis karoserií přidání karoserie (vedoucí, admin, zaměstnanec) -> přidá karoserii editace karoserie (vedoucí, admin, zaměstnanec) -> edituje karoserii smazání karoserie (vedoucí, admin, zaměstnanec) -> smaže karoserii Pozn. součástí operací výpisů je jak výpis seznamů, tak i detailů jediné entity

2 Analýza (skupina T09, 19. 10. 2009) 2.1 Datová analýza 2.1.1 Lineární zápis typů entit a typů vazeb Auto (id_auta, id_model, id_barva, id_karoserie, rok_vyroby, obsah, palivo, prevodovka, najeto, STK, emise, vybava) Model (id_model, id_znacka, id_typ, nazev) Znacka (id_znacka, nazev) Typ (id_typ, nazev) Karoserie (id_karoserie, nazev) Fotografie (id_fotky, id_inzerat, url, alt) Inzerat (id_inzerat, id_smlouvy, perex, text, datum, autorizovan) Zamestnanec (id_zamestnance, jmeno, prijmeni, id_role, město, ulice, psc, telefon, mail, heslo) Zakaznik (id_zakaznik, jmeno, prijmeni, město, ulice, psc, telefon, mail, ico, dic, heslo) Smlouva (id_smlouvy, id_auta, id_dodavatel, id_odberatel, id_tarif, datum_uzavreni, datum_vyrizeni, prodejni_cena, procenta_z_prodeje, storno) Faktura (cislo_fakutry, id_smlouvy, cena, datum, datum_splatnosti, datum_zdan_plneni, vyrizena, forma_uhrady, bankovni_spojeni, cislo_uctu, variabilni_symbol, text_faktury, vystavil) Rezervace (id_rezervace, id_auta, id_odberatel, cas_rezervace, poznamka) Recenze (id_recenze, id_model, id_zamestnanec, perex, text, datum) Barva (id_barvy, barva) Tarif (id_tarifu, cena, doba_expirace) Role (id_role, nazev, plat)

ZNAC_MODEL (Znacka, Model) MODEL_REC (Model, Recenze) REC_ZAM (Recenze, Zamestnanec) ZAM_ROLE (Zamestnanec, Role) TYP_MODEL (Typ, Model) MODEL_AUTO (Model, Auto) KAROS_AUTO (Karoserie, Auto) AUTO_BARVA (Auto, Barva) FAKT_SML (Faktura, Smlouva) AUTO_SML (Auto, Smlouva) AUTO_REZ (Auto, Rezervace) INZER_SML (Inzerat, Smlouva) SML_TARIF (Smlouva, Tarif) INZER _FOTO (Inzerat, Fotografie) SML_PROD (Smlouva, Zakaznik) SML_KUP (Smlouva, Zakaznik) REZ_ZAK (Rezervace, Zakaznik)

2.1.2 ER diagram

Datový slovník Atribut Datový typ Klíč Null Index Popis a IO Auto id_auta int(8) PK N A aut.inkr. id_model int(8) FK N N id_barva int(8) FK N N rok_vyroby int(4) N N N id_karoserie int(8) FK N N obsah int(4) N N N ccm palivo enum N N N *1/ prevodovka enum N N N auto/manual najeto int(8) N N N km STK date N N N emise date N N N vybava longtext N A N Model id_model int(8) PK N A aut.inkr. id_znacka int(8) FK N N id_typ int(8) FK N N nazev varchar(30) N N N Znacka id_znacka int(8) PK N A aut.inkr. nazev varchar(30) N N N Typ id_typ int(8) PK N A aut.inkr. nazev varchar(20) N N N Karoserie id_karoserie int(8) PK N A aut.inkr. nazev varchar(30) N N N Fotografie id_foto int(8) PK N A aut.inkr. id_inzeratu int(8) FK N N url varchar(60) N N N alt varchar(60) N N N Inzerat id_inzeratu int(8) PK N A aut.inkr. is_smlouvy int(8) FK N N perex varchar(60) N N N text longtext N N N datum date N N N autorizace char N N N *2/

Atribut Datový typ Klíč Null Index Popis a IO Smlouva id_smlouvy int(8) PK N A aut.inkr. id_auta int(8) FK N N id_dodavatel int(8) FK N N id_odberatel int(8) FK A N id_tarif int(8) FK N N datum_uzavreni date N N N datum_vyrizeni date N A N prodejni_cena int(8) N N N procenta_z_prodeje float(2,2) N N N storno boolean N N N Faktura cislo_faktury int(8) PK N A *3/ id_smlouvy int(8) FK N N cena int(8) N N N datum date N N N datum_zdan_plneni date N N N datum_splatnosti date N N N vyrizena bool N N N forma_uhrady varchar(30) N N N bankovni_spojeni varchar(30) N N N cislo_uctu varchar(15) N N N variabilni_symbol int(16) N N N text_faktury longtext N N N vystavil int(8) N N N Tarif id_tarif int(8) PK N A aut.inkr. cena int(8) N N N doba_expirace int(8) N N N počet dnů Rezervace id_rezervace int(8) PK N A aut.inkr. id_auta int(8) FK N N id_odberatel int(8) FK N N cas_rezervace datetime N N N poznamka longtext N A N Recenze id_recenze int(8) PK N A aut.inkr. id_model int(8) FK N N id_zamestnanec int(8) FK N N perex varchar(60) N N N text longtext N N N datum date N N N

Atribut Datový typ Klíč Null Index Popis a IO Zamestnanec id_zamestnance int(8) PK N A aut.inkr. jmeno varchar(30) N N N prijmeni varchar(30) N N N role int(8) FK N N mesto varchar(30) N N N ulice varchar(30) N N N psc int(5) N N N telefon int(9) N N N mail varchar(60) N N N heslo varchar(32) N N N MD5 hash Zakaznik id_zakaznik int PK N A aut.inkr. jmeno varchar(30) N N N prijmeni varchar(30) N N N mesto varchar(30) N N N ulice varchar(30) N N N psc int(5) N N N telefon int(9) N N N mail varchar(60) N N N dic varchar(60) N A N ico varchar(60) N A N heslo varchar(32) N N N MD5 hash Role id_role int(8) PK N A aut.inkr. nazev varchar(30) N N N plat int(8) N N N Barva id_barvy int(8) PK N A aut.inkr. nazev varchar(30) N N N *1/ natural, diesel, lpg *2/ A autorizovan, N neautorizovat, W čeká na autorizaci, D - deaktivován *3/ zřetězení znaků aktuálního data a pořadového čísla faktury v roce např. 20090001, 20090002 apod.

2.2 Funkční analýza 2.2.1 DF diagramy +Minispecifikace 2.2.1.1 KONTEXTOVÝ DIAGRAM 2.2.1.2 DF diagram 0. úroveň

1. Evidence automobilů 1.1 Přidání automobilu 1. Zobraz formulář pro přidání nového automobilu. 2. Načti údaje z tabulek Model, Karoserie, Barva 3. Uživatel vybere model, barvu a typ karoserie automobilu a zadá rok výroby, obsah motoru, datum platnosti kontroly STK a emisí, najeté kilometry, palivo a výbavu. 4. Systém doplní id_modelu, id_karoserie a id_barvy 5. Pokud nejsou vyplněny všechny údaje, vypiš chybové hlášení a jdi na bod č.1 6. Jinak vygeneruj nové id do p.id_auta. 7. Přidej nový záznam do tabulky Auto s hodnotami v paměti. 8. Vypiš informace o stavu daného procesu. 1.2 Editace automobilu 1. Zobraz formulář Změnit záznam auta. 2. Uživatel vybere id auta a provedené změny se uloží do p.id_auta, p.id_modelu, p.id_barvy, p.rok_vyroby, p.id_karoserie, p.obsah, p.palivo, p.prevodovka, p.najeto, p.stk, p.emise, p.vybava. 3. Vybere seznam z tabulky Auto kde Auto.id_auta = p.id_auta. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Auto kde Auto.id_auta = p.id_auta s hodnotami v paměti.

1.3 Smazání automobilu 1. Zobraz formulář Smazat auto. 2. Uživatel zadá id auta do p.id_auta. 3. Vybere seznam z tabulky Auto kde Auto.id_auta = p.id_auta. 4. Pokud nevybrán žádný záznam, pak krok 5. Naopak smaž záznam v tabulce Auto kde Auto.id_auta = p.id_auta. 1.4 Výpis automobilů 1. Zobraz formulář Zobrazit seznam aut. 2. Uživatel požádá zobrazit seznam aut vyhovující kritériu. 3. Vybere seznam z tabulky Auto podle kritéria. 4. Vypiš informace o stavu daného procesu. 2. Evidence barev

2.1 Přidání barvy 1. Zobraz formulář Nová barva. 2. Uživatel zadá nazev do p.nazev. 3. Vygeneruj nové id do p.id_barvy. 4. Přidej nový záznam do tabulky Barva s hodnotami v paměti. 2.2 Editace barvy 1. Zobraz formulář Změnit záznam barvy. 2. Uživatel vybere id barvy a provedené změny se uloží do p.id_barvy, p.nazev. 3. Vybere seznam z tabulky Barva kde Barva.id_barvy = p.id_barvy. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Barva kde Barva.id_barvy = p.id_barvy s hodnotami v paměti. 2.3 Smazání barvy 1. Zobraz formulář Smazat barvu. 2. Uživatel zadá id barvy do p.id_barvy. 3. Vybere seznam z tabulky Barva kde Barva.id_barvy = p.id_barvy. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Barva kde Barva.id_barvy = p.id_barvy. 2.4 Výpis barev 1. Zobraz formulář Zobrazit seznam barev. 2. Uživatel požádá zobrazit seznam barev vyhovující kritériu. 3. Vybere seznam z tabulky Barva podle kritéria. 4. Vypiš informace o stavu daného procesu.

3. Evidence faktur 3.1 Vytvoření faktury 1. Zobraz formulář Nová faktura. 2. Uživatel zadá id smlouvy, cenu, datum, datum zdan. plneni, datum splatnosti, vyrizena, forma uhrady, bankovni spojeni, cislo uctu, variabilni symbol, text faktury, vystavil do p.id_smlouvy, p.cena, p.datum, p.datum_zdan_plneni, p.datum_splatnosti, p.vyrizena, p.forma_uhrady, p.bankovni_spojeni, p.cislo_uctu, p.variabilni_symbol, p.text_faktury, p.vystavil. 3. Vygeneruj nové id do p.cislo_faktury. 4. Přidej nový záznam do tabulky Faktura s hodnotami v paměti.

3.2 Editace faktury 1. Zobraz formulář Změnit záznam faktury. 2. Uživatel vybere cislo faktuy a provedené změny se uloží do p.cislo_faktury, p.id_smlouvy, p.cena, p.datum, p.datum_zdan_plneni, p.datum_splatnosti, p.vyrizena, p.forma_uhrady, p.bankovni_spojeni, p.cislo_uctu, p.variabilni_symbol, p.text_faktury, p.vystavil. 3. Vybere seznam z tabulky Faktura kde Faktura.cislo_faktury = p.cislo_faktury. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Faktura kde Faktura.cislo_faktury = p.cislo_faktury s hodnotami v paměti. 3.3 Storno faktury 1. Zobraz formulář Storno faktury. 2. Uživatel zadá cislo faktury do p.cislo_faktury. 3. Vybere seznam z tabulky Faktura kde Faktura.cislo_faktury = p.cislo_faktury. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Faktura kde Faktura.cislo_faktury = p.cislo_faktury. 3.4 Výpis faktur 1. Zobraz formulář Zobrazit seznam faktur. 2. Uživatel požádá zobrazit seznam faktur vyhovující kritériu. 3. Vybere seznam z tabulky Faktura podle kritéria. 4. Vypiš informace o stavu daného procesu.

4. Evidence Fotografií 4.1 Přidání fotografie 1. Zobraz formulář Nová fotografie. 2. Uživatel zadá id inzeratu, url, popis do p.id_inzeratu, p.url, p.alt. 3. Vygeneruj nové id do p.id_foto. 4. Přidej nový záznam do tabulky Fotografie s hodnotami v paměti. 4.2 Smazaní fotografie 1. Zobraz formulář Smazat fotografii. 2. Uživatel zadá id fotografie do p.id_foto. 3. Vybere seznam z tabulky Fotografie kde Fotografie.id_foto = p.id_foto. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Fotografie kde Fotografie.id_foto = p.id_foto.

4.3 Výpis fotografií 1. Zobraz formulář Zobrazit seznam fotografií. 2. Uživatel požádá zobrazit seznam fotografií vyhovující kritériu. 3. Vybere seznam z tabulky Fotografie podle kritéria. 4. Vypiš informace o stavu daného procesu. 5. Evidence inzerátů 5.1 Vytvoření inzerátu 1. Zobraz formulář Nový inzerát. 2. Uživatel zadá perex, text, datum, autorizace do p.perex, p.text, p.datum, p.autorizace. 3. Vygeneruj nové id do p.id_inzeratu. 4. Přidej nový záznam do tabulky Inzerat s hodnotami v paměti.

5.2 Editace inzerátu 1. Zobraz formulář Změnit záznam inzerátu. 2. Uživatel vybere id inzeratu a provedené změny se uloží do p.perex, p.text, p.datum, p.autorizace. 3. Vybere seznam z tabulky Inzerat kde Inzerat.id_inzeratu = p.id_inzeratu. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Inzerat kde Inzerat.id_inzeratu = p.id_inzeratu s hodnotami v paměti. 5.3 Smazání inzerátu 1. Zobraz formulář Smazat inzerát. 2. Uživatel zadá id inzeratu do p.id_inzeratu. 3. Vybere seznam z tabulky Inzerat kde Inzerat.id_inzeratu = p.id_inzeratu. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Inzerat kde Inzerat.id_inzeratu = p.id_inzeratu. 5.4 Zobraz seznam 1. Zobraz formulář Zobrazit seznam inzerátů. 2. Uživatel požádá zobrazit seznam inzerátů vyhovující kritériu. 3. Vybere seznam z tabulky Inzerát podle kritéria. 4. Vypiš informace o stavu daného procesu. 5.5 Autorizace 1. Zobraz formulář Autorizace inzerátu. 2. Uživatel vybere id inzeratu a do p.autorizace uloží true. 3. Vybere seznam z tabulky Inzerat kde Inzerat.id_inzeratu = p.id_inzeratu. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Inzerat kde Inzerat.id_inzeratu = p.id_inzeratu s hodnotami v paměti.

5.6 Deaktivace 1. Zobraz formulář Deaktivace inzerátu. 2. Uživatel vybere id inzeratu a do p.autorizace uloží false. 3. Vybere seznam z tabulky Inzerat kde Inzerat.id_inzeratu = p.id_inzeratu. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Inzerat kde Inzerat.id_inzeratu = p.id_inzeratu s hodnotami v paměti. 6. Evidence modelů 6.1 Vytvoření modelu 1. Zobraz formulář Nový model. 2. Uživatel zadá znacku, typ, nazev do p.znacka, p.typ, p.nazev. 3. Vygeneruj nové id do p.id_model. 4. Přidej nový záznam do tabulky Model s hodnotami v paměti.

6.2 Editace modelu 1. Zobraz formulář Změnit model. 2. Uživatel vybere id modelu a provedené změny se uloží do p.id_modelu, p.znacka, p.typ, p.nazev. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Model kde Model.id_modelu = p.id_modelu s hodnotami v paměti. 6.3 Smazání modelu 1. Zobraz formulář Smazat model. 2. Uživatel zadá id modelu do p.id_modelu. 3. Vybere seznam z tabulky Model kde Model.id_modelu = p.id_modelu. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Model kde Model.id_modelu = p.id_modelu. 6.4 Výpis modelu 1. Zobraz formulář Zobrazit seznam modelů. 2. Uživatel požádá zobrazit seznam modelů vyhovující kritériu. 3. Vybere seznam z tabulky Model podle kritéria. 4. Vypiš informace o stavu daného procesu.

7. Evidence recenze 7.1 Vytvoření recenze 1. Zobraz formulář Nová recenze. 2. Uživatel zadá id modelu, id zamestnance, perex, text, datum do p.id_modelu, p.id_zamestnance, p.perex, p.text, p.datum. 3. Vygeneruj nové id do p.id_recenze. 4. Přidej nový záznam do tabulky Recenze s hodnotami v paměti. 7.2 Editace recenze 1. Zobraz formulář Změnit recenzi. 2. Uživatel vybere id recenze a provedené změny se uloží do p.id_recenze, p.id_modelu, p.id_zamestnance, p.perex, p.text, p.datum. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Recenze kde Recenze.id_recenze = p.id_recenze s hodnotami v paměti.

7.3 Smazání recenze 1. Zobraz formulář Smazat recenzi. 2. Uživatel zadá id recenze do p.id_recenze. 3. Vybere seznam z tabulky Recenze kde Recenze.id_recenze = p.id_recenze. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Recenze kde Recenze.id_recenze = p.id_recenze. 7.4 Výpis recenze 1. Zobraz formulář Zobrazit seznam recenzí. 2. Uživatel požádá zobrazit seznam recenzí vyhovující kritériu. 3. Vybere seznam z tabulky Recenze podle kritéria. 4. Vypiš informace o stavu daného procesu. 8. Evidence rezervací

8.1 Vytvoření rezervace 1. Zobraz formulář Nová rezervace. 2. Uživatel zadá id auta, id odberatele, cas rezervace, poznamku do p.id_auta, p.id_odberatel, p.cas_rezervace, p.poznamka. 3. Vygeneruj nové id do p.id_rezervace. 4. Přidej nový záznam do tabulky Rezervace s hodnotami v paměti. 8.2 Zrušení rezervace 1. Zobraz formulář Smazat rezervaci. 2. Uživatel zadá id rezervace do p.id_rezervace. 3. Vybere seznam z tabulky Rezervace kde Rezervace.id_rezervace = p.id_rezervace. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Rezervace kde Rezervace.id_rezervace = p.id_rezervace. 8.3 Výpis rezervací 1. Zobraz formulář Zobrazit seznam rezervací. 2. Uživatel požádá zobrazit seznam rezervací vyhovující kritériu. 3. Vybere seznam z tabulky Rezervace podle kritéria. 4. Vypiš informace o stavu daného procesu.

9. Evidence rolí 9.1 Přidání role 1. Zobraz formulář Nová role. 2. Uživatel zadá nazev, plat do p.nazev, p.plat. 3. Vygeneruj nové id do p.id_role. 4. Přidej nový záznam do tabulky Role s hodnotami v paměti.

9.2 Editace role 1. Zobraz formulář Změnit roli. 2. Uživatel vybere id role a provedené změny se uloží do p.id_role, p.nazev, p.plat. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Role kde Role.id_role = p.id_role s hodnotami v paměti. 9.3 Smazání role 1. Zobraz formulář Smazat roli. 2. Uživatel zadá id role do p.id_role. 3. Vybere seznam z tabulky Role kde Role.id_role = p.id_role. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Role kde Role.id_role = p.id_role. 9.4 Výpis rolí 1. Zobraz formulář Zobrazit seznam rolí. 2. Uživatel požádá zobrazit seznam rolí vyhovující kritériu. 3. Vybere seznam z tabulky Role podle kritéria. 4. Vypiš informace o stavu daného procesu.

10. Evidence smluv 10.1 Vytvoření smlouvy 1. Zobraz formulář Nová smlouva. 2. Uživatel zadá id auta, id dodavatele, id odberatele, id tarifu, id inzeratu, datum uzavreni, datum vyrizeni, prodejni cenu, procenta z prodeje do p.id_auta, p.id_dodavatel, p.id_odberatel, p.id_tarif, p.id_inzerat, p.datum_uzavreni, p.datum_vyrizeni, p.prodejni_cena, p.procenta_z_prodeje. 3. Vygeneruj nové id do p.id_smlouvy. 4. Přidej nový záznam do tabulky Smlouva s hodnotami v paměti.

10.2 Editace smlouvy 1. Zobraz formulář Změnit smlouvu. 2. Uživatel vybere id smlouvy a provedené změny se uloží do p.id_smlouvy, p.id_auta, p.id_dodavatel, p.id_odberatel, p.id_tarif, p.id_inzerat, p.datum_uzavreni, p.datum_vyrizeni, p.prodejni_cena, p.procenta_z_prodeje. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Smlouva kde Smlouva.id_smlouvy = p.id_smlouvy s hodnotami v paměti. 10.3 Storno smlouvy 1. Zobraz formulář Smazat smlouvu. 2. Uživatel zadá id smlouvy do p.id_smlouvy. 3. Vybere seznam z tabulky Smlouva kde Smlouva.id_smlouvy = p.id_smlouvy. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Smlouva kde Smlouva.id_smlouvy = p.id_smlouvy. 10.4 Výpis smluv 1. Zobraz formulář Zobrazit seznam smluv. 2. Uživatel požádá zobrazit seznam smluv vyhovující kritériu. 3. Vybere seznam z tabulky Smlouva podle kritéria. 4. Vypiš informace o stavu daného procesu.

11. Evidence tarifů 11.1 Vytvoření tarifu 1. Zobraz formulář Nový tarif. 2. Uživatel zadá cenu, dobu expirace do p.cena, p.doba_expirace. 3. Vygeneruj nové id do p.id_tarif. 4. Přidej nový záznam do tabulky Tarif s hodnotami v paměti. 11.2 Editace tarifu 1. Zobraz formulář Změnit tarif. 2. Uživatel vybere id tarifu a provedené změny se uloží do p.id_tarif, p.cena, p.doba_expirace. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Tarif kde Tarif.id_tarif = p.id_tarif s hodnotami v paměti.

11.3 Smazání tarifu 1. Zobraz formulář Smazat tarif. 2. Uživatel zadá id tarifu do p.id_tarif. 3. Vybere seznam z tabulky Tarif kde Tarif.id_tarif = p.id_tarif. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Tarif kde Tarif.id_tarif = p.id_tarif. 11.4 Výpis tarifů 1. Zobraz formulář Zobrazit seznam tarifů. 2. Uživatel požádá zobrazit seznam tarifů vyhovující kritériu. 3. Vybere seznam z tabulky Tarif podle kritéria. 4. Vypiš informace o stavu daného procesu. 12. Evidence zákazníků

12.1 Přidání zákazníka 1. Zobraz formulář Nový zákazník. 2. Uživatel zadá jmeno, prijmeni, mesto, ulice, psc, telefon, mail, dic, ico, heslo do p.jmeno, p.prijmeni, p.mesto, p.ulice, p.psc, p.telefon, p.mail, p.dic, p.ico, p.heslo. 3. Vygeneruj nové id do p.id_zakaznik. 4. Přidej nový záznam do tabulky Zakaznik s hodnotami v paměti. 12.2 Editace zákazníka 1. Zobraz formulář Změnit zákazníka. 2. Uživatel vybere id zakaznika a provedené změny se uloží do p.id_zakaznika, p.jmeno, p.prijmeni, p.mesto, p.ulice, p.psc, p.telefon, p.mail, p.dic, p.ico, p.heslo. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Zakaznik kde Zakaznik.id_zakaznik = p.id_zakaznik s hodnotami v paměti. 12.3 Smazání zákazníka 1. Zobraz formulář Smazat zákazníka. 2. Uživatel zadá id tarifu do p.id_zakaznik. 3. Vybere seznam z tabulky Zakaznik kde Zakaznik.id_zakaznik = p.id_zakaznik. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Zakaznik kde Zakaznik.id_zakaznik = p.id_zakaznik. 12.4 Výpis zákazníků 1. Zobraz formulář Zobrazit seznam zákazníků. 2. Uživatel požádá zobrazit seznam zákazníků vyhovující kritériu. 3. Vybere seznam z tabulky Zakaznik podle kritéria. 4. Vypiš informace o stavu daného procesu.

13. Evidence zaměstnaneců 13.1 Přidání zaměstnance 1. Zobraz formulář Nový zaměstnanec. 2. Uživatel zadá jmeno, roli, prijmeni, mesto, ulice, psc, telefon, mail, heslo do p.jmeno, p.role, p.prijmeni, p.mesto, p.ulice, p.psc, p.telefon, p.mail, p.heslo. 3. Vygeneruj nové id do p.id_zamestnance. 4. Přidej nový záznam do tabulky Zamestnanec s hodnotami v paměti.

13.2 Editace zaměstnance 1. Zobraz formulář Změnit zaměstnance. 2. Uživatel vybere id zamestnance a provedené změny se uloží do p.id_zamestnance, p.jmeno, p.role, p.prijmeni, p.mesto, p.ulice, p.psc, p.telefon, p.mail, p.heslo. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Zamestnanec kde Zamestnanec.id_zamestnance = p.id_ zamestnance s hodnotami v paměti. 13.3 Smazání zaměstnance 1. Zobraz formulář Smazat zaměstnance. 2. Uživatel zadá id zaměstnance do p.id_zamestnance. 3. Vybere seznam z tabulky Zamestnanec kde Zamestnanec.id_zamestnance = p.id_ zamestnance. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Zamestnanec kde Zamestnanec.id_zamestnance = p.id_ zamestnance. 13.4 Výpis zaměstnanců 1. Zobraz formulář Zobrazit seznam zaměstnanců. 2. Uživatel požádá zobrazit seznam zaměstnanců vyhovující kritériu. 3. Vybere seznam z tabulky Zamestnanec podle kritéria. 4. Vypiš informace o stavu daného procesu.

14. Evidence značek 14.1 Přidání značky 1. Zobraz formulář Nová značka. 2. Uživatel nazev do p.nazev. 3. Vygeneruj nové id do p.id_znacka. 4. Přidej nový záznam do tabulky Znacka s hodnotami v paměti. 14.2 Editace značky 1. Zobraz formulář Změnit značku. 2. Uživatel vybere id značky a provedené změny se uloží do p.id_znacka, p.nazev. 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak změna dat v tabulce Znacka kde Znacka.id_znacka = p.id_ znacka s hodnotami v paměti.

14.3 Smazání značky 1. Zobraz formulář Smazat značku. 2. Uživatel zadá id značky do p.id_znacka. 3. Vybere seznam z tabulky Znacka kde Znacka.id_znacka = p.id_ znacka 4. Pokud nevybrán žadný záznam, pak krok 5. Naopak smaž záznam v tabulce Znacka kde Znacka.id_znacka = p.id_ znacka. 14.4 Výpis značek 1. Zobraz formulář Zobrazit seznam značek. 2. Uživatel požádá zobrazit seznam značek vyhovující kritériu. 3. Vybere seznam z tabulky Znacka podle kritéria. 4. Vypiš informace o stavu daného procesu. 2.3 Časová analýza 2.3.1 STD Inzerat

2.3.2 STD Rezervace 2.3.3 STD Smlouva 2.3.4 STD Faktura

2.3.5 STD Auto

2.4 Návrh uživatelského rozhraní 2.4.1 Úvodní obrazovka IS Autobazar Přihlášení do systému IS Autobazar Uživatelské jméno: Admin Heslo: *********** Registrace Přihlásit Prodat auto Koupit auto 2.4.2 Vstupní formulář

2.4.3 Tisková sestava Faktura číslo: 20060001 Dodavatel: Odběratel: Autobazar Eldorádo 1927 Rychvald, 735 32 Milan Wrona Josefa Skupy 1715 IČ: 696 63 963 Ostrava 708 00 neplátce DPH Podnikatel zapsán v živ.rejstříku MÚ Mladá Boleslav Platební podmínky: Datum vystavení: 25.10.2009 - Forma úhrady Převodem Datum zdanitel. plnění 28.10.2009 Bankovní spojení: Česká spořitelna Číslo účtu: 0800/765993331 Splatnost: 20.11.2009 Variabilní 2006000 symbol: 1 Fakturujeme vám: cena: Škoda Octavia 1.6 Kombi 149 500,00 Kč Celkem k úhradě: 149 500,00 Kč 2.4.4 Chybové hlášení Chyba!!! Nezadali jste povinný parametr: Značka Nezadali jste povinný parametr: Model OK

3 Analýza datového skladu 3.1 Datový slovník Tabulka Pořadí Atribut Dat. typ Size Key Null Index Poznámka Auto 1 id_auta int 8 PK N A auto inc Auto 2 model int 8 FK N N Auto 3 id_barva int 8 FK N N Auto 4 rok_vyroby int 4 - N N Auto 5 id_karoserie int 8 FK N N Auto 6 obsah int 4 - N N ccm Auto 7 palivo enum - - N N Auto 8 prevodovka enum - - N N auto/man Auto 9 najeto int 8 - N N km Auto 10 STK date - - N N Auto 11 emise date - - N N Auto 12 vybava longtext - - A N Model 1 id_model int 8 PK N A auto inc Model 2 id_znacka int 8 FK N N Model 3 id_typ int 8 FK N N Model 4 nazev varchar 30 - N N Znacka 1 id_znacka int 8 PK N A auto inc Znacka 2 nazev varchar 30 - N N Typ 1 id_typ int 8 PK N A auto inc Typ 2 nazev varchar 30 - N N Karoserie 1 id_karoserie int 8 PK N A auto inc Karoserie 2 nazev varchar 30 - N N Fotografie 1 id_foto int 8 PK N A auto inc

Fotografie 2 id_inzeratu int 8 FK N N Fotografie 3 url varchar 60 - N N Fotografie 4 alt varchar 60 - N N Inzerat 1 id_inzeratu int 8 PK N A auto inc Inzerat 2 id_smouvy int 8 FK N N Inzerat 3 perex varchar 60 - N N Inzerat 4 text longtext - - N N Inzerat 5 datum datetime - - N N Inzerat 6 autorizace char - - N N Smlouva 1 id_smlouvy int 8 PK N A auto inc Smlouva 2 id_auta int 8 FK N N Smlouva 3 id_dodavatel int 8 FK N N Smlouva 4 id_odberatel int 8 FK A N Smlouva 5 id_tarif int 8 FK N N Smlouva 6 datum_uzavreni date - - N N Smlouva 7 datum_vyrizeni int 8 - A N Smlouva 8 prodejni_cena int 8 - N N Smlouva 9 procenta_z_prodeje float 2,2 - N N Smlouva 10 storno boolean - - N N Faktura 1 cislo_faktury int 8 PK N A Faktura 2 id_smlouvy int 8 FK N N Faktura 3 cena int 8 - N N Faktura 4 datum date - - N N Faktura 5 datum_zdan_plneni date - - N N Faktura 6 datum_splatnosti date - - N N Faktura 7 vyrizena bool - - N N

Faktura 8 forma_uhrady varchar 30 - N N Faktura 9 bankovni_spojeni varchar 30 - N N Faktura 10 cislo_uctu varchar 15 - N N Faktura 11 variabilni_symbol int 16 - N N Faktura 12 text_faktury longtext - - N N Faktura 13 vystavil int 8 - N N Tarif 1 id_tarif int 8 PK N A auto inc Tarif 2 cena int 8 - N N Tarif 3 doba_expirace int - - N N počet dnů Rezervace 1 id_rezervace int 8 PK N A auto inc Rezervace 2 id_auta int 8 FK N N Rezervace 3 id_odberatel int 8 FK N N Rezervace 4 cas_rezervace datetime - - N N Rezervace 5 poznamka longtext - - N N Recenze 1 id_recenze int 8 PK N A auto inc Recenze 2 id_model int 8 FK N N Recenze 3 id_zamestnanec int 8 FK N N Recenze 4 perex varchar 60 - N N Recenze 5 text longtext - N N Recenze 6 datum date - N N Zamestnanec 1 id_zamestnanec int 8 PK N A auto inc Zamestnanec 2 jmeno varchar 30 - N N Zamestnanec 3 prijmeni varchar 30 - Zamestnanec 4 role int 8 FK N N Zamestnanec 5 mesto varchar 30 - N N Zamestnanec 6 ulice varchar 30 - N N

Zamestnanec 7 psc int 5 - N N Zamestnanec 8 telefon int 9 - N N Zamestnanec 9 mail varchar 60 - N N Zamestnanec 10 heslo varchar 32 - N N MD5 hash Zakaznik 1 id_zakaznik int 8 PK N A auto inc Zakaznik 2 jmeno varchar 30 - N N Zakaznik 3 prijmeni varchar 30 - N N Zakaznik 4 mesto varchar 30 - N N Zakaznik 5 ulice varchar 30 - N N Zakaznik 6 psc int 5 - N N Zakaznik 7 telefon int 9 - N N Zakaznik 8 mail varchar 60 - N N Zakaznik 9 dic varchar 60 - N N Zakaznik 10 ico varchar 60 - N N Zakaznik 11 heslo varchar - - N N md5 hash Barva 1 id_barvy int 8 PK N A auto inc Barva 2 nazev varchar 8 - N N Role 1 id_role int 8 PK N A auto inc Role 2 nazev varchar 30 - N N 3.2 Výběr atributů pro datový sklad (Extrakce) Následující tabulka určuje, v rámci jednoho z kroků konceptuálního modelování datového skladu, které atributy se budou v našem datovém skladu uchovávat. Další kroky (fáze) modelování jsou vyjma tohoto (konceptuální) dále multidimenzionální, databázové a fyzické modelování. Je zřejmé, že struktura datového skladu je jiná než u zdrojové databáze.

Tabulka Pořadí Atribut Použijeme v DS dim/fakt/atr Auto 1 id_auta A, klíč D Auto 2 id_model A, klíč D Auto 3 id_barva A, klíč D Auto 4 rok_vyroby A, atribut A Auto 5 id_karoserie A, klíč D Auto 6 obsah A, atribut A Auto 7 palivo A, klíč D Auto 8 id_prevodovka A, klíč D Auto 9 najeto A F Auto 10 STK N - Auto 11 emise N - Auto 12 vybava N - Model 1 id_model A, klíč D Model 2 id_znacka A, klíč D Model 3 id_typ A, klíč D Model 4 nazev A, atribut A Znacka 1 id_znacka A, klíč D Znacka 2 nazev A, atribut A Typ 1 id_typ A, klíč D Typ 2 nazev A, atribut A Karoserie 1 id_karoserie A, klíč D Karoserie 2 nazev A, atribut A Fotografie 1 id_foto N - Fotografie 2 id_inzeratu N - Fotografie 3 url N -

Fotografie 4 alt N - Inzerat 1 id_inzeratu N - Inzerat 2 id_smouvy N - Inzerat 3 perex N - Inzerat 4 text N - Inzerat 5 datum N - Inzerat 6 autorizace N - Smlouva 1 id_smlouvy A, klíč D Smlouva 2 id_auta A, klíč D Smlouva 3 id_dodavatel A, klíč D Smlouva 4 id_odberatel A, klíč D Smlouva 5 id_tarif A, klíč D Smlouva 6 datum_uzavreni A, atribut A Smlouva 7 datum_vyrizeni A, atribut A Smlouva 8 prodejni_cena A F Smlouva 9 procenta_z_prodeje A, atribut A Smlouva 10 storno A, atribut A Faktura 1 cislo_faktury A, klíč D Faktura 2 id_smlouvy A, klíč D Faktura 3 cena A F Faktura 4 datum A, atribut A Faktura 5 datum_zdan_plneni N - Faktura 6 datum_splatnosti N - Faktura 7 vyrizena A, atribut A Faktura 8 id_uhrada A, klíč D Faktura 9 bankovni_spojeni N -

Faktura 10 cislo_uctu N - Faktura 11 variabilni_symbol N - Faktura 12 text_faktury N - Faktura 13 vystavil A, klíč D Tarif 1 id_tarif A, klíč D Tarif 2 cena A F Tarif 3 doba_expirace A, atribut A Rezervace 1 id_rezervace A, klíč D Rezervace 2 id_auta A, klíč D Rezervace 3 id_odberatel A, klíč D Rezervace 4 cas_rezervace A, atribut A Rezervace 5 poznamka N - Recenze 1 id_recenze A, klíč D Recenze 2 id_model A, klíč D Recenze 3 id_zamestnanec A, klíč D Recenze 4 perex N - Recenze 5 text N - Recenze 6 datum A, atribut A Zamestnanec 1 id_zamestnanec A, klíč D Zamestnanec 2 jmeno A, popisný atribut A Zamestnanec 3 prijmeni A, popisný atribut A Zamestnanec 4 id_role A, klíč D Zamestnanec 5 mesto A, atribut A Zamestnanec 6 ulice A, atribut A Zamestnanec 7 psc A, atribut A Zamestnanec 8 telefon N -

Zamestnanec 9 mail N - Zamestnanec 10 heslo N - Zakaznik 1 id_zakaznik A, klíč D Zakaznik 2 jmeno A, popisný atribut A Zakaznik 3 prijmeni A, popisný atribut A Zakaznik 4 mesto A, atribut A Zakaznik 5 ulice A, atribut A Zakaznik 6 psc A, atribut A Zakaznik 7 telefon N - Zakaznik 8 mail N - Zakaznik 9 dic N - Zakaznik 10 ico N - Zakaznik 11 heslo N - Barva 1 id_barvy A, klíč D Barva 2 nazev A, atribut A Role 1 id_role A, klíč D Role 2 nazev A, atribut A Palivo 1 id_palivo A, klíč D Palivo 2 nazev A, atribut A Prevodovka 1 id_prevodovka A, klíč D Prevodovka 2 nazev A, atribut A

3.3 ERD datového skladu Barva Palivo Typ Model Prevodovka Karoserie Auto Znacka D-Obdobi Recenze Model Smlouva Faktura Zamestnanec D-Obdobi Uhrada Zakaznik Rezervace Auto Tarif Smlouva D-Obdobi Role Zamestnanec D-Lokalita Zakaznik

3.4 Datová pumpa... Zamestnanec: role = id_role Auto: palivo = id_palivo (rozklad do nové tabulky Palivo) Auto:prevodovka = id_prevodovka (rozklad do nové tabulky Prevodovka) Faktura:uhrada = id_uhrada (rozklad do nové tabulky Uhrada)... Uhrada (id_uhrada, nazev) Palivo (id_palivo, nazev) Prevodovka (id_prevodovka, nazev) 3.5 Fakty najeto z tabulky Auto - celkový počet najetých kilometrů v jednotkách km objektu auta Faktura:cena z tabulky Faktura - konečná cena za fakturu v Kč. Tarif:cena z tabulky Tarif - cena smluvního tarifu v Kč. prodejni_cena z tabulky Smlouva - smluvní cena v Kč. plat z tabulky zamestnanec - plat zaměstnance v Kč. 3.6 Dimenze D-Obdobi (den, týden, měsíc, kvartál, rok, den_v_tydnu,...) D-Lokalita (stat, mesto, ulice, PSC,...) Typ Barva Karoserie Znacka Tarif Smlouva Zamestnanec

Model Zakaznik Role Uhrada Prevodovka Palivo 3.6.1 F-Tabulka Auto

3.6.2 F-Tabulka smlouva 3.6.3 F-Tabulka model

3.6.4 F-Tabulka recenze 3.6.5 F-Tabulka faktura

3.6.6 F-Tabulka rezervace 3.6.7 F-Tabulka zakaznik 3.6.8 F-Tabulka zamestnanec

4 Návrh implementace 4.1 Indexová analýza V rámci indexové analýzy se pro každý atribut tabulky databáze řeší, zdali je vhodné ho indexovat či nikoliv. Zjistili jsme, že stačí indexovat pouze primární klíče všech tabulek, tak je řečeno v datové analýze. 4.2 Transakční analýza Označení transakcí je již zahrnuto v minispecifikacích ve funkční analýze. 4.3 Hardwarové požadavky Server by měl být dostatečně rychlý a výkonný pro provoz SQL Serveru a webového serveru pro ASP.NET aplikace. Samotná webová aplikace vyžaduje 13 MB volného místa na pevném disku, nicméně pro nahrávání fotografií bude zapotřebí řádově stovky megabajtů prostoru. Pro databázi bude do budoucna potřeba několik desítek megabajtů (v závislosti na množství publikovaného obsahu) volného místa. Uživateli postačuje průměrně výkonný počítač a připojení k internetu. 4.4 Softwarové požadavky Na straně serveru bude pro nasazení webové aplikace vyžadován databázový server Microsoft SQL Server 2005, dále pak Microsoft Internet Information Services ( verze 6 a vyšší ) a.net Framework 3.5 SP1. Uživateli by měl stačit aktuální webový prohlížeč s povoleným Javascriptem a cookies. 4.5 Změny v návrhu databáze Pro správu uživatelů bude použita volně šiřitelná komponenta Altairis Web Security od Michala Valáška. Ta vyžaduje následující tabulky: Users (UserId, UserName, PasswordHash, PasswordSalt, Email, Comment, Enabled, DateCreated, DateLastLogin, DateLastActivity, DateLastPasswordChange) Roles (RoleName, Plat) UsersInRoles (HashId, UserName, RoleName) Dále se sjednotí tabulky Zamestnanec a Zakaznik do tabulky: OsobniUdaje ( IdOsoby, Jmeno, Prijmeni, Mesto, Ulice, PSC, Telefon, ICO, DICO ) Dále byly přidány dva atributy Strorno (tabulka Faktura) a CasVyprseni (tabulka Rezervace).

4.5.1 ERD 4.6 Uživatelské rozhraní Obrázek 1 - Přehled inzerátů

Obrázek 2 - Úvodní stránka Obrázek 3 - Smlouva

Obrázek 4 - Konkrétní inzerát 5 Programátorská příručka 5.1 Vývojové prostředí IS Autobazar byl vyvíjen ve vývojovém prostředí Microsoft Visual Studio 2008 Professional nad platformou ASP.NET 3.5. Veškerý kód je napsán v programovacím jazyce C#. 5.2 Řešení 5.2.1 Struktura Struktura aplikace je mírně upravena od struktury ve funkční analýze: Evidence vozidel o Evidence modelů Evidence uživatelů

o Platební ohodnocení Evidence tarifů Evidence smluv o Evidence faktur Evidence rezervací Evidence recenzí Evidence inzerátů Správa číselníků o Barvy o Karosérie o Typy automobilů o Značky automobilů Tato struktura se shoduje s fyzickou strukturou adresářů webové aplikace. 5.3 Evidence uživatelů Pro správu uživatelů a jejich rolí je použita volně šiřitelná komponenta Altairis Web Security od Michala Valáška. 5.3.1 Autentizace Autentizace je zajištěna standardní Membership technologií ASP.NET. 5.3.2 Autorizace Přístupová práva jsou řešena pomocí konfiguračních souborů web.config v jednotlivých adresářích. 5.4 Přístup k datům Jako datové úložiště byl zvolen Microsoft SQL Server 2005. Komunikace s tímto serverem probíhá pomocí technologie Entity Framework obsažené v.net Framework 3.5 SP1. 5.4.1 Struktura databáze Kompletní struktura databáze je k dispozici v soubor Databáze.sql. 5.4.2 SQL dotazy Většina SQL dotazů je dynamicky generovaných pomocí Entity Framework. Výjimkou je správa platů, která: Získává data z pohledu Platy Upravuje data pomocí uložené procedury PlatyUpdate Maže data pomocí uložené procedury PlatyDelete Vkládá data pomocí uložené procedury PlatyInsert Všechny tyto skutečnosti Entity Framework provádí automaticky a z pohledu programátora pak není rozdíl mezi správou platů a zbytkem aplikace. 5.4.3 Transakce V Entity Framework se všechny změny přenáší do databáze v jednom kroku, čímž je volání metody SaveChanges. Zde se implicitně vytváří transakce, která zaobaluje všechny dotazy nutné k promítnutí změn na SQL server.

5.4.4 Prezentace dat Pro prezentaci dat z datové vrstvy (kterou tvoří Entity Framework ) je použita komponenta EntityDataSource. V některých případech je datová vrstva kontaktována přímo z kódu pomocí třídy AutobazarEntites. 5.5 Webové stránky Všechny stránky používají kombinaci aspx souborů s kódem na pozadí aspx.cs. Veškerý kód aplikace je obsažen v dll knihovně. 5.5.1 Navigace Navigace je řešena pomocí souboru Web.sitemap, ze kterého infrastruktura ASP.NET vytváří příslušná menu. V konfiguračním souboru web.config je nastavena hodnota vlastnosti securitytrimmingenabled na true, díky čemuž se v menu zobrazí pouze ty položky, ke kterým má přihlášený uživatel přístup. 5.5.2 Tiskové sestavy Každou fakturu je možno exportovat do PDF souboru. Tato funkčnost je zajištěna třídou FakuraPDFGenerator, která interně využívá volně šiřitelné knihovny PDF Sharp. 5.5.3 Validace vstupních dat Veškerá vstupní data jsou validována pomocí komponent ASP.NET. Využívají jak validace na straně klienta, tak validace na straně serveru.