AKADEMIA GÓRNICZO-HUTNICZA



Podobne dokumenty
OPCJE DOSTAWY DOSTĘPNE W SERWISIE LOJALNI24.PL

Instrukcja użytkownika

OPCJE DOSTAWY W SERWISIE WIRTU.PL

Najczęściej zadawane pytania

Ćwiczenia 3: Specyfikacja wymagań Pytania:

Spis treści. Rejestracja/logowanie. Zmiana numeru konta klienta. Tworzenie nowej przesyłki. Zamawianie kuriera

WellCommerce Poradnik: Sprzedaż

Instrukcja. nadawania przesyłek Allegro: Allegro Kurier InPost. Allegro Paczkomaty InPost. Allegro MiniPaczka InPost

Prezentacja systemu do obsługi klienta (platforma B2B) Adres sklepu:

1. [Postanowienia ogólne]

Instrukcja dla użytkowników serwisu internetowego

Projekt z przedmiotu Projektowanie systemów teleinformatycznych

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

Instrukcja. Systemu Obsługi Praktyk -Moduł Student UNIWERSYTET MARII CURIE-SKŁODOWSKIEJ W LUBLINIE

SPECYFIKACJE WYMAGAŃ PRZYPADKI UŻYCIA (USE CASE)

Prezentacja systemu do obsługi klienta (platforma B2B) Adres sklepu:

Instrukcja obsługi platformy B2B ARA Pneumatik

Jak zrobić zakupy za pośrednictwem Rekshopa?

Przewodnik po konfiguracji Comarch ERP e-sklep z wszystko.pl

INSTRUKCJA OBSŁUGI SKLEPU INTERNETOWEGO. Alu System Plus Sp.J. ul.leśna 2d Chrzanów, tel.(+48-32)

Przed przystąpieniem do czytania dokumentu, proszę o zapoznanie się z podstawowym dokumentem Instrukcja obsługi AZU dla użytkownika zewnętrznego.

Opis nowych funkcji w programie Symfonia Handel w wersji 2010

Podręcznik użytkownika

1 Logowanie. 2 Wybór typu transakcji. 3 Wybór wydarzenia

System epon Dokumentacja użytkownika

VENUS-BEAUTY.pl. Instrukcja obsługi procesu zamówienia

Instrukcja korzystania z platformy B2B Black Point S.A.

Narysować diagram sekwencji pokazujący rejestrację wypożyczenia przez Jana Kowalskiego książki Potop

Palety by CTI. Instrukcja

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Instrukcja Integracja z Shoper. Wersja z 18/01/2015. Copyright Zakupteraz.pl

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

Instrukcja użytkownika. Instrukcja konfiguracji i obsługi modułu e-rejestracja

raporty-online podręcznik użytkownika

PORTAL KLIENTA I OBSŁUGA ZGŁOSZEŃ.V01. VULCAN Innowacji

Kilometrówki24.pl to system służący do ewidencjonowania przejazdów pojazdów wykorzystywanych w przedsiębiorstwach.

System wspomagania obsługi pracy gabinetu stomatologicznego

Instrukcja rezerwacji obozów poprzez Panel on-line

Nowe funkcjonalności wersji

I. Postanowienia Ogólne

1. Sklep internetowy Fabryka Snu działa za pośrednictwem witryny internetowej w domenie

Cele przedsięwzięcia

Systemu Zwrotu Palet KN-WO

INSTRUKCJA Panel administracyjny

Opis modułu pl.id w programie Komornik SQL-VAT

Instrukcja założenia rezerwacji obozów i dopełnienia formalności poprzez panel on-line

Przewodnik użytkownika systemu AgentWorks podwójna kontrola wydanie 11 wersja polska

Dane do konfiguracji konta klienckiego...2 Konto SIP...2 Konfiguracja dla Linksys PAP2T:...2 konfiguracje bramek za nat:...2 bez nat:...3 Klient...

INSTRUKCJA UŻYTKOWANIA USŁUGI mobile e-bank EBS

Określanie wymagań. Cele przedsięwzięcia. Kontekst przedsięwzięcia. Rodzaje wymagań. Diagramy przypadków użycia use case diagrams

Użytkownik przypisany zostaje również do danej grupu uprawnień szczegóły punkt 6.

Instrukcja erejestracji Kliniki Nova.

WellCommerce Poradnik: CRM

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

FedEx efaktura Instrukcja Użytkownika

Prowadzone są przeliczenia z PLN na Euro i odwrotnie.

Instrukcja rezerwacji obozów poprzez panel on-line

Zarządzanie reklamacjami i serwisem w programie bs4

Witamy w firmie Pyszoty.pl. Niniejsza instrukcja ma na celu zapoznanie Państwa z naszym systemem do opłacania i zamawiania obiadów przez internet.

Klient poczty elektronicznej - Thunderbird

INSTRUKCJA OBSŁUGI SYSTEMU MICROPAY

Opis systemu lojalnościowego e-lar bank.

Sklep to sklep internetowy CHIC CHIC, prowadzony przez sprzedawcę pod adresem internetowym

Instrukcja obsługi. Helpdesk. Styczeń 2018

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Instrukcja zamawiania obiadów w przedszkolu. Pyszoty.pl

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

PROJEKT INŻYNIERIA OPROGRAMOWANIA. Temat: System obsługi kasy - projekt wzorcowy

OPIEKUN DORADCY: KONTO FIRMY - PIERWSZE KROKI

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności:

Co nowego w systemie Kancelaris 4.11 STD/4.21 PLUS. Co nowego w systemie Kancelaris 4.12 STD/4.22 PLUS

REGULAMIN SKLEPU INTERNETOWEGO ŁĄCZY NAS PIŁKA

Elektroniczny system wspomagający proces rekrutacji do szkół podstawowych Szanowni Państwo,

Nabór Bursy/CKU. Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Instrukcja skierowana jest do klientów firmy Chint Poland Sp. Z o. o. którzy uzyskali dostęp do systemu esobi.

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Regulamin Systemu sprzedaży biletów HSW w Elblągu

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Instrukcja korzystania z platformy B2B Black Point S.A.

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

Syriusz Rzeszów ul. Sportowa 3 tel. (017) fax: (017)

ELETRONICZNA WYMIANA DANYCH

Zmiany wprowadzone w pakiecie. Projekt PSZ.eDOK

OPROGRAMOWANIE SOFTWARE FM DLA AWIZUJĄCYCH

1. Właścicielem Internetowego Sklepu Massada The Natural Therapy Poland, zwanego dalej Sklepem jest:

Instrukcja obsługi internetowego systemu wsparcia programu Projektor

Instrukcja Integracja z istore. Wersja z 07/02/2015. Copyright Zakupteraz.pl

Instrukcja zamawiania obiadów w szkole. Pyszoty.pl

Prezentacja systemu do obsługi klienta (platforma B2B) Adres sklepu:

Przed przystąpieniem do czytania dokumentu, proszę o zapoznanie się z podstawowym dokumentem Instrukcja obsługi AZU dla użytkownika zewnętrznego.

INSTRUKCJA OBSŁUGI PROGRAMU

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Regulamin sklepu. I. Składanie zamówień

System Doładowania e-karty przez Internet (SDK) Podręcznik uŝytkownika

Nowe funkcje w programie Symfonia Handel w wersji

CRM. moduł zarządzania relacjami z klientami. Poradnik dla użytkowników systemu FIRMA 1/1

Transkrypt:

AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki E-HURT System usprawniający działalność hurtowni zniczy Rade-Tours 1

Spis treści 1. Sformułowanie zadania projektowego...5 1.1 Obszar i przedmiot modelowania...5 1.1.1 Dziedzina problemu...5 1.2 Obszar modelowania...5 1.2.1 Opis struktury organizacyjnej...5 1.2.2 Obszary aktywności...9 1.3 Opis obszarów aktywności...10 1.3.1 Opis stanowisk pracy...10 1.3.2 Opis procedur biznesowych...11 1.4 Zakres odpowiedzialności systemu...16 1.5 Zwięzła nazwa problemu...16 1.6 Cele do osiągnięcia...17 1.6.1 Cele produktu...17 1.6.2 Cele przedsięwzięcia projektowego...17 2 Opis wymagań...17 2.1 Funkcje systemu z punktu widzenia użytkownika...17 2.1.1 Funkcje z punktu widzenia szefa firmy....17 2.1.2 Funkcje z punktu widzenia klienta...18 2.1.3 Funkcje z punktu widzenia pracownika magazynu...18 2.1.4 Funkcje z punktu widzenia kierowców...19 2.1.5 Funkcje z punktu widzenia przedstawiciela handlowego...19 2.2 Dane przechowywane w systemie...19 2.2.1 Dane o pracownikach...19 2.2.2 Dane o sprzęcie...20 2.2.3 Dane o zniczach...20 2.2.4 Dane o dostawach...20 2.2.5 Dane o zamówieniach...20 2.2.6 Dane o klientach...20 2.2.7 Dane o magazynie...21 2.3 Dokumenty wprowadzane i wyprowadzane z systemu...21 2.3.1 Dokumenty wprowadzane...21 2.3.2 Dokumenty wyprowadzane...21 2.4 Wymagania specjalne i ograniczenia...21 2.4.1 Prostota obsługi...21 2.4.2 Szybki dostęp...21 2.4.3 Bezpieczeństwo danych...22 2.4.4 Stabilność systemu...22 2.5 Analiza wymagań funkcjonalnych (diagramy i scenariusze UC)...22 2.5.1 Diagramy USE CASE przypadków biznesowych...22 2.5.2 Scenariusze biznesowych przypadków użycia...29 2.6 Wymagania niefunkcjonalne...39 2

2.6.1 Funkcje produktowe...39 2.6.2 Funkcje organizacyjne...39 3 Analiza funkcjonalna systemu diagramy DFD...40 3.1 Diagram kontekstowy...40 3.1.1 Opis...40 3.2 Analiza top-down...41 3.2.1 DFD 0...41 3.2.2 Opis...41 3.2.3 Zarządzanie zamówieniami...42 3.2.4 Opis...42 3.2.5 Zarządzanie magazynem...43 3.2.6 Opis...44 3.2.7 Zarządzanie pracownikami...45 3.2.8 Opis...45 3.2.9 Obsługa klientów...46 3.2.10 Opis...47 3.2.11 Zarządzanie finansami...48 3.2.12 Opis...48 4 Roboczy słownik pojęć...49 5 Analiza struktur danych w przechowywanych magazynach...50 5.1 Tabela krzyżowa...50 5.2 Opis relacji między obiektami...51 5.3 Diagram ERD...52 5.4 Opis struktur danych...55 5.4.1 Tabela opisująca kategorie sprzedawanych produktów:...55 5.4.2 Tabela opisująca Klientów hurtowni:...55 5.4.3 Tabela opisująca magazyny hurtowni....55 5.4.4 Tabela opisująca dostawców, z których usług korzysta firma:...55 5.4.5 Tabela opisująca pracowników hurtowni:...56 5.4.6 Tabela opisująca sektory, na które został podzielony magazyn....56 5.4.7 Tabela opisująca oferowane produkty....57 5.4.8 Tabela opisująca wystawione faktury:...57 5.4.9 Tabela opisująca wypłaty dla pracowników....57 5.4.10 Tabela opisująca wszelkie koszty....58 5.4.11 Tabela opisująca produkty dostępne w magazynie....58 5.4.12 Tabela opisująca Dostawy....59 5.4.13 Tabela łącznikowa, opisująca, którzy pracownicy są związani z którymi magazynami....59 5.4.14 Tabela opisująca zamówienia klientów....60 5.4.15 Tabela opisująca pozycje dostawy ramach konkretnej dostawy(rodzaj produktu, ilość, cena oraz zniżka):...61 5.4.16 Tabela opisująca pozycje zamówienia, analogicznie jak w pozycjach odstawy:...61 6 Obraz zachowania systemu w czasie diagramy STD najważniejszych obiektów...62 6.1 Ogólny diagram STD...62 3

6.2 Moduł związany z szefem hurtowni...63 6.3 Moduł związany z obsługą magazynu...65 6.4 Moduł związany z pracownikiem firmy...65 6.5 Moduł rozszerzający system o internetową obsługę klienta...66 7 Uzupełnienie wymagań funkcjonalnych....68 7.1 Funkcja obliczająca aktualny stan finansowy firmy...68 7.2 Możliwość złożenia prośby o wizytę przedstawiciela handlowego...68 8 Równoważenie modeli...68 9 Architektura systemu...68 9.1 Schemat architektury systemu...68 9.2 Opis architektury systemu...69 10 Projekt interfejsu użytkownika...70 10.1 Logowanie...70 10.2 Panel główny...70 10.2.1 Panel główny Panel dostaw...71 10.2.2 Panel główny Panel zamówień Dodaj klienta...72 10.2.3 Panel główny Panel zamówień Wyszukaj klienta...73 10.2.4 Panel główny Obsługa magazynu...74 10.2.5 Panel główny Obsługa magazynu Warehouse Manager...75 10.2.6 Panel główny Obsługa magazynu Spis produktów...76 10.3 Moduł związany z pracownikami....77 10.3.1 Dodanie faktury...77 10.4 Wbudowana możliwość komunikacji z osobami wewnątrz systemu, dostępna dla pracowników oraz szefa...78 10.5 Interfejs internetowy dla klientów...79 11 Podsumowanie...79 11.1 Założenia co do implementacji systemu...79 11.2 Weryfikacja projektu systemu...80 11.3 Uwagi i wnioski końcowe...80 12 Bibliografia...81 13 Wykorzystane narzędzia:...81 4

1. Sformułowanie zadania projektowego 1.1 Obszar i przedmiot modelowania 1.1.1 Dziedzina problemu Cel firmy: Celem firmy jest wypracowanie zysku poprzez sprzedaż zniczy do sklepów oraz rozwożenie ich do klientów. Opis firmy: Firma zajmuje się sprzedażą, magazynowaniem oraz rozwożeniem zniczy do sklepów klienckich. W firmie zatrudnieni są dwaj przedstawiciele handlowi, jeden kierowca który rozwozi większe zamówienia, pracownik sklepu oraz magazynierzy. Wraz z nadejściem sezonu zniczowego firma zwiększa zatrudnienie o dodatkowych pracowników. Jest to niewielka, rozwijająca się firma, nie posiadająca systemu informatycznego. Dziedzina firmy obejmuje: magazynowanie zniczy, sprzedaż hurtową i detaliczną zniczy, prowadzenie strony internetowej, rozwożenie zniczy do klientów oraz zatrudnianie nowych pracowników. Firma współpracuje z firmą zajmującą się księgowością. 1.2 Obszar modelowania 1.2.1 Opis struktury organizacyjnej 5

Organizacją, kierowaniem i zarządzaniem firmą zajmuję się jedynie jej właściciel. Wszyscy pracownicy bezpośrednio mu podlegają. Zgłaszają się do niego przedstawiciele w celu otrzymania zleceń na dany dzień. Przedstawiciele korzystają z usług magazyniera, który pomaga im znaleźć i załadować do auta odpowiednie znicze. Szef firmy na co dzień pracuje w sklepie sprzedającym pojedyncze znicze oraz świece, gdzie do pomocy ma jednego pracownika. 1.2.1.1 Struktura magazynów 6

7

1.2.1.2 Poglądowy schemat działania firmy 8

1.2.2 Obszary aktywności a) Obsługa klienta Klient może złożyć zamówienie osobiście lub telefonicznie. Zamówienie jest przyjmowane przez szefa hurtowni. W zależności od dotychczasowej historii współpracy z hurtownią klient może zostać poproszony o wpłacenie zaliczki. Później firma wysyła kierowcę z zamówieniem, a klient odbiera je, płacąc za dowieziony towar bądź płaci za niego wcześniej przelewem. Klient może także zostać odwiedzony przez przedstawicieli handlowych, u których może od razu kupić niedużą ilość towaru lub zamówić większą dostawę. Różne firmy bądź osoby mogą same poprosić o taką wizytę lub mogą zostać wybrane do odwiedzenia przez szefa firmy. b) Wspomaganie pracy właściciela firmy Szef firmy zajmuje się wszystkimi sprawami kadrowymi. Zatrudnia, zwalnia, kontroluje pracowników a także prowadzi dokumentację ich czasu pracy. Przyjmuje zamówienia od klientów, utrzymuje z nimi kontakt. Wyznacza trasy przedstawicielom handlowym, wydaje magazynierom polecenia przygotowania przesyłek oraz informuje kierowcę o trasie dowozu towaru. Przekazuje także dokumenty do zewnętrznego biura księgowego. Składa zamówienia na towar u producenta. Właściciel decyduje także o zakupie nowych samochodów. c) Wspomaganie pracy pracowników magazynu Pracownicy magazynu odbierają dostawy zniczy od producenta i układają je w magazynie. Na zlecenie szefa przygotowują towar dla kierowcy a także wydaję znicze przedstawicielom handlowym. Prowadzą ewidencję i dbają o porządek w magazynie. d) Wspomaganie pracy kierowcy Kierowcy rozwożą zamówiony towar na terenie południowej i wschodniej Polski oraz na Słowację. Zabierają ze sobą fakturę i odbierają od klienta zapłatę. W Krakowie, przed odjazdem, odbierają znicze z magazynu. Często muszą przygotowywać przesyłkę razem z magazynierami ze względu na trudności, jakie sprawia znalezienie konkretnego towaru na pułkach magazynu. e) Wspomaganie pracy przedstawicieli handlowych Przedstawiciele handlowi odbierają od szefa dyspozycje na dany dzień. Mają do przejechania konkretną trasę i odpowiednie punkty do odwiedzenia. Rano uzupełniają stan samochodu odbierając znicze z magazynu. W trakcie objazdu 9

sprzedają towar, wystawiając od razu fakturę klientowi. Mogą też przyjąć większe zamówienia i przekazać je właścicielowi firmy. f) Wspomaganie pracy pracownika sklepu Pracownik ten prowadzi sprzedaż detaliczną w sklepie zlokalizowanym w siedzibie firmy, w sąsiedztwie głównego magazynu. Przyjmuje do sprzedaży towar z magazynu. 1.3 Opis obszarów aktywności 1.3.1 Opis stanowisk pracy a) Właściciel Właściciel firmy odpowiada za sprawne jej funkcjonowanie. Podlegają mu wszyscy pracownicy w firmie. Do jego głównych zadań należy: -przyjmowanie większych zamówień od klientów, -organizacja pracy podwładnych i ustalanie wynagrodzenia, -składanie zamówień u producenta zniczy, b) Przedstawiciel handlowy Posiada samochód dostawczy, w którym wozi znicze i wkłady. Odwiedza stałych klientów i stara sie pozyskiwać nowych prezentując im najnowszą ofertę zniczy - na przykładzie zniczy, które ma w samochodzie. Przeważnie każdego dnia rano przyjeżdża pod magazyn uzupełniając stan swojego samochodu. c) Kierowca Posiada duży samochód dostawczy na osiem palet z plandeką i windą. Dowozi większe zamówienia do klientów. W razie potrzeby jeździ z samochodami do serwisu. d) Magazynier Pracownik magazynu zobowiązany jest do: przygotowania złożonych zamówień i pomocy w zapakowaniu ich do samochodu, pomoc w załadunku przedstawiciela handlowego, utrzymania porządku w magazynie, odbierania dostaw od producenta zniczy e) Pracownik sklepu 10

Głównym zadaniem pracownika sklepu jest obsługa klientów detalicznych oraz dbanie o odpowiednią ilość produktów w sklepie. W razie potrzeby uzupełnia je w współpracy z magazynem. 1.3.2 Opis procedur biznesowych 1.3.2.1 Obsługa klientów a) Nawiązanie kontaktu z hurtownią: Klient musi nawiązać kontakt biznesowy z właścicielem hurtowni. Może to zrobić telefonicznie, mailowo albo za pomocą tradycyjnego listu. Może także nawiązać kontakt z firmą w trakcie wizyty przedstawiciela handlowego. Właściciel firmy prowadzi własną ewidencję swoich klientów, więc trzeba trafić do jego spisu, aby prowadzić z nim dalsze interesy. b) Złożenie zamówienia: Klient może złożyć zamówienie telefonicznie, mailowo, listownie bądź w trakcie wizyty przedstawiciela handlowego. c) Sprawdzenie stanu zamówienia Klient może sprawdzić stan zamówienia, kontaktując się z właścicielem firmy osobiście, bądź drogą telefoniczną, mailową lub pocztową. d) Wpłata zaliczki Klient może zostać poproszony o wpłatę zaliczki za swoje zamówienie. Dostanie wówczas numer konta bankowego oraz tytuł przelewu, który jest wewnętrznym identyfikatorem jego zlecenia. Zaliczkę może wpłacić przez bank lub osobiści w siedzibie firmy. e) Odbiór zamówienia Klient czeka we wskazanym przez siebie miejscu na kierowcę przysłanego z hurtowni. Odbiera towar, uiszcza opłatę jeśli nie dokonał płatności przelewem i przyjmuję fakturę przywiezioną przez pracownika hurtowni zniczy. f) Prośba o wizytę przedstawiciela handlowego Klient może poprosić właściciela hurtowni o wizytę przedstawiciela handlowego. Może w ten sposób zapoznać się z aktualną ofertą oraz nabyć towar u danego przedstawiciela. g) Dokonanie zakupu u przedstawiciela handlowego 11

Klient może zakupić znicze u przedstawiciela handlowego. h) Dokonanie zakupu w sklepie detalicznym Zakupu można dokonać także w sklepie detalicznym. i) Wizytacja klienta w magazynie Klient umawia się na wizytę w magazynie. Przyjeżdża do magazynu i ogląda dostępne znicze. Wybiera te, które go interesują i składa zamówienie. Sposób zapłaty i dostawy jest ustalany wedle uznania klienta. 1.3.2.2 Wspomaganie pracy właściciela firmy a) Zatrudnienie pracownika Do właściciela firmy zgłasza się kandydat na pracownika. Po zapoznaniu się z CV, referencjami i innymi dokumentami standardowo rozpatrywanymi podczas procedury rekrutacyjnej, właściciel podejmuje decyzję o zatrudnieniu lub odrzuceniu podania. b) Zwolnienie pracownika Pracownik jest zwalniany w trybie prawnym w związku z likwidacją stanowiska bądź w wypadku negatywnej oceny jego pracy. c) Kontrola czasu pracy pracowników Pracownik, przychodząc do pracy, melduje się szefowi, który wpisuje go w zeszycie obecności. Wychodząc z pracy, szef notuje także godzinę opuszczenia stanowiska przez podwładnego i dysponuje w ten sposób całą informacją na temat czasu pracy danego pracownika. Podobnie meldują się i poddają kontroli kierowcy i przedstawiciele handlowi. d) Przyjęcie zamówienia Właściciel hurtowni przyjmuje zamówienia od klientów. Weryfikuje je i podejmuje decyzję, czy będzie od danego klienta wymagał zaliczki. Jeśli klient jest zaufany i jest to już jego któreś z kolei zamówienie, towar jest wysyłany bez zaliczki. e) Wprowadzenie wymogu wpłacenia zaliczki 12

Szef wysyła klientowi dane rachunku bankowego, na który mają wpłynąć pieniądze oraz tytuł przelewu, który stanowi numer zamówienia - wewnętrzny identyfikator zlecenia. f) Zlecenie przygotowania dostawy Jeśli właściciel zaakceptował zamówienie (bez wpłacania zaliczki lub po wpłaceniu), to przekazuje do magazynu informację, jaką dostawę trzeba przygotować i na kiedy trzeba to uczynić. Informuje także kierowcę, że danego dnia musi stawić się w magazynie, odebrać towar od magazyniera, zapakować na auto i jechać w trasę. g) Utrzymywanie kontaktu z klientami Szef utrzymuje kontakt ze swoimi klientami, proponując im nowy towar oraz wysyłając do nich przedstawicieli handlowych. h) Przygotowanie tras dla przedstawicieli handlowych Właściciel hurtowni przygotowuje, na podstawie wybranych do odwiedzenia punktów, trasy objazdu dla swoich pracowników. Udziela im wskazówki i objaśnia cel wizyt. i) Prowadzenie księgowości Szef zbiera potrzebne dokumenty i przekazuje je zewnętrznej firmie, świadczącej usługi księgowe. j) Składanie zamówień u producenta zniczy Właściciel hurtowni osobiście zamawia towar u producenta, utrzymując z nim kontakt telefoniczny i mailowy. Z pamięci wskazuje, które znicze należy domówić. Zamawia towar, analizując aktualne potrzeby rynku i popyt. Na dostawę umawia się na konkretny dzień i godzinę k) Dbanie o sprzęt, z którego korzysta firma Szef może kupować nowe auta, zlecać ich przeglądy. Na wyposażeniu jest także komputer, drukarka, paleciaki oraz inne sprzęty. 1.3.2.3 Wspomaganie pracy pracowników magazynu a) Wydanie towaru z magazynu 13

Do magazyniera zgłasza się kierowca lub przedstawiciel handlowy z listą zniczy do odebrania z magazynu. Magazynierzy odszukują potrzebne znicze w hali. Magazynier i kierowca umieszczają towar w aucie. b) Przyjęcie towaru do magazynu Do magazynu przyjeżdża dostawa zniczy od producenta. Znicze w postaci palet trzeba wyjąć z ciężarówki i umieścić w magazynie. Znicze umieszczane są w magazynie w dowolnym wolnym miejscu. c) Sprawdzenie stanu magazynu Gdy klient zamawia znicze, magazynier sprawdza czy są one dostępne. Gdy brakuje danego typu zniczy magazynier zgłasza to szefowi. d) Przygotowanie towaru do przewiezienia Pracownik magazynu dostaje listę zniczy, które ma przygotować do spakowania w trasę. Przeszukuje magazyn i kompletuje potrzebny towar oraz przygotowuje go do spakowania do auta. e) Porządkowanie magazynu Często potrzebne jest też zrobienie porządku w magazynie. Pogrupowanie towaru, aby łatwiejsze było wyszukiwanie zniczy. 1.3.2.4 Wspomaganie pracy kierowców a) Stawienie się w magazynie po towar Kierowca, przed ruszeniem w trasę, przyjeżdża do magazynu, aby odebrać towar, pomóć go zapakować oraz odebrać fakturę przygotowaną dla klienta. Często musi pomagać magazynierom znaleźć konkretne znicze. b) Dowiezienie towaru Kierowca dowozi samochodem ciężarowym towar do klienta c) Oddanie towaru i odebranie zapłaty Kierowca oddaje towar klientowi, przekazuje mu fakturę oraz odbiera pieniądze, z którymi wraca do Krakowa. 14

1.3.2.5 Wspomaganie pracy przedstawicieli handlowych a) Odebranie dyspozycji na dany dzień Przedstawiciel handlowy odbiera od właściciela firmy instrukcje na cały dzień. Mają do odwiedzenia konkretnych klientów. Często dostają mapkę dojazdu, według której planują cały dzień pracy. b) Odebranie zniczy z magazynu Przedstawiciele handlowi odbierają z magazynu znicze, które będą im potrzebne podczas objazdu wyznaczonych punktów. Mogą mieć już przygotowany zestaw towarów, ale mogą też sami zdecydować, jakie produkty zabrać ze sobą. Pomagają wówczas magazynierom znaleźć odpowiednie znicze. c) Prezentacja oferty Podczas objazdu i wizyty u danego klienta prezentują ofertę hurtowni. Pokazują zabrane ze sobą znicze, ale mogą także zaprezentować dodatkowe materiały reklamowe. Nawiązują w ten sposób kontakt z klientami, szukają nowych nabywców. d) Sprzedaż zniczy Jeśli klient jest zainteresowany ofertą, przedstawiciel handlowy może od razu sprzedać mu pewną ilość towaru. Na miejscu wystawia fakturę oraz notuje, jaki towar sprzedał oraz w jakich ilościach. e) Przyjęcie zamówienia Zdarza się, że klient, zapoznawszy się z ofertą, chce od razu złożyć większe zamówienie, przekraczające ilość towaru, jaką ma ze sobą przedstawiciel handlowy. Wówczas zamówienie może zostać przyjęte przez przedstawiciela i przekazane dalej szefowi, który przejmuje w tej sprawie kontakt z klientem. Przedstawiciel handlowy musi wtedy wiedzieć, czy hurtownia będzie w stanie dostarczyć wymagany towar, dlatego może być potrzebna konsultacja z magazynem. Może też więc od razu poprosić klienta, aby kontaktował się w tej sprawie bezpośrednio z klientem. f) Powrót do firmy Wracając z objazdu, przedstawiciel handlowy rozlicza się ze sprzedanego towaru oraz oddaje pozostałe znicze. Musi zdać pracownikowi magazynu dokładną relację, aby zgadzał się stan ewidencji. 15

1.3.2.6 Wspomaganie pracy pracownika sklepu a) Sprzedaż zniczy Pracownik sklepu prowadzi sprzedaż detaliczną towaru z hurtowni. Dysponuje kasą fiskalną. b) Prowadzenie ewidencji towaru Pracownik sklepu musi prowadzić ścisłą ewidencję sprzedanego towaru. Porządek jest wymagany ze względu na kontrolę stanu posiadania całej firmy. c) Sprowadzanie zniczy z magazynu Pracownik sklepu w razie potrzeby prosi pracowników magazynu o dostarczenie dodatkowych zniczy. d) Zwrócenie zniczy do magazynu Jeśli zachodzi taka potrzeba, pracownik sklepu zwraca jakąś część swojego towaru do magazynu hurtowni. Może to być potrzebne na przykład w takim przypadku, gdy pozwoli to skompletować niepełny zestaw produktów do realizacji jakiegoś zamówienia. 1.4 Zakres odpowiedzialności systemu W zakres odpowiedzialności systemu wchodzą wymienione obszary aktywności. Będą one realizowane w pełnym zakresie. System nie do końca przejmie niektóre części aktywności właściciela firmy, ale pozwoli je za to dobrze dokumentować. Chodzi o zatrudnianie pracowników oraz o zakup sprzętu. Wszystko to jednak może być w jakiejś części przechowywane w systemie. Wszystkie obszary aktywności zostaną w dużej części zautomatyzowane przez system, albo przynajmniej zostanie dostarczona funkcjonalność dla monitorowania i dokumentowania tych aktywności. 1.5 Zwięzła nazwa problemu Projekt systemu wspomagającego pracę hurtowni ze zniczami: E-HURT 16

1.6 Cele do osiągnięcia 1.6.1 Cele produktu Celem do osiągnięcia przez produkt E-HURT jest stworzenie systemu, który będzie usprawniał działalność hurtowni. System powinien ułatwiać, a w szczególności przyspieszać pracę w okresie zniczowym. System ma też ułatwić klientom współpracę z firmą poprzez dostęp internetowy, zaopatrzony w pełną funkcjonalność i wygodny interfejs. System poprawi także jakość współpracy i komunikacji pomiędzy pracownikami hurtowni, dzięki czemu, każdy zatrudniony w firmie użytkownik systemu będzie mógł lepiej skupić się na swojej części pracy i będzie ją wykonywał znacznie szybciej. Całość ma zdecydowanie usprawnić wszystkie akcje prowadzone przez firmę. 1.6.2 Cele przedsięwzięcia projektowego Naszym celem jest zaznajomienie się z poszczególnymi elementami projektowania systemów informatycznych z wykorzystaniem metodyki strukturalnej. Uzyskiwanie potrzebnych informacji od klientów podczas procesu projektowania oraz utrzymywanie dobrego kontaktu. Chcemy również nabrać doświadczenie w pracy grupowej, odpowiednim planowaniu działań oraz dotrzymywaniu terminów. 2 Opis wymagań 2.1 Funkcje systemu z punktu widzenia użytkownika 2.1.1 Funkcje z punktu widzenia szefa firmy. 2.1.1.1 Obsługa nowych zamówień a) Dodaj nowe zamówienie b.) Zatwierdź zamówienie c.) Potwierdź wpłacenie zaliczki d.) Przekaż zamówienie do realizacji e.) Zleć przygotowanie danych zniczy do odbioru z magazynu 2.1.1.2 Zarządzanie pracownikami 17

handlowych a) Wyznacz trasę kierowców i przedstawicieli handlowych b) Wyznacz terminarz dostaw c) Wyznacz harmonogram pracy kierowców i przedstawicieli d) Oblicz wypłaty dla pracowników 2.1.1.3 Statystyka sprzedaży a) Wyświetlanie kosztów miesięcznych/kwartalnych/rocznych b.) Wyświetlanie zarobków netto/brutto miesięcznych/kwartalnych/rocznych c) Wyświetlenie najpopularniejszych zniczy d) Wyświetlenie najmniej popularnych zniczy 2.1.1.4 Kontrola stanu magazynu a) Wyświetlenie bieżącego stanu magazynu b) Wyświetlenie historii dostaw do magazynu c) Wyświetlenie historii odbioru z magazynu d) Dodaj informacje o zbliżającej się dostawie 2.1.1.5 Zarządzanie klientami a) Wyświetlenie klientów b) Wyświetlenie najaktywniejszych klientów c) Wyświetlenie statystyki zakupów danego klienta d) Usuwanie klienta z bazy e) Dodawanie nowego klienta 2.1.2 Funkcje z punktu widzenia klienta a) Rejestracja w systemie b) Logowanie do systemu c) Przeglądanie oferty hurtowni d) Złożenie zamówienia e) Podglądanie stanu zamówienia f) Przeglądanie historii zamówień g) Zamówienie wizyty przedstawiciela handlowego h) Odbieranie informacji od hurtowni 2.1.3 Funkcje z punktu widzenia pracownika magazynu a) Zarejestrowanie dostawy zniczy b) Wydanie zniczy kierowcy 18

c) Wydanie zniczy przedstawicielowi handlowemu d) Przeglądanie stanu magazynu e) Wprowadzenie do systemu miejsca ułożenia towaru f) Odbieranie zniczy od kierowcy g) Odbieranie zniczy od przedstawiciela handlowego h) Wydanie zniczy do sklepu detalicznego i) Odebranie zniczy od sklepu stacjonarnego j) Meldowanie się w pracy przy pomocy karty magnetycznej 2.1.4 Funkcje z punktu widzenia kierowców a) Sprawdzenie harmonogramu pracy b) Sprawdzenie trasy dojazdu c) Przeglądanie informacji o aucie d) Wydruk faktury dla klienta e) Dodanie raportu z dostawy 2.1.5 Funkcje z punktu widzenia przedstawiciela handlowego a) Sprawdzenie harmonogramu pracy b) Sprawdzenie trasy przejazdu c) Sprzedaż zniczy d) Zamówienie zniczy do spakowania na objazd e) Przeglądanie informacji o aucie f) Dodanie raportu o transakcji z klientem g) Dodanie notatki o kliencie 2.2 Dane przechowywane w systemie 2.2.1 Dane o pracownikach a) Imię i Nazwisko b) PESEL c) Data urodzenia d) Data zatrudnienia e) Data zwolnienia f) Stanowisko g) Lista obecności w pracy h) Notatki o pracowniku 19

2.2.2 Dane o sprzęcie a) Rodzaj sprzętu b) Data zakupu c) Informacje o gwarancji d) Informacje o przeglądach d) Lista pracowników używających sprzętu 2.2.3 Dane o zniczach a) Nazwa znicza b) Producent c) Klasyfikacja d) Ilość e) Cena f) Miejsce przechowywania w magazynie g) Numer identyfikujący 2.2.4 Dane o dostawach a) Dostawca b) Produkt c) Data d) Ilość e) Cena 2.2.5 Dane o zamówieniach a) Klient b) Produkt c) Data d) Ilość e) Cena f) Stan zamówienia 2.2.6 Dane o klientach a) Nazwa firmy b) NIP c) Adres d) Historia zamówień f) Notatki o kliencie 20

2.2.7 Dane o magazynie a) Struktura półek 2.3 Dokumenty wprowadzane i wyprowadzane z systemu 2.3.1 Dokumenty wprowadzane a) Faktury za zakupione znicze b) Faktury za sprzedane znicze c) Dane o klientach d) Dane o pracownikach e) Raport pracownika o kliencie 2.3.2 Dokumenty wyprowadzane a) Faktury dla klientów b) Podsumowanie miesięczne/tygodniowe pracownika c) Trasy dla kierowców d) Plan dnia dla kierowców e) Aktualna mapa magazynu 2.4 Wymagania specjalne i ograniczenia 2.4.1 Prostota obsługi System ma być na tyle prosty i intuicyjny, żeby nie sprawiał trudności w obsłudze przez osobę, która wcześniej nie miała dużej styczności z komputerem. 2.4.2 Szybki dostęp Wymagany jest szybki dostęp do niektórych funkcji, z uwagi na to, że są często używane. Są to funkcje związane z zarządzaniem pracownikami a zwłaszcza tworzenie harmonogramu pracy i trasy dostawy. 21

2.4.3 Bezpieczeństwo danych Bardzo ważne w systemie są dane o zamówieniach. Są kluczowym elementem działalności firmy, dlatego nie mogą być zagrożone. Ważne są także dane o zniczach, ponieważ właściwa i prawidłowa ewidencja jest ważną częścią usprawnienia pracy firmy. 2.4.4 Stabilność systemu System musi być stabilny. Chwilowy brak dostępu do systemu może spowodować opóźnienie pracy kierowców co przekłada się na spóźnienia w dostawach towaru. Należy także zagwarantować okresowy backup danych i macierze dyskowe. 2.5 Analiza wymagań funkcjonalnych (diagramy i scenariusze UC) 2.5.1 Diagramy USE CASE przypadków biznesowych 2.5.1.1 Diagram obszarów aktywności i aktorów 22

2.5.1.2 Obsługa magazynu 23

2.5.1.3 Zarządzanie zamówieniami 24

25

2.5.1.4 Zamówienia internetowe 2.5.1.5 Zarządzanie finansami 26

2.5.1.6 Zarządzanie pracownikami 27

2.5.1.7 Obsługa klientów 28

2.5.2 Scenariusze biznesowych przypadków użycia 2.5.2.1 Obsługa klientów KLIENT: a) Zarejestruj się 1) Nawiąż kontakt z właścicielem firmy 2) Podaj dane osobowe - rejestracja przez Internet - rejestracja telefoniczna - rejestracja poprzez przedstawiciela handlowego 3) Wpisz klienta do bazy danych b) logowanie 29

1) Podanie loginu i hasła a. Brak loginu -> Rejestracja klienta (propozycja systemu) b. Błędne hasło -> komunikat o błędzie, ponowne logowanie 2) Komunikat o poprawnym zalogowaniu, udostępnienie menu i funkcjonalności dla zalogowanego użytkownika c) edycja profilu 1. Logowanie 2. Wybór zakładki Profil 3. Wybranie podmenu : a. Dane osobiste b. Dane adresowe c. Rachunki bankowe 4. zapisanie zmian / anulowanie zmian a. komunikat o powodzeniu operacji / niedozwolonej operacji d) przeglądanie powiadomień * warunek : zalogowany klient 1. Otwórz: powiadomienia a. (opcjonalne) sortowanie wg. daty, tematu, nadawcy b. (opcjonalne) wyszukiwanie wg. frazy 2. Wyświetlenie wg. żądanych kryteriów 3. Otworzenie wybranego powiadomienia e) złożenie prośby o wizytę przedstawiciela handlowego * warunek : zalogowany klient 1. Wybór Prośba o wizytę przedstawiciela handlowego 2. Wybór możliwych dat w formularzu 3. Specyfikacja celu: a. Dostawa konkretnego towaru - podanie ilości i rodzaju towaru b. Prośba o przedstawienie nowej oferty c. Inne: opis słowny 5. Wybierz formę kontaktu: a. mail b. telefon c. inny: podaj 6. Złóż prośbę a. komunikat: Odpowiedź nastąpi w ciągu 1 dnia roboczego SZEF FIRMY: 30

a) rejestracja nowego klienta 1. Wybranie opcji rejestracji 2. Podanie danych klienta 3. Zatwierdzenie 2a. Login już istnieje. Powrót do 2 b) Przeglądanie klientów 1. Wybór opcji przeglądania 2. Wyświetlenie listy klientów 3. Wyświetlenie informacji o kliencie 2a. Wyszukiwanie po danych. Przejście do 3. c) Przeglądanie historii współpracy z klientem 1. Przeglądanie klientów 2. Wyświetlenie historii zamówień klienta d) Poinformowanie klienta o konieczności wpłaty zaliczki 1. Odbiór zamówienia 2. Wprowadzenie konieczności wpłaty zaliczki 3. Wprowadzenie wymaganej kwoty e) Akceptacja prośby o wizytę przedstawiciela 1. Wyświetlenie próśb 2. Wybór prośby 3. Dodanie do kolejki 4. Nadanie priorytetu f) Modyfikuj parametry klienta 1) Przeglądanie klientów 2) Wyświetlenie informacji o kliencie 3) Wybór parametru do zmiany 4) Zmiana parametru 5.)Zatwierdzenie zmiany 2.5.2.2 Zarządzanie pracownikami SZEF FIRMY: a) Wyświetl listę zadań 1. Wybierz opcję wyświetlania listy zadań 2. Filtrowanie danych -priorytet -region -termin -pracownik b) Wyświetl listę pracowników 1. Wybierz opcję wyświetlania listy pracowników 31

c) Wyświetl listę zadań dla pracownika 1. Wyświetlanie informacji o pracowniku 2. Wybierz pracownika 3. Wybierz jego listę zadań d) Modyfikuj listę zadań dla pracownika d1) Modyfikuj zadanie 1. Wybierz pracownika z listy pracowników 2. Wyświetl listę jego zadań 3. Wybierz zadanie do modyfikacji (usunięcia) 4. Wprowadź żądane zmiany, opcjonalnie: a. Zmień priorytet zadania b. Dodaj cel c. Zmodyfikuj zamówienie dla danego celu d. Usuń cel e. Usuń zadanie. f. Dodaj środek realizacji (np. samochód) d2) Dodaj zadanie 1. Wybierz pracownika z listy pracowników 2. Utwórz nowe zadanie dla pracownika. a. Termin b. Cel c. Priorytet d. Dodatkowy, opcjonalny opis - ilość towaru - rodzaj towaru - preferowana trasa e) Wyświetlanie informacji o pracowniku 1. Wyświetl listę pracowników 2. Wybierz pracownika 3. Wyświetlenie wybranych informacji. f) Dodaj dane realizacji zadania 1. Wyświetl listę zadań dla pracownika 2. Dodaj dane a) Koszty PRACOWNIK: a) Przeglądaj zadania do wykonania: 1. Zaloguj sie do systemu 2. Wyświetl listę zadań do wykonania 32

3. Wyświetl szczegóły jakiegoś zadania b) Zdaj raport z wykonania zadania: 1. Zaloguj sie do systemu 2. Wyświetl listę zadań do wykonania 3. Wybierz wykonane zadanie 4. Zgłoś wykonanie zadania 5. Wprowadź dodatkowe informacje: - dodatkowe koszty - problem z klientem - inne 2.5.2.3 Obsługa magazynu SZEF: (domyślny warunek początkowy - szef zalogowany do systemu) a) Wprowadź informację o nowej dostawie 1. Stwórz nowe zamówienie 2. Wybierz dostawcę 3. Opis zamówienia: a. rodzaj towaru b. ilość c. cena d. rabat e. data 4. Dodaj zamówienie do listy zadań dla wybranego pracownika Extension Point: Wybór pracownika z listy pracowników 5. Zatwierdź zamówienie b) odbierz informacje o stanie magazynu #czego brakuje / co sie kończy #co dobrze schodzi c) Rezerwuj towar w magazynie 1.) Wyświetl listę towarów 2.) Wybierz towary do rezerwacji 3.) Zarezerwuj towary - podaj klienta albo powód rezerwacji d) Wprowadź fakturę z zakupionym towarem 1.) Przepisz informacje z faktury do systemu 2.) Zatwierdź wprowadzone dane e) Usuń towar z magazynu 33

1.) Przegladaj liste produktów w magazynie 2.) Wybierz produkty do usunięcia 3.) Usuń wybrane produkty MAGAZYNIER: a) Zatwierdź obecność nowego towaru z dostawy #system może mu pokazać, gdzie co ułożyć #wprowadza, gdzie co ułożył b) odbierz polecenie przygotowania wydania towaru #co, ile, komu (tez: osobie, która sama przyjeżdża po towar) #opcjonalnie: wydruk faktury (tylko dla kierowcy) bb) Potwierdź wydanie towaru c) Przyjmij zwracany towar #jeśli zwraca przedstawiciel handlowy, to ma juz w komputerze dane zwrotu #system może mu pokazać, gdzie co ułożyć #wprowadza, gdzie co ułożył d) Przeglądanie stanu magazynu e) Zarządzaj planem magazynu #Umieszcza na planie informację gdzie zostały położone znicze f) Przenieś towar do innego magazynu: 1.) Wyświetl listę towaru 2.) Wybierz listę towaru do przeniesienia - ręcznie - automatycznie na podstawie zadania zleconego przez szefa 3.) Wybierz źródło przeniesienia: -magazyn -sklep -samochód dostawczy 3.) Wybierz cel przeniesienia: -magazyn - samochód dostawczy o danym id - sklep 4.) Zatwierdź przeniesienie towaru PRZEDSTAWICIEL HANDLOWY: a) Potwierdź towar przyjęty z magazynu b) Oddaj znicze do magazynu #podaje, co ma do oddania, to idzie do komputera magazyniera 34

2.5.2.4 Zarządzanie finansami a) Wyświetlanie zestawień finansowych 1. Podanie zakresu danych 2. Podanie okresu podliczania b) Wprowadź dodatkowe koszty 1. Wprowadź informację dotyczące kosztów: - kwota - data - opis c) Wprowadź fakturę 1. Wybierz typ faktury - koszty - sprzedaż 2. Wprowadź informację z faktury 2.5.2.5 Zarządzanie zamówieniami SZEF FIRMY: a) Dodaj zamówienie do zrealizowania 1. Wybierz klienta 2. Wybierz zamówiony towar 2.1 Rezerwuj towar w magazynie 3. Wybierz status zamówienia: - oczekiwanie na zaliczkę - zatwierdzone d) Odbiór zamówienia 1. Wyświetlenie złożonych zamówień 2. Wybranie zamówienia f) Zatwierdzenie zamówienia 1. Odbiór zamówienia 2. Zatwierdzenie g) Potwierdzenie wpłaty zaliczki 1. Odbiór zamówienia 2. Wprowadzenie zaliczki 35

3. Podanie kwoty. Jeśli wystarczająca, to zamówienie automatycznie jest zatwierdzane przez system. i) Wyszukiwanie zamówienia 1. Wybór funkcji wyszukiwania 2. Wprowadzenie opcji szukania 3. Wybór zamówienia j) Ocena zamówienia 1. Wyszukiwanie zamówienia 2. Wystawienie oceny i opcjonalnego komentarza l) Przeglądanie pozycji 1. Wybieranie kategorii i podkategorii 2. Wyświetlenie znalezionego produktu 1a. Wyszukiwanie po atrybutach. Przejście do 2. m) Dodawanie do koszyka klienta 1. Przeglądanie pozycji 2. Wybór opcji dodania pozycji do koszyka 3. Podanie ilości i akceptacja 4. Wyświetlenie koszyka klienta z możliwością powrotu do przeglądanych przedmiotów n) usuniecie pozycji z koszyka 1. Wyświetlenie zawartości koszyka klienta 2. Zaznaczenie pozycji 3. Usuniecie 4. Akceptacja 5. Powrót do koszyka klienta o) złożenie zamówienia (potwierdzenie koszyka + podanie danych) 1. Wyświetlenie koszyka klienta 2. Zatwierdzenie zawartości koszyka 3. Potwierdzenie danych kontaktowych i transakcyjnych p) wyświetlenie zawartości koszyka klienta 1. Przeglądanie klientów 2. Wybór wyświetlania zawartości koszyka 1a. Jeśli klient już wybrany, to omijane PRZEDSTAWICIEL HANDLOWY: a) Sfinalizuj zamówienie 1.) Drukuj fakturę 36

2.) Wprowadź fakturę do systemu 3.) Usuń towar z magazynu b) Wprowadza zamówienie dla klienta 1. Przeglądanie klientów 2. Wybór wprowadzenia zamówienia dla wybranego klienta 3. Dodawanie do koszyka klienta 4. Potwierdzenie zamówienia c) Drukuj fakturę: 1. Wybierz towar -automatycznie -ręcznie 2. Wybierz klienta 3. Drukuj d) Przeglądanie klientów 1. Wybór opcji przeglądania 2. Wyświetlenie listy klientów 3. Wyświetlenie informacji o kliencie 2a. Wyszukiwanie po danych. Przejście do 3. h) Wprowadzenie sprzedaży 1. Przeglądanie klientów 2. Wybór wprowadzenia sprzedaży wybranemu klientowi 3. Dodawanie do koszyka klienta 4. Potwierdzenie sprzedaży 5. Wydruk faktury l) Przeglądanie pozycji 1. Wybieranie kategorii i podkategorii 2. Wyświetlenie znalezionego produktu 1a. Wyszukiwanie po atrybutach. Przejście do 2. m) Dodawanie do koszyka klienta 1. Przeglądanie pozycji 2. Wybór opcji dodania pozycji do koszyka 3. Podanie ilości i akceptacja 4. Wyświetlenie koszyka klienta z możliwością powrotu do przeglądanych przedmiotów n) usuniecie pozycji z koszyka 1. Wyświetlenie zawartości koszyka klienta 2. Zaznaczenie pozycji 37

3. Usuniecie 4. Akceptacja 5. Powrót do koszyka klienta o) Potwierdzenie sprzedaży (potwierdzenie koszyka + podanie danych) 1. Wyświetlenie koszyka klienta 2. Zatwierdzenie zawartości koszyka o) Potwierdzenie zamówienia(potwierdzenie koszyka + podanie danych) 1. Wyświetlenie koszyka klienta 2. Zatwierdzenie zawartości koszyka 3. Potwierdzenie danych kontaktowych i transakcyjnych p) wyświetlenie zawartości koszyka klienta 1. Przeglądanie klientów 2. Wybór wyświetlania zawartości koszyka 1a. Jeśli klient już wybrany, to omijane 1. Wybór opcji przeglądania 2. Wyświetlenie listy klientów 3. Wyświetlenie informacji o kliencie 2a. Wyszukiwanie po danych. Przejście do 3. 2.5.2.6 Zamówienia internetowe KLIENT: a) przeglądanie historii zamówień 1) Logowanie 2) Wybierz Historia zamówień 3) Wybór okresu zamówień 4) Możliwość posortowania po kwotach / terminach /.. 5) Możliwość wydrukowania danych zamówień 6) Wylogowanie z systemu f) przeglądanie pozycji 1. Logowanie 2. Wybieranie kategorii i podkategorii 3. Wyświetlenie znalezionego produktu 2a. Wyszukiwanie po atrybutach. Przejście do 3. e) dodawanie do koszyka 1. Przeglądanie pozycji 38

2. Wybór opcji dodania pozycji do koszyka 3. Podanie ilości i akceptacja 4. Wyświetlenie koszyka z możliwością powrotu do przeglądanych przedmiotów g) usuniecie pozycji z koszyka 1. Wyświetlenie zawartości koszyka 2. Zaznaczenie pozycji 3. Usuniecie 4. Akceptacja 5. Powrót do koszyka h) złożenie zamówienia (potwierdzenie koszyka + podanie danych) 1. Wyświetlenie koszyka 2. Zatwierdzenie zawartości koszyka 3. Potwierdzenie danych kontaktowych i transakcyjnych 4. Akceptacja 3a. Zmiana danych. Przejście do 4. k) wyświetlenie zawartości koszyka 1. Logowanie 2. Wybór wyświetlania zawartości koszyka 2.6 Wymagania niefunkcjonalne 2.6.1 Funkcje produktowe Dla klientów korzystających z podsystemu WWW, należy stworzyć przejrzysty i intuicyjny interfejs, pamiętając o tym że w dzisiejszych czasach coraz częściej przedsiębiorcy korzystają z Internetu używając telefonów z dotykowym wyświetlaczem(niewskazane jest w takim przypadku tworzenie ciężkiego interfejsu, który zbyt długo byłby uruchamiany). System powinien w sposób zrozumiały komunikować się z pracownikami firmy. 2.6.2 Funkcje organizacyjne Po wdrożeniu systemu musi być zapewnione wsparcie techniczne. System powinien opierać się na technologiach związanych z darmowym oprogramowaniem, co dotyczy zarówno formatów przetrzymywanych plików, 39

systemu bazodanowego jaki i narzędzi programistycznych, o ile system nie będzie wymagał bardziej wydajnych narzędzi. Aby zapewnić w pełni wykorzystanie funkcji systemu E-HURT, po wdrożeniu systemu należy przeprowadzić szkolenie dla pracowników, któro pokaże wszystkie możliwości oferowane przez system oraz ich obsługę. 3 Analiza funkcjonalna systemu diagramy DFD 3.1 Diagram kontekstowy 3.1.1 Opis Z systemem komunikować będzie się: klient, szef firmy, magazynier, dostawca oraz przedstawiciel handlowy. 40

Klient będzie miał możliwość składać zamówienia przez Internet. Szef firmy będzie wprowadzał towar zamówiony u producentów oraz wysyłał zadania do wykonania do pracowników. Szef będzie również informował magazyniera o zbliżającej się dostawie lub o klientach, którzy mają odwiedzić magazyn. Magazynier sprawdza w systemie plan magazynu aby zlokalizować znicze. Zatwierdza wprowadzony towar i przenosi towar między magazynami. Dostawca wprowadza faktury za sprzedany towar oraz sprawdza jaki towar ma zabrać do jakiego klienta. Przedstawiciel handlowy pobiera listę klientów, których ma odwiedzić. Wprowadza faktury jeśli uda mu się sprzedać towar. Sprawdza w systemie jaki towar ma w aucie. 3.2 Analiza top-down 3.2.1 DFD 0 3.2.2 Opis Powyższy diagram DFD ukazuje wyodrębnienie pewnych podsystemów szerzej przedstawionych na kolejnych diagramach. 41

Jest to istotny diagram z punktu widzenia projektanta, gdyż prezentuje sposób w jaki przepływają dane w systemie oraz to jak są przetwarzane. 3.2.3 Zarządzanie zamówieniami 3.2.4 Opis 1.1 Wprowadzenie zamówienia klienta: Szef wprowadza do systemu zamówienie, które najpierw weryfikuje, które następnie należy przygotować do klienta, które zostaje przesłane do magazynu. Strumienie: -proces na wejściu otrzymuje obiekt reprezentujący zamówienie, które weryfikuje i przesyła do bazy danych. 1.2 Pobranie zamówienia: Magazynier będąc zalogowanym do systemu otrzymuje informacje o zamówieniu, które należy przygotować. Zamówienie umieszczane jest na liście zadań do wykonania. Strumienie: -proces pobiera poprzez strumień zamówienie z bazy, które pokazuje się jako zamówienie do wykonania 1.3 Wycofanie zamówienia: 42

Magazynier może wycofać zamówienie do realizacji, podając powód niemożności zrealizowania zamówienia. Strumienie: -proces pobiera obiekt zamówienia do anulowania wysyła informacje jako atrybut zamówienia o tym że zostało ono anulowane 1.4 Zgłoszenie gotowości zamówienia: Magazynier pobiera z listę zniczy do przygotowanie wraz z wykazem, w którym miejscu w magazynie powinny znajdować się znicze. Strumienie: -proces pobiera obiekt zamówienia i w bazie danych oznacza jego atrybut jako gotowe do wysłania 1.5 Wydanie zamówienia: Pracownik z listy zamówień wybiera dane zamówienie, prosi klienta o potwierdzenie swojej tożsamości, odszukuje przygotowany towar, wydaje go klientowi i zatwierdza status zlecenia jako zrealizowane. Strumienie: -proces dostaje obiekt zamówienie i na jego podstawie drukuje odpowiednia fakturę dla klienta 1.6 Wysłanie zamówienia: Pracownik otrzymuje wiadomość o zbliżającym się kierowcy, który ma przewieźć zamówienie. Podobnie jak w przypadku wydania zamówienia odszukuje przygotowany towar i w statusie zamówienia podaje towar wydany z magazynu. Strumienie: -proces dostaje obiekt zamówienie i na jego podstawie drukuje odpowiednia fakturę którą kierowca zabiera do klienta 3.2.5 Zarządzanie magazynem 43

3.2.6 Opis 2.1 Aktualizacja stanu głównego magazynu: W każdym przypadku czy to jest to przyjęcie nowej dostawy czy zrealizowanie danego zamówienia czy też przeniesienia towaru do auta magazynier daną zmianę odnotowuje w systemie aby mieć aktualny stan magazynu. W przypadku odnotowania rozbieżności z faktycznym stanem a stanem w systemie magazynier aktualizuje stan. Strumienie: -proces dostaje listą obiektów do uaktualnienia lista to zawiera elementy będące identyfikatorem danego produktu i jego aktualną ilością 2.2 Przeniesienie towaru: Na zlecenie przedstawiciela handlowego magazynier przygotowuje znicze, które przenoszone są do auta, magazynier odnotowuje zmianę stanu głównego magazynu oraz magazynu auta danego przedstawiciela handlowego. Strumienie: -proces dostaje listą obiektów do uaktualnienia lista to zawiera elementy będące identyfikatorem danego produktu i ilością jaka będzie przeniesiona oraz, identyfikatory magazynów, z którego zostanie przeniesiony towar i magazynu docelowego. Proces uaktualnia te stany w bazie danych. 2.3 Realizacja zamówienia: Szef składa zamówienie które należy przygotować, aby później mogło być one przewiezione lub odebrane przez klienta. Strumienie: 44

-proces otrzymuje obiekt zamówienia, w którym wyspecyfikowane są produkty do przygotowania 2.4 Realizacja dostawy: Szef wprowadza jakie znicze pojawią się na dostawie, magazynier powinien to zestawić z faktycznym stanem dostawy i zaakceptować w systemie. -proces otrzymuje obiekt reprezentujący dostawę i produkty które będzie zawierać 3.2.7 Zarządzanie pracownikami 3.2.8 Opis 3.1 Aktualizuj dane pracownika Szef firmy zatrudniając nowego pracownika dodaje go do systemu. Po wprowadzenia pracownika do systemu szef zawsze może zmienić jego dane. strumień wejściowy: id pracownika, imię, nazwisko, nip, data urodzenia 45

3.2 Odczytaj informacje o pracownikach Szef firmy ma możliwość sprawdzenia danych pracownika. strumień wejściowy: id pracownika strumień wyjściowy : imię, nazwisko, nip, data urodzenia 3.3 Dodaj zadanie Szef firmy wprowadza do systemu opis zadanie, które ma wykonać pracownik. Np. przeniesienie zniczy do auta i dostarczenie ich do klientów, przygotowanie się na przyjazd dostawy zniczy, wydanie polecenia objazdu klientów. strumień wejściowy: id pracownika, termin wykonania, komentarz, tablica: {id znicza, ilość, id polecenia dotyczącego zniczy}, tablica:{id polecenia dotyczącego zniczy, opis polecenia} 3.4 Wykonanie zadania Pracownik melduje wykonanie powierzonego mu wcześniej zadania strumień wejściowy: id pracownika, id zadania, raport(text), czywykonane 3.5 Odczytaj zadanie Pracownik odczytuje zadania które ma wykonać. strumień wejściowy: id pracownika strumień wyjściowy: termin wykonania, komentarz, tablica: {id znicza, ilość, id polecenia dotyczącego zniczy}, tablica:{id polecenia dotyczącego zniczy, opis polecenia} 3.2.9 Obsługa klientów 46

3.2.10 Opis 4.1 Rejestracja nowego klienta Klient rejestruje się przez stronę internetową strumień wejściowy: imię, nazwisko, nip, adres firmy, adres domowy klienta, telefon kontaktowy, e-mail, adres do dostawy 4.2 Wysłanie odpowiedzi System wysyła automatycznie generowaną wiadomość do klienta. strumień wejściowy: id klienta, czypozytywnaodpowiedz 4.3 Analizuj klienta Szef firmy sprawdza jak przebiegają interesy z danym klientem Strumień wejściowy: id klienta Strumień wyjściowy: tablica z zamówieniami klienta, całkowity zysk z klienta, całkowity obrót pieniędzy z klientem, data rejestracji klienta. 4.4 Odczytanie prośby Szef firmy odczytuje prośbę i decyduje o tym czy klient zostanie odwiedzony czy też nie. Strumień wyjściowy: tablica { id prośby, dane klienta, treść prośby} 4.5 Dodanie prośby o wizytę przedstawiciela 47

Klient wysyła prośbę o wizytę z opisem, np. wymienia towar który go interesuje. Strumień wejściowy: id klienta, treść prośby 3.2.11 Zarządzanie finansami 3.2.12 Opis 5.1 Dodaj info o kosztach W przypadku gdy wystąpiły koszty nie związane bezpośrednio ze sprzedaży. Strumień wejściowy: id pracownika, kwota, id typu kosztów(np. 1 - paliwo, 2 - naprawa auta.. ), id pracownika. 5.2 Dodaj Fakturę Szef firmy wprowadza fakturę z zakupionym towarem lub pracownik wprowadza fakturę ze sprzedanym towarem. Strumień wejściowy: Faktura 5.3 Tworzenie zestawień finansowych Strumień wejściowy: Przedział czasowy, typ danych: zysk całkowity przychód brutto/netto koszta całkowite, zestawienie pracowników. 48

Strumień wyjściowy: Odpowiednie zestawienie. 4 Roboczy słownik pojęć zamówienie Wypełniony przez klienta bądź szefa firmy na życzenie klienta formularz z listą towaru, który klient chce kupić. zamówienie zatwierdzone Formularz, który został przeczytany przez szefa firmy i jest gotowy do zrealizowania. zamówienie oczekujące na zaliczkę Zamówienie, które nie zostało jeszcze zatwierdzone, ponieważ oczekuje na zaliczkę. dostawa do zrealizowania: Towar, który jest przeznaczony dla danego klienta lecz nie odebrany przez kierowcę. dostawa zrealizowana: Towar, który został dostarczony do klienta, od którego została pobrana zapłata. dostawa w realizacji: Towar, który jest w drodze do klienta. realizacja zamówienia: Dostawa towaru do klienta i odebranie zapłaty. okres zniczowy: Okres od połowy września do pierwszych dni listopada. paleta zniczy kilka skrzyń zniczy ustawionych w sześcian. przedstawiciel handlowy: Pracownik firmy, który bierze losowy towar na auto i objeżdża nowych lub starych klientów oferując im znicze. dostawca: Pracownik firmy, który dostarcza zamówione znicze do klientów. 49

szef firmy: Główny i jedyny kierownik firmy. Zarządza pracownikami, zamawia nowy towar, wszystko kontroluje i wydaje rozkazy. magazynier: Pracownik siedzący na magazynie, zajmuję się wydawaniem towaru z magazynu do dostawców i przedstawicieli handlowych, oraz obsługą klientów, którzy sami przyjeżdżają do magazynu kupić towar. magazyn: Magazyn znajduję się niedaleko sklepu, w którym stacjonuje szef firmy. W magazynie zwykle jest dwóch pracowników. Magazyn jest uporządkowany. Na podłodze znajdują sie oznaczenia poszczególnych regałów. 5 Analiza struktur danych w przechowywanych magazynach 5.1 Tabela krzyżowa 50

5.2 Opis relacji między obiektami Relacja Tabele Krotności Dostarcza Dostawcy - Dostawy 1 0..N Zawiera Dostawy - Pozycje Dostawy 1 1..N Zawiera Kategorie - Produkty 1 0..N Występuje na Produkty - Pozycje Dostawy 1 0..N Występuje w Produkty - Produkty W Magazynie 1 0..N 51

Występuje na Produkty - Pozycje Zamówienia 1 0..N Jest celem Magazyny - Dostawy 1 0..N Zawiera Magazyny - Rejony Magazynu 1 1..N Jest celem Magazyny - Zamowienia 1 0..N Generuje Magazyny - Koszty 1 0..N Zawiera Rejony Magazynu - Produkty W Magazynie 1 0..N Jest przełożonym Pracownicy - Pracownicy 1 0..N Pracuje w Pracownicy - Pracownicy Magazynu 1 0..N Obsługuje Pracownicy - Zamówienia 1 0..N Wystawił Pracownicy - Faktury 1 0..N Otrzymał Pracownicy - Wypłaty 1 0..N Zawiera Zamowienia - Pozycje Zamowienia 1 0..N Złożył Klienci - Zamowienia 1 0..N 5.3 Diagram ERD Przedstawiamy diagram relacji encji, spełniający wszystkie ograniczenia narzucane na diagramy bazy danych: 52

Dla lepszego przeglądu dołączamy większy, ale obrócony obraz: 53

54

5.4 Opis struktur danych 5.4.1 Tabela opisująca kategorie sprzedawanych produktów: CREATE TABLE Kategorie ( KategorieID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, NazwaKategorii CHAR(200) NULL, Opis CHAR(400) NULL, PRIMARY KEY(KategorieID) ); 5.4.2 Tabela opisująca Klientów hurtowni: CREATE TABLE Klienci ( KlienciID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Miasto CHAR(200) NULL, Adres CHAR(300) NULL, Kraj CHAR(100) NULL, NIP CHAR(20) NULL, Imie CHAR(100) NULL, Nazwisko CHAR(100) NULL, Telefon CHAR(50) NULL, Mail CHAR(100) NULL, PRIMARY KEY(KlienciID) ); 5.4.3 Tabela opisująca magazyny hurtowni. Magazynem jest każdy obiekt, który może przechowywać towar (magazyny, auta, sklepy...): CREATE TABLE Magazyny ( MagazynyID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Adres CHAR(300) NULL, Mobilny BOOL NULL, PRIMARY KEY(MagazynyID) ); 5.4.4 Tabela opisująca dostawców, z których usług korzysta firma: CREATE TABLE Dostawcy ( 55

DostawcyID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, NazwaFirmy CHAR(100) NULL, Kraj CHAR(100) NULL, Miasto CHAR(100) NULL, Adres CHAR(300) NULL, Telefon CHAR(100) NULL, Imie CHAR(100) NULL, Nazwisko CHAR(100) NULL, Mail CHAR(100) NULL, PRIMARY KEY(DostawcyID) ); 5.4.5 Tabela opisująca pracowników hurtowni: CREATE TABLE Pracownicy ( PracownicyID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, PrzelozonyID INTEGER UNSIGNED NOT NULL, Imie CHAR(100) NULL, Nazwisko CHAR(100) NULL, Tytul CHAR(200) NULL, DataUrodzenia DATE NULL, DataZatrudnienia DATE NULL, DataZwolnienia DATE NULL, Adres CHAR(300) NULL, Telefon CHAR(30) NULL, PRIMARY KEY(PracownicyID), INDEX Pracownicy_FKIndex1(PrzelozonyID), FOREIGN KEY(PrzelozonyID) REFERENCES Pracownicy(PracownicyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.6 Tabela opisująca sektory, na które został podzielony magazyn. Jeśli mały magazyn (np. auto) nie ma podziału na sektory, to będzie posiadał tylko jeden wpis w tej tabeli: CREATE TABLE RejonyMagazynu ( RejonyMagazynuID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, MagazynyID INTEGER UNSIGNED NOT NULL, PRIMARY KEY(RejonyMagazynuID), INDEX RejonyMagazynu_FKIndex1(MagazynyID), 56

FOREIGN KEY(MagazynyID) REFERENCES Magazyny(MagazynyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.7 Tabela opisująca oferowane produkty. Jeśli ten sam towar jest oferowany w opakowaniach o różnym rozmiarze, to będzie reprezentowany w tej tabeli przez kilka wpisów: CREATE TABLE Produkty ( ProduktyID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, KategorieID INTEGER UNSIGNED NOT NULL, Nazwa CHAR(200) NULL, IloscWPaczce INTEGER UNSIGNED NULL, CenaPaczki INTEGER UNSIGNED NULL, PRIMARY KEY(ProduktyID), INDEX Produkty_FKIndex1(KategorieID), FOREIGN KEY(KategorieID) REFERENCES Kategorie(KategorieID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.8 Tabela opisująca wystawione faktury: CREATE TABLE Faktury ( NumerFaktury CHAR(50) NOT NULL AUTO_INCREMENT, PracownicyID INTEGER UNSIGNED NOT NULL, DataWystawienia DATE NULL, Kwota INTEGER UNSIGNED NULL, PRIMARY KEY(NumerFaktury), INDEX Faktury_FKIndex1(PracownicyID), FOREIGN KEY(PracownicyID) REFERENCES Pracownicy(PracownicyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.9 Tabela opisująca wypłaty dla pracowników. 57

Parametr Premia będzie ustawiony na FALSE przy zwykłej, comiesięcznej wypłacie, natomiast na TRUE w razie wypłacania pracownikowi dodatkowego wynagrodzenia: CREATE TABLE Wyplaty ( WyplatyID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, PracownicyID INTEGER UNSIGNED NOT NULL, Kwota INTEGER UNSIGNED NULL, Premia BOOL NULL, Opis CHAR(500) NULL, PRIMARY KEY(WyplatyID), INDEX Wyplaty_FKIndex1(PracownicyID), FOREIGN KEY(PracownicyID) REFERENCES Pracownicy(PracownicyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.10 Tabela opisująca wszelkie koszty. Pojedynczy wpis musi być związany z działalnością jednego z magazynów. Widać zatem, jakie kolejne korzyści w spójności bazy danych niesie podzielenie całej firm na magazyny: CREATE TABLE Koszty ( KosztyID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, MagazynyID INTEGER UNSIGNED NOT NULL, Opis CHAR(1000) NULL, PRIMARY KEY(KosztyID), INDEX Koszty_FKIndex1(MagazynyID), FOREIGN KEY(MagazynyID) REFERENCES Magazyny(MagazynyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.11 Tabela opisująca produkty dostępne w magazynie. Jeden wpis jest zidentyfikowany z wpisem z tabeli Produkty i dodane są do niego ilość oraz miejsce ułożenia w magazynie (RejonyMagazynu) (dlatego też każdy magazyn musi posiadać co najmniej jeden wpis w tabeli RejonyMagazynu): CREATE TABLE ProduktyWMagazynie ( ProduktyWMagazynieID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, RejonyMagazynuID INTEGER UNSIGNED NOT NULL, 58

ProduktyID INTEGER UNSIGNED NOT NULL, LiczbaPaczek INTEGER UNSIGNED NULL, LiczbaZarezerwowanych INTEGER UNSIGNED NULL, PRIMARY KEY(ProduktyWMagazynieID), INDEX ProduktyWMagazynie_FKIndex1(ProduktyID), INDEX ProduktyWMagazynie_FKIndex2(RejonyMagazynuID), FOREIGN KEY(ProduktyID) REFERENCES Produkty(ProduktyID) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(RejonyMagazynuID) REFERENCES RejonyMagazynu(RejonyMagazynuID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.12 Tabela opisująca Dostawy. Póki DataDostawy jest NULLem, wpis jest niezrealizowanym zamówieniem. W momencie dostawy towaru do magazynu, data jest ustawiana: CREATE TABLE Dostawy ( DostawyID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, DostawcyID INTEGER UNSIGNED NOT NULL, MagazynyID INTEGER UNSIGNED NOT NULL, DataZamówienia DATE NULL, DataDostawy DATE NULL, CenaDostarczenia INTEGER UNSIGNED NULL, PRIMARY KEY(DostawyID), INDEX Dostawy_FKIndex2(MagazynyID), INDEX Dostawy_FKIndex2(DostawcyID), FOREIGN KEY(MagazynyID) REFERENCES Magazyny(MagazynyID) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(DostawcyID) REFERENCES Dostawcy(DostawcyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.13 Tabela łącznikowa, opisująca, którzy pracownicy są związani z którymi magazynami. 59

Dzięki temu można też zidentyfikować kierowców konkretnych aut: CREATE TABLE PracownicyMagazynu ( PracownicyID INTEGER UNSIGNED NOT NULL, MagazynyID INTEGER UNSIGNED NOT NULL, PRIMARY KEY(PracownicyID, MagazynyID), INDEX Pracownicy_has_Magazyny_FKIndex1(PracownicyID), INDEX Pracownicy_has_Magazyny_FKIndex2(MagazynyID), FOREIGN KEY(PracownicyID) REFERENCES Pracownicy(PracownicyID) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(MagazynyID) REFERENCES Magazyny(MagazynyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.14 Tabela opisująca zamówienia klientów. Podobnie jak wyżej, póki DataDostarczenia jest NULLem, zamówienie jest niezrealizowane: CREATE TABLE Zamowienia ( ZamowieniaID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, PracownicyID INTEGER UNSIGNED NOT NULL, KlienciID INTEGER UNSIGNED NOT NULL, MagazynyID INTEGER UNSIGNED NOT NULL, DataZamowienia DATE NULL, WymaganaData DATE NULL, DataDostarczenia DATE NULL, CenaDostarczenia INTEGER UNSIGNED NULL, AdresDostarczenia CHAR(400) NULL, OdbiorOsobisty BOOL NULL, OcenaWspolpracy INTEGER UNSIGNED NULL, Komentarz CHAR(1000) NULL, PRIMARY KEY(ZamowieniaID), INDEX Zamowienia_FKIndex1(MagazynyID), INDEX Zamowienia_FKIndex2(KlienciID), INDEX Zamowienia_FKIndex3(PracownicyID), FOREIGN KEY(MagazynyID) REFERENCES Magazyny(MagazynyID) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(KlienciID) 60

REFERENCES Klienci(KlienciID) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(PracownicyID) REFERENCES Pracownicy(PracownicyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.15 Tabela opisująca pozycje dostawy ramach konkretnej dostawy(rodzaj produktu, ilość, cena oraz zniżka): CREATE TABLE PozycjeDostawy ( Dostawy_DostawyID INTEGER UNSIGNED NOT NULL, ProduktyID INTEGER UNSIGNED NOT NULL, CenaJednostkowa INTEGER UNSIGNED NULL, Ilosc INTEGER UNSIGNED NULL, PRIMARY KEY(Dostawy_DostawyID, ProduktyID), INDEX Dostawy_has_Produkty_FKIndex1(Dostawy_DostawyID), INDEX Dostawy_has_Produkty_FKIndex2(ProduktyID), FOREIGN KEY(Dostawy_DostawyID) REFERENCES Dostawy(DostawyID) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(ProduktyID) REFERENCES Produkty(ProduktyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5.4.16 Tabela opisująca pozycje zamówienia, analogicznie jak w pozycjach odstawy: CREATE TABLE PozycjeZamowienia ( PozycjeZamowieniaID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, ProduktyID INTEGER UNSIGNED NOT NULL, ZamowieniaID INTEGER UNSIGNED NOT NULL, CenaJednostkowa INTEGER UNSIGNED NULL, Ilosc INTEGER UNSIGNED NULL, Znizka INTEGER UNSIGNED NULL, PRIMARY KEY(PozycjeZamowieniaID), INDEX PozycjeZamowienia_FKIndex1(ZamowieniaID), 61

INDEX PozycjeZamowienia_FKIndex2(ProduktyID), FOREIGN KEY(ZamowieniaID) REFERENCES Zamowienia(ZamowieniaID) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(ProduktyID) REFERENCES Produkty(ProduktyID) ON DELETE NO ACTION ON UPDATE NO ACTION ); 6 Obraz zachowania systemu w czasie diagramy STD najważniejszych obiektów 6.1 Ogólny diagram STD Ogólny diagram STD przedstawia szablon zachowania wspólny dla wszystkich użytkowników systemu. Każdy użytkownik będzie zaczynał pracę z systemem od zalogowania się, po czym system udostępni mu moduły, które może obsługiwać. 62

6.2 Moduł związany z szefem hurtowni 63

64

6.3 Moduł związany z obsługą magazynu 6.4 Moduł związany z pracownikiem firmy 65

6.5 Moduł rozszerzający system o internetową obsługę klienta 66

67

7 Uzupełnienie wymagań funkcjonalnych. 7.1 Funkcja obliczająca aktualny stan finansowy firmy Ważnym elementem dla naszego klienta podczas kontaktu okazało się monitorowanie stanu finansowego firmy uwzględniającego wszystkie koszty które ponosi firma oraz dochody. Także funkcjonalność dodaliśmy do naszego systemu. 7.2 Możliwość złożenia prośby o wizytę przedstawiciela handlowego Ważnym elementem działalności firmy jest kontakt z klientami oraz ciągłe pozyskiwanie nowych kontrahentów. Dlatego w systemie będzie możliwe złożenie (co ważne, także internetowe) prośby o wizytę przedstawiciela handlowego hurtowni. 8 Równoważenie modeli Ocena zgodności opisu wymagań użytkowników z zaprojektowanymi DFD oraz ERD wykazała brak sprzeczności oraz pozwala z praktycznie 100% pewnością sądzić, iż zaproponowane procesy oraz struktury danych zapewnią uzyskanie wszystkich funkcjonalności oczekiwanych przez klienta. STD jest logiczną kontynuacją utworzonych modeli. Kilka diagramów USECASE wymagało drobnych korekt, podobnie zresztą jak diagramy DFD, jednak dzięki temu uzyskaliśmy pełną wewnętrzną zgodność. W opisie niefunkcjonalnych oraz funkcjonalnych wymagań zostały dodane brakujące specyfikacje stanowiące o zarządzaniu systemem, logowaniu itp. Podsumowując, udało się stworzyć spójny model systemu. 9 Architektura systemu 9.1 Schemat architektury systemu 68

9.2 Opis architektury systemu Architektura systemu opiera się na schemacie klient - serwer. Wszystkie dane są umieszczone w jednym miejscu a program użytkownika ściąga potrzebne informacje przez Internet. Klient łączy się z serwerem poprzez przeglądarkę internetową. Natomiast pracownicy firmy korzystają ze specjalnego oprogramowania. Stacje robocze przedstawicieli handlowych oraz dostawców mają dodatkową funkcjonalność przechowywania danych. Ponieważ będąc w terenie pracownicy mogą nie mieć dostępu do Internetu, zawartość samochodu przechowują off-line na dysku komputera. Sprzedając towar pracownik uaktualnia dane na swoim komputerze a po powrocie do magazynu dane są synchronizowane z serwerem. Aby zapewnić spójność danych każda modyfikacja ma identyfikator określający: id pracownika, datę dokonania transakcji i ewentualnie numer faktury. 69

10 Projekt interfejsu użytkownika 10.1 Logowanie 10.2 Panel główny 70

10.2.1 Panel główny Panel dostaw 10.2.1.1 Panel główny Panel dostaw Pokaż dostawców 71

10.2.2 Panel główny Panel zamówień Dodaj klienta 72

10.2.3 Panel główny Panel zamówień Wyszukaj klienta 73

10.2.4 Panel główny Obsługa magazynu 74

10.2.5 Panel główny Obsługa magazynu Warehouse Manager 75

Przeciągnięcie towaru z 1 magazynu do 2 powoduje wyświetlenie okna dialogowego pytającego o ilość sztuk, których przeniesienie chcemy zlecić oraz proszącego o potwierdzenie akcji. Jako magazyn możemy również wybrać Samochód dostawczy i w ten sposób zlecić załadunek - w oknie dialogowym do wyboru będzie również pracownik, któremu zlecamy zadanie. O zleconych przeniesieniach automatycznie informowani są odpowiedni pracownicy. 10.2.6 Panel główny Obsługa magazynu Spis produktów 76

Interfejs pozwalający na składanie zamówień w prosty sposób. Warunkiem jest wprowadzenie przez dostawców swojej oferty do systemu w danym formacie. 10.3 Moduł związany z pracownikami. Panel główny wygląda podobnie jak w 10.2 i posiada następujące opcje: dodanie faktury, zadania wykonane, zadania do wykonania, wypłaty 10.3.1 Dodanie faktury 77

Menadżer faktur z możliwością podsumowań finansowych za dowolny okres z uwzględnieniem wybranych parametrów. Może pokazywać wykres. 10.4 Wbudowana możliwość komunikacji z osobami wewnątrz systemu, dostępna dla pracowników oraz szefa 78

Wbudowany system komunikacji z dostawcami oraz klientami 10.5 Interfejs internetowy dla klientów Szef powiedział, że musi się zastanowić jak ma wyglądać taki interfejs, jeszcze nie wie dla jakich klientów będzie go udostępniać - chwilowo brak danych 11 Podsumowanie 11.1 Założenia co do implementacji systemu Klient będzie musiał wyposażyć magazyn w sprzęt komputowy i połączenie z siecią (reszta pracowników już taki sprzęt posiada) Ponieważ na wszystkich stanowiskach będzie używany system MS Windows, nie jest wymagana współpraca z wieloma systemami operacyjnymi. Mimo tego, że system nie musi być przenośny między różnymi platformami, to zostanie zaimplementowany w języku Java. Język ten 79