Politechnika Koszalińska Wydział Elektroniki i Informatyki Biblioteka miejska Dokumentacja finalna z przedmiotu: Projekt Zespołowy Semestr VI, Studia Dzienne Kierunek: Informatyka Rok akademicki 2011/2012 Temat: Aplikacja bazodanowa do obsługi biblioteki miejskiej Wykonawcy: Karol Wyczechowski Mateusz Stasiełowicz Mateusz Singpiel Jarosław Zawierucha Tomasz Sikora
Spis treści 1. Protokół z zebrania założycielskiego zespołu programistycznego Walczący z bibliotekami zwanego dalej zespołem odbytego w dniu 29.02.2012 w Koszalinie.... 3 2. Instrumentarium zespołu projektowego... 4 3. Opis wymagań klienta... 5 3.1. Model biznesowy klienta... 5 3.2. Wymagania funkcjonalne klienta:... 5 3.3. Wymagania niefunkcjonalne:... 5 4. Wstępny harmonogram prac... 5 5. Specyfikacja Wymagań... 6 6. Raport dla zleceniodawcy... 9 6.1. Cele przedsięwzięcia... 9 6.2. Zakres przedsięwzięcia... 9 6.3. Systemy zewnętrzne... 9 6.4. Szkicowy opis wymagań... 9 6.5. Szkicowy opis rozwiązań... 10 6.6. Szkicowy opis modelu systemu... 10 6.7. Kosztorys projektu... 11 6.8. Wstępny harmonogram prac... 12 7. Harmonogram... 14 8. Wizytówka... 16 9. Logo... 16 10. Model konceptualny bazy danych... 17 11. Model fizyczny bazy danych... 17 12. Diagram klas... 18 13. Diagram komponentów... 19 14. Diagram Czynności... 20 15. Diagramy sekwencji... 21 16. Metodologia i narzędzia CASE... 22 17. Kosztorys... 23 18. Narzędzia RAD... 24
1. Protokół z zebrania założycielskiego zespołu programistycznego Walczący z bibliotekami zwanego dalej zespołem, odbytego w dniu 29.02.2012 w Koszalinie. W zebraniu wzięły udział następujące osoby: 1. Mateusz Singpiel 2. Mateusz Stasiełowicz 3. Karol Wyczechowski 4. Jarosław Zawierucha 5. Tomasz Sikora Uczestnicy zebrania podjęli indywidualną decyzje o przystąpieniu do zespołu programistycznego Walczący z bibliotekami zwanego dalej zespołem. Po zapisaniu obecności wszystkich członków i wypełnieniu deklaracji członkowskich zespołu przystąpiono do demokratycznego wyboru kierownika zespołu. Podczas głosowania jednogłośnie wybrany został Karol Wyczechowski. Zebrani upoważnili nowo wybranego przedstawiciela do reprezentowania interesów zespołu. Po wybraniu przedstawiciela przystąpiono do ustalenia postanowień ogólnych. Postanowienia ogólne: 1. Odwołanie przewodniczącego może odbyć się po zgłoszeniu votum nieufności względem wyżej wymienionej osoby oraz zatwierdzenie usunięcia poprzez demokratyczne głosowanie. 2. Każdy członek zespołu zobowiązany jest do wykonywania zadań projektowych określonych w harmonogramie zadań. 3. Każdy członek zespołu zobowiązany jest do przestrzegania postanowień ogólnych 4. Data zakończenia projektu została wstępnie ustalona na dzień 01.06.2012. Następnie przystąpiono do określenia celów projektu jak również obowiązków członków zespołu. Cele projektu: 1. Zaliczenie przedmiotu Projekt Zespołowy. 2. Wykonanie projektu aplikacji wspomagającej funkcjonowanie biblioteki miejskiej o roboczej nazwie Biblioteka - miejska. 3. Nauka pracy w zespole projektowym. 4. Rozwiązanie zespołu po pomyślnym zakończeniu projektu. Wstępna data 01.06.2012.
Obowiązki członków zespołu: Karol Wyczechowski (Kierownik i programista) Mateusz Singpiel (Dokumentalista) Mateusz Stasiełowicz (Programista) Jarosław Zawierucha (Analityk i projektant) Tomasz Sikora (Grafik i Tester) 2. Instrumentarium zespołu projektowego Zostało stworzone repozytorium projektu o nazwie biblioteka-miejska na serwerze http://code.google.com. Do repozytorium dodawane będą kolejne wersje dokumentacji, z możliwością przeglądania przez wszystkich członków zespołu projektowego. Aby wspomóc pracę grupową, członkowie zespołu będą kontaktować się za pomocą programów takich jak: Skype - aplikacja firmy Microsoft, licencja freeware (http://www.skype.com/intl/pl/home/), Gadu-gadu - aplikacja firmy GG Network, licencja adware (http://www.gadu-gadu.pl/). Narzędzia wykorzystywane podczas pracy projektowej: Oracle Eclipse - producent Eclipse Foundation, licencja Eclipse Public License (http://www.eclipse.org/), Diagram Designer - producent MeeSoft, licencja freeware (http://logicnet.dk/diagramdesigner/), Star UML - producent Plastic Software, licencja Modified GPL (http://staruml.sourceforge.net/en/), Photoshop - producent Adobe Systems, licencja komercyjna (http://www.adobe.com/photoshop/), Mozilla Firefox - producent Mozilla Corporation, licencja Mozilla Licensing (http://www.mozilla.org/pl/firefox/new/) Microsoft Word - producent Microsoft, licencja komercyjna (http://office.microsoft.com/plpl/word/), Microsoft Excel - producent Microsoft, licencja komercyjna (http://office.microsoft.com/plpl/word/).
3. Opis wymagań klienta 3.1. Model biznesowy klienta Klientem jest Biblioteka miejska w Koszalinie. Działalność tej instytucji polega na gromadzeniu i udostępnianiu swojego księgozbioru czytelnikom. Także za pośrednictwem sieci Internet. 3.2. Wymagania funkcjonalne klienta: Możliwość zarządzania księgozbiorem. Możliwość zarządzania kontami czytelników. Możliwość zdalnego przeglądania zasobów biblioteki. Możliwość rezerwacji wybranej pozycji. Powiadamianie czytelnika i pracowników biblioteki o terminie zwrotu książki. Możliwość Informowania czytelnika o nowych książkach. 3.3. Wymagania niefunkcjonalne: Możliwość dodatkowej weryfikacji użytkownika. Działanie w warunkach ograniczonej przepustowości serwera 2Mb/s. 4. Wstępny harmonogram prac Luty: 1. Założenie grupy projektowej Marzec: 2. Uzgodnienie wstępnych założeń projektu z klientem 3. Określenie wymagań funkcjonalnych projektu 4. Tworzenie dokumentacji (diagram klas, diagram przypadków użycia, funkcjonalności) Kwiecień: 5. Zaprojektowanie graficznego interfejsu użytkownika 6. Programowanie kolejnych etapów projektu 7. Konsultacje z klientem Maj: 8. Programowanie wykończeniowe 9. Testowanie i naprawa ewentualnych błędów 10. Finalizacja projektu
Czerwiec: 11. Zaprezentowanie aplikacji klientowi 12. Zakończenie projektu Wstępna data ukończenia projektu została ustalona na 1 czerwca 2012. 5. Specyfikacja Wymagań 5.1. Wstęp Celem dokumentu jest specyfikacja systemu obsługi biblioteki miejskiej 5.1.1. Cele 5. Zaliczenie przedmiotu Projekt Zespołowy. 6. Wykonanie projektu aplikacji wspomagającej funkcjonowanie biblioteki miejskiej o roboczej nazwie Biblioteka - miejska. 7. Nauka pracy w zespole projektowym. 8. Rozwiązanie zespołu po pomyślnym zakończeniu projektu. Wstępna data 01.06.2012. 9. Przyśpieszenie przeszukiwania zasobów biblioteki 10. Usprawnienie działania biblioteki miejskiej 11. Ułatwienie wypożyczania książek 5.1.2. Zakres 5.1.3. Definicje, akronimy i skróty Czytelnik osoba która może przeglądać zasobu biblioteki i ma możliwość wypożyczenia Książka obiekt który może przeglądać lub wypożyczyć czytelnik Bibliotekarz pracownik biblioteki który udostępnia książki i przyjmuje zwrócone Rezerwacja możliwość zamówienia książki która nie jest dostępna w danej chwili w bibliotece, gdy książka będzie dostępna zostanie odłożona przez pracownika i dany użytkownik zostanie powiadomiony i dostępności książki Księgozbiór zbiór wszystkich książek w bibliotece Dodawanie książek opcja pozwala bibliotekarzowi na dodanie nowych książek do bazy Usuwanie książek opcja pozwala na usuniecie z bazy danej książki
Dodawanie czytelników opcja ta umożliwia administratorowi dodanie nowego czytelnika który będzie mógł się zalogować do aplikacji i wypożyczać, rezerwować książki. Edycja informacji o książce opcja pozwoli bibliotekarzowi na zmianę opisu książki, zmianę Autora, wydawnictw, numeru ISBN ilości dostępnych egzemplarzy 5.1.4. Referencje, odsyłacze do innych dokumentów 5.2. Ogólny opis 5.2.1. Walory użytkowe i przydatność projektowanego systemu Aplikacja będzie zaprojektowana w ten sposób, aby użytkownik z podstawowymi umiejętnościami obsługi komputera, nie miał problemów z wypożyczeniem i rezerwacją książki. 5.2.2. Ogólne możliwości projektowanego systemu Aplikacja będzie umożliwiała: Dodawanie książek Usuwanie książek Edytowanie opisu o książce Zmiana Autorów, wydawnictwa, numeru ISBN Rezerwacja książki Wypożyczanie książek Sprawdzanie ilości wypożyczonych książki przez danego użytkownika 5.2.3. Ogólne ograniczenia 5.2.4. Charakterystyka użytkowników Bibliotekarz osoba zarządzająca aplikacja mająca największe uprawnienia. Czytelnik osoba która jest zarejestrowana w bibliotece może przeglądać księgozbiór wypożyczać i rezerwować książki 5.2.5. Środowisko operacyjne 5.3. Specyficzne wymagania 5.3.1. Wymagania funkcjonalne (funkcje systemu) Dodawanie i usuwanie książek z bazy. Edycja informacji o książce. Logowanie się do programu.
Dodawanie czytelników. Edycja danych czytelników. Sprawdzanie aktualnie wypożyczonych książek przez danych czytelników. Wyświetlanie wszystkich książek w bazie. Wyświetlanie wszystkich wypożyczonych książek. Zarządzanie księgozbiorem. Zarządzanie kontami czytelników. Zdalne przeglądanie zasobów biblioteki. Rezerwacja wybranej pozycji. Powiadamianie czytelnika i pracowników biblioteki o terminie zwrotu książki. Informowanie czytelnika o nowych książkach. 5.3.2. Wymagania niefunkcjonalne (ograniczenia). Biblioteka miejska Użytkownik nie będzie mógł wypożyczyć więcej niż 5 książek w miesiącu. Jedna książka nie będzie mogła być wypożyczona dłużej niż na 1 miesiąc przez danego czytelnika. Działanie w warunkach ograniczonej przepustowości serwera 2Mb/s. Czytelnik niema uprawnień do dodawania, usuwania i edycji informacji o książce. Użytkownik korzysta z systemu Windows. Czytelnik bez zalogowania się do aplikacji nie może przeglądać, wypożyczać oraz rezerwować książek. 5.4. Diagram przypadków użycia
6. Raport dla zleceniodawcy 6.1. Cele przedsięwzięcia Celem projektu jest stworzenie aplikacji wspomagającej działanie biblioteki miejskiej. Program ma ułatwić pracownikom biblioteki zarządzanie księgozbiorem oraz kontami użytkowników, a czytelnikom zapewnić możliwość przeglądania zasobów, rezerwacji/wypożyczenia wybranych pozycji. 6.2. Zakres przedsięwzięcia Określenie wymagań ze strony klienta. Analiza i projektowanie systemu. Realizacja aplikacji. Tworzenie dokumentacji. Testowanie. Wdrożenie aplikacji. 6.3. Systemy zewnętrzne System będzie zgodny z systemem operacyjnym Windows (XP, Vista, Windows7). System będzie współpracować z systemem bazodanowym MS SQL. Po stronie klienta system musi współpracować z przeglądarkami internetowymi: Internet Explorer wersja 6.0 lub nowsza. Firefox wersja 3.0 lub nowsza. Opera wersja 9.0 lub nowsza. Google Chrome wersja 2.0 lub nowsza. 6.4. Szkicowy opis wymagań Wymagania funkcjonalne: Zarządzanie księgozbiorem. Zarządzanie kontami czytelników Zdalne przeglądanie zasobów biblioteki. Rezerwacja wybranej pozycji. Powiadamianie czytelnika i pracowników biblioteki o terminie zwrotu książki. Informowanie czytelnika o nowych książkach.
Wymagania niefunkcjonalne: Dodatkowa weryfikacja użytkownika. Działanie w warunkach ograniczonej przepustowości serwera 2Mb/s. Biblioteka miejska 6.5. Szkicowy opis rozwiązań Do realizacji aplikacji www (interfejsu) zostanie użyta technologia ASP.net, baza danych zostanie wykonana w technologii Microsoft SQL Server. 6.6. Szkicowy opis modelu systemu System będzie się składał z Aplikacji (interfejsu) w postaci strony internetowej dostępnej z poziomu przeglądarki. Aplikacja będzie się łączyć z bazą danych Microsoft Server, zawierającą dane na temat czytelników oraz księgozbioru biblioteki miejskiej. Rys. 1Graficzne przedstawienie modelu systemu
6.7. Kosztorys projektu a) Koszty zakupu oprogramowania. b) Koszty pracy. c) Koszty utrzymania.
6.8. Wstępny harmonogram prac Opis zadań: Zadanie 1 (29.02-1.03) - Uzgodnienie tematu projektu i wstępna umowa z klientem. Utworzenie grupy projektowej, ustalenie zasad współpracy wewnątrz grupy. Stworzenie protokołu z zebrania założycielskiego. Zadanie 2 (7.03-14.03) - Utworzenie harmonogramu prac, opracowanie dokumentacji wymagań użytkownika. Raport klienta, opracowanie raportu dla zleceniodawcy (opisanie zakresu przedsięwzięcia, przygotowanie szkicowego opisu: wymagań, modelu systemu, proponowanych rozwiązań, oszacowanie kosztów projektu i daty zakończenia projektu). Zadanie 3 (14.03-21.03) - Określenie wymagań funkcjonalnych projektu, opracowanie pełnej wersji specyfikacji wymagań (opracowanie słownika pojęć, przygotowanie listy wymagań funkcjonalnych i niefunkcjonalnych, zidentyfikowanie aktorów i ich funkcjonalności, przeprowadzenie identyfikacji przypadków użycia, opracowanie diagramu przypadków użycia.) Opracowanie stylu firmowego projektu (logo, wizytówkę, papier firmowy, szablon firmowy do opracowania dokumentacji projektowej).
Zadanie 4 (21.03-29.03) - Wybranie metodyki analizy (strukturalna; obiektowa) która zostanie zastosowana w projekcie. Wybranie odpowiednich narzędzi CASE. Opracowanie zestawu diagramów, takich jak: diagram przypadków użycia, diagram klas, diagram przepływu danych. Zadanie 5 (28.03-30.03) - Wykończenie stylu firmowego projektu (loga, papieru firmowego) wprowadzenie stylu firmowego do projektu. Zadanie 6 (04.04-07.04) - Zaprojektowanie graficznego interfejsu użytkownika. Opracowanie słownika danych zawierający specyfikację modelu. Zadanie 7 (11.04-17.04) - Opracowanie diagramu związków encji, diagram przejść stanów, diagramu aktywności, diagramu sekwencji, diagramu współpracy, diagramu komponentów. Skorygowanie kosztorysu w oparciu o analizę. Konsultacje z klientem. Zadanie 8 (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). Zadanie 9 (25.04-03.05) - Zaprojektowanie modelu bazy danych (model konceptualny i model fizyczny), stworzenie bazy danych na potrzeby projektu. Zaprogramowanie dalszych funkcjonalności systemowych. Zadanie 10 (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. Zadanie 11 (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. Zadanie 12 (06.06-09.06) - Prezentacja projektu klientowi, zakończenie projektu.
7. Harmonogram
Opis zadań: Zadanie1 (29.02-1.03) - Uzgodnienie tematu projektu i wstępna umowa z klientem. Utworzenie grupy projektowej, ustalenie zasad współpracy wewnątrz grupy. Stworzenie protokołu z zebrania założycielskiego. Zadanie2 (7.03-14.03) - Utworzenie harmonogramu prac, opracowanie dokumentacji wymagań użytkownika. Raport klienta, opracowanie raportu dla zleceniodawcy (opisanie zakresu przedsięwzięcia, przygotowanie szkicowego opisu: wymagań, modelu systemu, proponowanych rozwiązań, oszacowanie kosztów projektu i daty zakończenia projektu). Zadanie3 (14.03-21.03) - Określenie wymagań funkcjonalnych projektu, opracowanie pełnej wersji specyfikacji wymagań (opracowanie słownika pojęć, przygotowanie listy wymagań funkcjonalnych i niefunkcjonalnych, zidentyfikowanie aktorów i ich funkcjonalności, przeprowadzenie identyfikacji przypadków użycia, opracowanie diagramu przypadków użycia.) Opracowanie stylu firmowego projektu (logo, wizytówkę, papier firmowy, szablon firmowy do opracowania dokumentacji projektowej). Zadanie4 (21.03-29.03) - Wybranie metodyki analizy (strukturalna; obiektowa) która zostanie zastosowana w projekcie. Wybranie odpowiednich narzędzi CASE. Opracowanie zestawu diagramów, takich jak: diagram przypadków użycia, diagram klas, diagram przepływu danych. Zadanie5 (28.03-30.03) - Wykończenie stylu firmowego projektu (loga, papieru firmowego) wprowadzenie stylu firmowego do projektu. Zadanie6 (04.04-07.04) - Zaprojektowanie graficznego interfejsu użytkownika. Opracowanie słownika danych zawierający specyfikację modelu. Zadanie7 (11.04-17.04) - Opracowanie diagramu związków encji, diagram przejść stanów, diagramu aktywności, diagramu sekwencji, diagramu współpracy, diagramu komponentów. Skorygowanie kosztorysu w oparciu o analizę. Konsultacje z klientem. 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.
8. Wizytówka 9. Logo
10. Model konceptualny bazy danych 11. Model fizyczny bazy danych
12. Diagram klas
13. Diagram komponentów
14. Diagram Czynności
15. Diagramy sekwencji Logowanie Operacje klienta
16. Metodologia i narzędzia CASE Metodologia Kierownik wraz z członkami zespołu zdecydowali na wykorzystanie obiektowej metodyki analizy OMT w wykonywanym projekcie. W związku z wybraną metodyką zostaną stworzone odpowiednie diagramy. W szczególności wykorzystywana będzie notacja UML. Analiza i projektowanie obiektowe to obecnie najpopularniejsze techniki projektowania systemów IT, zaś UML (Unified Modelling Language) to graficzny język diagramów powszechnie używany w analizie i projektowaniu obiektowym. Powyższa metodyka została wybrana z uwagi na to, iż wszyscy członkowie zespołu wykorzystywali już w przeszłości notację UML. Narzędzia CASE Narzędzia CASE (Computer Aided Software Engineering lub Computer Aided System Engineering) to systemy komputerowe, przeznaczone do wspomagania rutynowych czynności procesu tworzenia oprogramowania. Dzięki nim projekty tworzy się dokładniej, a praca nad diagramami, sprawdzanie ich poprawności oraz śledzenie wykonanych testów jest prostsze i szybsze. Wybrane narzędzia CASE do wspomagania w projekcie: Star UML - 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
17. Kosztorys a) Koszty zakupu oprogramowania b) Koszty pracy c) Koszty utrzymania
18. Narzędzia RAD Rapid Application Development oznacza "szybkie tworzenie aplikacji". Jest to ideologia i technologia polegająca na udostępnieniu programiście dużych możliwości prototypowania oraz dużego zestawu gotowych komponentów (np. zapewniających dostęp do bazy danych). Umożliwia to uzyskanie pewnego efektu już w pierwszych krokach programistycznych, jednocześnie stanowi poważne zagrożenie dla projektów o większych rozmiarach ze względu na łatwość nieprzemyślanego modyfikowania. Podczas pracy nad projektem wykorzystywane było narzędzie Oracel Eclipse, czyli platforma (framework) do tworzenia aplikacji w języku Java. Narzędzie to zostało wybrane z uwagi na posiadane pewne wcześniejsze doświadczenie z tym narzędziem RAD.
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... 26 1.1. Cel... 26 1.2. Zakres... 27 1.3. Definicje, akronimy i skróty... 27 1.4. Odsyłacze... 27 1.5. Omówienie... 27 2. Standardy projektu, konwencje, procedury... 28 2.1. Standardy projektowe... 28 2.2. Standardy dokumentacyjne... 28 2.3. Konwencje nazewnicze... 28 2.4. Standardy programistyczne... 28 2.5. Narzędzia... 29 3. Specyfikacja komponentów... 30 3.1. Logowanie... 30 3.2. Baza... 30 3.3. Pracownik... 30 3.4. l2prod-common-task... 30 3.5. mysql-connector-java-5.1.19-bin... 30 4. Załączniki... 31 4.1. Harmonogram prac... 31 4.2. Interfejs aplikacji... 33 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 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 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. 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: