Logistyka.net.pl
Ten artykuł jest płatny. Dostęp wyłącznie za opłatą.

System informatyczny dla MSP do obsługi magazynu

41-52 Magazynowanie NR 1:00-00 Magazynowanie NR 6 2/18/11 12:11 PM Page 46

Magazynowanie i transport wewnętrzny

Eugenia Busłowska

Jacek Jarosik

Politechnika Białostocka
Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży

System informatyczny dla MSP do obsługi magazynu
Możliwości, jakie oferuje Internet powodują, że coraz więcej firm i instytucji wykazuje zainteresowanie w zastosowaniu tego narzędzia w obrębie własnej działalności. Na konkurencyjnym i ciągle zmieniającym się rynku efektywnie działająca firma musi być wyposażona w sprzęt komputerowy i odpowiednie oprogramowanie, współpracujące z systemem bazodanowym.
Dla zwiększenia wydajności, przedsiębiorstwa coraz częściej podejmowane są decyzje o wspomaganiu swojej działalności za pomocą systemu informatycznego. Rozwiązania stosowane do obsługi magazynów (na przykład system MaGS1) i punktów sprzedaży muszą uwzględniać podstawowe wymagania dotyczące handlu towarami oraz powinny gwarantować sprawny przepływ towarów i wyczerpujących informacji [1, 2].
Użyteczność aplikacji wywiera wpływ na efektywność, szybkość i łatwość korzystania z programu przez użytkowników. Funkcjonalna aplikacja zapewnia komfortowe użytkowanie i nie sprawia trudności podczas wykonywania określonych zadań w systemie. O funkcjonalności aplikacji decyduje zwłaszcza czytelny interfejs, na który składa się architektura informacji, sposób nawigacji, menu i odsyłacze, fonty oraz kolorystyka.
Obecnie coraz większą wagę przywiązuje się także do zagadnień związanych z dostępnością stron internetowych. Projekt spełniający podstawowe zasady dostępności pozwoli wszystkim użytkownikom - niezależnie od fizycznych i sprzętowych ograniczeń - korzystać z aplikacji w taki sam sposób.
Najczęściej dostępność stron internetowych odnosi się do prawidłowej obsługi aplikacji w różnych przeglądarkach.

Opis aplikacji

Jednym z głównych założeń projektowych było zbudowanie aplikacji działającej w środowisku internetowym, która dostępna będzie przy użyciu przeglądarki internetowej dla uprawnionych użytkowników.
System składa się zatem z kilku stron WWW, po których użytkownicy poruszają się za pomocą menu. Do prezentacji danych zastosowano przede wszystkim formularze oraz tabelaryczną formę wizualizacji danych pobieranych z systemu bazodanowego. Takie rozwiązanie zapewnia aplikacji funkcjonalność oraz pozwala na oszczędność miejsca, gdyż tabele w uporządkowany i przejrzysty sposób mogą wyświetlić dużą liczbę informacji [3].

Specyfikacja wymagań systemu
















Prezentowany w artykule system do obsługi magazynu jest aplikacją internetową, która umożliwia gromadzenie danych dostawców, towarów, klientów, ewidencję zamówień zakupów i sprzedaży oraz wystawianie faktur. Moduły obsługujące bazę danych towarów, klientów, dostawców i zamówień udostępniają opcje dodawania, usuwania lub anulowania oraz modyfikowania danych.
Stworzony interfejs w postaci stron WWW umożliwia użytkownikom dostęp do określonych funkcjonalności, zgodnie z zajmowanym w firmie stanowiskiem i posiadanymi w systemie uprawnieniami. Każdy pracownik realizuje określone zadania wynikające z funkcjonalności danego modułu. Dodatkowym zabezpieczeniem systemu jest mechanizm logowania. Każdy użytkownik posiada indywidualny login pozwalający na jego autoryzację. Aplikację stworzono z wykorzystaniem popularnych technologii internetowych - serwera Apache, języka skryptowego PHP, języka JavaScript oraz relacyjnej bazy danych MySQL.

System spełnia następujące wymagania funkcjonalne [3]: ewidencja dostawców - funkcje dodawania, usuwania i edycji danych ewidencja klientów - funkcje dodawania, usuwania i edycji danych ewidencja produktów - funkcje dodawania, usuwania i edycji danych klasyfikacja produktów według kategorii ewidencja zamówień sprzedaży - funkcje dodawania, anulowania i edycji danych ewidencja zamówień zakupu - funkcje dodawania, anulowania i edycji danych księgowanie sprzedaży i zakupów poprzez wystawianie faktur podział funkcji i uprawnień użytkowników systemu zabezpieczenie dostępu do systemu poprzez logowanie użytkowników.

Wśród wymagań niefunkcjonalnych można natomiast wymienić [3]:
● integralność danych
● obsługa systemu z użyciem przeglądarki internetowej
● implementacja systemu z wykorzystaniem języka skryptowego PHP
● system ma współpracować z relacyjną bazą danych MySQL
● łatwy w obsłudze i czytelny interfejs graficzny.
System współpracuje z zewnętrzną bazą danych przechowującą dane o dostawcach, klientach, produktach, zamówieniach oraz fakturach. Podstawowe funkcje systemu obsługiwane są poprzez określone moduły, do których uprawnienia związane z dostępem i realizacją podzielone zostały między wyznaczonych użytkowników.

Dr inż. E. Busłowska pracuje w Katedrze Systemów Informacyjnych i Sieci Komputerowych na Wydziale Informatyki Politechniki Białostockiej oraz w Instytucie Informatyki i Automatyki w Państwowej Wyższej Szkole Informatyki i Przedsiębiorczości w Łomży. E-mail: ebuslowska@pwsip.edu.pl (przyp. red.).
2 Proponowany system magazynowy powstał w ramach pracy inżynierskiej, obronionej 21 czerwca 2010 r. w PWSIiP w Łomży.
Logistyka 1/2011

41-52 Magazynowanie NR 1:00-00 Magazynowanie NR 6 2/18/11 12:11 PM Page 47

Magazynowanie i transport wewnętrzny








Główne funkcje systemu (rysunek 1 cz. 1 i 2) obejmują [3]: ewidencję produktów ewidencję klientów ewidencję dostawców ewidencję faktur ewidencję zamówień zakupu ewidencję zamówień sprzedaży.

Wywołanie którejś funkcji daje dostęp do bardziej szczegółowych opcji systemu związanych z realizacją zadań w poszczególnych modułach.
W systemie zostało wyróżnionych kilku użytkowników. Każdy z nich ma przydzielone inne role.
Kierownik to osoba posiadająca najwyższe uprawnienia w systemie, która zarządza całym systemem. Kierownik ma dostęp do wszystkich funkcjonalności systemu i odpowiada za nadawanie uprawnień innym użytkownikom. Jego funkcje obejmują na przykład wprowadzanie do systemu danych nowych towarów, na podstawie zamówień zrealizowanych u dostawców, usuwanie danych produktów, przyjmowanie zamówień od klientów i składanie zamówień u dostawców, wprowadzanie do systemu danych nowych klientów oraz wystawianie faktur.
Sprzedawca to użytkownik odpowiedzialny za dział sprzedaży. Do jego zadań należy obsługa zamówień towarów i ewidencja klientów. Sprzedawca przyjmuje zamówienia od klientów i na tej podstawie wprowadza do systemu odpowiednie dane. Sprzedawca przyjmując zamówienie i wprowadzając do bazy dane zamówienia określa, czy ma zostać wystawiona faktura, co staje się podstawą do wystawienia takiej faktury przez księgowego.
Rys. 1. Diagram hierarchii funkcji - cz. 1. Źródło: opracowanie własne.

Księgowy zarządza działem finansowym i odpowiedzialny jest za moduł księgowości. Do jego zadań należy wystawianie oraz anulowanie faktur zakupów i sprzedaży, na podstawie zamówień składanych przez klientów i dostawców. Jeśli na przykład sprzedawca zaznaczył w systemie, że na dane zamówienie ma zostać wystawiona faktura, księgowy wprowadza odpowiednie informacje i wystawia fakturę dla klienta lub dostawcy.
Magazynier to osoba zarządzająca magazynem, odpowiedzialna za kontakty z dostawcami, składanie zamówień u dostawców, ewidencjonowanie zamówień zakupu. Magazynier odpowiada za stan towarów w magazynie, ewidencjonuje przyjęcie i wydanie towarów oraz zmienia statusy zamówień; na przykład, w chwili przyjęcia nowych produktów zamówienie przyjmuje status „dostarczono” [3].

Budowa aplikacji
Stworzona aplikacja internetowa ma architekturę trójwarstwową. W aplikacji wyodrębniane są trzy komponenty
- klienta (przeglądarkę internetową), serwer Apache i bazę danych MySQL (rysunek 2). System powstał z wykorzystaniem wzorca projektowego MVC (ang. Model-View-Controller). Wybrana architektura zapewnia między innymi dużą przejrzystość kodu, łatwość w rozbudowie oraz dużą wydajność [4].

Rys. 1. Diagram hierarchii funkcji - cz. 2. Źródło: opracowanie własne.

Logistyka 1/2011
41-52 Magazynowanie NR 1:00-00 Magazynowanie NR 6 2/18/11 12:11 PM Page 48

Magazynowanie i transport wewnętrzny

Fragment diagramu klas systemu odpowiadający modułowi
„dostawca” aplikacji przedstawia rysunek 4.
Po stronie serwera zaimplementowano trzy warstwy systemu. Pierwsza to warstwa dostępu do danych (klasa DostawcaDao na diagramie). Warstwa ta odpowiedzialna jest za realizację operacji na relacyjnej bazie danych, a więc integruje się z bazą danych poprzez odpowiednie metody CRUD. Kolejna warstwa to warstwa biznesowa (Klasa DostawcaService na diagramie), realizująca logikę biznesową aplikacji. Warstwa ta wykorzystuje w głównej mierze obiekty warstwy DAO, definiuje zakres transakcji obsługuje wyjątki biznesowe itp. Zakres transakcji realizowany jest poprzez zapewnienie odpowied-

Rys. 2. Architektura systemu. Źródło: opracowanie własne.

Zarys budowy aplikacji najczytelniej przedstawia diagram klas. W ujednoliconym języku modelowania UML, ilustruje strukturę systemu w modelach obiektowych [5]. Rysunek 3 przedstawia strukturę domenową aplikacji czyli model danych przenoszonych w obrębie aplikacji. Klasy te są również wykorzystywane jako obiekty transportowe (przesyłane pomiędzy klientem a serwerem przez HTTP). Poszczególne relacje pomiędzy tabelami w bazie danych zostały przekształcone na związki agregacji pomiędzy poszczególnymi klasami. Przykładem może być tutaj klasa ZamowienieSprzedaż, zawierająca kolekcję obiektów klasy ProduktSprzedaż, natomiast obiekt klasy ProduktSprzedaż zawiera referencję do obiektu klasy
Produkt, którego dotyczy [3].

Rys. 4. Warstwa biznesowa systemu. Źródło: opracowanie własne.
nich reguł dostępu do obiektu połączenia z bazą danych. Obiekt połączenia PDO zwracany jest przez metodę getConnection klasy ConnectionFactory, użytej na poziomie warstwy biznesowej po to, by można było swobodnie przekazywać instancję obiektu pomiędzy poszczególnymi obiektami DAO, które uczestniczą w realizacji metody biznesowej [3].

Interfejs użytkownika
Dostęp do systemu chroniony jest przez logowanie - nieautoryzowani użytkownicy nie mają do niego dostępu (rysunek 5). Po zalogowaniu do systemu wyświetlana jest strona główna (rysunek 6).

Rys. 3. Schemat bazy danych jako diagram klas. Źródło: opracowanie własne.
Logistyka 1/2011

Rys. 5. Logowanie do systemu. Źródło: opracowanie własne.

41-52 Magazynowanie NR 1:00-00 Magazynowanie NR 6 2/18/11 12:11 PM Page 49

Magazynowanie i transport wewnętrzny

Rys. 10. Moduł „Klienci”. Źródło: opracowanie własne.

Rys. 6. Strona główna systemu. Źródło: opracowanie własne.

Rys. 11. Moduł zamówienia zakupu. Źródło: opracowanie własne.

Rys. 7. Ograniczenia dostępu do systemu poprzez menu. Źródło: opracowanie własne.

Rys. 8. Moduł „Produkty”. Źródło: opracowanie własne.

Rys. 9. Moduł „Dostawcy”. Źródło: opracowanie własne.

Nałożone na system ograniczenia dostępu do określonych modułów, realizowane poprzez logowanie, pozwalają blokować część opcji menu w zależności od tego, kto loguje się w systemie. Rysunek 7 przedstawia widok opcji menu dostępnych dla kierownika oraz sprzedawcy.


Moduł Produkty - pozwala przeglądać produkty, dodawać nowe towary, edytować dane oraz usuwać produkty z bazy danych. Opcja „Dodaj kategorię” pozwala wprowadzać nowe kategorie towarów (rysunek 8) [3]



Moduł Dostawcy - pozwala przeglądać dostawców, dodawać nowych dostawców, edytować dane oraz usuwać je z bazy danych (rysunek 9)



Moduł Klienci - pozwala przeglądać klientów i dodawać nowych, edytować dane oraz usuwać je z bazy danych (rysunek 10)



Moduł Zamówienia zakupu - pozwala przeglądać złożone zamówienia zakupów, dodawać nowe zamówienia, anulować je oraz dodawać i usuwać produkty z zamówienia. Widok modułu jest podzielony na dwie tabele. Pierwsza tabela służy do wprowadzania danych zamówienia, natomiast druga umożliwia dodawać produkty do danego zamówienia. Po wybraniu przycisku „Dodaj produkt do zamówienia” wyświetlane jest okienko, w którym należy wprowadzić ilość towaru oraz wybrać kategorię produktu z rozwijanej listy (rysunek 11).
Zmiana stanu zamówienia możliwa jest poprzez wybór odpowiedniej opcji z rozwijanej listy stanów - „w realizacji”, „dostarczono” oraz „zapłacono”. Informacje te stają się podstawą do dalszych operacji - wystawienia faktury czy ewidencji nowo przyjętych towarów

Logistyka 1/2011
41-52 Magazynowanie NR 1:00-00 Magazynowanie NR 6 2/18/11 12:11 PM Page 50

Magazynowanie i transport wewnętrzny
je zliczona przez system na podstawie cen produktów wchodzących w skład zamówienia. Po kliknięciu przycisku
„Wprowadź fakturę zakupu”, na stronie wyświetlane jest okienko, w którym użytkownik wybiera z listy rozwijanej numer zamówienia. Lista ta została wygenerowana przez program na podstawie modułu zamówień zakupu. Po wskazaniu zamówienia oraz wpisaniu daty wystawienia faktury i daty zakupu, do tabeli dodawany jest nowy wiersz. Rysunek 13 prezentuje funkcjonalność związaną z wystawianiem faktury zakupu.


Rys. 12. Moduł zamówienia sprzedaży. Źródło: opracowanie własne.

Moduł faktury sprzedaży - pozwala przeglądać listę wystawionych faktur sprzedaży, wystawiać nowe i anulować faktury. Zasady realizacji operacji tego modułu przebiegają analogicznie do modułu Faktury zakupu. W celu anulowania faktury należy zaznaczyć wybrany wiersz tabeli i kliknąć przycisk „Anuluj fakturę”. Okienko dialogowe pyta użytkownika o potwierdzenie chęci anulowania danej faktury (rysunek 14)
[3].

Podsumowanie





Obecnie trudno sobie wyobrazić sprawne zarządzanie magazynem bez wspomagania ze strony systemu informatycznego. Jeżeli wybierzemy opcję internetowego systemu, wówczas zalet takiego rozwiązania jest wiele, między innymi: niższe koszty niż wyszkolenie i utrzymanie pracownika oraz dostępność systemu 24h na dobę, 7 dni w tygodniu, 12 miesięcy w roku.
W konsekwencji prowadzi to do obniżania kosztów magazyRys. 13. Moduł Faktury zakupu. Źródło: opracowanie własne. nowych, przyspieszania procesów, eliminowania błędów oraz podwyższania poziomu obsługi klienta. Wymienione zalety są kluczowymi czynnikami wpływającymi na sukces przedsiębiorstwa. Firmy, które chcą istnieć na rynku, muszą zarządzać magazynem w oparciu o dokładną i aktualną informację na temat wszystkich procesów magazynowych.
Nie tylko wielkie magazyny wymagają komputerowego wspierania decyzji menedżerskich. Również te niewielkie, do poprawnego funkcjonowania potrzebują właściwie zaimplementowanego na ich potrzeby i wdrożonego magazynowego systemu informatycznego.
Proponowany system powstał na podstawie wywiadu przeprowadzanego w jednym z przedsiębiorstw na terenie miasta
Rys. 14. Moduł faktury sprzedaży - anulowanie faktury. Źródło: opracowanie własne. Łomża. Został zrealizowany zgodnie z wytycznymi i problemami, które występują przy obsłudze operacji magazynowych oraz
Moduł Zamówienia sprzedaży - pozwala przeglądać złożo- zarządzaniu przestrzenią magazynową przedsiębiorstwa. ne zamówienia sprzedaży, dodawać nowe zamówienia, anulować je oraz dodawać i usuwać produkty z zamówienia. Dostępne opcje tego modułu oraz wykonywanie operacji na formularzach przebiega w sposób analogiczny, jak w poprzed- LITERATURA nim przykładzie. Rysunek 12 przedstawia widok tego mo[1] Ogólny opis systemu MaGS w wersja 3.18.9, http://www.ilim.podułu
Moduł faktury zakupu - moduł pozwalający przeglądać listę wystawionych faktur zakupu, wystawiać nowe i anulować faktury. W tabeli prezentującej listę wystawionych faktur wyświetlane są dane takie, jak: numer faktury, data wystawienia oraz data zakupu, kwota zamówienia oraz numer zamówienia, którego dotyczy faktura. Numer faktury system generuje automatycznie. Do wyboru dat służy okienko dialogowe w postaci kalendarza. Kwota zamówienia zosta-
Logistyka 1/2011

[2]
[3]

[4]
[5]
znan.pl/produkty/ai/pliki/mags1ogolnyopissystemu.pdf, (stan z 1601-2011). http://www.teta.com.pl/rozwiazania-branzowe-handel-i-dystrybucja.php, (stan z 16-01-2011).
J. Jarosik, Praca dyplomowa inżynierska, System do obsługi magazynu.
Obroniona 21.06.2010. Promotor dr inż. E. Busłowska. Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży.
A. Halub, Wzorce projektowe. Analiza kodu sposobem na ich poznanie, Helion, 2005.
S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, 2006.