Systém SVAF pro malou videopůjčovnu.
Vedoucí a analytik : Jiří Meixner
Analytik : Jan Žďárek
Programátor PHP : Radek Brettschneider
Programátor Delphi : Josef Lottes
WWW dokumentace a programátor : Pavel Šubrt
Konceptuální datový model – E-R diagram
Diagram datových toků - dataflow
Cílem projektu je vytvořit jednoduchý systém SVAF pro evidenci videokazet v běžné domácnosti a malé videopůjčovně. Systém bude nabízet výběr filmů dle zadaných kritérií a jednoduchý přehled o výpůjčkách a rezervacích.
Systém bude založen na architektuře Client – Server pro jeho domácí využití pod OS Windows a k databázi bude přistupovat přes ODBC ovladače. Kompletní systém videopůjčovny bude realizován přes webové rozhraní pomocí PHP taktéž na databázi MS Access. Server jako databázový stroj a klient bude na kvalitním grafickém rozhraní.
Systém SVAF bude pracovat s videokazetami dané délky a typu, na kterých je nahrán jeden nebo více filmů. U filmu se budou sledovat různá data. Jméno filmu, délka, typ nahrávaní (SP/LP), žánr, charakteristické osoby pro film. K filmu také půjde doplnit vlastní poznámka.
Nad takovouto databází se bude provádět vyhledávání dle zadaných kritérií. Jako například dle jména herce, režiséra, filmu, žánru či specifikované délky a to s možností zadat více kritérií najednou. Pro část půjčovny zde budou informace o zákaznících, výpůjčkách kazet a rezervace filmů. U zákazníka se budou sledovat identifikační data, celková suma za výpůjčné a celkový počet vypůjčených kazet. Samozřejmě se budou také u každého zákazníka evidovat aktuální vypůjčené kazety a rezervované kazety. Ve výpůjčkách se bude sledovat jaká kazeta byla půjčena, kdy, komu, za jakou cenu a kdy bude vrácena. Systém bude pro zákazníka nabízet i rezervaci filmu na daný den.
Systém videopůjčovny bude realizován přes www rozhraní a budou zajištěny dva různé přístupy do systému. Administrátorský přístup, který bude moci přistupovat ke všem položkám v databázi a uživatelský – zákaznický přístup, který bude mít přístup k databázi omezen. Zákazník si bude moci prohlížet databázi filmů a kazet a rezervovat si film. Také si bude moci prohlížet svoje statistické data o výpůjčkách. Zákazník si bude moci prohlížet databázi filmů a kazet také za pomoci speciálního programu off-line. Databázi uloženou na svém disku si bude moci přes daný program aktualizovat, za předpokladu, že je připojen na www server videopůjčovny.
Datový slovník
Kód entity |
Definice entity |
zanr |
Informace o žánru filmu |
film |
Informace o filmu |
kazeta |
Informace o kazetě |
dela |
Informace o roli charakteristické osoby ve filmu |
osoba |
Informace o charakteristické osobě filmu |
zakaznik |
Informace o zákazníkovi |
rezervace |
Informace o rezervaci |
vypujcka |
Informace o výpůjčce |
Entita |
Card. --> |
<-- Card. |
Entita |
film |
1:N |
1:1 |
zanr |
film |
0:N |
1:1 |
dela |
film |
1:1 |
1:N |
kazeta |
film |
0:N |
1:1 |
rezervace |
dela |
1:1 |
1:N |
osoba |
rezervace |
1:1 |
0:N |
Zakaznik |
vypujcka |
1:1 |
1:N |
Zakaznik |
vypujcka |
1:1 |
0:N |
Kazeta |
Entita |
Kód |
Datový typ |
Vlastnosti |
Definice |
zanr |
typ_zanru |
DB_TEXT(40) |
PK |
Řetězec se pojmenováním žánru |
|
id_f |
DB_INTEGER |
PK-FK |
ID filmu s daným žánrem |
film |
jmeno |
DB_TEXT(40) |
NOTNULL |
Jméno filmu |
|
delka |
DB_INTEGER |
NOTNULL |
Délka filmu v minutách |
|
lp |
DB_INTEGER |
NOTNULL |
Kvalita nahrání LP/SP/EP |
|
poznamka |
DB_MEMO |
NULL |
Poznámka |
|
jmeno2 |
DB_TEXT(40) |
NULL |
Druhé nebo originální jméno filmu |
|
id_f |
DB_INTEGER |
PK |
ID filmu |
|
id_k |
DB_INTEGER |
FK-NOTNULL |
ID kazety, na které se film vyskytuje |
kazeta |
delka |
DB_INTEGER |
NULL |
Délka média při maximální kvalitě v minutách |
|
typ |
DB_TEXT(20) |
NULL |
Druh / typ / značka média |
|
id_k |
DB_INTEGER |
PK |
ID kazety |
dela |
role |
DB_TEXT(1) |
NOTNULL |
Role osoby v daném filmu Herec/Reziser/Skladatel |
|
id_f |
DB_INTEGER |
FK-NOTNULL |
ID filmu pro danou osobu |
|
id_o |
DB_INTEGER |
FK-NOTNULL |
ID osoby pro dany film |
osoba |
jmeno_o |
DB_TEXT(20) |
NULL |
Jméno osoby |
|
primeni_o |
DB_TEXT(50) |
NOTNULL |
Příjmení nebo umělecké jméno osoby |
|
id_o |
DB_INTEGER |
PK |
ID osoby |
zakaznik |
jmeno_z |
DB_TEXT(20) |
NOTNULL |
Jméno zákazníka |
|
prijmeni_z |
DB_TEXT(40) |
NOTNULL |
Příjmení zákazníka |
|
ulice |
DB_TEXT(40) |
NULL |
Ulice |
|
cp |
DB_INTEGER |
NOTNULL |
Číslo popisné |
|
mesto |
DB_TEXT(40) |
NOTNULL |
Město |
|
psc |
DB_TEXT(5) |
NULL |
PSČ |
|
tel |
DB_TEXT(15) |
NULL |
Telefonní číslo |
|
login |
DB_TEXT(20) |
UNIQ |
Uživatelské jméno pro přístup do SVAF přes WWW |
|
heslo |
DB_TEXT(20) |
NOTNULL |
Heslo zákazníka pro přístup do SVAF přes WWW |
|
id_z |
DB_INTEGER |
PK |
ID zákazníka |
rezervace |
nakdy |
DB_DATE |
NOTNULL |
Datum, nakdy se film rezervuje |
|
id_r |
DB_INTEGER |
PK |
ID rezervace |
|
id_f |
DB_INTEGER |
FK-NOTNULL |
ID filmu, který si zákazník rezervuje |
|
id_z |
DB_INTEGER |
FK-NOTNULL |
ID zákazníka, který si rezervuje daný film |
vypujcka |
pujceno |
DB_DATE |
NOTNULL |
Datum výpůjčky kazety |
|
vraceno |
DB_DATE |
NOTNULL |
Datum smluveného vrácení kazety |
|
cena |
DB_CURRENCY |
NOTNULL |
Cena výpůčky |
|
id_v |
DB_INTEGER |
PK |
ID výpůjčky |
|
id_k |
DB_INTEGER |
FK-NOTNULL |
ID půjčované kazety |
|
id_z |
DB_INTEGER |
FK-NOTNULL |
ID zákazníka, který si půjčuje kazetu |
Operace: správa uživatelských účtů
Popis: administrátor má výhradní právo měnit uživatelské účty DB.
Čte:
Mění: příslušnou systémovou tabulku DB
Posílá:
Předpokládá: nainstalovanou a funkční DB
Výsledek: požadovaná změna v DB provedena.
Operace: připojení k WWW rozhraní
Popis: zákazník se pomocí WWW prohlížeče připojí k webovému rozhraní aplikace SVAF
Čte: zakaznik
Mění:
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený účet uživatele
Výsledek: úspěšné připojení nebo odmítnutí přístupu.
Operace: prohlížení údajů o filmech
Popis: zákazník si může prohlížet současnou nabídku videopůjčovny
Čte: kazeta, film, zanr, dela, osoba
Mění:
Posílá:
Předpokládá: úspěšné připojení k SVAF rozhraní
Výsledek: zobrazení požadovaných údajů.
Operace: prohlížení rezervace
Popis: uživatel si může prohlížet svoje rezervace filmů
Čte: rezervace, film, kazeta, zakaznik
Mění:
Posílá:
Předpokládá: úspěšné připojení k SVAF rozhraní
Výsledek: zobrazení požadovaných údajů nebo zobrazení informace o tom, že daný uživatel nemá nic rezervováno.
Operace: provedení rezervace
Popis: uživatel si může rezervovat film
Čte: rezervace, kazeta, film, zakaznik
Mění: rezervace
Posílá:
Předpokládá: úspěšné připojení k SVAF rozhraní
Výsledek: zobrazení informace potvrzující úspěšnou rezervaci, nebo odmítnutí rezervace.
Operace: prohlížení výpůjček
Popis: uživatel si může prohlížet svoje výpůjčky kazet
Čte: vypujcka, kazeta, film, zakaznik
Mění:
Posílá:
Předpokládá: úspěšné připojení k SVAF rozhraní
Výsledek: zobrazení požadovaných údajů nebo zobrazení informace o tom, že daný uživatel nemá nic vypůjčeno.
Operace: vytvoření údajů zákazníka
Popis: obsluha ve videopůjčovně registruje nového zákazníka
Čte: zakaznik
Mění: zakaznik
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený a funkční uživatelský účet obsluhy v DB
Výsledek: zadané údaje se zapíší do tabulky zákazníků a nový zákazník nyní může využít služeb videopůjčovny, případně přistupovat k našim WWW stránkám.
Operace: změna údajů zákazníka
Popis: obsluha ve videopůjčovně provede změny v údajích zákazníka, případně jeho odstranění z DB
Čte: zakaznik
Mění: zakaznik
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený a funkční uživatelský účet obsluhy v DB
Výsledek: změněné údaje se zapíší do tabulky zákazníků, byl-li zákazník zrušen, ztrácí možnost vyžívat našich služeb a tím i přístup k WWW stránkám.
Operace: vytvoření / změna údajů filmu
Popis: obsluha vytváří / upravuje film v naší evidenci
Čte: film, zanr, dela, osoba
Mění: film, zanr, dela, osoba
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený a funkční uživatelský účet obsluhy v DB
Výsledek: vložené údaje o filmu a jeho žánru, pokud ještě není v evidenci, a případně o osobách, se zapíše do databáze.
Operace: vytvoření / změna údajů kazety
Popis: obsluha vytváří / mění údaje o kazetě
Čte: kazeta, film
Mění: kazeta
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený a funkční uživatelský účet obsluhy v DB
Výsledek: vložené údaje o kazetě se zapíší do DB.
Operace: prohlížení rezervace filmu
Popis: obsluha zjišťuje rezervace filmu
Čte: rezervace, zakaznik, film, kazeta
Mění: rezervace
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený a funkční uživatelský účet obsluhy v DB
Výsledek: zobrazí se co a na kdy je rezervováno kterému zákazníkovi.
Operace: provedení rezervace
Popis: obsluha rezervuje zákazníkovi film
Čte: rezervace, kazeta, film, zakaznik
Mění: rezervace
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený a funkční uživatelský účet obsluhy v DB, vybraná kazeta není vypůjčena ani rezervována.
Výsledek: zobrazení informace potvrzující úspěšnou rezervaci nebo odmítnutí rezervace.
Operace: prohlížení výpůjček
Popis: obsluha zjišťuje provedené výpůjčky
Čte: rezervace, zakaznik, film, kazeta, vypujcka
Mění:
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený a funkční uživatelský účet obsluhy v DB
Výsledek: zobrazí se co a odkdy je půjčeno kterému zákazníkovi.
Operace: provedení výpůjčky kazety
Popis: obsluha zaznamenává vypůjčení kazety zákazníkovi
Čte: vypujcka, rezervace, zakaznik, kazeta, film
Mění: vypujcka, rezervace
Posílá:
Předpokládá: nainstalovanou a funkční DB, vytvořený a funkční uživatelský účet obsluhy v DB, vybraná kazeta není vypůjčena ani rezervována jinému zákazníkovi.
Výsledek: je-li na kazetu rezervace, je odstraněna a kazeta je v DB vedena jako vypůjčená.
Připojení k WWW rozhraní SVAF
Prohlížení údajů o filmech zákazníkem
Prohlížení / provedení / zrušení rezervace zákazníkem
Prohlížení výpůjček zákazníkem/obsluhou
Vytvoření / prohlížení / změna údajů zákazníka obsluhou
Vytvoření / prohlížení / změna údajů filmu obsluhou
Vytvoření / prohlížení / změna údajů kazety obsluhou
Prohlížení / provedení / zrušení rezervace obsluhou
Evidence výpůjček kazet
Zdroj |
Vedoucí |
Analytik |
PHP prog. |
Delphi prog. |
Dokument. |
Úkol |
Meixner Jiří |
Žďárek Jan |
Brettschneid |
Lottes Josef |
Šubrt Pavel |
Deklarace záměru |
PSO |
|
|
|
|
Odborný článek |
PSO |
|
|
|
|
Diagram kontextu |
S |
PO |
|
|
|
Harmonogram |
PSO |
|
|
|
|
Úprava úvodní studie |
PSO |
PO |
|
|
|
Odevzdání úvodní studie |
SO |
|
|
|
|
Detailní plán analýzy |
PSO |
PO |
|
|
|
Datový model |
PSO |
|
K |
K |
|
Funkční model |
S |
PO |
|
|
|
Datový slovník |
S |
|
|
|
PO |
Úprava analytické studie |
PSO |
PO |
|
|
|
Odevzdání analytické studie |
SO |
|
|
|
|
Návrh reprezentace dat |
PSO |
|
K |
K |
|
Návrh uživatelského prostředí |
S |
|
PO |
PO |
PO |
Plán testování – akce AT |
PSO |
K |
K |
K |
|
WWW dokumentace |
S |
|
|
|
PO |
Implementace videopůjčovny |
|
|
PSO |
|
K |
Implementace prohlížeče |
|
|
|
PSO |
K |
Implementace prostředí Vpůjč. |
S |
|
K |
|
PO |
Instalační příručka Vpůjč. |
|
|
PSO |
|
|
Instalační příručka prohlížeče |
|
|
|
PSO |
|
WWW verze instal.příruček |
S |
|
|
|
PO |
Uživatelské příručky |
|
|
|
|
PSO |
Oponentura na cizí projekt |
|
|
|
|
PSO |
Odevzdání projektu |
SO |
O |
O |
O |
O |
P ... provádí O ... je odpovědný S ... schvaluje K ... konzultuje