Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach) 1. Wstęp: 1.1. Cel. Niniejszy dokument przestawia specyfikację wymagań systemowych (zarówno funkcjonalnych jak i niefunkcjonalnych) oraz ogólny zarys funkcjonalności tworzonego systemu służącemu wspomaganiu działania biblioteki szkolnej. Dokument przeznaczony jest zarówno dla programistów firmy tworzącej wyżej opisane oprogramowanie jak i klienta, który jest zainteresowany kupnem tego systemu. 1.2. Zakres. Głównym założeniem grupy projektowej jest stworzenie aplikacji wspomagającej działanie biblioteki szkolnej. Aplikacja ma umożliwiać pracownikom wprowadzanie informacji o książkach. Książki te mogą być wypożyczane przez klientów. Informacje na temat użytkowników aplikacji, istniejących w księgozbiorze książek oraz aktualnie trwających wypożyczeniach lub rezerwacjach będą przechowywane w bazie danych aplikacji w postaci kolejnych rekordów. 1.3. Definicje, akronimy i skróty. a) Słownik projektu: Biblioteka miejsce w którym czytelnik może wypożyczyć interesującą go książkę. Bibliotekarz pracownik biblioteki, zajmuje się wprowadzaniem książek do bazy danych biblioteki oraz za obsługę czytelników. Czytelnik osoba wypożyczająca książki w bibliotece. Książka dokument piśmienniczy, zapis myśli ludzkiej, raczej obszerny, w postaci publikacji wielostronicowej o określonej liczbie stron, o charakterze trwałym. Gatunek książki jest to zespół reguł określających budowę dzieła (np. dramat, ballada, itp.). Rezerwacja książki w czasie, gdy książka jest aktualnie wypożyczona, bądź przeprowadzana jest jej konserwacja, czytelnik może sobie ją zaklepać i w momencie, kiedy jej status zmieni się na dostępny to będzie on miał pierwszeństwo w jej wypożyczeniu, Wypożyczenie książki kiedy książka ma status dostępny każdy czytelnik może ją wypożyczyć. Użytkownik osoba posiadająca uprawnienia do logowania w aplikacji, rozróżniamy dwóch użytkowników bibliotekarz oraz czytelnik. Administrator osoba posiadająca możliwość zalogowania się w
aplikacji. Posiada on również największe uprawnienia spośród wszystkich użytkowników aplikacji. Login jest to ciąg znaków używanych przy procesie logowania, a także weryfikacji użytkownika aplikacji. Hasło j/w. b) Skróty: KBS Księgozbiór Biblioteki Szkolnej, SZBD System Zarządzania Bazą Danych, JRE Java Runtime Environment. 1.4. Referencje, odsyłacze do innych dokumentów. Ustawa z dnia 29 sierpnia 1997 r. o ochronie danych osobowych, IEEE Std 1233, 1998 Edition, IEEE Guide for Developing System Requirements Specifications. 2. Ogólny opis: 2.1. Walory użytkowe i przydatność projektowanego systemu: częściowa automatyzacja działania biblioteki szkolnej, łatwy dostęp zarówno do listy książek znajdujących się w KBS, jak i listy jej pracowników oraz klientów, możliwość monitorowania pracy biblioteki szkolnej (np. lista aktualnie wypożyczonych oraz zarezerwowanych książek). 2.2. Ogólne możliwości projektowanego systemu: wprowadzanie nowych pozycji książek do KBS, wypożyczanie oraz rezerwacja książek z KBS, wyświetlanie listy książek dostępnych aktualnie w KBS, przeglądanie listy aktualnych wypożyczeń oraz rezerwacji książek, przeglądanie listy pracowników, przeglądanie listy klientów. 2.3. Ogólne ograniczenia. Baza danych tworzonej aplikacji wspomagającej działanie biblioteki szkolnej musi zostać oparta o SZBD MySQL w wersji 7.2. Komputery na których ma zostać uruchomiona aplikacja muszą być wyposażone minimalnie w system operacyjny zgodny z rodziną systemów Windows Windows XP (lub nowszy), muszą być na nich zainstalowane środowiska JRE w wersji przynajmniej 6.0 oraz muszą mieć one dostęp do internetu.
2.4. Charakterystyka użytkowników: a) Administrator osoba odpowiedzialna za administrowanie bazą danych użytkowników aplikacji oraz za zajmowanie się systemem aplikacji (konserwacja infrastruktury informatycznej biblioteki oraz regularne sporządzanie kopii bezpieczeństwa bazy danych aplikacji). Przypadki użycia aplikacji przez administratora: ustalenie poziomu dostępu użytkownika, dodanie nowego użytkownika do bazy danych, edycja istniejącego użytkownika, usunięcie istniejącego użytkownika, nadanie uprawnień użytkownikowi, przeglądanie listy użytkowników. b) Bibliotekarz osoba odpowiedzialna za zarządzanie księgozbiorem biblioteki oraz za nadzorowanie wszelkich prac konserwacyjnych prowadzonych przy książkach. Przypadki użycia aplikacji przez bibliotekarza: dodanie nowych pozycji książek do księgozbioru biblioteki, edycja istniejących pozycji książek, usunięcie istniejących pozycji książek, dodanie nowych gatunków książek, edycja istniejących gatunków książek, usunięcie istniejących gatunków książek, dodanie nowych statusów dostępności książki, edycja statusów dostępności książki, zablokowanie użytkownika, zmiana statusu dostępności książki, przypomnienie o terminie zwrotu książki.
c) Czytelnik - osoba będąca uprawniona do korzystania z księgozbioru biblioteki, posiadająca prawo do wypożyczania z niej interesujących ją książek. Przypadki użycia aplikacji przez czytelnika: zarezerwowanie książki, wypożyczenie książki, anulowanie rezerwacji książki, anulowanie wypożyczenia książki. 2.5. Środowisko operacyjne: system operacyjny zgodny z rodziną systemów Windows Windows XP (lub nowszy), środowisko JRE w wersji przynajmniej 6.0. 2.6. Założenia. Stanowiska komputerowe klienta muszą być wyposażone minimalnie w: system operacyjny zgodny z rodziną systemów Windows Windows XP (lub nowszy), zainstalowane środowisko JRE w wersji przynajmniej 6.0, połączenie internetowe, procesor o taktowaniu 400 MHz, pamięć RAM o wielkości 128MB, ok. 200MB ilości wolnego miejsca na dysku twardym, karta video i monitor, mysz, klawiatura. 3. Specyficzne wymagania: 3.1. Wymagania niefunkcjonalne (ograniczenia): 1. Niezawodność aplikacji: optymalne dobranie architektury sprzętowo-programowej na jakiej będzie działał serwer bazodanowy aplikacji oraz sama aplikacja, przeprowadzenie licznych testów poszczególnych modułów aplikacji z udziałem pracowników klienta.
2. Interfejs aplikacji: stworzenie intuicyjnego oraz prostego w obsłudze interfejsu aplikacji po konsultacjach z pracownikami klienta. 3. Wydajność aplikacji: optymalizacja zaprogramowanych modułów aplikacji w celu zredukowania czasu ich wykonywania oraz zredukowania czasu odpowiedzi serwera na żądania ze strony klienta. 4. Bezpieczeństwo aplikacji: zastosowanie mechanizmów bezpieczeństwa kontroli dostępu do aplikacji, które chronią istotne informacje klientów (system logowania do aplikacji, możliwość ustawiania poziomów dostępu poszczególnych użytkowników, szyfrowanie haseł, itp.), możliwość systematycznego sporządzania kopii bezpieczeństwa bazy danych w określonej jednostce czasu, przeprowadzane w celu zminimalizowania bądź całkowitemu zapobiegnięciu strat danych wynikłych z różnych przyczyn losowych, ograniczenie wszystkim użytkownikom praw dostępu do bazy danych, stworzenie tylko jednego aktora systemu o rozszerzonych możliwościach administratora i dwóch aktorów z ograniczonymi uprawnieniami bibliotekarza i czytelnika, proces logowania jest realizowany w dwóch następujących po sobie krokach. Pierwszym krokiem jest podanie loginu i hasła użytkownika w formularzu logowania, a następnie przeprowadzana jest jego weryfikacja i nadanie mu odpowiednich uprawnień). 5. Dostępność aplikacji: dostęp do bazy danych aplikacji będzie miał każdy użytkownik z dowolnego miejsca, jedynymi warunkami korzystania z aplikacji jest posiadanie aktywnego konta użytkownika oraz posiadanie samej aplikacji. 6. Ograniczenia: system operacyjny tworzona aplikacja musi być w pełni zgodna i kompatybilna z systemem Windows 7 Professional, ponieważ klient dysponuje aktualnie licencjami na ten system i jest on zainstalowany na stanowiskach w bibliotece. 3.2. Wymagania funkcjonalne: a) Funkcje główne: ustalenie poziomu dostępu użytkownika,
dodanie nowego użytkownika do bazy danych, nadanie uprawnień użytkownikowi, dodanie nowych pozycji książek do księgozbioru biblioteki, zmiana statusu dostępności książki, zarezerwowanie książki, wypożyczenie książki. b) Funkcje dodatkowe: edycja istniejącego użytkownika, usunięcie istniejącego użytkownika, zablokowanie użytkownika, przeglądanie listy użytkowników, edycja istniejących pozycji książek, usunięcie istniejących pozycji książek, dodanie nowych gatunków książek, edycja istniejących gatunków książek, usunięcie istniejących gatunków książek, dodanie nowych statusów dostępności książki, edycja statusów dostępności książki, anulowanie rezerwacji książki, anulowanie wypożyczenia książki, przypomnienie o terminie zwrotu książki. Załączniki: Załącznik nr 1. Diagram przypadków użycia.