Professional Documents
Culture Documents
KATEDRA INFORMATYKI
Z06
Rok akad:
Prowadzcy zajcia:
2008/2009
Zesp autorski:
Tomasz Grabiec Jan Hudzik Wojciech Kapuciski Filip Korski tgrabiec@student.agh.edu.pl hudzik@student.agh.edu.pl kapuscin@student.agh.edu.pl korski@student.agh.edu.pl
Niniejsze opracowanie powstao w trakcie i jako rezultat zaj dy daktycznych z przedmiotu wymienionego na stronie tytuowej, pro wadzonych w Akademii Grniczo-Hutniczej w Krakowie (AGH) przez osob (osoby) wymienion (wymienione) po sowach "Prowa dzcy zajcia" i nie moe by wykorzystywane w jakikolwiek sposb i do jakichkolwiek celw, w caoci lub czci, w szczeglnoci pub likowane w jakikolwiek sposb i w jakiejkolwiek formie, bez uzyska nia uprzedniej, pisemnej zgody tej osoby (tych osb) lub odpowiednich wadz AGH. Copyright Akademia Grniczo-Hutnicza (AGH) w Krakowie
Spis treci
1. Wstp............................................................................................................................................................................... 3 2. Opis problemu.................................................................................................................................................................4 3. Koncepcja systemu......................................................................................................................................................... 5 3.1.Opis obszarw aktywnoci i procedur biznesowych.......................................................................... 5 3.2.Opis funkcji............................................................................................................................................7 3.3.Wymagania niefunkcjonalne................................................................................................................8 4. Techniczna dokumentacja projektowa.......................................................................................................................10 4.1.Opis obiektw i powiza midzy nimi............................................................................................. 10 4.2.Analiza dynamiki systemu..................................................................................................................16 4.3.Opis obiektw i powiza midzy nimi............................................................................................. 17 4.4.Analiza kwerend..................................................................................................................................22 4.5.Analiza zoonoci............................................................................................................................... 28 5. Dokumentacja deweloperska.......................................................................................................................................29 5.1.Wstp 29 5.2.Struktura katalogw........................................................................................................................... 29 5.3.Architektura systemu z punktu widzenia programisty................................................................... 30 5.4.Konwencje nazw..................................................................................................................................31 5.5.Kontroler a obszary aktywnoci........................................................................................................ 31 6. Testy...............................................................................................................................................................................37 6.1.Plan testowania....................................................................................................................................37 6.2.Opis testw........................................................................................................................................... 37 6.3.Testy obcieniowe..............................................................................................................................43 6.4.Wnioski dotyczce testw................................................................................................................... 43 7. Podrczniki systemu..................................................................................................................................................... 44 7.1.Podrcznik instalacji, konfiguracji i eksploatacji systemu..............................................................44 7.2.Podrcznik funkcji systemu................................................................................................................46 7.3.Przewodnik uytkownika .................................................................................................................. 47 8. Sprawozdanie z przebiegu prac...................................................................................................................................52
1. Wstp
Administracja oraz zarzdzanie domem studenckim obejmuj liczne obszary. Do najwaniejszych z nich nale: ewidencja oraz zarzdzanie zasobami, obsuga strony finansowej, obieg dokumentw, obsuga spraw zwizanych z yciem codziennym oraz procedury zwizane z zakwaterowaniem studentw
W wyniku prac na przedmiocie Projektowanie Systemw Informatycznych, w semestrze jesiennym roku akademickiego 2007/2008 opracowalimy projekt systemu informatyzujcego ostatni z wymienionych wyej aspektw rezerwacje miejsca w domu akademickim na nastpny rok, poniej oznaczony jako [GHKK08]. W toku prac wyodrbnilimy obszary aktywnoci i procedury biznesowe, opisalimy wymagania uytkownikw, przeanalizowalimy przepyw danych w systemie, magazyny danych i zwizki midzy nimi oraz zmiany stanu systemu w czasie, wreszcie zaprojektowalimy interfejs uytkownika i opisalimy zaoenia implementacyjne. Naturaln konsekwencj tamtego przedsiwzicia jest implementacja projektu. Dokonaa si ona w dwch fazach. Pierwsza wersja systemu powstaa w ramach zaj z przedmiotu Bazy Danych II w semestrze letnim 2007/2008 i obja podstawow funkcjonalno systemu zarzdzanie danymi (uytkownikw, pokoi, rezerwacji) oraz moliwo skadania rezerwacji przez studentw. Prace kontynuowane byy w semestrze jesiennym 2008/2009 na przedmiocie Inynieria Oprogramowania. Na tym etapie pooylimy nacisk na dostosowanie systemu do dziaania w warunkach rzeczywistych, a wic podjlimy kwestie bezpieczestwa, stabilnoci oraz integracji ze standardami przyjtymi przez Administracj Miasteczka. Dodalimy rwnie now funkcjonalno w postaci zapisw grupowych.
2. Opis problemu
Pierwszym zadaniem realizowanym przez system jest okrelenie wszelkich informacji niezbdnych do prawidowego przebiegu rezerwacji. Obejmuje to ustalenie listy uytkownikw oraz listy pokoi w systemie z uwzgldnieniem informacji uzyskanych od kierownictwa (pokoje oraz mieszkacy wyczeni z rezerwacji) oraz konkretne terminy kolejnych etapw. Zarzdzajcy ma dostp do funkcji umoliwiajcych mu zdefiniowanie powyszych parametrw. W pierwszym etapie rezerwacji system oczekuje na potwierdzenie ze strony kadego mieszkaca chci pozostania w obecnie zajmowanym pokoju. Bdzie za to odpowiedzialna procedura potwierdzenia. Miejsca, ktre nie zostay potwierdzone zostan rozdysponowane w kolejnych etapach. Nastpne cztery etapy po jednym dla kadego roku studiw bd realizowane w odpowiednich odstpach czasowych. Do kadego z nich dopuszczeni bd ci mieszkacy, ktrzy speniaj warunek przynalenoci do odpowiedniego rocznika. Przy zapisach obowizuje zasada pierwszestwa. Poniewa s to etapy tosame (rni si jedynie uytkownikami do nich dopuszczonymi) bd one realizowane przy pomocy kopii jednej procedury procedury etapowej. Rezultatem dziaania systemu bdzie utworzenie listy rezerwacji i przekazanie jej administracji akademika. Kady uytkownik ma moliwo stworzenia nowej grupy bd doczenia do grupy ju istniejcej. Rezerwacj w imieniu wszystkich czonkw grupy (nie maj oni moliwoci rezerwacji miejsc) skada jej lider. Kady czonek ma moliwo wystpienia z grupy. Do penej realizacji zada przed nim stawianych system powinienem mie dostp do danych osobowych aktualnych mieszkacw rozwaanego akademika oraz do szczegowego spisu pokoi. Jego funkcje powinna w peni odzwierciedla obowizujcy regulamin rezerwacji.
3. Koncepcja systemu
3.1.Opis obszarw aktywnoci i procedur biznesowych
Na podstawie [GHKK208], strony 5-29.
Obszar studencki Jest to obszar dostpny dla studentw. Zawiera nastpujce funkcjonalnoci
Oglne
Potwierd tosamo Wywietl stan rezerwacji Wywietl list terminw Wywietl list logw Zmie dane Wyloguj
Wywietl list dostpnych miejsc Wcz filtr dostpnych miejsc Usu filtr dostpnych miejsc
Skadanie rezerwacji
Zgo ch pozostania w obecnie zajmowanym pokoju Odwoaj ch pozostania w obecnie zajmowanym pokoju Dokonaj rezerwacj
Wersja: 3.2 z dnia 12.01.2009 Stron: 69 Dugo: 710 kB
Odwoaj rezerwacj
Zapisy grupowe
Wywietl stan zapisw grupowych Utwrz grup Zapro do grupy Wybierz nowego szefa grupy Wypisz si z grupy Potwierd otrzymane zaproszenie Anuluj wysane zaproszenie
Obszar zarzdzania Studentami Jest to obszar dostpny dla zarzdzajcego. Zawiera nastpujce funkcjonalnoci:
Wywietl list studentw Wywietl profil studenta Wcz filtr listy studentw Usu filtr listy studentw Utwrz konto w obszarze studenckim Wczytaj dane studentw z pliku csv Usu wszystkie konta studentw Edytuj dane studenta
Usu konto w obszarze studenckim
Obszar zarzdzania pokojami Jest to obszar dostpny dla zarzdzajcego. Zawiera nastpujce funkcjonalnoci:
Wywietl list pokoi Wywietl dane pojedynczego pokoju Wcz filtr listy pokoi Usu filtr listy pokoi
Wersja: 3.2 z dnia 12.01.2009 Stron: 69 Dugo: 710 kB
Dodaj pokj Wczytaj dane pokoi z pliku csv Usu wszystkie pokoje Edytuj dane na temat pokoju Usu pokj
Obszar zarzdzania rezerwacjami Jest to obszar dostpny dla zarzdzajcego. Zawiera nastpujce funkcjonalnoci:
Dodaj rezerwacj Usu rezerwacj Wywietl list rezerwacji Eksportuj list rezerwacji do pliku
Ustal terminy etapw Wywietl terminy etapw Aktywuj etap Zakocz etap Przerwij etap
Wywietl list logw Wcz filtr listy logw Usu filtr listy logw
3.2.Opis funkcji
Na podstawie [GHKK08], strona 14. Student 1.Konto a.Logowanie/Wylogowanie b.Przypomnienie hasa c.Zmiana hasa d.Zmiana danych osobowych e.Wyraenie/Cofnicie zgody na udostpnienie danych osobowych 2.Rezerwacje a.Przegldnicie listy dostpnych miejsc b.Zgoszenie/odwoanie chci pozostania w obecnym pokoju c.Zoenie/odwoanie rezerwacji na nowy pokj 3.Zapisy grupowe a.Utworzenie grupy b.Wysanie zaproszenia do grupy c.Anulowanie wysanego zaproszenia d.Potwierdzenie otrzymanego zaproszenia e.Wybranie nowego szefa grupy f.Wypisanie z grupy 4.Pokoje a.Przegldnicie listy dostpnych miejsc b.Przefiltrowanie listy c.Usunicie filtra listy
5.Logi a.Wywietlenie listy logw uytkownika b.Przefiltrowanie listy logw c.Usunicie filtra listy logw Zarzdzajcy 1.Konto a.Logowanie/Wylogowanie b.Przypomnienie hasa c.Zmiana hasa d.Zmiana danych osobowych 2.Zarzdzanie uytkownikami a.Utworzenie/usunicie pojedynczego konta b.Utworzenie kont na podstawie pliku csv c.Usunicie wszystkich kont d.Przefiltrowanie listy studentw e.Usunicie filtra listy studentw f.Edycja danych uytkownikw g.Wywietlenie informacji na temat uytkownikw 3.Zarzdzanie pokojami a.Dodanie/usunicie pojedynczego pokoju b.Utworzenie pokoi na podstawie pliku csv c.Usunicie wszystkich pokoi d.Przefiltrowanie listy pokoi e.Usunicie filtra listy pokoi f.Edycja danych na temat pokoju g.Wywietlenie listy pokoi
4.Zarzdzanie rezerwacjami a.Dodanie/usunicie rezerwacji b.Wywietlenie listy rezerwacji c.Eksport listy rezerwacji 5.Zarzdzanie terminami a.Ustalenie terminw poszczeglnych etapw b.Przerwanie trwajcego etapu 6.Zarzdzenie logami a.Wywietlenie listy logw wszystkich uytkownikw b.Przefiltrowanie listy logw c.Usunicie filtra listy logws
3.3.Wymagania niefunkcjonalne
Na podstawie [GHKK08], strona 14.
Wymagania produktowe
Wydajno System musi by na tyle wydajny, oby sprawnie dziaa, w sytuacji kiedy jest podczonych kilkaset uytkownikw. W systemie tym musi dziaa take baza (MySQL, PostgresSQL, lub podobna), serwer WWW (Apache, Tomcat, Jetty) Sprzt Minimalne wymagania do uruchomienia bazy MySQL oraz serwera WWW Apache Pentium II 333 512 MB RAM MHz oraz ok 100 MB wolnego miejsca na dysku oraz poczenie z internetem.
10
Jednak przy szacowanym obcieniu ok 600 uytkownikw zalecana konfiguracja to AMD Opteron 2.0 GHz 1024 MB RAM oraz ok 500 MB wolnego miejsca na dysku oraz poczenie do sieci Gigabitowym Ethernetem.
Odporno Prawdopodobiestwo zniszczenia danych w przypadku awarii systemu musi by moliwie najmniejsze. Idealnym rozwizaniem bdzie konfiguracja pracy dyskw w systemie RAID-1. Podczas awarii jednego dysku wszystkie dane bdzie mona odtworzy z drugiego dysku. Rozwizaniem zastpczym moe by Backup bazy danych jednak naley robi backup kadorazowo po kadym etapie rezerwacji.
Wymagania zewntrzne
atwo uytkowania Aplikacja musi by prosta w zrozumieniu dla uytkownika. Doczony do systemu Manual pomoe uytkownikowi zrozumie proces rejestracji.
Manual mona znale pod adresem http://[adres serwera na ktrym pracuje
system]/help.html Bezpieczestwo Bezpieczestwo systemu jest jednym z podstawowych wymaga niefunkcjonalnych. System musi by odporny na ataki osb trzecich. W tym celu zaleca si uycie pocze szyfrowanych oraz wykorzystanie certyfikatw. Zalecanym sposobem szyfrowania w serwerze WWW Apache jest mod ModSSL.
Ochrona prywatnoci System musi zapewnia prywatno uytkownikw, w szczeglnoci musi by zgodny z Ustaw o ochronie danych osobowych. Peny dostp do danych osobowych powinien mie tylko kierownictwo akademika. Reszta danych powinna by niedostpna nawet dla administratora.
11
3.4.Architektura systemu
Analiza
Projektowany system powinien spenia nastpujce warunki: kady uytkownik sieci LAN powinien mie dostp do projektowanego systemu system powinien by wielodostpowy wydajny z racji na du ilo uytkownikw musi pracowa w czasie rzeczywistym przyjazny interfejs dla uytkownika Analiza wymaga jasno pokazuje, e jedyny moliwy model to architektura klient serwer.
Opis
Serwerem w naszym systemie bdzie serwer WWW.
Wszystkie procedury bd si wykonywa po stronie serwera. Serwer WWW musi take komunikowa si z baz danych. Wszystkie dane powinny by przechowywane w bazie.
12
Diagram komponentowy
13
Diagram wdroeniowy
14
Dodanie warstwy komunikacyjnej Jest to obszar wsplny dla wszystkich uytkownikw (zarwno studentw jak i zarzdzajcych) sucy do wzajemnej komunikacji. W zaoeniach ma on mie struktur forum, gdzie kady uytkownik moe zaoy nowy temat, bd doda wasn wypowied do tematu istniejcego. Dodatkowo zarzdzajcy peni rol moderatora. Dodanie forum nie ma wpywu na podstawow funkcjonalno systemu (tj. skadanie i zarzdzanie rezerwacjami), jest jednak znaczc platform komunikacji midzy uytkownikami.
15
Opis obiektw
Uytkownicy
id_uytkownika : integer login : varchar haso : varchar email : varchar typ : integer
Studenci:
id_uzytkownika: integer imi : varchar nazwisko : varchar rok_studiw : integer wydzia : varchar id_poprzedniego_pokoju : integer pe : char zarezerwowal : boolean telefon : varchar pesel : char
16
zgoda_upublicznianie : boolean potwierdzony : boolean pozostalo_prob : integer zablokowany : integer zablokowany_komentarz : varchar id_grupy : integer
id_grupowy : varchar
Pokoje:
id_pokoju : integer nr_pokoju : integer postfix : char liczba_miejsc : integer dostepne_miejsca: integer rodzaj : char wykluczony: boolean pitro : integer
Grupy:
Zaproszenia:
17
Terminy:
id_terminy : integer data_rozpoczecia : date data_zakonczenia : date czas_rozpoczecia : time czas _zakonczenia : time
Zmienne:
Rezerwacja:
id_rezerwacji : integer data_rezerwacji : date czas_rezerwacji : time id_terminu : integer id_uzytkownika : integer id_pokoju : integer
Logi:
18
19
20
21
Student jest typem uytkownika, dla ktrego pole typ przyjmuje okrelon warto. Posiada on dodatkowe atrybuty, oprcz tych posiadanych jako uytkownik.
Rezerwacje s dokonywane w okrelonych terminach, zalenie od terminu mog dokona rezerwacji rne grupy studentw
22
23
4.3.Analiza kwerend
Poniszy rozdzia na podstawie [GHKK08]
Odnajd studenta
Odnajd zarzdzajcego
Skadnia polecenia:
Skadnia polecenia:
24
Wypisuje pokoje w ktrych znajduj si miejsca dostpne do rezerwacji dla danego studenta o pci plec. Rodzaj pokoju u oznacza e jest on nieokrelony
Skadnia polecenia:
Dodanie rezerwacji
Skadnia polecenia:
INSERT
INTO
Rezerwacje
(data_rezerwacji,
czas_rezerwacji,
id_terminu,
Efekty uboczne 1.
Jeeli wczeniej nie byo nikogo w pokoju to rodzaj pokoju jest ustalany na plec osoby ktra pierwsza si wpisaa do pokoju
Skadnia polecenia: UPDATE Pokoje SET rodzaj = (SELECT plec FROM Studenci WHERE id_uzytkownika = NEW.id_uzytkownika) WHERE id_pokoju = NEW.id_pokoju;
1.
Skadnia polecenia:
25
UPDATE
Studenci
SET
zarezerwowal
WHERE
id_uzytkownika
NEW.id_uzytkownika;
2.
Skadnia polecenia: UPDATE Rezerwacje SET dostepne_miejsca = dostepne_miejsca-1 WHERE id_pokoju = NEW.id_pokoju;
Usunicie rezerwacji
Skadnia polecenia:
Efekty uboczne 1.
id_uzytkownika=OLD.id_uzytkownika;
1.
NEW.id_uzytkownika;
Plik: Akademik v3.2.odt Copyright Akademia Grniczo-Hutnicza Wersja: 3.2 z dnia 12.01.2009 Stron: 69 Dugo: 710 kB
26
Dodanie studenta
Tworzy nowego studenta. Do tabel studenci i uytkownicy jest dodawany rekord o okrenych wartociach atrybutw.
Skadnia polecenia:
INSERT INTO Uzytkownicy (login, haslo, email) VALUES(login, haslo, email); SET id = (SELECT id_uzytkownika FROM Uzytkownicy WHERE
Uzytkownicy.login=login); INSERT INTO Studenci (id_uzytkownika, imie, nazwisko, rok_studiow, uczelnia , kierunek, data_urodzenia, id_poprzedniego_pokoju, plec) VALUES (id, imie, nazwisko, rok_studiow, uczelnia , kierunek, data_urodzenia, id_poprzedniego_pokoju, plec);
Usunicie studenta
Skadnia polecenia:
DELETE FROM Studenci WHERE id_uzytkownika = id_uzyt; DELETE FROM Uytkownicy WHERE id_uzytkownika = id_uzyt;
Efekty uboczne
27
Skadnia polecenia: UPDATE Uzytkownicy SET (login, haslo, email) VALUES(login, haslo, email);
SET
id
(SELECT
id_uzytkownika
FROM
Uzytkownicy
WHERE
Uzytkownicy.login=login);
UPDATE Studenci SET (id_uzytkownika, imie, nazwisko, rok_studiow, uczelnia ,
kierunek, data_urodzenia, id_poprzedniego_pokoju, plec) VALUES (id, imie, nazwisko, rok_studiow, uczelnia , kierunek, data_urodzenia, id_poprzedniego_pokoju, plec);
Dodanie pokoju
Tworzenie nowego pokoju. Do tabeli Pokoje jest dodawany rekord o okrelonych wartociach atrybutw.
Skadnia polecenia:
28
INSERT INTO Pokoje (id_pokoju, nr_pokoju, postfix, pietro, dostepne_miejsca, liczba_miejsc, rodzaj, wykluczony) VALUES(id_pokoju, nr_pokoju, postfix, pietro, dostepne_miejsca, liczba_miejsc, u, wykluczony)
Usunicie pokoju
Skadnia polecenia:
Efekty uboczne
Skadnia polecenia: UPDATE Pokoje SET (id_pokoju, nr_pokoju, postfix, pietro, dostepne_miejsca,
liczba_miejsc, rodzaj, wykluczony) VALUES(id_pokoju, nr_pokoju, postfix, pietro, dostepne_miejsca, liczba_miejsc, u, wykluczony)
29
Skadnia polecenia: SELECT * FROM Pokoje WHERE id_ pokoju = id_ pokoj
Dodanie terminu
Tworzenie nowego terminu. Do tabeli Terminy jest dodawany rekord o okrelonych warto ciach atrybutw.
Skadnia polecenia:
30
INSERT
INTO
Terminy
(id_terminu,
data_rozpoczecia,
data_zakonczenia,
Pobiera daty rozpoczcia i zakoczenia terminw z tabeli Terminy w celu sprawdzenia ich spjnoci
Dodanie rezerwacji
Tworzenie nowej rezerwacji. Do tabeli Rezerwacje jest dodawany rekord o okrelonych wartociach atrybutw.
Skadnia polecenia INSERT INTO Rezerwcje (id_uzytkownika, id_pokoju, id_terminu, data_rezerwacji, czas_rezerwacji)
31
Wypisanie listy rezerwacji, wraz z danymi studentw ktrych dotyczy owa rezerwacja
Skadnia polecenia SELECT imie, nazwisko FROM Rezerwacje LEFT JOIN Studenci ON
Rezerwacje.id_rezerwacji=id_studenta;
Skadnia polecenia:
Dodanie logu
Skadnia polecenia: INSERT INTO Logi (id_logu, id_uzytkownika, id_typu, data, czas, tresc, ip)
VALUES(id_logu, id_uzytkownika, id_typu, data, czas, tresc, ip)
32
4.4.Analiza zoonoci
Zoono obliczeniowa poszczeglnych kwerend trudno oceni. W specyfikacji bazy nie ma informacji o tym jakie s zoonoci poszczeglnych operacji. Uzalenione s one od wewntrznej implementacji bazy. Take uyty przez nas MySQL ma zaimplementowane 3 silniki, ktre rni si miedzy sob sposobem dziaania oraz sposobem przechowywania danych.
Jednake mona wysnu pewne wnioski. Operacje INSERT mog mie zoono od O(1) (rekordy dopisywane na koniec tabeli silnik oparty na CVS) do O(n^2) jeeli dane s wstawiane w odpowiednie miejsce. Operacje DELETE rwnie mog si waha od O(n) do O(log2 N) w zalenoci jaki by sposb INSERT do bazy. Operacje JOIN maja zoono O(n^2) poniewa tworzony jest wtedy iloczyn kartezjaski zbiorw.
W naszym przypadku uywamy bardzo prostych operacji na bazie ze wzgldu na planowana prace pod duym obcieniem. Dlatego baza zostaa tak zaprojektowana aby kwerendy byy jak najprostsze oraz miay najmniejsz zoono obliczeniow.
System operacyjny
darmowy
Wersja: 3.2 z dnia 12.01.2009 Stron: 69 Dugo: 710 kB
33
dobrze znany zainstalowany w akademiku stabilny obsuguje rne potrzebne nam narzdzia, w szczeglnoci serwery WWW (Apache) i bazodanowe (jak MySql, PostgreeSQL)
Serwer WWW
darmowy przystosowany do obsugiwania dynamicznych stron WWW bardzo popularny, a wic sprawdzony stabilny zapewnia bezpieczestwo pocze (SSL/TSL) obsuguje uwierzytelnianie zainstalowany w akademiku
34
do dobrze przez nas znany atwy do nauki uwaany za jeden z najwydajniejszych serwerw dla maych baz danych a wic takich jak nasza
Jzyk programowania
Szukalimy jzyka nadajcego si do tworzenia dynamicznych stron WWW. Zdecydowalimy si na PHP [8], poniewa jest:
popularny, a wic istnieje duo materiaw do nauki, posiada interfejs do wielu systemw baz danych (w szczeglnoci MySQL) wydajny zorientowany obiektowo
35
5. Dokumentacja deweloperska
5.1.Wstp
System jest zaimplementowany w jzyku PHP5 z uyciem framework'a CakePHP w wersji 1.2.0.6311-beta. Szczegowy opis framework'a mona znale na stronie projektu pod adresem www.cakephp.org. CakePHP umoliwia szybkie tworzenie aplikacji webowych w PHP w oparciu o wzorzec MVC (Model-View-Controller). Dostarcza wygodny i uniwersalny interfejs do komunikacji z baz danych, dziki czemu stworzona przez nas aplikacja w do wysokim stopniu uniezaleni si od uytego serwera bazy danych.
5.2.Struktura katalogw
Pliki projektu umieszczone s w strukturze katalogw opisanej poniej:
/cake Pliki framework'a /cake/libs/controller/app_controller.php Klasa bazowa wszystkich kontrolerw /app Pliki aplikacji /app/controllers pliki z kodami klas kontrolerw oraz komponentw. /app/models pliki z kodami klas modelw /app/views pliki zwizane z prezentacj /app/views/layouts ukady stron (html) /app/views/<nazwa>/*.thtml widoki kontrolera <nazwa>Controller /app/config pliki konfiguracyjne /app/config/database.php konfiguracja sterownika i poczenia z baz danych /app/config/core.php Gwny plik konfiguracyjny
36
37
5.4.Konwencje nazw
Uywajc framework'a cakePHP warto stosowa si do zasady convention over configuration (konwencja zamiast konfiguracji), dziki ktrej nie trzeba konfigurowa cieek do poszczeglnych czci systemu oraz powiza midzy klasami. Aby mc z tego korzysta, naley odpowiednio nazywa klasy i umieszcza je w odpowiednich miejscach. Jak to zrobi opisano poniej. Pliki z kodami klas modeli znajduj si w katalogu /app/models/ i powinny by nazwane maymi literami, tak samo jak nazwa klasy modelu. Nazwy klas modeli powinny by nazwane du liter, potem mae (tzw. notacja CamelCased), w liczbie pojedynczej od nazwy tabeli, ktrej dotycz, np. Room, Student. Nazwy klas kontrolerw powinny by w notacji CamelCased, pierwsza cz powinna by liczb mnog od nazwy klasy modelu, ktrego dotyczy. Druga cz to przyrostek Controller (np. RoomsController). Klasa powinna si znajdowa w pliku o nazwie odpowiadajcej nazwie klasy kontrolera, pisanej maymi literami z wyrazami oddzielonymi podkreleniem (np. rooms_controller.php) i powinna si znajdowa w katalogu /app/controllers. Nazwa pliku z widokiem powinna si nazywa tak samo, pomijajc rozszerzenie, jak nazwa metody odpowiedniego kontrolera (np. add.thtml dla metody add()). Plik powinien by umieszczony w katalogu /app/views/<kontroler>/, gdzie <kontroler> to nazwa kontrolera pisana maymi literami bez przyrostka controller (np. /app/view/rooms dla kontrolera RoomsController).
Obszar oglny
Kontroler: AuthenticationController Uywa modeli: User Metoda index() rescue()
Plik: Akademik v3.2.odt Copyright Akademia Grniczo-Hutnicza
38
Wyloguj Wywietla stron potwierdzania tosamoci studenta Wywietla stron z informacj o zablokowaniu konta
Obszar studencki
Kontroler: StudentsAreaController Uywa modeli: User, Reservation, Student, Room Metoda cancel() rooms() book() Funkcja Odwoaj rezerwacj oraz Odwoaj ch pozostania w obecnie zajmowanym pokoju Wywietl list dostpnych pokoi Dokonaj rezerwacji oraz Zgo ch pozostania w obecnie zajmowanym pokoju. Jeeli student naley do grupy i aktualny etap jest wikszy od 1, to zapisywani s te wszyscy czonkowie grupy. Wywietla stron edycji danych i preferencji studenta Wywietla stron z logami operacji studenta.
edit() logs()
Kontroler: GroupsController Uywa modeli: User, Reservation, Student, Room, Log, Group, Invitation Metoda cancel_inv( $id ) reject_inv( $id ) accept_inv( $id ) Funkcja Anuluj wysane zaproszenie Odrzu odebrane zaproszenie Przyjmij zaproszenie. Jeeli wszystkie warunki poprawnociowe s spenione, zapisuje studenta do grupy.
invitations( $send = 0, $student = null ) Wywietl list zaprosze (odebranych lub wysanych). Metoda wywoywana porednio, przez funkcj main(). invite() Wylij zaproszenie do grupy
39
Wybierz nowego szefa grupy. Jeeli $leave = 1, to po wybraniu nowego szefa student jest wypisywany z grupy. Wypisz si z grupy. Jeeli student jest szefem grupy, musi najpierw wybra nowego szefa grupy (elect). Pokazuje stron z szczegami dotyczcymi grupy. Funkcja jest dostpna dla odbiorcw zaprosze o statusie 'niepotwirdzony'. Tworzy now grup. Automatycznie zapisuje studenta do niej i mianuje go jej szefem. Wywietla gwn stron dot. zapisw grupowych. Pokazuje identyfikator grupwy studenta, dane grupy do ktrej naley, oraz list zaprosze wysanych lub odebranych.
details( $id )
40
Sprawdza poprawno formatu danych w pliku, z ktrego maj by wczytane rekordy (studenci) Wywietla informacj o wymaganym formacie pliku z rekordami (studenci) Wywietla stron z wyborem kryteriw filtrowania listy studentw. Usuwa kryteria filtrowania.
details( $id )
41
42
Uywa modeli: User, Log,Student Metoda index() filter() removeFiltr() Funkcja Wywietla tabel z logami. Wywietla stron umoliwiajc wybr kryteriw filtrowania. Usuwa kryteria filtrowania logw.
Modele
Modele odpowiedzialne s za persystencj danych. Jeden model odpowiada jednej tabeli w bazie danych. Moe by powizany z innymi modelami, co bdzie skutkowao np. automatycznym pobraniem danych z innych tabel. Ponisza tabela opisuje zwizek klas modeli z baz danych, oraz ewentualne powizania midzy modelami: Tabela w bazie danych Model Uzytkownicy User Studenci Student belongsTo( Room (id_poprzedniego_pokoju) ), hasOne( User (id_uzytkownika) ), hasOne ( Reservation (id_rezerwacji) ) Pokoje Rezerwacje Room Reservation belongsTo( Student (id_rezerwacji) ), belongsTo( Room (id_pokoju) ), belongsTo( User (id_uzytkownika) ) Terminy Zmienne Grupy Logi Term Variable Group Log
43
requireStudent() requireSomeone()
44
CheckUserPrivilege()
Funkcja sprawdza, czy student nie ma zablokowanego konta i ma potwierdzon tosamo. Jeeli nie, przekierowuje do odpowiedniej strony. Wywoywana w kontrolerze StudentsArea::beforeFilter().
SaveUrl() Funkcja zapisuje aktualny URL w $this->data RestoreUrl() Funkcja przekierowuje do adresu zapisanego przez funkcj SaveUrl(). W tym celu w formularzu naley utworzy ukryte pole 'Navigation.referer'.
Klasa: AppModel (cake/libs/model/app_model.php) Metoda Opis deleteAll( $conditions ) Funkcja maskuje metod deleteAll klasy Model. Kady rekord kasowany jest osobno (aby wowoana bya jego metoda beforeDelete).
Klasa: Student Metoda Opis book( $id, $phase ) getStudentSelect($cond) getGroupMembers($id) generateGID() checkIdGrupowy( $id ) Tworzy rezerwacj studenta w danym pokoju ($id) i terminie ($phase). Zwraca list studentw speniajcych okrelone warunki przeznaczon do wywietlenia np. w polu rozwijalnym. Zwraca list studentw nalecych do grupy identyfikowanej przez $id. Generuje losowy identyfikator grupy (osiem cyfr) Funkcja sprawdza, czy student posiada przypisany identyfikator grupowy. Jeeli nie, generuje nowy unikalny identyfikator i przypisuje go studentowi. Funkcja zwraca identyfikator jako wynik.
getStudentSelectForInvite( $cond, $all_public = false ) Funkcja zwraca list studentw przeznaczon do wywietalania w formularzu wysyania zaprosze do grupy. Jeeli $all_public = false, to kady student, ktry nie wyrazi zgody na upublicznianie danych jest identyfikowany przez swj identyfikator grupowy. Pozostali studenci, lub wszyscy studenci jeeli $all_public = true, s identyfikowani przez imi, nazwisko, rok studiw, wydzia. GetBlockedMessage( $student ) Zwraca powd zablokowania konta studenta lub pusty napis, jeeli konto nie zablokowane.
45
Klasa: Room Metoda Opis getRoomSelect($cond) beforeSave() Zwraca list pokojw speniajcych okrelone warunki przeznaczon do wywietlenia np. w polu rozwijalnym. Metoda jest wywoywana automatycznie przed zapisaniem modelu do bazy. Jeeli pokj jest tworzony, to ustawia pole liczba_dostepnych_miejsc na warto pola liczba_miejsc. Podczas modyfikacji, jeeli warto pola wykluczony ulega zmianie, usuwane s wszystkie rezerwacje z tego pokoju. Metoda wywoywana automatycznie przed usuniciem pokoju. Usuwa wszystkie rezerwacje z pokoju.
beforeDelete()
Klasa: User Metoda Opis generateLogin() radnomPassword() Na podstawie zadanego imienia i nazwiska generuje i zwraca unikalny w systemie login. Zwraca losowe 8 znakowe haso zoone z liter alfabetu aciskiego.
46
6. Testy
6.1.Plan testowania funkcjonalnoci
Testowanie caej aplikacji polega dogbnym przeanalizowaniu dziaania caego systemu. W tym celu przetestowano kad z dostpnych funkcji, za pomoc rnych danych wejciowych. Wyniki przedstawiono w formie sownego opisu rezultatu dziaania. Dla kadego testu wycignito wniosek, odpowiadajcy na pytanie czy aplikacja zachowaa si zgodnie z przewidywaniami, a jeeli nie, to jaki jest poprawny rezultat.
Zaloguj si na konto 1. Poprawne wprowadzenie loginu i hasa studenta Rezultat: Wejcie do czci studenckiej Wniosek: System zachowa si zgodnie z zaoeniami
2. Poprawne wprowadzenie loginu i hasa zarzdzajcego Rezultat: Wejcie do czci zarzdzajcego Wniosek: System zachowa si zgodnie z zaoeniami
3. Poprawne wprowadzenie loginu, niepoprawne lub brak hasa Rezultat: Wygenerowany komunikat o bdzie Wniosek: System zachowa si zgodnie z zaoeniami
4. Niepoprawne wprowadzenie loginu Rezultat: Wygenerowany komunikat o bdzie Wniosek: System zachowa si zgodnie z zaoeniami
47
Przypomnij haso 1. Poprawne wprowadzenie loginu i adresu email studenta Rezultat: Mail nie dochodzi do adresata Wniosek: Bd systemu, mail z hasem powinien doj do studenta
1. Niepoprawne wprowadzenie loginu i adresu email Rezultat: Komunikat o bdzie i brak moliwoci odzyskania hasa Wniosek: System zachowa si zgodnie z zaoeniami
Obszar studencki
Z rezerwacj 1. Zoenie rezerwacji w odpowiednim termie i przy braku zoonych rezerwacji Rezultat: Rezerwacja si powioda, zosta zmieniony ekran pocztkowy w menu obszaru studenckiego i tabela z rezerwacjami w obszarze zarzdzajcego Wniosek: System zachowa si zgodnie z zaoeniami.
2. Zoenie rezerwacji przez osob ktra ju zoya rezerwacje, lub ktra nie jest upowaniona do skadania rezerwacji w danym terminie, albo rezerwacja jest nieaktywna
Anuluj rezerwacj 1. Anulowanie rezerwacji Rezultat: Rezerwacja zostaa anulowana, zosta zmieniony ekran pocztkowy w menu obszaru studenckiego i tabela z rezerwacjami w obszarze zarzdzajcego, student moe ponownie zarezerwowa (pod warunkiem gdy jest odpowiedni termin i rezerwacja jest aktywna) Wniosek: System zachowa si zgodnie z zaoeniami.
48
Lista pokoi jest dostpna zawsze w zakadce pokoje, jej wywietlenie nie wymaga adnej aktywnoci za strony studenta
Wywietl dane studenta Lista danych studenta jest dostpna zawsze w zakadce twoje dane, jej wywietlenie nie wymaga adnej aktywnoci ze strony studenta
Utwrz konto w obszarze studenckim 1. Poprawne wprowadzenie danych (login, haso, imi, nazwisko, wydzia, rok studiw, pe, numer poprzedniego pokoju)
Rezultat: Zostao utworzone konto studenta, widoczne na licie studentw. W przypadku braku danych polach: rok studiw, nr poprzedniego pokoju i pe zostay wprowadzone wartoci domylne (odpowiednio: 1, brak i kobieta). Dane studenta s od teraz widoczne na licie studentw.
1. Niepoprawne wprowadzenie ktry z poniszych danych (login, imi, nazwisko, rok studiw). Rezultat: Nie zostao utworzone konto studenta, zosta wygenerowany komunikat o bdzie Wniosek: System zachowa si zgodnie z zaoeniami
Usu konto w obszarze studenckim 1. Usunicie studenta Rezultat: Konto danego studenta zostao usunite. Student zosta usunity z listy podobnie jak jego rezerwacji Wniosek: System zachowa si zgodnie z zaoeniami.
49
System zachowa si dokadnie tak samo, jak w przypadku utworzenia konta studenta
Wywietl list studentw Lista studentw jest dostpna zawsze w zakadce studenci jej wywietlenie nie wymaga adnej aktywnoci za strony zarzdzajcego
Wywietl dane pojedynczego studenta 1. Wywietlenie danych studenta Rezultat: Dane danego studenta zostaj wywietlone Wniosek: System zachowa si zgodnie z zaoeniami
Rezultat: Zosta utworzony pokj, widoczny na licie pokoi.(take w obszarze studenckim) W przypadku braku danych w polach: pitro, wykluczony, zostay wprowadzone wartoci domylne (odpowiednio: 0, nie). Dane pokoju s od teraz widoczne na licie pokoi.
1. Niepoprawne wprowadzenie ktry z poniszych danych (numer, liczba miejsc), lub wpisanie istniejcego ju numeru Rezultat: Nie zostao utworzone konto pokoju, zosta wygenerowany komunikat o bdzie Wniosek: System zachowa si zgodnie z zaoeniami
Usu dane pokoju 1. Usunicie pokoju Rezultat: pokj zosta usunity z systemu, rezerwacje w nim zoone usunite.
50
Edytuj dane pokoju System zachowa si dokadnie tak samo, jak w przypadku utworzenia danych pokoju, z tym e nie mona modyfikowa numeru pokoju
Wywietl list pokoi Lista pokoi jest dostpna zawsze w zakadce pokoje, jej wywietlenie nie wymaga adnej aktywnoci za strony zarzdzajcego
Wywietl dane pojedynczego pokoju 1. Wywietlenie danych pokoju Rezultat: Dane danego pokoju zostaj wywietlone Wniosek: System zachowa si zgodnie z zaoeniami
Dodaj rezerwacje 1. Dodanie rezerwacji Rezultat: Rezerwacja zostaa dodana. Wniosek: System zachowa si zgodnie z zaoeniami.
Usunicie rezerwacji 1. Usunicie rezerwacji Rezultat: Rezerwacja zostaa usunita. Wniosek: System zachowa si zgodnie z zaoeniami.
51
Lista rezerwacji jest dostpna zawsze w zakadce rezerwacje, jej wywietlenie nie wymaga adnej aktywnoci za strony zarzdzajcego
Ustal terminy etapw 1. Poprawne wprowadzenie danych Rezultat: Terminy zostay zmienione Wniosek: System zachowa si zgodnie z zaoeniami.
Rezultat: Terminy nie zostay zmienione, zosta wygenerowany komunikat o bdzie Wniosek: System zachowa si zgodnie z zaoeniami.
Wywietl terminy etapw Lista terminw etapw jest dostpna zawsze w zakadce terminu, jej wywietlenie nie wymaga adnej aktywnoci za strony zarzdzajcego
Aktywuj etap 1. Aktywacja etapu Rezultat: Etap zosta aktywowany, odpowiedni studenci mog rezerwowa miejsca, Wniosek: System zachowa si zgodnie z zaoeniami.
Przerwij etap 1. Przerwanie etapu Rezultat: Etap zosta przerwany, adni studenci nie mog rezerwowa miejsca, Wniosek: System zachowa si zgodnie z zaoeniami.
52
Przeprowadzone beta testy caoci systemu jasno wykazay, e mimo drobnych mankamentw system dziaa poprawnie. Bdy najczciej dotyczyy mniej istotnych elementw aplikacji i nie powodoway utraty jej funkcjonalnoci, zwizanych z rezerwacj miejsc w pokojach.
6.4.Testy obcieniowe
Testy zostay przeprowadzone na komputerze o konfiguracji 2xPentium III 800Mhz 1280 RAM ECC. Testy byly przeprowadzone z uyciem programu JMeter
Przeprowadzenie testow
Uzytkownicy logowali sie z "prdkoscia" 10 uytkownikw na 1 sek. Ilo bldw ~85% (przekroczony limit pamieci na serwerze)
Dla 50 uzytkownikw:
Dla 20 uzytkownikw:
5 uytkownikw loguje sie w czasie 1 sek, ilo bldw ~20% Czasy na request sie nie zmienialy ok 2,2 -2,7 sek. Zuycie procesorw podczas testowania wynisio 100%.
Wnioski.
Gorna granica wynosi 50 rownolegych poczen. Wynika to to z dostepnej pamieci na serwerze. Przy ok 200 osobach ktore rwnoczesnie chc skorzystac z systemu potrzeba ok (200x20MB na proces/watek) 4GB RAM.
53
54
7. Podrczniki systemu
7.1.Podrcznik instalacji, konfiguracji i eksploatacji systemu
Instalacja i konfiguracja aplikacji
Instalacja samej aplikacji sprowadza si do rozpakowania lub skopiowania aplikacji w wybranym miejscu. Wane jest, aby ustawi waciciela caej hierarchii jako uytkownika uywanego przez serwer WWW. Inni uytkownicy nie powinni mie dostpu do kodw aplikacji ze wzgldw bezpieczestwa. Wane jest, aby ustawi uprawnienia do zapisu w katalogu /app/tmp, oraz wyczyci cache: rm -Rf app/tmp/cache/* Kolejn rzecz jak naley zrobi, jest konfiguracja poczenia z baz danych. Konfiguracja ta znajduje si w pliku /app/config/database.php. Naley odpowiednio ustawi adres serwera ('host'), login uytkownika ('login'), haso uytkownika ('password'), oraz nazw bazy danych ('database').
Aplikacja do dziaania wymaga bazy MySQL w wersji wikszej ni 5.0.2. Baz mona pobra ze strony http://www.mysql.com/ Informacje dotyczce instalacji bazy znajduj si na stronie http://dev.mysql.com/doc/refman/5.0/en/
55
Po uruchomieniu "demona" bazy odtwarzamy baz z pliku db.sql doczonego do aplikacji w nastpujcy sposb : 1. Jeeli w bazie nie istniej adni uytkownicy tworzymy nowego uytkownika. 2. Tworzymy baz poleceniem CREATE DATABASE "Nazwa"; 3. Przyznajemy uytkownikowi prawa do modyfikacji, uaktualnienia, usuwania rekordw dla naszej nowo powstaej bazy. 4. Edytujemy plik db.sql i w pierwszej linii dopisujemy USE "nazwa naszej nowej bazy". 5. Odtwarzamy baz z pliku sql doczonego do aplikacji: mysql -u "uytkownik" -p < "[cieka do pliku]"/db.sql
Zalecenia
Ze wzgldu bezpieczestwa nie powinno si pracowa na uytkowniku root. Uytkownik, ktry bdzie si czy z serwerem WWW powinien mie tylko przywileje INSERT, UPDATE, DELETE na tabelach. Zalecana jest take najnowsza wersja MySQL z serii 5.0.X
Moliwe problemy
Jeeli niemoliwe jest stworzenie bazy (brak uprawnie) skontaktuj si z administratorem serwera i popro o utworzenie takiej bazy. Brak moliwoci odtworzenia bazy z pliku moe by spowodowana brakiem uprawnie. Skontaktuj si z administratorem.
Mozliwosci optymalizacji
Zmiana serwera na lighthttp oraz uzycie z pgp-fastcgi i xcache. Przetestowanie dokladniej naszej aplikacj z xCache i wyciagnicie wnioskw. Uycie profiler'a jezeli istnieje dla php i wychwycenie miejsc w ktrych uycie pamici jest najwiksze oraz optymalizacja tych miejsc.
Uwagi
Baza powinna dziaa na silniku MyISAM. Nie dziaa na silniku InnoDB. Stworzona i testowana bya na MySQL 5.0.56
Wersja: 3.2 z dnia 12.01.2009 Stron: 69 Dugo: 710 kB
56
57
7.2.Przewodnik uytkownika
Obszar wsplny
Uwaga: W poniszej instrukcji w podrozdziaach dotyczcych elementw systemu wicych si z koniecznoci wprowadzenia danych przez uytkownika znajduj si uwagi odnonie walidacji, tzn. formatu danych wejciowych akceptowanych przez aplikacj. Naley szczegln uwag przywiza do wprowadzania danych, gdy system zaakceptuje dane bdne ale o prawidowym formacie (np. numer pokoju 2000, nie istniejcy w adnym akademiku).
58
W celu skorzystania z aplikacji Akademik naley przej do strony <ostateczny adres strony>. Aby si zalogowa naley na ekranie pocztkowym wpisa swj login i haso w odpowiednich miejscach i klikn przycisk Zaloguj. Po kartk z loginem i hasem naley zgosi si bezporednio do wyznaczonej osoby z akademika. W przypadku wpisania bdnego hasa naley wprowadzi haso i login ponownie. W przypadku zapomnienia hasa naley klikn napis tutaj na dole ekranu, a nastpnie wprowadzi login i adres e-mail w odpowiednich polach i klin przycisk Odzyskaj
59
Obszar studencki
60
grupowych student bdzie identyfikowany za pomoc losowego numeru, a nie imienia i nazwiska. Powysze dane mona zmienia take pniej, korzystajc z zakadki Twoje dane.
W obszarze studenckim, w prawym grnym rogu ekranu znajduje si imi i nazwisko uytkownika, oraz przycisk Wyloguj si, sucy do wyjcia z czci studenckiej programu. Ponad to znajduj si tam informacja czy rezerwacja jest aktywna oraz aktualna data i czas.
W zakadce Rezerwacja zaprezentowany jest stan rezerwacji studenta, oraz terminy. W odpowiedni sposb zaznaczony jest aktualny termin, oraz ten w ktrym student ma prawo dokona rezerwacji.
W zakadce Twoje dane znajduj si dane i preferencje uytkownika. Student ma prawo je zmienia, tak jak to miao miejsce podczas pierwszego zalogowania.
W zakadce Pokoje s przedstawione pokoje. Uytkownik moe zdefiniowa filtr, dziki ktremu bd widoczne tylko okrelone pokoje kryteria to ilo miejsc, parzysto numeru rodzaj (damski/mski) i dostpno. Usunicie filtra powoduje wywietlenie wszystkich pokoi. Aby zarezerwowa pokj naley klikn przycisk Rezerwuj (jest to moliwe oczywicie tylko wtedy, gdy rezerwacja jest dostpna dla uytkownika).
W zakadce Zapisy Grupowe student moe obsuy sprawy zwizane z zapisami grupowymi. System umoliwia kademu uytkownikowi zaoy now grup poprzez kliknicie napisu Utwrz now grup - ktrej zostaje automatycznie szefem. Szef podczas zapisw zapisuje nie tylko siebie, ale wszystkich czonkw grupy. Szef moe wybra nowego szefa spord czonkw grupy poprzez kliknicie napisu Wybierz nowego szefa oraz zaprosi do grupy poprzez kliknicie napisu Zapro do grupy dowolnego studenta tej samej pci nie bdcego w adnej grupie. Osoba ktra otrzymuje zaproszenie moe je przyj lub odrzuci. Kady czonek moe wypisa si z grupy poprzez kliknicie napisu Wypisz si z grupy.
61
W zakadce Logi prezentowane s logi, tzn. krtkie informacje o czasie i rodzaju dziaa uytkownika.
62
Obszar zarzdzajcego
Cz aplikacji przeznaczona dla administratora pozwalajca zarzdza systemem. W prawym grnym rogu ekranu znajduje login uytkownika, oraz przycisk Zmie dane pozwalajcy zarzdzajcemu zmieni haso i e-mail, a take przycisk Wyloguj, sucy do wyjcia z czci programu przeznaczonej dla zarzdzajcego. Ponad to znajduj si tam informacja czy rezerwacja jest aktywna oraz aktualna data i czas.
W zakadce Studenci znajduje si lista studentw. Rekordy mona posegregowa wedug kadego z parametrw. Aby zmodyfikowa lub usun dane studenta naley klikn odpowiednio przycisk Modyfikuj lub Usu. Poprzez kliknicie napisu Filtr uytkownik moe zdefiniowa filtr, dziki
63
ktremu bd widoczne tylko okreleni studenci kryteria to imi, nazwisko, rok studiw, wydzia i aktualny pokj. Usunicie filtra powoduje wywietlenie wszystkich studentw. Aplikacja pozwala take na dodanie nowego studenta (klikajc napis Dodaj studenta i wypeniajc pola odpowiednimi danymi) i usunicie wszystkich studentw z listy (klikajc napis Usu wszystkich studentw). Ponadto program umoliwia dodanie listy studentw, poprzez kliknicie napisu Wczytaj dane studentw. Po jego klikniciu pojawia si zakadka umoliwiajca wybr pliku z danymi. Ponadto mona klikn napis czytaj wicej, aby dowiedzie si szczegw dotyczcych formatu danych. Uwaga: Aby doda rcznie studenta naley wypeni wszystkie podane pola: imi, nazwisko, email, uczelnia i kierunek. E-mail ma by w formie login@adres. Pola rok studiw, data urodzenia, nr poprzedniego pokoju i pe winny by wybrane z rozwijalnego menu.
W zakadce Pokoje zaprezentowane s dane pokoi w akademiku. Podobnie jak w przypadku studentw, aplikacja pozwala na dodawanie (rczne lub z pliku), modyfikacje, usuwanie (pojedyncze jak i wszystkich) pokoi, oraz zakadanie lub anulowanie filtrw, poprzez kliknicie odpowiednich przyciskw. Uwaga: Aby doda rcznie pokj naley wypeni pola numer i liczba miejsc. Pole pitro jest nieobowizkowe puste jest tosame z rwnym 0. Numer pokoju jest liczb skadajc si z od 1 do 4 cyfr. Liczba miejsc jest liczb z przedziau 1-4. Znacznik wykluczony i ewentualna kocwka a przy numerze pokoju s wybierane z rozwijalnego menu
W zakadce Rezerwacje przedstawiane s wszystkie rezerwacje pokoi, utworzone zarwno przez zarzdzajcego, jak i przez studentw. Tu take jest moliwo ich dodania oraz usunicia (pojedynczego jak i wszystkich), poprzez kliknicie odpowiednich przyciskw. Ponadto aplikacja umoliwia wyeksportowania listy rezerwacji do pliku. Uwaga: Aby doda rezerwacje naley wygra imi i nazwisko studenta oraz numer pokoju z rozwijalnych menu. Dane studentw s zawsze poprawne tzn. s to studenci istniejcy w systemie
Plik: Akademik v3.2.odt Copyright Akademia Grniczo-Hutnicza Wersja: 3.2 z dnia 12.01.2009 Stron: 69 Dugo: 710 kB
64
i nie posiadajcy jeszcze rezerwacji. Numer musi odnosi si do pokoju z co najmniej jednym miejscem wolnym.
Zakadka Terminy rezerwacji pozwala na zarzdzanie terminami. Program udostpnia moliwo aktywowania (lub przerywania) rezerwacji oraz zmian terminw rezerwacji, poprzez kliknicie odpowiednich przyciskw. Uwaga: Aby zmieni terminy rezerwacji naley wybra rok oraz miesic, dzie, godzin i minut rozpoczcia i zakoczenia z rozwijalnych menu. Data zakoczenia danego terminu nie moe by pniejsza ni data rozpoczcia kolejnego (tzn. terminy nie mog si nakada).
W zakadce ostatniej zakadce, Logi prezentowane s logi, tzn. krtkie informacje o czasie i rodzaju dziaa wszystkich uytkownikw.
65
Tomasz Filip
Wojciech
opracowanie stworzenie
dokumentacji projektowej
Opis szczegowy
Spotkania
z dyrektorem Miasteczka AGH i omwienie problemu - JH, FK, WK oglnej koncepcji projektu - JH aktywnoci - JH
Opracowanie
biznesowych JH
Opisanie wymaga
sownika poj JH
Stworzenie
Projekt
66
przeprowadzenie opracowanie
Opis szczegowy
implementacja implementacja opracowanie
systemu ze standardami administracji Miasteczka AGH stabilnoci i bezpieczestwa systemu testw systemu
zwikszenie
przeprowadzane aktualizacja
dokumentacji projektowej mechanizmu weryfikacji uytkownika TG logw aktywnoci uytkownikw FK filtrw tabel WK, FK
Opis szczegowy
implementacja implementacja implementacja dodanie dodanie
funkcji importu/eksporty danych - JH mechanizmw zwikszajcych stabilno i bezpieczestwo systemu TG, WK zapisw grupowych TG testw obcieniowych WK
Wersja: 3.2 z dnia 12.01.2009 Stron: 69 Dugo: 710 kB
implementacja
przeprowadzenie
Plik: Akademik v3.2.odt
67
aktualizacja
68
9. Bibliografia
Publikacje
[GHKK108] Grabiec T., Hudzik J., Kapuciski W., Korski F., System rezerwacji miejsc w domu studenckim v1.1, Krakw, 2008 [GHKK208] Grabiec T., Hudzik J., Kapuciski W., Korski F., System rezerwacji miejsc w domu studenckim v2.73, Krakw, 2008 [Hudzik08] Hudzik J., Opis systemu rozproszonego, Krakw, 2008
69