Wymagania projektowe - kik

advertisement
http://kik.ie.tu.koszalin.pl/portal
Wymagania projektowe
Projekty przeznaczone są dla grup 2-osobowych;
•
•
•
•
Kazda grupa projektowa otrzyma numer projektu np: 13, który należy uwzględnić w projekcie:
- nazwie archiwum war – projekt13.war;
- kontekście http – http://localhost:8080/project13,
- bazie danych dbms_portal13;
- dokumentacji portal13.swx lub portal13.doc.
•
•
Głównym celem takiego nazewnictwa jest umozliwienie jednoczesnego działania wszystkich
projektów na tym samym systemie.
Struktura archiwum projektu przykładowej aplikacji portal:
portal – nazwa projektu uzgodniona z prowadzącym
(podana nazwa ma być uwzględniana w całym projekcie
– nazwa aplikacji webowej portal.war wywoływanej
przez klienta poprzez adres
http://localhost:8080/portal)
dbms – katalog z plikami baz danych (baza danych,
pliki sql)
doc – katalog dokumentacji projektu (portal.doc)
javadoc – katalog wygenerowanej dokumentacji klas
java
src – katalog źródeł aplikacji webowej wraz z
katalogiem
web-inf, plikiem web.xml, bibliotekami i źródłami klas
javy
readme.txt – plik tekstowy zawierający informacje o
autorach
Uwaga! W miejscach występowania słowa portal należy wstawić portalXX, gdzie XX to numer
wariantu.
Archiwum war ma zawierać tylko niezbedne pliki (jsp, skompilowany kod java, pliki graficzne i
html)
Dokumentacja:
•
•
•
•
•
•
•
opis projektu (z uwzględnieniem opisu teoretycznego użycia konkretnej technologii
uzależnionej od tematu projektu – opis uzgodniony z prowadzącym),
dane autorów (rok studiów, grupa i rodzaj studiów – wieczorowe, magisterskie
uzupełniające lub inżynierskie)
opis instalacji (konfiguracja aplikacji webowej i bazy danych itd.);
model konceptualny bazy wraz z kodem SQL;
informacje o stanie projektu (co zostało wykonane, co jest jeszcze do wykonania);
odnośniki do materiałów źródłowych;
dokumentacja javadoc klas javy
Przy zaliczaniu nie jest wymagana postać papierowa dokumentacji tzw. makulatura .
Wskazane jest przygotowanie dokumentacji przy użyciu pakitu OpenOffice.
Celem wprowadzenia powyższych kryteriów jest wprowadzenie jednolitego wyglądu projektów i
ułatwienie przeprowadzania procesu ich weryfikacji podczas zaliczeń.
Proces realizacji projektu
•
•
•
Faza I - określenie funkcjonalności projektu, zaprojektowanie bazy danych do
przechowywania danych, zaprojektowanie stron formularzy www
Faza II – realizacja elementów dynamicznych (jsp, servlety, javabeans, jdbc, itp...)
Faza III – realizacja dokumentacji i stworzenie archiwum projektowanej aplikacji.
Ostatnie spotkanie jest równocześnie terminem rozliczania projektów. Dla osób aktywnych,
ale chcących dopracować projekt dopuszczam termin w tygodniu administracyjnym.
Na końcową ocenę z przedmiotu będą miały wpływ następujące czynniki:
•
•
•
•
•
Obecność na ćwiczeniach;
Przygotowanie do ćwiczeń (znajomość zagadnień z wcześniejszych wykładów);
Postępy prac nad projektem (Faza I-III) sprawdzany podczas ćwiczeń;
Wynik kolokwium (termin kolokwium to ostatnie zajęcia wykładowe);
Zaliczenie projektu (pytania pomocnicze i ustalenie końcowej oceny).
Ocena z wykładu jest równoważna ocenie uzyskanej przy zaliczeniu projektu (może poza jakimiś
szczególnymi przypadkami np. braku obecności na kolokwium).
Zagadnienia nadprogramowe
Projekty można zrealizować przy użyciu dodatkowych bibliotek np. Struts, spring, taglibs z projektu
jakarta, biblioteki ora.
W internecie można odnaleźć sporo różnego rodzaju darmowych bibliotek. Ich wykorzystanie może byc
dodatkowo premiowane.
Utrwalanie danych można realizować przy użyciu pakietu Hibernate, JDO lub innej (do uzgodnienia).
Tematy projektów
Uwaga! Projekty mają zostać oparte o architekturę model1 lub mvc.
1. System monitorowania aplikacji – zbieranie statystyk odwiedzin klientów i ich składowanie w bazie
danych (z użyciem filtrów - servlety)
2. Internetowy album zdjęć z ich składowaniem w bazie danych (wykorzystanie biblioteki taglibs –
upload)
3. System zdalnego głosowania (wykorzystanie własnych klas javabean do raportowania statystyk) –
można zastosować zewnętrzne biblioteki raportowania – jasperreports itp.
4. System oddawania głosów na zadane pytanie (wykorzystanie mechanizmu ciasteczek) rejestracja wyników oraz statystyka czasowa oddawania głosów, moduł administratora do
wprowadzania pytań – np. Jakiego systemu używasz....?
5. System Quize do odpytywania - wprowadzanie i modyfikacja pytań, możliwość wyboru wielu
odpowiedzi (zastosowanie mechanizmu sesji wraz z monitorowaniem procesu przeprowadzania
testu przy użyciu servlet’ów)
6. System obsługi i zarządzania banerami na stronie www (ile razy wybrano dany baner i z jakiego IP
dokonano połączenia – (generacja statystyk ostatnich odwiedzin w postaci wykresu graficznego –
np. grafika wektorowa SVG)
7. Obsługa rejestracji użytkowników i ich zainteresowań w bazie danych (personalizacja stron)
• udostępnianie wybranych danych;
• realizacja róźnych widoków stron – skiny;
Komunikację z bazą danych zahermetyzować wykorzystując komponenty javabean;
8. System kolekcjonowania news’ów udostępnianych za pomocą xml-owego standardu RSS.
(generowanie własnej struktury RSS z newsami zawartymi w bazie danych + moduł pobierania
zewnętrznych news’ów i umieszczania ich prezentacji w html)
9. System udostępniania stron www poprzez sprawdzanie numeru IP klienta (baza danych z
numerami IP klientów, którzy są upoważnione do odczytu danych zasobów
• deklarowanie numeru IP np. 127.0.0.1
• deklarowanie grupy numerów (197.10.10.* numer dowolny lub zakres np. 197.10.10.0-100)
Wykonać eksport kodu sprawdzania IP i komunikacji z bazą danych ze stron jsp do javabean lub
bibliotek taglibs.
10. Aplikacja do obsługi konferencji (biblioteka upload do składowania plików publikacji oraz
prezentacja składowanych danych z uwzględnieniem mechanizmów autentykacji);
11. Internetowy katalog stron o tematyce J2EE (realizacja zagnieżdzanych odnośników np.
j2ee->servety->tomcat i struktur drzewiastych oraz hermetyzacja kodu do bibliotek taglibs lub
javabeans.
12. System składowania plików – wyświetlanie zawartości katalogów (wielkość plików, rysunki
określające typ pliku, liczba sciągnięć – popularność, itd...), zakładanie katalogów, upload &
download plików składowanych w bazie.
13. PIM – aplikacja personalizująca użytkowników danej firm, intranet z selektywnym dostępem z
określonych adresów IP, z możliwością planowania pracy – kalendarz spotkań (należy wykorzystać
mechanizmy autoryzacji i sprawdzania jej na stronach jsp. Część kodu wyeksportować do bibliotek
javabean umożliwiającej wysyłanie poczty (javaMail).
14. System automatycznego wyświetlania informacji News... Dana informacja zawiera identyfikator w
postaci daty i na podstawie bieżącej daty można np. wybrać odpowiednią ikonkę dla wiadomości,
czy też nie pokazywać już wiadomości przestarzałych. Rozwinąć moduł administratora oraz
stworzyć możliwość wprowadzania/modyfikacji nowych wiadomości przez klientów. Kod
komunikacji z bazą danych wyeksportować do komponentów javabean.
15. System internetowej bazy danych o lekach. Opracować system wyszukiwawczy oparty o dane
składowane w XML’u z wykorzystaniem biblioteki xerces.jar (wzorowanie na aplikacji xml.war)
16. Aplikacja internetowa z modułem śledzenia klientów. Rozwinięcie mechanizmów obsługi ciasteczek
po stronie klienta i sesji po stronie serwera. Składowanie informacji o „drodze –stronach które
odwiedził klient przeglądający naszą witrynę”.
17. Komis komputerowy (Repozytorium sterowników – dodaj, usuń, ściągnij). Wykorzystać
komponenty javabean, aby maksymalnie odizolować warstwę prezentacji od warstwy danych.
18. Raportowanie błędów (BugZilla) – system formularzy do zgłaszania usterek (weryfikacja danych
przekazywanych przez formularze)
19. System zdalnej nauki słówek języka angielskiego. Wybór testu, prezentacja wyników, tworzenie
nowych testów.
20. System CMR zarządzania witryną z zastosowaniem biblioteki HtmlArea. System prezentacji
tworzonych dokumentów html (zastosować klasę javabean służącą do filtracji/walidacji strony html
w celu eliminacji skryptów)
Przygotowanie: Przemysław Sołtan (e-maik:[email protected])
ver 01.04.2005
KIK - Katedra Inżynierii Komputerowej
Download