ZadanieNaZaliczenie, Prywatne, WAT, SEMESTR IV, IO, io, dokumentacja


Specyfikacja Systemu

Inżynieria Oprogramowania

WAT

Semestr Letni 2008

Tytuł Projektu: System wspomagający wypożyczalnię filmów.

Nr grupy laboratoryjnej: I6Y3S1

  1. Cel projektu

Informatyka jest dziedziną nauki, która potrafi przyspieszyć rozwój każdej z gałęzi gospodarki. Od motoryzację, przez przemysł spożywczy, aż do usług typu różnego rodzaju wypożyczalnie, możemy natknąć się na wiele narzędzi - systemów informatycznych wspomagających ich działanie.

Nasz projekt jest właśnie jednym z takich narzędzi, przewidzianych do zwiększenia efektywności działania wypożyczalni filmów. Od strony klienta, uatrakcyjnia wypożyczalnię oferując komputerową wyszukiwarkę filmów, a od strony pracownika daje mu możliwość wygodnej kontroli nad zbiorem oferowanych filmów.

Do implementacji systemu wybraliśmy język Java w wersji 6 na platformie SE. Ponadto jako podstawowy nośnik danych systemu wykorzystujemy relacyjną bazę danych z DBMS - MySQL 5.0.45.

  1. Kontekst Aplikacji

Na system nałożono szereg wymagań funkcjonalnych, których spełnienie ma zapewnić użytkownikowi maksymalizację jego wydajności w pracy.

System jest obsługiwany zarówno przez pracownika wypożyczalni dalej zwanego pracownikiem, jak i osobę wypożyczającą dalej zwaną klientem.

Klient jest użytkownikiem systemu, któremu zaoferowano możliwość wyszukiwania, zamawiania i rezerwacji nośnika z filmem.

Operacja zamówienia jest pierwszym krokiem do rezerwacji nośnika. Jeżeli dany nośnik z filmem jest aktualnie, fizycznie dostępny w wypożyczalni to następuje jego automatyczna rezerwacja i użytkownik otrzymuje komunikat od systemu że nośnik może zostać odebrany, a rezerwacja zostaje dodana do zbioru filmów zarezerwowanych przez danego użytkownika. Po odbiorze nośnika, rezerwacja zostaje przeniesiona do zbioru filmów wypożyczonych. Film który został znaleziony, ale nie może zostać wypożyczony ze względu na brak fizycznego nośnika w wypożyczalni, zostaje umieszczony w zbiorze filmów zamówionych. Użytkownik może usunąć zamówienie lub rezerwację filmu w każdej chwili. Nie może usunąć filmu ze zbioru filmów wypożyczonych.

Gdy egzemplarz filmu zamówiony przez użytkownika zostanie zwrócony przez innego użytkownika - fizycznie pojawi się w wypożyczalni, to automatycznie zamówienie na film zamienia się na rezerwację filmu, a film może zostać odebrany przez klienta.

Pracownik może dodawać filmy na różnych typach nośników do bazy danych wypożyczalni lub też je stamtąd usuwać. Jak również może dokonywać zmian w segregacji filmów na działy, oraz może dodawać nowe tytuły filmów oferowane przez wypożyczalnię. Głównie pracownik wprowadza do systemu identyfikator wydanego lub odebranego egzemplarza filmu. Pracownik może również dodawać i usuwać użytkowników - klientów systemu, wypożyczalni.

    1. Przypadki użycia i scenariusze

0x01 graphic

Diagram 2.1: Diagram przypadków użycia

Podstawowe scenariusze aplikacji

Wyszukiwanie filmu

Klient

System

1. Klika na przycisk „Wyszukiwanie” w menu programu

2. Wyświetla formularz wyszukiwania filmu

3. Wypełnia jedno, kilka lub wszystkie z pól formularza („Tytuł”, „Reżyser”, „Rok produkcji”, „Gatunek”), następnie klika na przycisk „wyszukaj”

4. Wyświetla wyniki wyszukiwania w liście uporządkowanej alfabetycznie, lub jeśli nie znaleziono żadnego filmu spełniającego kryterium wyświetla komunikat „Nie znaleziono filmu spełniającego podane kryterium”. Zostaje również wyświetlony formularz z dwoma przyciskami „popraw kryteria”, oraz „nowe kryteria”.

Każdy z wierszy będących wynikiem wyszukiwania zostaje opatrzony parametrem określającym obecność nośników danego filmu. Tzn jeśli nie ma żadnego wolnego nośnika z filmem to zostaje wyświetlony parametr „możliwe tylko zamówienie”. Jeśli są jeszcze wolne nośniki z filmem to zostaje wyświetlony parametr „możliwa rezerwacja”.

Zwrot filmu

Klient

Pracownik

System

1. Przynosi fizyczny nośnik z filmem i przekazuje go pracownikowi wypożyczalni

2. Odbiera nośnik od klienta. Odczytuje jego numer identyfikacyjny, następnie wybiera z menu programu obsługującego opcję - klika na przycisk „zwrot filmu”

3. System wyświetla formularz z polem do wpisania numeru identyfikacyjnego filmu i przyciskiem „zwróć”.

4. Wpisuje identyfikator filmu do wyświetlonego formularza i klika przycisk „zwróć”

5. Wyświetla komunikat o pomyślnym zakończeniu operacji, oraz menu.

6. Aktualizuje wszystkie kolejki filmów zamówionych w kontach każdego z użytkowników.

Wypożyczenie filmu/filmów

Klient

Pracownik

System

1. Podaje pracownikowi swój dowód tożsamości.

2. Klika na przycisk „Wydawanie nośników”.

3. Wyświetla formularz z polem „Imię i nazwisko klienta” i przyciskiem „wyświetl zarezerwowane filmy”.

4. Wpisuje dane odczytane z dowodu osobistego klienta do formularza i klika na przycisk „wyświetl zarezerwowane filmy”

5. Wyświetla listę filmów, które mogą zostać wydane klientowi. Jeśli nie ma takich zostaje wyświetlony komunikat „Klient nie ma zarezerwowanych nośników”, następnie wyświetlane jest główne menu programu.

6. Wybiera pierwszy film z wyświetlonej listy.

7. Wyświetla dane filmu, nośnika, oraz przycisk „wydaj”.

8. Znajduje (fizycznie) odpowiedni nośnik, a następnie klika na przycisk „wydaj”.

9. Zaktualizuje stan nośnika na „wypożyczony”, oraz wyświetla listę pozostałych filmów do wydania. Jeśli nie ma już filmów do wydania zostaje wyświetlone główne menu.

10. Przekazuje nośnik z filmem klientowi.

11. Odbiera nośnik z filmem

12. Jeśli pozostały jeszcze filmy do wydania przechodzi do punktu 6.

Logowanie do systemu

Klient

System

1. Klika na przycisk w menu „logowanie”

2. Wyświetla formularz logowania złożony z pól: „Imię i nazwisko”, „hasło”, oraz przycisku „zaloguj”.

3 Wypełnia formularz danymi i klika na przycisk zaloguj.

4. Weryfikuje podane dane. Jeśli są poprawne to wyświetla menu użytkownika zalogowanego, jeśli nie to wyświetla komunikat o niepoprawności danych, oraz formularz logowania.

Rezerwacja filmu

Klient

System

1. Po uprzednim wyszukaniu filmu klika na przycisk „rezerwacja” dostępny przy tytule filmu.

2. Sprawdza czy użytkownik jest zalogowany jeśli nie to wyświetla formularz logowania.

Odbywa się procedura logowania.

3. Jeśli nośnik z filmem jest dostępny i użytkownik nie zarezerwował, ani nie wypożyczył już nośnika o innym numerze z tym samym filmem , to jego numer jest dodawany do kolejki filmów zarezerwowanych. Jeśli klient ma już wypożyczony, zamówiony lub zarezerwowany nośnik z filmem o podanym tytule, to zostaje wyświetlony komunikat „Nie można zarezerwować filmu - masz już taki”. Jeśli nie ma dostępnego nośnika z filmem ( fizycznie dostępnego w wypożyczalni ) to zostaje on dodany do kolejki filmów zamówionych.

Rezygnacja z próby wypożyczenia filmu

Klient

System

1. Po zalogowaniu wybiera z menu przycisk „Rezerwacje” lub „Zamówienia”

2. Wyświetla listę nośników odpowiednio zamówionych lub zarezerwowanych. Przy tytule każdego z filmów wyświetlony zostaje przycisk „Anuluj”.

3. Wybiera przycisk „anuluj” przy tytule odpowiedniego filmu.

4. Aktualizuje stan odpowiedniego nośnika oraz kolejki. Wyświetla zaktualizowaną kolejkę filmów.

    1. Diagramy sekwencji

0x01 graphic

Diagram 2.2: Przeglądanie zarezerwowanych egzemplarzy filmu

0x01 graphic

Diagram 2.2a: Wydawanie egzemplarza filmu

    1. Diagram aktywności

0x01 graphic

0x01 graphic

Diagram 2.2: Podstawowy diagram aktywności systemu

  1. Projekt systemu

Projektowanie systemu odbywało się za pomocą narzędzia Sybase Power Designer 11.0, w którym zaimplementowano obiektową notację projektowania systemów informatycznych - UML w wersji 1.4. Narzędzie wspiera metodykę Rational Unifited Process.

    1. Diagram klas przedstawiający strukturę systemu

Ze względu na rozmiar, diagram klas został załączony w pliku „diagram_klas.pdf”.

    1. Diagram sekwencji

0x01 graphic

Diagram 3.2: Wyszukiwanie filmu

0x01 graphic

Diagram 3.2a: Logowanie do systemu

    1. Diagram stanów

0x01 graphic

Diagram 3.3: Stan egzemplarza filmu

0x01 graphic

Diagram 3.4: Stan okna logowania systemu

  1. Testy

Aby odbiorca oprogramowania miał pewność, że dostał to za co zapłacił (często ogromne kwoty), funkcjonowanie oprogramowania jest sprawdzane za pomocą testów akceptacyjnych utworzonych na podstawie wymagań i scenariuszy działania systemu. Każdy z testów sprawdza czy zostało spełnione jedno z wymagań funkcjonalnych systemu. Wyniki testów akceptacyjnych miarodajną oceną funkcjonowania systemu. Najczęściej od ich wyników zależy czy zespół twórców oprogramowania zostanie wynagrodzony kwotą przewidzianą w kontrakcie, czy też będzie musiał zapłacić stosowną karę.

    1. Testy na poziomie powierzchni użytkownika

    2. Nazwa testu

      Akcja użytkownika/dane wejściowe

      Oczekiwany rezultat

      Rezultat aktualny/wynik testu

      Wyszukiwanie filmu - test1

      Wybranie opcji wyszukiwania z argumentem „Czas Apokalipsy”. Przy stanie bazy danych Filmy: „Zorro”, „Batman”, „Władca Pierścieni”, „Czas Apokalipsy

      Pokazanie okna z jednym wynikiem: „Czas Apokalipsy”

      Pokazanie okna z jednym wynikiem: „Czas Apokalipsy”

      Wyszukiwanie filmu - test2

      Wybranie opcji wyszukiwania z argumentem „Władca Pierścieni”, przy stanie bazy danych - Filmy: „Zorro”, „Batman”, „Władca Pierścieni: Powrót Króla”, „Władca Pierścieni: Dwie Wieże”, „Władca Pierścieni: Powrót Króla”, „Czas apokalipsy”.

      Pokazanie okna z trzema pozycjami: „Władca Pierścieni: Drużyna Pierścienia”, „Władca Pierścieni: Dwie Wieże”, „Władca Pierścieni: Powrót Króla”.

      Wyszukiwanie filmu - test3

      Wybranie opcji wyszukiwania z argumentem „Król Lew”, przy stanie bazy danych - Filmy: „Zorro”, „Batman”, „Władca Pierścieni: Powrót Króla”, „Władca Pierścieni: Dwie Wieże”, „Władca Pierścieni: Powrót Króla”, „Czas apokalipsy”.

      Pokazanie komunikatu o nie znalezieniu takiej pozycji w wypożyczalni.

      Wypożyczanie filmów - test1

      Wybranie opcji wypożyczenia filmu. Wybrany film z okna zwróconego z wyszukiwania, film: „Władca Pierścieni: Drużyna Pierścienia”. Przy stanie dostępnych filmów w wypożyczalni: „Zorro”, „Batman”, „Władca Pierścieni: Powrót Króla”, „Władca Pierścieni: Dwie Wieże”, „Władca Pierścieni: Powrót Króla”, „Czas apokalipsy”. Filmy wypożyczone przez użytkownika: „Zorro”, „Batman”

      Wyświetlenie komunikatu o udanym wypożyczeniu, oznaczenie filmu jako „Wypożyczony”

      Wypożyczanie filmów - test2

      Wybranie opcji wypożyczenia filmu. Wybrany film w celu wypożyczenia, film: „Batman”. Przy stanie dostępnych filmów w wypożyczalni: „Zorro”, „Batman”, „Władca Pierścieni: Powrót Króla”, „Władca Pierścieni: Dwie Wieże”, „Władca Pierścieni: Powrót Króla”, „Czas apokalipsy”. Filmy wypożyczone przez użytkownika: „Zorro”, „Batman”

      Wyświetlenie informacji o tym że film został już wypożyczony przez użytkownika i nie można wykonać tej operacji ponownie.

      Dodawanie filmu do bazy danych - test1

      Wybór opcji dodawania nowego filmu. Dodawany jest film o tytule „Spiderman”. Przy stanie dostępnych filmów w wypożyczalni: „Zorro”, „Batman”, „Władca Pierścieni: Powrót Króla”, „Władca Pierścieni: Dwie Wieże”, „Władca Pierścieni: Powrót Króla”, „Czas apokalipsy”.

      Wyświetlenie komunikatu o dodaniu nowego filmu. Przeniesieni stanu bazy danych na stan wzbogacony o dodany film.

      Dodawanie filmu do bazy danych - test2

      Wybór opcji dodawania nowego filmu. Dodawany jest film o tytule „Zorro”. Przy stanie dostępnych filmów w wypożyczalni: „Zorro”, „Batman”, „Władca Pierścieni: Powrót Króla”, „Władca Pierścieni: Dwie Wieże”, „Władca Pierścieni: Powrót Króla”, „Czas apokalipsy”.

      Poinformowanie o istnieniu filmu w bazie danych. Stan bazy danych nie ulega zmianie.

      Dodawanie nowego egzemplarza filmu - test1

      Wybranie opcji dodawania egzemplarza filmu. Dodawany jest egzemplarz filmu „Spiderman”. Przy stanie dostępnych filmów w wypożyczalni: „Zorro”, „Batman”, „Władca Pierścieni: Powrót Króla”, „Władca Pierścieni: Dwie Wieże”, „Władca Pierścieni: Powrót Króla”, „Czas apokalipsy”.

      Ilość kopii filmu „Spiderman” = 3

      Wyświetlenie komunikatu o dodaniu egzemplarza filmu przechowywanego w bazie danych. Stan bazy danych zostaje przeniesiony na stan odpowiadający dodanemu egzemplarzowi. Czyli ilość kopii filmu „Spiderman” wynosi teraz 4.

      Usuwanie egzemplarza filmu - test1

      Wybór z menu opcji usuwania egzemplarza filmu o tytule „Spiderman”. Wybór z podmenu usuwania identyfikatora egzemplarza filmu do usunięcia.

      Stan bazy danych - pozostały 3 kopie filmu „Spiderman”.

      Usunięcie wybranego egzemplarza filmu z bazy danych. Przeniesienie stanu bazy danych do stanu nie zawierającego danego egzemplarza - pozostały jeszcze 2 egzemplarze filmu.

      Usuwanie egzemplarza filmu - test2

      Wybór z menu opcji usuwania egzemplarza filmu o tytule „Spiderman”. Wybór z podmenu usuwania identyfikatora egzemplarza filmu do usunięcia.

      Stan bazy danych - pozostały 1 kopie filmu „Spiderman”.

      Usunięcie wybranego egzemplarza filmu z bazy danych. Przeniesienie stanu bazy danych do stanu nie zawierającego danego egzemplarza. W bazie nie ma już egzemplarzy filmu, ale informacje o filmie nadal są przechowywane.

      Usuwanie egzemplarza filmu - test3

      Wybór z menu opcji usuwania egzemplarza filmu o tytule „Spiderman”.

      Stan bazy danych - nie ma informacji o kopii filmu w bazie danych.

      Nie wyświetlenie listy egzemplarzy filmu.

      Dodawanie użytkownika - test1

      Wybór opcji dodawania użytkownika. Jako nazwę podawany jest ciąg znaków „lukasz”.

      DodajUżytkownika(„lukasz”);

      Obecnie baza przechowuje użytkowników o nazwach: „lukasz”, „tomek”, „konrad”, „ala”.

      Wyświetlenie informacji o istnieniu użytkownika, którego rejestrację podjęto. Ponowne wyświetlenie formularza dodawania użytkownika.

      Dodawanie użytkownika - test2

      Wybór opcji dodawania użytkownika. Jako nazwę podawany jest ciąg znaków „lukasz”.

      DodajUżytkownika(„lukasz”);

      Obecnie baza przechowuje użytkowników o nazwach: „tomek”, „konrad”, „ala”.

      Wyświetlenie komunikatu o dodaniu nowego użytkownika do bazy danych użytkowników.

      Dodawanie użytkownika - test3

      Wybór opcji dodawania użytkownika. Jako nazwę podawany jest ciąg znaków „lukasz $$”.

      DodajUżytkownika(„lukasz $$”);

      Obecnie baza przechowuje użytkowników o nazwach: „tomek”, „konrad”, „ala”.

      Wyświetlenie komunikatu o błędnym ciągu znaków przyjętym jako nazwa użytkownika. Wyświetlenie formularza dodawania nowego użytkownika.

      Zmiana danych użytkownika - test1

      Wypełniony formularz z nowymi danymi zalogowanego użytkownika zostaje przesłany do systemu. Baza danych przechowuje obecnie poprzednie dane użytkownika.

      ZmienDaneUżytkownika(nowe_dane_uzytkownika);

      Dane zostają zmienione na nowe. Zostaje wyświetlony komunikat potwierdzający poprawne wykonanie operacji.

      Zmiana danych użytkownika - test2

      Wypełniony formularz z błędnymi danymi zalogowanego użytkownika, np. kilka pustych pól.

      ZmienDaneUzytkownika(nowe_dane_uzytkownika)

      Wyświetlenie komunikatu o błędnych danych użytkownika i powrót do formularza zmiany danych. Stan bazy danych nie ulega zmianie.

      Tabela 4.1: Specyfikacja przypadków testowych i wyników testowania

      8

      2

      Wojskowa Akademia Techniczna, Semestr Letni 2008



      Wyszukiwarka

      Podobne podstrony:
      IOpr laboratoria - zadanie, Prywatne, WAT, SEMESTR IV, IO, io, Materiały od Bliźniuka
      wymagania, Prywatne, WAT, SEMESTR IV, IO, io, dokumentacja
      scenariusze, Prywatne, WAT, SEMESTR IV, IO, io, dokumentacja
      DOKUMENT ANALIZY BIURO PODROZY, Prywatne, WAT, SEMESTR IV, IO, moje
      dok5, Prywatne, WAT, SEMESTR IV, IO, Zaliczenie IO
      Inżynieria oprogramowania syllabus IV niestac 07 08, Prywatne, WAT, SEMESTR IV, IO, io, Materiały od
      dok6, Prywatne, WAT, SEMESTR IV, IO, Zaliczenie IO
      Bliźniuk, Prywatne, WAT, SEMESTR IV, IO, io, Materiały od Bliźniuka
      IOpr pytania semestralne, Prywatne, WAT, SEMESTR IV, IO, io, Materiały od Bliźniuka
      dok4, Prywatne, WAT, SEMESTR IV, IO, Zaliczenie IO
      dok5, Prywatne, WAT, SEMESTR IV, IO, Zaliczenie IO
      Zadanie domowe, WAT, semestr IV, Modelowanie Matematyczne
      IO odp, WAT, semestr IV, Inżynieria oprogramowania
      Nabór IO, WAT, semestr IV, Inżynieria oprogramowania
      ZadanieNaZaliczenie, WAT, semestr IV, Inżynieria oprogramowania
      Dokument specyfikacji wymagan, WAT, semestr IV, Inżynieria oprogramowania

      więcej podobnych podstron