Politechnika Opolska
Semestr V
Studia stacjonarne
Inżynieria Oprogramowania
Projekt: Biblioteka
Autor:
Prowadzący:
Arkadiusz Kurasz
dr inż. K. Bartecki
Wydział Elektrotechniki, Automatyki i Informatyki
Kierunek Informatyka
2 |
S t r o n a
Spis treści
1. Cel projektu .................................................................................................................. 3
2. Opis słowny systemu .................................................................................................... 3
3. Obszar i przedmiot projektowania ............................................................................. 4
3.1. Opis dziedziny problemu ...................................................................................... 4
3.2. Opis zakresu i kontekstu ....................................................................................... 4
4. Wymagania funkcjonalne ............................................................................................ 4
4.1. Opis wymagań funkcjonalnych w hierarchii funkcji ......................................... 6
4.1.1. Ewidencja pracowników ............................................................................ 6
4.1.2. Ewidencja czytelników ............................................................................... 7
4.1.3. Ewidencja zasobów bibliotecznych ........................................................... 7
4.1.4. Ewidencja wypożyczeń i zwrotów ............................................................. 7
4.1.5. Ewidencja rezerwacji ................................................................................. 7
5. Wymagania niefunkcjonalne ....................................................................................... 7
6. Diagram przepływu danych (DFD) ............................................................................ 8
6.1. Diagram kontekstowy ........................................................................................... 8
6.2. Diagram procesów elementarnych....................................................................... 8
6.3. Diagram systemowy .............................................................................................. 9
6.4. Procesów elementarnych .................................................................................... 10
7. Diagram związków encji (ERD) ................................................................................ 14
8. Słownik danych ........................................................................................................... 15
8.1.Magazyny danych ................................................................................................. 15
8.2.Przepływy danych ................................................................................................ 16
9. Specyfikacja procesów ............................................................................................... 17
10. Literatura .................................................................................................................... 18
3 |
S t r o n a
1. Cel projektu
Projekt ma na celu stworzenie systemu pomagającego w działaniu biblioteki.
2. Opis słowny systemu
Biblioteka działa głównie na zasadzie interakcji osoby wypożyczającej zasób z
bibliotekarzem. W celu usprawnienia działania biblioteki system został wyposażony w bazę
osób przetrzymujących książki, bazę wypożyczonych pozycji i bazę zasobów do zamówienia.
Zadania bibliotekarza:
1. Prowadzenie indeksu zasobów wypożyczonych i dostępnych zasobów.
2. Przyjmowanie zamówień.
3. Rozliczanie osób zwlekających z oddaniem zasobów zgodnie z terminem.
4. Sprawdzanie kart identyfikacyjnych (z unikalnym id) czytelników, rejestrowanie
nowych czytelników
5. Rejestracja wypożyczeń i zwrotów zasobów na kartach.
6. Zamawianie zasobów, których nie ma w rejestrze biblioteki, a czytelnik wyraził chęć
jej wypożyczenia.
Biblioteka dzieli się na działy:
a) Dział wypożyczeń i – rejestracja wypożyczeń i zwrotów zasobów, określanie
należności
za przetrzymanie.
b) Dział rozliczeń – odbiór należności za przetrzymanie zasobów.
Głównym celem systemu jest sprawna i bezproblemowa obsługa czytelnika, który w łatwy i
szybki sposób może sprawdzić dostępność zasobu oraz w sposób natychmiastowy ją
zarezerwować, bądź w przypadku jej braku w rejestrze zamówić. Wprowadzenie kart
czytelników z unikatowymi numerami id i bazy osób przetrzymujących zasoby ma na celu
kontrolę wzajemnych zobowiązań oraz uniknięcie niepotrzebnych nieporozumień.
System obsługi biblioteki jest programem pracującym w środowisku Windows Vista /
Windows 7 a jego interfejs jest zgodny z Systemem Microsoft Office 2010, za którego
pomocą pracownik biblioteki ma szybki i bezpośredni dostęp do baz danych. Te usprawnienia
prowadzą do szybszej i wydajniejszej obsługi klienta, system również samoczynnie generuje
datę oddania zasobu nalicza należności związane z przetrzymywaniem zasobu. Na życzenie
obsługi wysyła raport o stanie i wysokości płatności.
4 |
S t r o n a
3. Obszar i przedmiot projektowania
3.1 Opis dziedziny problemu
Biblioteka jest niewielką instytucją społeczną, umożliwiającą wypożyczanie materiałów
bibliotecznych, której funkcjonowanie usprawnić ma system informatyczny. Zadaniami
biblioteki są:
rejestracja pracowników;
rejestracja czytelników;
prowadzenie kart pracowników;
prowadzenie kart czytelników;
biblioteka gromadzi, opracowuje, przechowuje i udostępnia materiały biblioteczne
(filmy, czasopisma, książki);
prowadzenie ewidencji gromadzonych zasobów bibliotecznych;
konserwacja zasobów bibliotecznych;
3.2 Opis zakresu i kontekstu
Ewidencja pomieszczeń
Pomieszczenia wyposażone są w odpowiedni sprzęt. Do każdego pomieszczenia przypisany
jest pracownik, który pilnuje, pomaga, oraz wydaje materiały, w określonych godzinach.
Ewidencja i opis zakresu możliwości personelu
Każdy z pracowników będzie miał swoją kartę, w której zostaną umieszczone dane osobowe i
data zatrudnienia.
Bibliotekarz będzie miał możliwość wprowadzania do systemu danych czytelników oraz inne
niezbędne informacje, potrzebne do poprawnego działania instytucji.
Ewidencja czytelników
Wszyscy czytelnicy będą mieli założoną kartę zawierającą dane osobowe, datę zapisu, oraz
datę wykreślenia.
Ewidencja wypożyczeń i zwrotów
Wszystkie wypożyczenia oraz zwroty będą odnotowywane w odpowiednich rubrykach kart,
przeznaczonych do tego celu.
4. Wymagania funkcjonalne
I Ewidencja pracowników
Nazwa funkcji
Zakładanie kart pracowników
Opis
Funkcja pozwala na zakładanie kart pracowników
Dane wejściowe
Imię i nazwisko, pesel, nr telefonu, adres, data
zatrudnienia, data zwolnienia, pensja
Źródło danych wejściowych
Administrator
5 |
S t r o n a
Nazwa funkcji
Edycja kart pracowników
Opis
Funkcja pozwala na edycję kart pracowników
Dane wejściowe
nr telefonu, adres, data zwolnienia, pensja
Źródło danych wejściowych
Administrator
II Ewidencja czytelników
Nazwa funkcji
Zakładanie kart czytelników
Opis
Funkcja pozwala na założenie kart czytelników
Dane wejściowe
Imię i nazwisko, pesel, nr telefonu, adres, data zapisu,
data wykreślenia.
Źródło danych wejściowych
Bibliotekarz.
Nazwa funkcji
Edycja kart czytelników
Opis
Funkcja pozwala na edycję kart czytelników
Dane wejściowe
nr telefonu, adres, data wykreślenia.
Źródło danych wejściowych
Bibliotekarz.
III Ewidencja zasobów bibliotecznych
Nazwa funkcji
Dodawanie zasobów i zakładanie kart zasobów
bibliotecznych
Opis
Funkcja pozwala na dodawanie nowych zasobów i
zakładanie kart tych zasobów.
Dane wejściowe
identyfikator zasobu, tytuł i zależnie od rodzaju zasobu:
reżyser, nr czasopisma, lub autor
Źródło danych wejściowych
Bibliotekarz.
Nazwa funkcji
Usuwanie zasobów oraz kart zasobów bibliotecznych
Opis
Funkcja pozwala na usuwanie zasobów, oraz usuwanie
kart tych zasobów
Dane wejściowe
identyfikator zasobu, tytuł i zależnie od rodzaju zasobu:
reżyser, nr czasopisma, lub autor
Źródło danych wejściowych
Bibliotekarz.
6 |
S t r o n a
IV Ewidencja wypożyczeń i zwrotów
Nazwa funkcji
Dodawanie wypożyczeń
Opis
Funkcja pozwala na dodawanie wypożyczeń
Dane wejściowe
ID wypożyczenia, data wypożyczenia, data realizacji
Źródło danych wejściowych
Czytelnik
Nazwa funkcji
Przyjmowanie zwrotów
Opis
Funkcja pozwala na przyjmowanie zwrotów
Dane wejściowe
data zwrotu
Źródło danych wejściowych
Bibliotekarz.
V Ewidencja rezerwacji
Nazwa funkcji
Składanie rezerwacji
Opis
Funkcja pozwala na składanie rezerwacji
Dane wejściowe
Dane dotyczące rezerwacji (patrz encja rezerwacja, zasób:
film, czasopismo, książka)
Źródło danych wejściowych
Czytelnik
Nazwa funkcji
Edycja rezerwacji
Opis
Funkcja pozwala na edycję rezerwacji
Dane wejściowe
Dane dotyczące rezerwacji (patrz encja rezerwacja, zasób:
film, czasopismo, książka)
Źródło danych wejściowych
Bibliotekarz
4.1. Opis wymagań funkcjonalnych w hierarchii funkcji:
System ewidencji, wypożyczeń i rezerwacji zasobów.
4.1.1. Ewidencja pracowników
-zakładanie kart pracowników
-edycja kart pracowników
7 |
S t r o n a
4.1.2. Ewidencja czytelników
-zakładanie kart czytelników
-edycja kart czytelników
4.1.3. Ewidencja zasobów bibliotecznych
-dodawanie zasobów i zakładanie kart zasobów bibliotecznych
-usuwanie zasobów i kart zasobów bibliotecznych
4.1.4. Ewidencja wypożyczeń i zwrotów
-dodawanie wypożyczeń
-przyjmowanie zwrotów
4.1.5. Ewidencja rezerwacji
-składanie rezerwacji
5. Wymagania niefunkcjonalne
System musi działać pod systemem operacyjnym Windows Vista i Windows 7;
System powinien być łatwy w obsłudze (maksymalny czas niezbędny dla
przeszkolenia użytkowników to 6 godzin);
Każdy z użytkowników ma określone prawa dostępu;
Interfejs programu jest zgodny z Systemem Microsoft Office 2010
Czas restartu systemu po awarii nie powinien być dłuższy niż 30 minut;
Dane osobiste klientów są tajne i nie mogą być w żadnym wypadku udostępniane
osobom trzecim.
Wszelkiego rodzaju płatności są prowadzone w krajowej walucie.
8 |
S t r o n a
6. Diagram przepływu danych (DFD)
6.1 Diagram kontekstowy
Diagramy przepływu danych DFD (data flow diagram), służą do prezentowania
sposobu, w jaki dane przepływają oraz są przetwarzane w systemie. Diagram
kontekstowy definiuje zakres i granice systemu. Przedstawia powiązanie systemu z
otoczeniem.
9 |
S t r o n a
6.2 Diagram systemowy
Diagram poziomu zerowego pokazuje główne funkcje systemu.
*Macierz CRUD dla diagramu systemowego
Obsługa
wypożyczeń
Obsługa
rezerwacji
Zarządzanie
zasobami
Zarządzanie
czytelnikami
Zarządzanie
pracownikami
Czytelnicy
R
R
CRUD
Pracownicy
R
R
CRUD
Zasoby
RU
R
CRUD
Wypożyczenia CRUD
Rezerwacje
CRUD
10 |
S t r o n a
6.3 Diagram procesów elementarnych
Diagram procesu ewidencji wypożyczeń i zwrotów
*Macierz CRUD dla diagramu procesu ewidencji wypożyczeń i zwrotów
Zarządzanie
wypożyczeniami
Zwrot zasobu
Czytelnicy
R
R
Zasoby
R
R
Pracownicy
R
R
Wypożyczenia
CRUD
CRU
11 |
S t r o n a
Diagram procesu ewidencji wypożyczeń i zwrotów
*Macierz CRUD dla diagramu procesu ewidencji rezerwacji
Przetwarzanie rezerwacji
Przygotowanie
potwierdzenia
Rezerwacje
CUD
R
Pracownicy
R
Zasoby
RU
Czytelnicy
R
12 |
S t r o n a
Diagram procesu ewidencji zasobów bibliotecznych
*Macierz CRUD dla diagramu procesu ewidencji zasobów bibliotecznych
Dodaj nowy
Edytuj dane
Przetwarzaj
dane zasobu
Zasoby
C
UD
R
13 |
S t r o n a
Diagram procesu ewidencji czytelników
*Macierz CRUD dla diagramu procesu ewidencji czytelników
Dodanie nowego
Edytowanie
czytelnika
Przetwarzaj dane
czytelnika
Czytelnicy
C
UD
R
Diagram procesu ewidencji pracowników
*Macierz CRUD dla diagramu procesu ewidencji pracowników
Dodanie nowego
Edytowanie
pracownika
Przetwarzaj dane
pracownika
Pracownicy
C
UD
R
14 |
S t r o n a
7. Diagram związków encji ERD
Diagram związków encji ERD (entity relation diagram) służy do prezentowania
danych przechowywanych w systemie oraz związków pomiędzy nimi. Model ten
nazywany bywa także modelem danych lub modelem informacyjnym.
15 |
S t r o n a
8. Słownik danych
= jest złożony z
i
( ) element opcjonalny
{ } element powtarzalny
[ ] wybór z możliwości alternatywnych
|
rozdzielenie możliwości alternatywnych
** początek i zakończenie komentarza
(minispecyfikacji elementu danych)
@ element identyfikujący
Cyfra = [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]
Litera = [a … z | A … Z ]
Znak = [ % | - | . | : | _ ]
Rok = Cyfra + Cyfra + Cyfra + Cyfra
Miesiąc = [ 1 ... 12 ]
Dzień = [ 0 … 31 ]
Data = Rok + Znak - + Miesiąc + Znak - + Dzień
8.1 Magazyny danych
Pracownik = @pesel + imię + nazwisko + adres + telefon_kontaktowy + data_dodania +
data_usunięcia + pensja
@pesel = 11{Cyfra}
imię = {Litera}
nazwisko = {Litera}
adres = ulica + nr_budynku + (nr_lokalu) + kod_pocztowy + miejscowość
ulica = {Litera}
nr_budynku = {Cyfra} + (Litera)
nr_lokalu = {Cyfra} + (Litera)
kod_pocztowy = Cyfra + Cyfra + Znak - + Cyfra + Cyfra + Cyfra
miejscowość = {Litera}
telefon_kontaktowy = 9{Cyfra}
data_dodania = Data
data_usunięcia = Data
pensja = {Cyfra}
Czytelnik = @pesel + imię + nazwisko + adres + telefon_kontaktowy + data_dodania +
data_usunięcia
@pesel = 11{Cyfra}
imię = {Litera}
nazwisko = {Litera}
adres = ulica + nr_budynku + (nr_lokalu) + kod_pocztowy + miejscowość
ulica = {Litera}
nr_budynku = {Cyfra} + (Litera)
nr_lokalu = {Cyfra} + (Litera)
kod_pocztowy = Cyfra + Cyfra + Znak - + Cyfra + Cyfra + Cyfra
miejscowość = {Litera}
16 |
S t r o n a
telefon_kontaktowy = 9{Cyfra}
data_dodania = Data
data_usunięcia = Data
Zasób {
Film = @ID_filmu + tytuł + wersja_językowa + reżyser + gatunek_filmu +
czas_trwania + rok_produkcji
@ID_filmu = {Cyfra} + {Litera}
tytuł = {Litera}
wersja_językowa = {Litera}
reżyser = {Litera}
gatunek_filmu = {Litera}
czas_trwania = Cyfra + Znak : + Cyfra
rok_produkcji = Data
Czasopismo = @ID_czasopisma + tytuł + wersja_językowa + nr_czasopisma +
rodzaj_filmu + il_stron + wydawnictwo
@ID_czasopisma = {Cyfra} + (Litera)
tytuł = {Litera}
wersja_językowa = {Litera}
nr_czasopisma = {Cyfra}
rodzaj_czasopisma = {Litera}
il_stron = {Cyfra}
wydawnictwo = {Litera}
Książka = @NR_egzemplarza + tytuł + wersja_językowa + autor_książki + il_stron +
nr_ISBN + wydawnictwo + rok_wydania
@NR_egzemplarza = {Cyfra} + (Litera)
tytuł = {Litera}
wersja_językowa = {Litera}
autor_książki = {Litera}
il_stron = {Cyfra}
nr_ISBN = 13{Cyfra}
wydawnictwo = {Litera}
rok_wydania = Data
Rezerwacja = @ID_rezerwacji + termin_rezerwacji
@ID_rezerwacji = {Cyfra} +(Litera)
termin_rezerwacji = Data
Wypożyczenie = @ID_wypożyczenia + data_wypożyczenia + data_zwrotu
@ID_wypożyczenia = {Cyfra} + (Litera)
data_wypożyczenia = Data
data_zwrotu = Data
8.2 Przepływy danych
Dane czytelnika = Czytelnicy
Dane nowego klienta = Czytelnicy
17 |
S t r o n a
Czytelnik = *Dane pozwalające w jednoznaczny sposób zidentyfikować czytelnika*
Dane zasobu = Zasoby
Dane wybranego zasobu = Zasoby
Dane nowego zasobu = Zasoby
Zasób = *Dane pozwalające w jednoznaczny sposób zidentyfikować zasób*
Dane pracownika = Pracownicy
Dane nowego pracownika = Pracownicy
Pracownik = *Dane pozwalające w jednoznaczny sposób zidentyfikować pracownika*
Dane rezerwacji = Rezerwacje
Rezerwacja = Tytuł + Wersja_językowa + Termin_rezerwacji
Tytuł = *Tytuł*
{[Litera]}
Wersja_językowa = *Język w jakim został wydany zasób*
{[Litera]}
Termin_rezerwacji = *Data w formacie rrrr-mm-dd*
Cyfra + Cyfra + Cyfra + Cyfra + Znak - + Cyfra + Cyfra + Znak - + Cyfra +
Cyfra
Dostępność = [TAK | NIE]
Dane zwrotu = *Data w formacie rrrr-mm-dd*
Cyfra + Cyfra + Cyfra + Cyfra + Znak - + Cyfra + Cyfra + Znak - + Cyfra
+ Cyfra
9. Specyfikacja procesów
Dodaj nowego pracownika
Warunek początkowy 1:
Istnieją dane nowego pracownika z wypełnionymi wszystkimi polami
obowiązkowymi, zgodnie z obowiązkowymi polami magazynu Pracownicy.
Warunek końcowy 1:
Zostaje utworzony nowy rekord z danymi pracownika w magazynie
Pracownicy.
Warunek początkowy 2:
Warunek 1 nie jest spełniony.
Warunek końcowy 2:
Generuje komunikat o błędzie.
Dodaj nowego czytelnika
Warunek początkowy 1:
Istnieją dane nowego czytelnika z wypełnionymi wszystkimi polami
obowiązkowymi, zgodnie z obowiązkowymi polami magazynu Czytelnicy.
Warunek końcowy 1:
Zostaje utworzony nowy rekord z danymi czytelnika w magazynie Czytelnicy.
Warunek początkowy 2:
Warunek 1 nie jest spełniony.
Warunek końcowy 2:
Generuje komunikat o błędzie.
18 |
S t r o n a
Edytowanie karty czytelnika
Warunek początkowy 1:
Istnieją dane wybranego czytelnika z wypełnionymi wszystkimi polami
obowiązkowymi, zgodnie z obowiązkowymi polami magazynu Czytelnicy.
Warunek końcowy 1:
Rekord pracownika zostanie zmodyfikowany w magazynie Pracownicy.
Warunek początkowy 2:
Warunek 1 nie jest spełniony.
Warunek końcowy 2:
Generuje komunikat o błędzie.
Przygotowanie potwierdzenia
Warunek początkowy 1:
Na wejściu pojawiają się dane rezerwacji zgodne z polami magazynu
Rezerwacje oraz dane rezerwacji z wyjścia procesu 1.2.1 Przetwarzania
rezerwacji zgodnie z danymi potwierdzenia.
Warunek końcowy 1:
Na wyjściu pojawia się wydruk z danymi Potwierdzenia rezerwacji.
Warunek początkowy 2:
Warunek 1 nie jest spełniony.
Warunek końcowy 2:
Generuje komunikat o błędzie.
10. Literatura.
[2.] „Inżynieria oprogramowania w projekcie informatycznym „wydanie II,
rozszerzone – pod redakcją J. Górskiego. Wydawnictwo MIKOM Warszawa.