Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0
Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej wspomagającej organizację pracy i system wypożyczania książek w bibliotece miejskiej. Pierwsza część dokumentu zawiera opis ogólnych założeń projektowych. Druga część opisuje wykorzystane w projekcie komponenty.
Spis treści 1. Wprowadzenie...... 4 1.1. Cel...... 4 1.2. Zakres...... 4 1.3. Definicje, akronimy i skróty... 4 1.4. Odsyłacze... 4 1.5. Omówienie... 5 2. Standardy projektu, konwencje, procedury... 5 2.1. Standardy projektowe... 5 2.2. Standardy dokumentacyjne... 5 2.3. Konwencje nazewnicze... 5 2.4. Standardy programistyczne... 5 2.5. Narzędzia... 6 3. Specyfikacja komponentów... 7 3.1. Logowanie...... 7 3.2. Baza... 7 3.3. Pracownik... 7 3.4. l2prod-common-task... 7 3.5. mysql-connector-java-5.1.19-bin... 7 4. Załączniki... 8 4.1. Harmonogram prac... 8 4.2. Interfejs aplikacji...... 10
1. Wprowadzenie 1.1. Cel Dokument DDP ma za zadanie przedstawić szczegółowo sposób realizowanych prac. Zgromadzone są w nim wszystkie informacje odnośnie budowy i działania oprogramowania. Określa on również założenia projektu, standardy, narzędzia i komponenty wchodzące w skład aplikacji. 1.2. Zakres Założeniem projektu jest stworzenie systemu informatycznego Biblioteka miejska, służącego do wspomagania organizacji pracy i systemu wypożyczania książek w bibliotece miejskiej. System ma służyć do przechowywania informacji o książkach posiadanych przez bibliotekę oraz książkach wypożyczonych. Aplikacja pozwoli na przechowywanie informacji o klientach oraz pracownikach. Umożliwi klientom przeglądanie dostępnych pozycji oraz rezerwowanie książek. 1.3. Definicje, akronimy i skróty Klient - zarejestrowany klient biblioteki posiadający własny login i hasło do systemu. Posiada możliwość przeglądania zasobów biblioteki oraz rezerwowania książek. Pracownik - pracownik biblioteki miejskiej posiadający własny login i hasło do systemu. Posiada możliwość przeglądania zasobów biblioteki, dodawania, edytowania już istniejących pozycji, dodawania nowych klientów, przeglądania książek wypożyczonych oraz zarezerwowanych. Rezerwacja - zarezerwowanie pozycji (książki) przez klienta w celu późniejszego wypożyczenia jej na określony czas. Książka może być zarezerwowana przez maksymalnie 5dni, jeżeli w tym czasie klient nie zgłosi się po jej odbiór, książka przestanie posiadać status zarezerwowanej. Zwrot książki - konkretna data, do której należy zwrócić książkę do biblioteki. Data ta może być przesunięta poprzez uzgodnienie tego z pracownikiem biblioteki ISBN - Międzynarodowy Znormalizowany Numer Książki niepowtarzalny 13-cyfrowy identyfikator książki. 1.4. Odsyłacze - Ustawa z dnia 29 sierpnia 1997 o ochronie danych osobowych (Dz. U. 1997 nr 133 poz. 883 z późn. zm.).
1.5. Omówienie Dokument ten powstał na bazie specyfikacji wymagań systemu określonych podczas pierwszych etapów projektowania systemu. Zawiera on definicje standardów, które będą przestrzegane podczas realizacji projektu. Dalsza część dokumentu zawiera informacje o narzędziach modułach i komponentach systemu oraz interfejsie graficznym aplikacji. 2. Standardy projektu, konwencje, procedury 2.1. Standardy projektowe Z uwagi na niewielkie doświadczenie zespołu dotyczące prac projektowych, wykorzystaliśmy model przyrostowy tworzenia oprogramowania. Model ten gwarantuje częste kontakty z klientem, wcześniejsze wykorzystanie i przetestowanie przez klientów gotowych elementów systemu a co za tym idzie mniejsze ryzyko porażki całego przedsięwzięcia. 2.2. Standardy dokumentacyjne Wszystkie dokumenty projektu są tworzone na podstawie jednego firmowego szablonu (papieru firmowego). Podczas tworzenia dokumentacji posługujemy się jednolitym i klarownym językiem wspólnym dla całego dokumentu. Podczas programowania aplikacji zostaną użyte komentarze, co umożliwi łatwą edycję kodu aplikacji nawet przez osoby nie związane z pracą projektową. 2.3. Konwencje nazewnicze Nazewnictwo w projekcie jest ukierunkowane na prostotę i jednoznaczność. W implementacji została zachowana konwencja nazewnictwa Java. Wersje dokumentów posiadają historie zmian tych dokumentów. 2.4. Standardy programistyczne Jako że system został zaprojektowany i stworzony w oparciu o język programowanie JAVA. W projekcie będzie wykorzystywane podejście obiektowe do programowania oraz wykorzystywany będzie wzorzec projektowy MVC(Model-View View Controller). Aplikacja będzie tworzona zgodnie z wcześniejszymi założeniami i wcześniej ustalonym diagramem klas. Zaletami takiego podejścia jest brak zależności modelu od widoków aplikacji oraz łatwość dodawania oraz modyfikowania istniejących widoków bez wpływu na kluczową część systemu.
2.5. Narzędzia Do realizacji aplikacji wykorzystywany jest język Java. Wykorzystywane będzie środowiska RAD(Rapid Aplication Development) w postaci Oracle Eclipse, licencja Eclipse Public License. Podczas tworzenia dokumentacji, będziemy wykorzystywać StarUML oraz Microsoft Office 2007. Do tworzenia bazy danych posłużyło narzędzie Power designer. Narzędzia wykorzystywane ywane podczas pracy nad systemem i dokumentacją: StarUML - producent Plastic Software, licencja Modified GPL, http://staruml.sourceforge.net Microsoft office - producent Microsoft, licencja komercyjna, http://office.microsoft.com/pl-pl BusinessCards MX 4.63 - producent Mojosoft software, licencja testowa http://www.mojosoft.com.pl Diagram designer - producent MeeSoft, licencja freeware, http://meesoft.logicnet.dk Power designer - producent Sybase, licencja trial, http://sybase.com Microsoft Paint - producent Microsoft, licencja zamknięte oprogramowanie Oracle Eclipse - producent Eclipse Foundation, licencja Eclipse Public License, http://www.eclipse.org
3. Specyfikacja komponentów 3.1. Logowanie Klasa odpowiedzialna za logowanie się do aplikacji. Odpowiada za wygląd okna logowania oraz obsługuje samą operację logowania i sprawdzania poprawności wprowadzonych danych (loginu i hasła). Klasa ta łączy się z klasą Baza i poprzez nią, odczytuje zawarte w bazie danych loginy i hasła klientów lub pracowników. Do jej zadań należy również porównanie wpisanych przez użytkownika danych (loginu i hasła) z rekordami bazy danych zawierających loginy i hasła. W razie udanego uwierzytelnienia pracownika, jest przenoszony do okna aplikacji umożliwiającego zarządzanie bazą danych biblioteki. ioteki. W razie niepoprawnego uwierzytelnienia zostanie zgłoszony komunikat o nieprawidłowych danych. 3.2. Baza Klasa odpowiedzialna za połączenie z bazą danych. W niej są wykonywane wszystkie operacje odczytu i zapisu do bazy danych. Pozostałe klasy korzystają z klasy Baza w momencie kiedy muszą uzyskać dane z bazy danych lub zapisać dane do bazy. Klasa ta nie posiada interfejsu graficznego. Odpowiada tylko i wyłącznie z połączenie z bazą danych. 3.3. Pracownik Rozbudowana klasa tworząca interfejs pracownika, przedstawiający wszystkie przyciski i kontrolki potrzebne do dodawani i edycji bazy danych biblioteki tj. dodawania i usuwania książek, dodawania, blokowania klientów, dodawania i blokowania pracowników, dodawania i edytowania gatunków książek, dodawania i edytowania autorów książek, dodawania i edytowania wydawnictw książek. W klasie tej znajdują się również metody wywołujące zdarzenia w tej klasie. Klasa ta korzysta z klasy baza podczas łączenia się z bazą danych w celu dodania, usunięcia lub edytowania rekordów bazy danych 3.4. l2prod-common-task Klasa wbudowana odpowiedzialna za wygląd menu w aplikacji. W programie zostało zaimplementowane menu JTaskPane widoczne po lewej stronie interfejsu pracownika. 3.5. mysql-connector-java-5.1.19-bin Klasa wbudowana odpowiedzialna za połączenie aplikacji z bazą danych w MySQL.
4. Załączniki 4.1. Harmonogram prac
Opis zadań harmonogramu prac: Zadanie6 (04.04-07.04) - Zaprojektowanie graficznego interfejsu użytkownika. Opracowanie słownika danych zawierający specyfikację modelu. Zadanie8 (18.04-25.04) - Wybór narzędzi do szybkiego rozwijania aplikacji (ang. RAD - Rapid Application Development). Programowanie kolejnych etapów projektu (zaprogramowanie graficznego interfejsu użytkownika, podstawowych funkcjonalności i algorytmów). Zadanie9 (25.04-03.05) - Zaprojektowanie modelu bazy danych (model konceptualny i model fizyczny), stworzenie bazy danych na potrzeby projektu. Zaprogramowanie dalszych funkcjonalności systemowych. Zadanie10 (02.05-12.05) - Dostosowanie projektu do ograniczeń i możliwości wybranego środowiska implementacji. Zaprogramowanie obsługi bazy danych i pozostałych funkcjonalności w projekcie. Wstępne testowanie aplikacji. Zadanie11 (09.05-19.05) - Zakończenie programowania projektu. Przeprowadzenie szczegółowych testów, naprawa ewentualnych błędów w aplikacji. Finalizacja projektu. Sprawdzenie i zamknięcie dokumentacji. Przygotowanie projektu do zaprezentowania klientowi. Zadanie12 (06.06-09.06) - Prezentacja projektu klientowi, zakończenie projektu.
4.2. Interfejs aplikacji Logowanie do aplikacji:
Menu:
Lista pracowników:
Lista książek:
Dodawanie książek:
Filtracja książek: