Semestrální projekt SI3

 

Systém SVAF pro malou videopůjčovnu.

 

Řešitelský tým

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

Obsah

Řešitelský tým.. 1

Obsah. 1

Úvodní studie. 1

Deklarace záměru. 1

Odborný článek. 1

Kontextový diagram.. 2

Harmonogram.. 3

Analýza. 4

Konceptuální datový model  – E-R diagram.. 4

Popis reprezentace dat4

Seznam entit4

Seznam relací4

Seznam atributů. 5

Minispecifikace. 5

Administrátor5

Zákazník. 5

Obsluha. 6

Diagram datových toků - dataflow.. 8

Návrh uživatelského prostředí13

Matice zodpovědnosti13

 

Úvodní studie

 

Deklarace záměru

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

 

Odborný článek

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.

 

Kontextový diagram

 

Datový slovník

Harmonogram

 

 

Analýza

 

Konceptuální datový model  – E-R diagram

 

Popis reprezentace dat

Seznam entit

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

 

Seznam relací

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

 

Seznam atributů

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

 

Minispecifikace

Administrátor

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.

Zákazník

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.

Obsluha

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

 

Diagram datových toků - dataflow

Konfigurace systému

 

 

Správa uživatelských účtů

 

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

 

Návrh uživatelského prostředí

 

Matice zodpovědnosti

 

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