WOJSKOWA AKADEMIA TECHNICZNA
im. Jarosława Dąbrowskiego
WYDZIAŁ CYBERNETYKI
ANALIZA I PROJEKTOWANIE SYSTEMÓW TELEINFORMATYCZNYCH
Sprawozdanie z laboratorium nr 1
Temat: System pobierania opłat za paczki pocztowe.
Zespół: Marcin Przerwa Marek Oleksiak Krzysztof Piotrowski Kamil Piersa Maciej Prokopczyk Paweł Mieczkowski Kamil Michniewicz Tomasz Majewski |
Prowadzący: mgr inż. Kamil Komański Wykonano: 03.12.2011 |
W a r s z a w a 2011
Niniejszy dokument przedstawia specyfikację projektową systemu całkowicie automatyzującego pobieranie opłat za paczki pocztowe. Zawiera również opis narzędzi do planowania projektu na platformie JAZZ. Do wykonania zadań postawionych przez prowadzącego zajęcia zostały wykorzystane narzędzia firmy IBM Rational Software Architect w wersji 8.0.4 (modelowanie dynamiki systemu) oraz Rational RequisitePro (modelowanie wymagań na system).
Skład zespołu projektowego (Grupa I0H1S4, Podgrupa 2):
Marcin Przerwa (kierownik zespołu)
Kamil Piersa
Marek Oleksiak
Krzysztof Piotrowski
Maciej Prokopczyk
Kamil Michniewicz
Tomasz Majewski
Paweł Mieczkowski
Celem projektu jest stworzenie modelu systemu do pobierania opłat za paczki pocztowe, który całkowicie zautomatyzuje ten proces.
Projektowany system przeznaczony jest dla osób nadających paczki pocztowe chcących skrócić czas przebywania na poczcie.
Projekt przedstawia system automatyzujący proces wyceny i pobrania wyliczonej opłaty za paczki pocztowe. Opłata uzależniona jest od wagi, kraju adresata, rodzaju (priorytet, paczka wrażliwa na wstrząsy, paczka wartościowa) oraz dodatkowych opcji takich jak ubezpieczenie paczki albo rodzaj odbioru paczki. Ważnym jest aby zapewnić pomoc kontekstową dla użytkowników systemu na każdym etapie korzystania z niego. System ma także oferować możliwości opłaty przy użyciu karty płatniczej lub gotówki.
Po zainstalowaniu serwera Jazz Team Server należy uruchomić kreator konfiguracji poprzez wpisanie adresu https://localhost:9443/jts/setup gdzie domyślnie ustawiony jest „ID użytkownika – ADMIN” oraz „Hasło - ADMIN”. Kreator przeprowadzi nas przez proces konfiguracji szybko i sprawnie bez większych problemów.
Kolejnym etapem jest zalogowanie się do konsoli administratora platformy Jazz Team Server dostępnego pod adresem https://adres:9443/ccm gdzie „adres” oznacza domenę wybraną podczas konfiguracji serwera. ID użytkownika oraz hasło o ile nie zdefiniowaliśmy go podczas konfiguracji jest domyślne czyli „ID użytkownika – ADMIN” oraz „Hasło - ADMIN”. Rysunek 1 przedstawia ekran logowania do platformy Jazz Team Server.
Rys.1. Ekran logowania do platformy Jazz Team Server.
Kolejnym krokiem jest utworzenie użytkowników oraz przypisanie im uprawnień a także licencji. Użytkownika dodaje się wchodząc w zakładkę „Użytkownicy” a następnie w „Utwórz użytkownika”. Rysunek 2 przedstawia ekran dodawania użytkownika do serwera, natomiast rysunek 3 listę użytkowników na serwerze. Należy wspomnieć że podczas łączenia się z serwerem za pomocą klienta Rational Team Concert hasło jest takie samo jak ID użytkownika.
Rys.2. Ekran dodawania użytkownika do serwera
Rys.3. Lista użytkowników na serwerze
Oprogramowanie Rational Team Concert pozwala na zarządzanie platformą Jazz Team Server, a także wspomaganie oraz organizowanie pracy zespołowej.
Po uruchomieniu produktu Rational Team Concert wybieramy „Nowe połączenie z repozytorium produktu Jazz”. Na rysunku 4 został przedstawiony sposób konfiguracji połączenia. Rys.4. Ustanawianie nowego połączenia z repozytorium serwera Jazz
Kolejnym etapem jest stworzenie nowego obszaru roboczego projektu. Aby to uczynić musimy na połączeniu z repozytorium z menu rozwijanego wybrać „Nowy” -> „Obszar projektu”. Po nazwaniu naszego obszaru projektu należy skorzystać z wbudowanych szablonów projektu, w tym celu klikamy przycisk „Wdróż”. Po chwili pojawi nam się okno z wyborem wbudowanych szablonów projektów. Wybieramy odpowiedni dla nas i kończymy pracę kreatora. Rysunek 5 przedstawia nowoutworzony obszar projektu.
Kolejnym etapem jest dodanie członków do obszaru projektu. Robimy to rozwijając zakładkę „Członkowie” i dodając wcześniej zdefiniowanych użytkowników na Jazz Team Server. Rysunek 6 przedstawia dodanych członków do projektu.
Po wykonaniu powyższych czynności musimy dodać nowy obszar dla zespołu i powiązać go z obszarem projektu. Wykonujemy to rozwijając menu dla członków zespołu w zakładce „Organizacja zespołu” w panelu nawigacyjnym a następnie „Nowy ” -> „Obszar zespołu”. Postępujemy podobnie jak przy tworzeniu obszaru projektu dodając członków do obszaru zespołu (Rysunek 7).
Na koniec należy powiązać obszar projektu z obszarem zespołu. W tym celu trzeba powróci do strony głównej obszaru projektu i wybrać zakładkę „Kategorie elementów pracy”, a następnie skojarzy drużynę z obszarem projektowym wybierając „Powiąż” (Rysunek 8).
Rys. 5. Utworzony obszar projektu.
Rys. 6. Dodani członkowie obszaru projektu wraz z rolami
Rys. 7. Obszar zespołu z dodanymi członkami zespołu
Rys. 8. Powiązanie obszaru projektu z obszarem zespołu
Ostatnim element, który należałoby przedstawić jest tworzenie planu oraz zadań dla członków zespołu. Aby stworzyć nowy plan musimy przejść do zakładki „Artefakty” w panelu nawigacyjnym następnie rozwinąć nasz obszar projektu, następnie otworzyć menu „Plany” i stworzyć nowy plan. Rysunek 9 przedstawia utworzony plan projektu.
Rys. 9. Widok planu projektu
W tym momencie możemy dodawać nowe zadania dla członków projektu. Rysunek 10 przedstawia dodawanie nowego zadania dla jednej z osób zespołu projektowego. Rysunek 11 obrazuje plan projektu wraz z przydzielonymi zadaniami dla członków zespołu projektowego. Rys. 10. Dodawanie zadania i określanie opcji
Rys. 11. Plan wraz z listą zadań
Członkowie mogą podłączać się do repozytorium i wykonywać powierzone im zadania za pomocą Rational Team Concert.
System powinien podawać informacje o dostępnych możliwościach dostarczenia paczki, cenie usługi oraz przewidywanym czasie jej wykonania
Po włożeniu paczki do podajnika, system ma automatycznie dokonać ważenia, wybrać stawkę podstawową i przeprowadzić klienta przez wszystkie wymagane etapy
Przed zaakceptowaniem zamówienia, użytkownik musi mieć wyszczególnione wybrane usługi i możliwość ich skorygowania
Użytkownicy mogą dokonywać płatności za pomocą gotówki lub kart płatniczych
System powinien oferować pomoc na każdym etapie interakcji
System ma oferować interfejs dotykowy, dostępny dla użytkowników posługujących się językami obcymi (obowiązującymi w UE) oraz osób z ograniczonymi możliwościami wzrokowymi
System ma wydrukować potwierdzenie pomyślnego dokonania transakcji
W razie awarii, system ma automatycznie powiadamiać serwisantów i wskazywać najbliższy punkt obsługi
System powinien automatycznie uaktualniać oferowane usługi i stawki opłat za nie.
Użytkownik może wybrać, czy paczkę ma dostarczyć kurie, czy ma odebrać ją na poczcie
Rys. 12. Wymagania udziałowca (STRQ) w Rational RequisitePro
Wyświetlenie informacji o świadczonych usługach
Automatyczne ważenie paczki i dobór standardowej opłaty
Wprowadzenie danych adresata
Wybór rodzaju paczki: ekonomiczna, priorytetowa, z zadeklarowaną zawartością
Możliwość ubezpieczenia paczki
Możliwość zadeklarowania sposobu odebrania paczki: dostarczana przez kuriera lub odbierana na poczcie
Możliwość wyświetlenie pomocy odnośnie bieżącego etapu
Możliwość wymagania potwierdzenia odbioru
Wybór rodzaju płatności, tzn. kartą płatniczą, czy gotówką
Możliwość powrotu do wcześniejszych ustawień i ich korekty
Wydruk opcji zamówienia i potwierdzenia płatności
Przechowywanie danych dokonanych zamówień
Aktualizacje oferty i stawek opłat
Informowanie personelu technicznego o awariach
Wyświetlanie listy najbliższych automatów i urzędów pocztowych na wypadek awarii urządzenia
Wybór języka interfejsu użytkownika i opcji ułatwień
Rys. 13. Wymagania funkcjonalne (FEAT) w Rational RequisitePro
Dostępność na poziomie 99,999%
Czas reakcji nie przekraczający 0,5s
Dotykowy wyświetlacz o przekątnej powyżej 20” do wyświetlania danych i komunikacji z użytkownikiem
Możliwość pomiaru masy przedmiotów z dokładnością +/- 1 gram.
Praca na zewnątrz w warunkach -40 do +60 stopni Celsjusza
Zabezpieczenia antywłamaniowe
Obsługa terminali kart płatniczych
Niski pobór energii
Przechowywanie danych o transakcjach, nawet po zaniku zasilania
Interfejs sieciowy do połączeń z serwerem
Zgodność z normami prawnymi z zakresu usług pocztowych
Rys. 14. Wymagania niefunkcjonalne w Rational RequisitePro
Rys. 15. Macierz śledzenia FEAT na STRQ
Wzorzec behawioralny
Wybrany przez nas wzorcem behawioralnym jest obserwator. Wzorzec ten używany jest do obserwowania stanu innych(obserwowanych) obiektów. Użyty zostanie do stworzenia obiektu wchodzącego w skład graficznego interfejsu użytkownika. Śledzenie obiektów pozwoli na opracowanie mechanizmu wyświetlającego postęp wykonywania dowolnej operacji w systemie.
Wzorzec kreacyjny
Wybranym przez nas wzorcem kreacyjnym jest Singleton. Wzorzec ten używany jest do ograniczenia wystąpień liczby instancji klasy do jednego obiektu. Wzorzec zapewnia także globalny dostęp do utworzonego obiektu. Wzorzec Singleton wykorzystamy do stworzenia obiektu odpowiedzialnego za wykonywanie operacji na bazie danych przetrzymujących dane o płatnościach. Zapewni nam to gwarancję tego, że na bazie danych będzie wykonywana jedna tranzakcja w danym momencie. Singleton tworzony jest w momencie, gdy jest potrzebny.
Rys. 16. Diagram przypadku użycia Nadawanie paczki.
Opis przypadków
Nadaj paczkę - przypadek użycia umożliwiający nadawcy wysłanie paczki do adresata.
Określ adresata - przypadek użycia pozwalający na wprowadzenie danych adresowych odbiorcy.
Ważenie paczki - przypadek użycia umożliwiający określenie wagi paczki.
Wybierz opcje dodatkowe dla paczki – Przypadek użycia umożliwiający określenie rodzaju paczki tj. ekonomiczna, priorytetowa, z zadeklarowaną zawartością oraz wybór dodatkowych opcji takich jak ubezpieczenie paczki i sposób dostarczenia.
Wykonaj płatność - przypadek użycia umożliwia wniesienie opłaty za wybrana usługę.
Odbierz pokwitowanie - przypadek użycia wywoływany w przypadku wyrażenia chęci wydrukowania potwierdzenia operacji.
Rys. 17. Diagram przypadku użycia Wykonywanie płatności
Opis przypadków
Płatność kartą – przypadek użycia umożliwiający wykonanie płatności kartą.
Płatność gotówką – przypadek użycia umożliwiający wykonanie płatności gotówką.
Zaksięguj wpłatę – przypadek użycia archiwizujący płatności w systemie pobierania opłat za paczki pocztowe.
W celu ukazania realizacji najważniejszych przypadków użycia stworzone zostały diagramy sekwencji przedstawione poniżej:
Rys. 18. Diagram sekwencji – Wykonanie płatności
Przypadek użycia „Wykonaj Płatność” realizuje diagram sekwencji Wykonanie Płatności. Na diagramie zostały wyszczególniony aktor Nadawca oraz klasy System Obsługi i System Fiskalny. W celu wykonania płatności nadawca paczki ma do wyboru typ płatności: gotówką i kartą, co zostało oznaczone fragmentem alt oraz referencje do diagramów sekwencji Płatność gotówką i Płatność karta. Po wykonaniu płatności System Fiskalny zaksięgowuje wpłatę.
Rys. 19. Diagram sekwencji – Płatność gotówką
Platność gotówka jest jedna z referencji diagramu Wykonanie Płatności. Aktor wykonuje płatność gotówką, po czym System Obsługi zatwierdza wybór transakcji. Opcjonalnie do wyboru nadawca może wydać resztę (co jest referencją do diagramu sekwencji Wydaj resztę). Po zatwierdzeniu wyboru transakcji System fiskalny zaksięgowuje wpłatę.
Rys. 20. Diagram sekwencji – Płatność kartą
Po wyborze płatności kartą System Obsługi zatwierdza ten wybór transakcji po czym System Fiskalny zaksięgowuje wpłatę.
Rys. 21. Diagram sekwencji – Ważenie paczki
W celu wysłania paczki, musi zostać na początku zważona. Nadawca poprzez komunikację z Systemem Obsługi ma możliwość ważenia paczki przez System Paczkowy.
Rys. 22. Diagram sekwencji – Odbierz pokwitowanie
Jeśli Nadawca chcąc wydrukować pokwitowanie komunikuje się z Systemem Obsługi, który generuje pokwitowanie a następnie System paczkowy weryfikuje usługę.
Rys. 23. Diagram sekwencji – Określ adresata
Chcąc wysłać paczkę Nadawca musi określić dane adresata. Wprowadza je przez System Obsługi, który dalej dodaje dane adresata do Systemu Paczkowego.
Na przedstawionym diagramie maszyny stanowej (Rysunek 24) umieszczono odpowiednie stany i przejścia między nimi. Wyróżnione stany to: paczka zarejestrowana, paczka wyceniona, paczka opłacona oraz paczka anulowana. Po zarejestrowaniu paczki możliwe jest uzupełnienie brakujących informacji na jej temat, anulowanie jej, a także przystąpienie do wyceny. Po przeprowadzeniu wyceny paczka może zostać anulowana oraz opłacona. Po opłaceniu paczki następuje zakończenie transakcji.
Rys. 24. Diagram stanów
Platforma projektowa Jazz Team Server której konfiguracja przedstawiona została powyżej stanowi bardzo rozbudowane narzędzie do zarządzania projektami.. Dzięki dużej ilości szablonów metodyk projektowych z pewnością może służyć jako środowisko zarządzania projektami w wielu zupełnie różnych projektach. Platforma ta pozwala także na efektywne zarządzanie oraz organizacją pracy grupowej. Jazz Team Server można swobodnie wykorzystywać dla różnych etapów powstawania projektu systemu. Podczas projektowania systemu pobierania opłat za paczki pocztowe musieliśmy się głównie skupić na rozróżnieniu elementów, za które należy naliczać dodatkowe opłaty. Ciężko niestety określić wymagania dotyczące rozmiarów paczki. Paczki mogą być wysyłane tylko do określonych rozmiarów co zostanie przez nas określone w kolejnym etapie tworzenia systemu.