Politechnika Opolska
Wydział Elektrotechniki i Automatyki
Kierunek: Informatyka
V semestr - Studia dzienne
Projekt z Inżynierii Oprogramowania
Temat :
Obsługa piekarni. System dystrybucji pieczywa.
Opracował:
Kimmel Angelika
Ryszard Miszkiewicz
Termin oddania
22.01.2008
Spis treści
Opis funkcjonowania systemu
Celem systemu jest sprzedaż różnego rodzaju pieczywa jak i innych towarów wytwarzanych przez piekarnie. Głównym zadaniem systemu jest zapewnienie dobrej i szybkiej obsługi klienta a także usprawnienie pracy piekarni.
Opis wymagań :
Klient przychodzący do sklepu może kupić gotowy produkt lub złożyć zamówienie na przygotowanie dla niego wypieku. Zamówienie jest realizowane w zależności od momentu, w którym zostało ono złożone oraz od rodzaju zamawianego produktu. Klient przy zamawianiu produktu może skorzystać z gotowych przepisów, jakie są w posiadaniu piekarni lub, jeśli propozycje te mu nie odpowiadają może podać własny przepis, według którego jego zamówienie zostanie zrealizowane. W tym przypadku konieczne jest jednak pobranie od klienta przepisu.
Zamówienia, jeśli złożone są w godzinach rannych (do południa) są realizowane jeszcze na ten sam dzień. O tej porze do sklepu dostarczane jest świeże pieczywo oraz zrealizowane zamówienia z dnia poprzedniego. Natomiast to piekarni zabierane są nowe zamówienia.
Kolejna dostawa z wypiekami i zamówieniami złożonymi do południa, które udało się zrealizować, jest około godziny 16.30.
Klient składając zamówienie dostaje potwierdzenie przyjęcia zamówienia, na którym określony jest możliwy czas zrealizowania zamówienia. Ponieważ jednak nie jest możliwe wykonanie wszystkich zamówień, może on w danej porze skontaktować się ze sklepem telefonicznie w celu zorientowania się czy jego zamówienie jest już zrealizowane.
W piekarni zazwyczaj raz na 2-3 dni przyjmowana jest dostawa z hurtowni. Zamówienie na konkretne surowce wychodzi z piekarni, gdzie są one zużywane do realizacji złożonych przez klientów zamówień oraz ustalonych rodzajów wypieków, jakie piekarnia wypieka.
Zapotrzebowanie na surowce jest zazwyczaj składane rano, w ten sposób możliwe jest zaopatrzenie piekarni jeszcze przed następnym dniem roboczym. Jeśli przed określonym czasem zapas, któregoś surowca się skończy jest on natychmiast zamawiany.
Funkcje poszczególnych grup użytkowników systemu:
Piekarze :
Do głównych zadań piekarzy należy pobranie z magazynu zlecenia do realizacji. Następnie piekarz bierze z magazynu przepisów przepis według którego ma zrealizować zamówienie. Po wypieku danego pieczywa produkt jest przenoszony do magazynu gotowych wyrobów. Do piekarzy należy również pobieranie produktów z magazynu które są potrzebne do wypieku danego produktu i aktualizowanie oraz składanie zamówień na brakujące surowce.
Sklepikarz:
Sklepikarz pobiera od klienta zamówienie na gotowe produkty lub jeśli klient chce wypiec pieczywo z własnego przepisu musi zostawić przepis. Sprzedawca wprowadza ten przepis do magazynu przepisów i po weryfikacji potwierdza klientowi zamówienie. Do zadań sklepikarza należy również pobieranie gotowych wypieków z magazynu i wydawanie towaru.
Klienci:
Klient przychodząc do sklepu składa zamówienie na gotowe pieczywo lub na swój indywidualny przepis, który musi dostarczyć do sklepu. Jeśli jest to gotowy produkt czeka na wydanie pieczywa, jeśli nie czeka na potwierdzenie wykonania zamówienia oraz termin realizacji. Przy powtórnym przyjściu żąda wydania wcześniej przyjętego zamówienia i odbiera gotowy już produkt.
Opis wymagań
Wymagania funkcjonalne:
Zarządzanie zleceniami, potwierdzanie możliwości wykonania danego zlecenia, wykonanie danego zlecenia, ewidencja wykonywanych zleceń.
Ewidencja przepisów , możliwość wykonania przepisu na indywidualne życzenie klienta, dodawanie nowych przepisów do magazynu przepisów.
System nie powinien udostępniać przepisów, które znajdują się już w bazie przepisów.
Ewidencja aktualnego stanu magazynu zapasów. Możliwość odczytu stanu magazynu i w zależności od zapotrzebowania aktualizacja zapasów.
Harmonogram zleceń. Ustalenie harmonogramu zleceń według którego wykonywane są zamówienia.
Wymagania niefunkcjonalne :
Musi istnieć szybki i sprawny system uaktualniania przepisów.
Zlecenia muszą być wykonywane według danego harmonogramu zgodnego z kolejnością składania zamówień.
Proces realizacji zamówień - wypieku danego produktu musi być zgodny z normami BHP zdefiniowanymi dla danej branży.
Wymagania zewnętrzne - musi istnieć sprawny system zamawiania produktów, które kończą się w magazynie a będą potrzebne do realizacji kolejnych zamówień.
Korzyści:
Możliwość realizacji nowych przepisów dzięki stale powiększającej się ich ilości.
Zwiększająca się baza przepisów, zwiększający się dostępny asortyment.
Zagrożenia:
Możliwość braku surowca na magazynie, który może być potrzebny do zrealizowania nowego przepisu.
Realizacja i składanie zamówień jest możliwa tylko w godzinach otwarcia sklepu.
Słownik pojęć:
zamówienie, zlecenie - określa potrzebę klienta
potwierdzenie - dokument, umożliwiający odbiór
klient - osoba, kupujący
towar - wypieki
surowce - materiały potrzebne do przygotowania wypieku
hurtownia - miejsce kupna surowców
przepis - sposób przygotowania wypieku
piekarz - osoba wykonująca wypiek
sprzedawca - osoba sprzedająca w sklepie
sklep - miejsce sprzedaży towaru
piekarnia - miejsce wykonywania wypieków
piekarz osoba wykonująca wypiek
Diagram kontekstowy :
Lista zdarzeń :
Klient składa zamówienie i ewentualnie podaje przepis lub żąda wydania zrealizowanego zamówienia
Jeśli klient składa zamówienie z asortymentu gotowych przepisów to sprzedawca pobiera potwierdzenie zamówienia z magazynu potwierdzeń. Następnie piekarz pobiera z magazynu zamówień zamówienie , a następnie z magazynu przepisów przepis. Po wykonaniu produktu pieczywo trafia do magazynu gotowych wyrobów.
Jeśli klient żąda wydania zamówienia sprzedawca według numeru zlecenia pobiera z magazynu gotowych produktów gotowe pieczywo i wydaje produkt klientowi.
Jeśli klient dał przepis na nowy produkt przepis ten trafia do magazynu przepisów, a następnie jest wykorzystany przez piekarza do realizacji zlecenia.
Modyfikacja i aktualizacja magazynu zapasów
Kontrola aktualnego stanu magazynu, składanie zamówień na surowce, odbieranie zamówień z hurtowni
Diagram przepływu danych (DFD)
Dekompozycja procesu PIEKARNIA
Dekompozycja procesu SKLEP
Macierze CRUD
CRUD Matrix Data Store
|
Obsluga dostawcow hurtowych |
Piekarnia |
Piekarz |
Przyjmowanie zamowien |
Sklep |
Sprzedawca |
System Piekarni |
GOTOWE WYROBY |
|
U |
U |
|
R |
R |
|
POTWIERDZENIA ZAMOWIEN |
|
|
|
U |
|
RU |
|
PRZEPISY |
|
R |
R |
RU |
RU |
|
|
ZAMOWIENIA |
|
R |
R |
U |
U |
|
|
ZAPASY |
RU |
|
R |
|
|
|
|
Diagram związków encji ERD
Stanowi model potrzeb informacyjnych przedsiębiorstwa i opisujący zależności statyczne między jego elementami. Służy głównie do nieformalnego przedstawienia projektu bazy danych. Do tworzenia tego modelu wykorzystałem Conceptual Data Model pakietu Power Designer 10.1.
Definicje:
Encja- rzecz, czynność lub obiekt, mający dla nas znacznie, o którym informacje musza być znane lub/i przechowywane.
Związek encji - istotne, nazwane powiązane istniejące pomiędzy dwoma (lub trzema) encjami.
Atrybut encji - każdy szczegół, służący do kwalifikowania, klasyfikowania, określania ilości lub wyrażenia stanu encji.
Identyfikator encji - dowolna kombinacja atrybutów i/lub związków, która umożliwia jednoznacznie zidentyfikowanie wystąpienia encji.
Mój model składa się z 8 encji: Zamowienie, Klient, Piekarz, Sprzedawca, Przepis, Surowiec, Wypiek, Hurtownia. Encje posiadają swoje atrybuty, które je jednoznacznie określają i są połączone miedzy sobą związkami encji według zasad tworzenia związków.
Słownik Danych - DD (Data Dictonary)
jest to uporządkowany wykaz wszystkich elementów danych, mających związek z systemem wraz z ich określeniem:
- opisuje znaczenie przepływów i magazynów na DFD
- opisuje budowę złożonych pakietów
- opisuje budowę pakietów danych
Zamowienie:
ID_Zamowienia = [A-Z|a-z|0-9]
Data realizacji = [dzień: 1-31|miesiąc: 1-12|rok: 2000-2100]
Ilość = [0-9]
ID_Wyp = [A-Z|a-z|0-9]
ID_Prze = [A-Z|a-z|0-9]
Klient:
ID_Klienta = [A-Z|a-z|0-9]
Imie_K = [A-Z|a-z]
Nazwisko_K= [A-Z|a-z]
Adres_K = [A-Z|a-z]
Telefon_K = [0-9]
Piekarz:
ID_Piekarza = [A-Z|a-z|0-9]
Imie_P = [A-Z|a-z]
Nazwisko_P = [A-Z|a-z]
Adres_P = [A-Z|a-z|0-9]
Telefon_P = [0-9]
NIP_P = [0-9]
Sprzedawca:
ID_Sprzedawcy = [A-Z|a-z|0-9]
Imie_S = [A-Z|a-z]
Nazwisko_S = [A-Z|a-z]
Adres_S = [A-Z|a-z|0-9]
Telefon_S = [0-9]
NIP_S = [0-9]
Przepis:
ID_Przepisu = [A-Z|a-z|0-9]
Nazwa_Wyp = [A-Z|a-z]
Surowce = [A-Z|a-z]
Receptura = [A-Z|a-z|0-9]
Waga_surowca = [0-9]
Surowce:
Nazwa surowca = [A-Z|a-z]
ID_Surowca = [A-Z|a-z|0-9]
Waga = [0-9]
Wypiek:
ID_Wypieku = [A-Z|a-z|0-9]
Cena = [0-9]
ID_Przep = [A-Z|a-z|0-9]
Nazwa = [A-Z|a-z]
Hurtownia:
Nazwa_Hurt = [A-Z|a-z]
Regon = [0-9]
NIP_Hurt = [0-9]
Adres_Hurt = [A-Z|a-z|0-9]
Telefon_Hurt = [0-9]
Fizyczny model danych
Reprezentuje już konkretna platformę bazy danych. Mój fizyczny model danych wygenerowałem z wcześniej stworzonego modelu związków encji. W tym modelu Encje zostały przekształcone w tabele a atrybuty encji w kolumny naszej bazy danych. Zanim przystąpiliśmy do generowania bazy danych utworzyłem dwa widoki i dwa triggery.
Diagram procesów biznesowych
Diagram ten utworzyłem wykorzystując Business Process Model pakietu Power Designer 10.1. Notacja wykorzystywana w środowisku BPM stanowi uproszczony diagram aktywności UML, z rozszerzeniami specyficznymi dla procesów biznesowych. Model ten może być traktowany jako odpowiednik diagramu przepływu danych. Modelowanie procesów biznesowych ma nam dostarczyć istotnych, z punktu widzenia informatyzacji systemu, odpowiedzi na pewne pytania takie jak : Jak działa nasza organizacja? Jakie procesy sa realizowane przez nasza firmę? Czy są one wystarczająco efektywne i wydajne? Itd.
Model procesu obsługi piekarni
Dekompozycja potwierdzenia zamówienia
Diagram przypadków użycia
Diagram przypadków użycia jest modelem wymagań odnośnie funkcjonalności systemu, widzianej przez użytkowników zewnętrznych, zwanych aktorami. Przypadki użycia opisują, co tacy użytkownicy mogą zrobić z systemem, w jaki sposób go używać (stad nazwa - przypadek użycia).
Aktor - abstrakcyjny użytkownik systemu, reprezentujący grupę rzeczywistych
użytkowników lub partnerów systemu o podobnych funkcjach i sposobie komunikacji
z systemem. Przykłady aktorów: użytkownik, klient, magazynier.
Przypadek użycia - ciąg interakcji pomiędzy aktorem a systemem oraz transakcji
(niepodzielnych operacji) w systemie, dostarczający aktorowi rezultatu o mierzalnej wartości.
Przykłady przypadków użycia: kupowanie biletów, ustawianie opcji wyświetlania.
Diagram klas
Diagram klas jest centralnym pojęciem we wszystkich znanych metodykach obiektowych, także w UML. Opisuje on statyczna strukturę modelu, obejmując zbiór klas, pakietów, interfejsów oraz powiązań miedzy nimi zachodzących. W porównaniu z diagramami związków encji, diagramy klas wprowadzają m.in. metody (funkcje) przypisane do określonych klas. Diagram klas pokazuje klasy w postaci pewnych oznaczeń graficzno-językowych powiązanych w siec zależnościami należącymi do trzech kategorii:
Asocjacja (association) - dowolny związek pomiędzy klasami, który ma znaczenie dla
modelowania,
Agregacja (aggregation) - szczególny przypadek asocjacji, odwzorowujący stosunek całość-cześć pomiędzy obiektami z modelowanej dziedziny przedmiotowej,
Dziedziczenie (inheritance) - związek generalizacji-specjalizacji pomiędzy klasami.
Mój diagram klas został wygenerowany z modelu związków encji. Dodatkowo musiałem dołączyć jeszcze funkcje z jakich korzysta dana klasa.
Diagram stanów
Diagram stanów reprezentuje stany pewnego procesu oraz przejścia pomiędzy tymi stanami. W notacji UML diagramy stanów są raczej klasycznymi diagramami przepływu sterowania niż diagramami stanów znanymi np. z teorii automatów.
Diagram sekwencji
Diagram sekwencji jest drugim, obok omawianego w poprzednim punkcie diagramu
kolaboracji, wprowadzonym w UML typem diagramu interakcji. Diagram sekwencji posiada
dwa wymiary: pionowy - reprezentujący czas, oraz poziomy - reprezentujący obiekty.
Pokazuje on uporządkowana w czasie sekwencje komunikatów wymienianych pomiędzy
obiektami.
Kupno sprzedaż produktu
Zamawianie produktu
Realizacja zamówienia
Literatura:
Yourdon E.: Współczesna analiza strukturalna. WNT Warszawa, 1996
Barker R.: Modelowanie związków encji. WNT Warszawa, 1996
Jaszkiewicz A. : Inżynieria oprogramowania. Wydawnictwo Helion, Gliwice 1996
22