Informatyka w zarzadzaniu wyklad Myszkorowski


IV. OPIS NARZDZI ANALIZY STRUKTURALNEJ
Modele analityczne, to w przeważającej części papierowe modele przyszłego systemu,
tzn. abstrakcyjne reprezentacje, które pózniej staną się kombinacjami sprzętu i
oprogramowania.
Najpierw wyjaśnię do czego w ogóle potrzebne nam są modele.
Modele można konstruować w ten sposób aby uwypuklić pewne istotne cechy
systemu, pomijając jednocześnie inne jego aspekty. Pozwala to na łatwiejszą komunikację z
użytkownikiem, ponieważ skupiamy się na aspektach ważnych w danej chwili. Jeśli
okaże się, że wymagania użytkownika zostały błędnie zinterpretowane, można zbudować
nowy model. W przypadku budowy całego systemu po początkowych rozmowach z
użytkownikiem ryzykujemy, że powstały system nie jest tym czego oczekiwał użytkownik, a
jego zmiana jest bardzo kosztowna. Jednym słowem mówiąc model, to tania kopia systemu,
który będziemy badać. Błędne założenia, czy po prostu niedopracowany projekt
systemu są przyczyną ponad 80% występujących błędów. Natomiast koszt naprawy
w tej ąytuacji stanowi około 95% wszystkich kosztów związanych z naprawą
występujących ni eprawidłowo ści.
Narzędzia modelowania używa się głównie do: skoncentrowania się na istotnych w danej
chwili aspektach; modyfikowania wymagań użytkownika przy minimalnych kosztach i
ryzyku; upewnienia się, że wymagania zostały poprawnie zinterpretowane,
tak by programiści mogli zbudować poprawnie działający system.
Istnieje wiele różnych modeli, które moglibyśmy przestawić użytkownikowi:
narracyjne, prototypowe czy graficzne1. Dla różnych użytkowników mogą być konieczne
różne narzędzia modelowania, na przykład ze względu na ich dotychczasowe
doświadczenie.
Większość systemów wymaga wielu modeli, poneważ każdy z nich
i
koncentruje się na pewnej ograniczonej liczbie aspektów. Wiele systemów ma
1
Mogą to być diagramy przepływu sterowania, diagramy HIPO, tablice decyzyjne, diagramy
przepływu danych, systemowe diagramy przepływu, diagramy sieci przejść, drzewa decyzyjne,
diagramy związków encji, Ferstla, Hamiltona-Zeldina, PAD i niezliczona liczba innych
diagramów, tablic i grafów, które można pokazać użytkownikowi.
23
złożoną charakterystykę funkcjonalną, złożone struktury danych oraz złożone zależności
czasowe. Istnieje coś takiego jak koncepcja zintegrowanych modeli, czyli modeli, które wspierają
się nawzajem.
Jedne z ważniejszych narzędzi modelowania, to: diagram przepływu danych, diagram
związków encji oraz diagram sieci przejść. Narzędzia te składają się z grafiki i uzupełniającej
części tekstowej. Jak mówią znane powiedzenia:  obrazek wart jest tysiąca słów", ale  słowa
potrafią więcej zakryć niż odsłonić". Dlatego też grafika dostarcza czytelnego dla użytkownika
przedstawienia głównych składników modelu wraz z powiązaniami między nimi, a tekst tylko
uzupełnia te narzędzia o precyzyjne zdefiniowanie znaczenia składników i powiązań. Tak też
powinny wyglądać dokumenty, do których sięga użytkownik, aby zrozumieć system.
Kolejną cechą dobrego narzędzia jest możliwość odwzorowania sytemu metodą zstępujących
podziałów. Nie ma to znaczenia jedynie dla niewielkich systemów. Narzędzia modelowania
musza umożliwiać osobne odwzorowanie poszczególnych części systemu, wraz z prostym
sposobem przechodzenia od jednej części modelu do innej.
Dobre narzędzie cechuje również minimalna nadmiarowość. Modele stanowią reprezentację
pewnych systemów, które mogą być dynamiczne, czyli zmieniać się. Jeżeli system ulegnie
zmianie, to musimy wprowadzić zmiany do modelów. W wielu modelach jednak istnieje pewna
nadmiarowość. Im więcej nadmiarowości zawiera model, tym trudniej jest go pielęgnować, gdyż
zmiany, które nastąpiły powinny być uwzględnione często w więcej niż jednym miejscu.
Poza tym dobre narzędzie powinno pomagać czytelnikowi przewidzieć zachowanie
systemu oraz być dla niego przejrzyste i czytelne.
Abyśmy wiedzieli z czym mamy do czynienia i jakie narzędzia do budowy systemu
obsługi sprzedaży zostaną wykorzystane w pracy, poniżej przedstawię skrótowy opis
poszczególnych narzędzi analizy strukturalnej.
24
1. DIAGRAM PRZEPAYWU DANYCH
Diagram przepływu danych jest podstawowym narzędziem w strukturalnej analizie
systemów. Stanowi on model funkcjonalny systemu. Na diagramie tym przedstawia się
wszystkie procesy zachodzące w analizowanym systemie, inaczej mówiąc przedstawia on
funkcje, które musi realizować system. Funkcje te mogą być wykonywane ręcznie lub
automatycznie. Ponadto na diagramie tym przedstawia się przepływy informacji pomiędzy
procesami, miejsca składowania danych oraz zródła i miejsca odbierania informacji. Jest to
narzędzie do opisywania transformacji wejść na wyjścia.
Diagram przepływu danych zwiera cztery podstawowe składniki: procesy, magazyny
danych, przepływy i terminatory. To, że do sporządzenia diagramu używa się tylko czterech
prostych symboli ma znaczenie nie tylko dla projektanta. Także użytkownikowi o wiele
łatwiej jest zorientować się, co rysunek przedstawia, jeżeli nie musi się zastanawiać nad każdym
elementem, a znaczenie niektórych elementów, na przykład strzałek oznaczających kierunek
przepływu danych, jest prawie oczywiste.
A oto krótkie objaśnienie tych składników [1][6].
Proces)' przedstawione są na diagramie za pomocą kółek (Rys.3). Reprezentują one pojedyncze
funkcje, które realizuje system. Funkcje te operują na danych przekształcając wejścia na
wyjścia. Proces może być programem komputerowym lub procedurą, ale może to być również
czynność wykonywana ręcznie. Dla większości modelów nazwa procesów opisuje co robi ten proces.
Czasami proces opisuje kto lub co go wykonuje.
Przepływy przedstawione są za pomocą zakrzywionych strzałek. Służą one do tworzenia związków
pomiędzy procesami. Opisują strumienie danych o określonej zawartości przepływające pomiędzy
dwoma obiektami. Strzałki określają kierunek przesyłania informacji. Najczęściej linie są
skierowane jednostronnie. W zależności od kierunku strzałki reprezentują informację wejściową
lub wyjściową, która jest wymagana lub generowana przez proces. Przepływ z dwoma
grotami, który możemy zobaczyć
25
na rys.2, to dialog. W tym przypadku pakiety danych na obu końcach strzałki musza być
nazwane. Przepływy mogą się schodzić lub rozchodzić2.
Magazyny danych przedstawione będą na diagramie za pomocą dwóch równoległych linii.
Przedstawiają one zbiory danych, które system powinien przechowywać przez pewien
czas. Reprezentują one miejsca, gdzie dane są przechowywane pomiędzy procesami, które na
nich operują, jeśli może wystąpić przesunięcie w czasie miedzy tymi procesami. Magazyny są
połączone z procesami za pomocą przepływów3. Dla programisty lub projektanta stają się one
pózniej plikami lub bazami danych. Terminatory przedstawione są za pomocą prostokątów.
Przedstawiają obiekty zewnętrzne, z którymi komunikuje się system. Reprezentują zródła
lub miejsca przeznaczenia informacji, które są zewnętrzne w stosunku do systemu. Dostarczają
informacji, która powoduje wykonanie pewnych procesów w systemie, względnie odbierają
informacje produkowane przez system. Są to na przykład inne działy, inne firmy, zewnętrzne
systemy komputerowe korzystające z informacji produkowanych przez system, kierownik
odbierający raporty o sprzedaży, klient składający zamówienie. Przepływy łączące terminatory z
procesami lub magazynami systemu stanowią interfejs między systemem a otaczającym światem.
Związki między terminatorami z definicji nie wchodzą do systemu, dlatego też nie są one
pokazywane na diagramie.
Jeżeli obiekt zewnętrzny lub magazyn danych występuje na diagramie dwa razy, dla
przejrzystości rysunku powtórzony obiekt jest zaznaczony ukośną kreską w lewej górnej
części.
Diagram przepływu danych może również zawierać przepływy sterujące oraz magazyny
sterujące. Poza przedstawieniem głównych składowych funkcjonalnych systemu, diagramy
przepływu danych nie dostarczają nam żadnych szczegółowych informacji; dostarczają tylko
jednego spojrzenia na system - spojrzenia funkcyjnego.
Jeżeli przepływ jest rozbieżny, oznacza przesyłanie kopii pakietu danych do różnych części
systemu lub rozdzielenie złożonego pakietu danych na kilka elementarnych, z których każdy jest
przesyłany do innej części systemu. W przypadku pakietów zbieżnych, kilka elementarnych pakietów
danych łączy się w bardziej złożone pakiety danych [1].
3
Co reprezentuje przepływ (czy pojedynczy pakiet, wiele pakietów, fragment pakietu czy
fragmenty pakietów) można powiedzieć na podstawie etykiety przepływu. Brak etykiety lub jeśli
etykieta przepływu jest taka sama jak magazynu oznacza, że jest pobierany kompletny pakiet
informacji. Jeśli etykieta jest inna pobiera się jeden lub więcej fragmentów jednego lub więcej
pakietów. Przepływ z magazynu interpretuje się zwykle jako odczyt, zaś przepływ do magazynu
opisuje się często jako zapis, aktualizację lub być może usuwanie [1].
26
Notacja diagramu przepływu danych jest prosta i intuicyjnie oczywista. Jest ona
zupełnie czytelna dla osób nie zajmujących się zupełnie informatyką.
o
Rys.2 Notacja diagramów DFD
Podstawowym celem techniki modelowania procesów jest ich graficzna
reprezentacja umożliwiająca lepsze i głębsze zrozumienie natury i specyfiki tych procesów
oraz odpowiednie ich zmodyfikowanie w zależności od stawianych systemowi
wymagań. Jest to w pewnym sensie  mapa" procesów ukazująca przepływ danych między
procesami w systemie oraz między światem zewnętrznym a systemem
Przedstawienie całego systemu za pomocą jednego diagramu mogłoby jednak być
zbyt nieczytelne. Dlatego też diagram należy budować poziomami. Procesy specyfikuje się
zaczynając od wyszczególnienia podstawowych funkcji. Przykładem takich funkcji w
prezentowanym systemie obsługi sprzedaży są: obsługa zamówień i obsługa zwrotów.
Następnie zstępujące dokonuje się uszczegółowienia każdego procesu, rozbijając go na
podprocesy. Podprocesy obsługi zwrotów, to na przykład: sprawdzenie przyjmowanego
produktu, sprawdzenie limitu zwrotów, wystawienie faktury zwrotu itd. Jeśli procesu nie
da się rozbić na podprocesy, to precyzyjnie i jednoznacznie opisujemy go używając
równań matematycznych, tabel lub specjalnego języka. W opisie takim należy podać
reguły przekształcania danych wejściowych w wyjściowe lub reguły generowania danych
[6].
27
Diagram przepływu najwyższego poziomu składa się z jednego procesu reprezentującego
cały system. Ten specjalny DFD się diagramem kontekstowym. Diagram przepływu danych
zerowego poziomu przedstawia główne funkcje systemu. Nazywamy go diagramem ogólnym
systemu, diagramy niższych poziomów zaś to diagramy szczegółowe.
Nie wszystkie części systemu musza być do tego samego poziomu. Niektóre części systemu
mogą być bardziej złożone niż inne. Jeśli jednak jedne procesy są elementarne, a inne wymagają
wielu poziomów, to ogólny model systemu jest prawdopodobnie zle zorganizowany. Dla
zapewnienia zgodności każdego diagramu z diagramem nadrzędnym stosuje się prosta regułę:
przepływy danych wchodzące i wychodzące z procesu na danym poziomie powinny odpowiadać
przepływom danych wchodzących i wychodzących z całego diagramu niższego poziomu opisującego
ten proces [1]. Postępowanie to nazywamy równoważeniem poziomów.
DFD należy prezentować użytkownikom od góry, czyli poczynając od diagramu
kontekstowego. W praktyce jednak podejście zstępujące może okazać się bardzo niewygodne.
Dlatego też lepszym rozwiązaniem jest zidentyfikowanie najpierw zdarzeń zewnętrznych, na które
system ma odpowiadać i zbudować wstępny DFD. Taki diagram może być pózniej rozwijany
zarówno w górę jak i w dół. Podejście to nosi nazwę podziału według procesów.
Tworzenie diagramów przepływu danych tworzy się w tym podejściu w oparciu o model
środowiskowy, który omówiłam w rozdziale trzecim (pkt. 1).
W celu skonstruowania poprawnych i przejrzystych diagramów DFD należy pamiętać o kilku
sprawach.
Po pierwsze należy wybierać znaczące nazwy dla procesów, przepływów, magazynów i
terminatorów. Procesy należy etykietować w taki sposób, aby określić funkcje, które realizuje system.
Dobra nazwa dla procesu zwykle stanowi frazę czasownik-dopełnienie (np. PRZYJMIJ
ZAMÓWIENIE albo WYSTAW FAKTUR).
Po drugie należy numerować procesy. Ułatwia to odwoływanie się do nich na diagramie,
a poza tym liczby te stanowią podstawę schematu hierarchicznego numerowania przy modelowaniu
wielopoziomowym4. Choć niektórzy użytkownicy
4
Dla przykładu: proces 3, występujący na Diagramie O, związany jest z diagramem niższego
poziomu oznaczonym Diagram 3. Procesy wewnątrz tego diagramu numeruje się następująco:
28
mogą uznać, że implikuje to kolejność ich wykonywania, należy pamiętać, że model DFD to sieć
komunikujących się asynchronicznych procesów.
Ponieważ model ten ma być czytany i oglądany nie tylko przez autorów, ale także przez
użytkowników, musi być on zrozumiały, czytelny i przyjemny dla oka. Dlatego też należy
przerysowywać diagramy DFD, jeśli tylko jest to konieczne z przyczyn estetycznych. Poza tym
należy unikać nadmiernie złożonych diagramów. Najprostszym ograniczeniem jest to, że pojedynczy
DFD powinien się swobodnie mieścić na kartce papieru formatu A43.
Kolejną ważną rzeczą jest sprawdzenie czy diagram jest logicznie wewnętrznie niesprzeczny.
W tym celu należy sprawdzić czy nie występują tzw.  nieskończone studnie" lub inaczej  czarne
dziury" (są to procesy mające same wejścia i żadnych wyjść)oraz czy nie ma procesów spontanicznej
generacji (są to procesy mające jedynie wyjścia bez żadnych wejść). Ponadto należy sprawdzić
występujące magazyny tylko-do-zapisu albo tylko-do-odczytu oraz nieetykietowane przepływy i
procesy.
Niestety na podstawie DFD nie da się stwierdzić w jakiej kolejności przychodzą pakiety
danych i w jakiej kolejności są generowane przez pakiety wynikowe. Nie wiadomo również
czy jednemu zestawowi pakietów wejściowych odpowiada dokładnie jeden zestaw pakietów
wyjściowych. Diagram przepływu danych nie odnosi się do takich zagadnień. Jeśli aspekty te są dla
danego systemu istotne, wówczas należy posłużyć się innymi narzędziami modelowania, na przykład
diagramem przepływu sterowania.
Natomiast, aby pokazać jaka informacja jest przedstawiana i w jaki sposób, potrzebne jest
użycie tekstowych narzędzi modelowania, jakimi są: słownik danych i specyfikacja procesu.
2. SAOWNIK DANYCH
Słownik danych jest to uporządkowany wykaz wszystkich elementów danych, który zawiera
dokładne definicje wszystkich elementów każdego z diagramów. Jest on
3.1, 3.2, 3.3 itd. Jeśli proces 3.1 jest związany z diagramem niższego poziomu, to diagram ten
oznaczamy przez Diagram 3.1, a procesy na nim występujące "numerujemy poprze 3.1.1, 3.1.2, 3.1.3
itd.
5
W artykule George Millera zamieszczonym w 1956r. w Psychology Review występuje wskazówka,
że nie powinno się znalezć nie więcej niż sześć procesów.
29
niezbędnym uzupełnieniem każdego z modeli systemu reprezentowanego przez
omawiane diagramy. Zawiera on definicję wszystkich struktur danych (obiekty,
atrybuty, powiązania), procesów, jednostek komunikacji z użytkownikiem, danych
dotyczących zarządzania przedsięwzięciem (wersje, prawa dostępu, osoby
odpowiedzialne).
Słownik danych definiuje swoje elementy w następujący sposób [6]: oprócz
identyfikatora, unikatowego dla każdego z elementów i nazwy (etykiety), każdy
element jest zaopatrzony w krótkie wyjaśnienie znaczenia;
- każdy złożony element ma dokładną definicję swoich elementów składowych
(np.atrybuty złożone, struktury rekordów, przepływy danych, magazyny danych,
obiekty);
magazyny danych, przepływ danych maja zawsze zdefiniowaną zawartość; wszystkie
dane elementarne maja zdefiniowane zakresy wartości, jakie mogą przyjmować
(ciągłe lub dyskretne), jednostki miary; powiązanie między obiektami jest dokładnie
scharakteryzowane;
- wszystkie powiązania między poszczególnymi elementami każdego modelu są
dokładnie opisane (np. kolejne rozwinięcia diagramu DFD, zródło i znaczenie
każdego przepływu).
Ogólnie każdy element na różnych diagramach ma pewien, zapisany w słowniku
danych, zestaw atrybutów, które go zgodnie z definicja każdego modelu charakteryzują.
A oto najczęściej używana notacja słownika danych.
Symbol Znaczenie
= jest złożony z (następujących elementów)
+ i
O opcjonalność (element może być obecny lub nie)
{ } iteracja elementu (element może się powtórzyć)
[] selekcja (jeden z podanych elementów może zostać wybrany)
i oddzielanie alternatywnych elementów w konstrukcji [ ]
* * komentarz
@ identyfikator - klucz obiektu
ii (.<. literał
30
Przy definiowaniu elementów występuje zjawisko nadawania wielu nazw dla danego
elementu (zwłaszcza, gdy projekt jest tworzony przez wiele osób). Na dodatek nazwy
wykorzystywane przez użytkowników systemu różnią się od nazw tych samych elementów
używanych przez analityków czy projektantów. Wszystkie te nazwy powinny się znalezć w słowniku
danych, a oznaczamy je słowem  synonim" lub  alias".
Istnieją terminy samodefmiujące, których znaczenie jest jednakowe we
wszystkich systemach informatycznych lub dla których analityk uzna, że dalsze szczegóły są zbędne.
Gdy element danych nie wymaga definicji, wielu analityków używa notacji ** w celu wskazania
 pustego komentarza".
Sformalizowana specyfikacja w postaci diagramów przepływu danych i
precyzyjnej definicji danych w specjalnym słowniku zwanym repozytorium nosi nazwę
specyfikacji strukturalnej i zastępuje stosowane niejednoznaczne i obszerne opisy tekstowe,
stanowiąc istotę podejścia strukturalnego.
3. SPECYFIKACJA PROCESU
Specyfikacja procesu jest opisem tego, co dzieje się wewnątrz każdego elementarnego
procesu na najniższym poziomie diagramu przepływu danych. Definiuje ona, co należy zrobić w celu
przekształcenia wejść w wyjścia. Do stworzenia specyfikacji procesu można na użyć wielu
narzędzi: tablic decyzyjnych, strukturalnego języka polskiego, warunków początkowych i
końcowych, diagramów przepływu sterowania, diagramów Nassi-Shneidera.
Specyfikacja musi mieć taka postać, aby możliwa była jej weryfikacja przez użytkownika i
analityka. Dlatego też unika się stosowania języka polskiego, który jest wieloznaczny. Może być
zapisana w rachunku predykatów, w Pascalu albo też za pomocą formalnego podejścia
diagramowania. Specyfikacje procesów sporządza się jedynie dla procesów najniższego poziomu w
zrównoważonym zbiorze diagramów przepływu danych. Wszystkie procesy wyższego poziomu
definiuje się sieciami procesów bezpośredniego niższego poziomu.
Specyfikacja procesów przedstawiona przeze mnie została stworzona w
strukturalnym języku polskim. Jest to podzbiór języka polskiego z istotnymi
31
ograniczeniami na postać używanych zdań i sposób ich łączenia. Jego celem jest osiągnięcie
rozsądnego kompromisu pomiędzy precyzją formalnego języka a swobodą i czytelnością języka
polskiego.
Zdanie w strukturalnym języku polskim może być równaniem algebraicznym lub prostym
zdaniem rozkazującym, składającym się z czasownika i dopełnienia. Zdania opisujące obliczenia
mogą być poprzedzane czasownikami: POBIERZ, OBLICZ, DODAJ, USUC, ZNAJDy itp.
Przykład: X = (Y * Z) / (Q + 14)
Obiekty, występujące w dopełnieniach prostych zdań rozkazujących, powinny składać się z
elementów danych zdefiniowanych w słowniku danych lub powinny być terminami lokalnymi6.
Strukturalny język polski pozwala łączyć zdania tylko w ograniczony sposób; stosowane
metody zaczerpnięto ze znanych języków programowania.
Konstrukcja IF-THEN-ELSE (IF ELSE) służy do opisania alternatywnych zdań, których
wykonanie zależy od binarnej decyzji.
Konstrukcja CASE służy do opisywania zdań wykonywanych zależnie od wyniku
decyzji wielowarstwowej ( w odróżnieniu od binarnej decyzji podejmowanej w konstrukcji IF-THEN).
Konstrukcja DO-WItLE służy do zdania które ma być wykonywane dopóty, dopóki jest
spełniony pewien warunek logiczny. Sprawdzenie warunku następuje przed wykonaniem
instrukcji. Konstrukcja REPEAT-UNTIL działa na tej samej zasadzie, ale wykonuje ona instrukcję
co najmniej raz przed sprawdzeniem czy należy j ą po wtórzy ć.
Aby stworzyć dobrą specyfikację należy trzymać się trzech zaleceń.
Pierwsze z nich mówi o ograniczeniu strukturalnych specyfikacji procesów w języku
polskim do pojedynczej strony tekstu. Jeśli zajmuje ona jednak więcej niż jedną stronę, analityk
powinien rozważyć inny sposób opisania reguły działania.
Drugie zaleceni dotyczy poziomów zagnieżdżania. Nie należy stosować więcej niż trzech
poziomów (zwłaszcza w przypadku instrukcji IF-ELSE), gdyż jest to mało czytelne. Trzecie
zalecenie związane jest również z zagnieżdżaniem, gdyż mówi o stosowaniu wcięć dla
uniknięcia pomyłek w interpretacji zagnieżdżania.
5
Terminy lokalne definiuje się w specyfikacjach procesów, w których występują, a nie w
słowniku danych. Często są one wyprowadzane z terminów się tam znajdujących.
32
4. DIAGRAM ZWIZKÓW ENCJI
Diagram związków encji służy nam do pokazania związków występujących pomiędzy
zbiorami danych czyli magazynami[l]. Podstawowymi pojęciami tego modelu są obiekt (inaczej
encja), związek oraz atrybut.
Encja/obiekt jest terminem niedefmiowalnym; jest to coś co istnieje i jest odróżnialne.
Encjami mogą być przedmioty materialne lub niematerialne; obiekty rzeczywiste lub pojęcia
abstrakcyjne. Obiekty mają swoje własności zwane atrybutami. Obiekty mające te same atrybuty łączy
się w typy obiektów.
Typy obiektów przedstawione są na diagramie za pomocą prostokątów. Reprezentuje on
zbiór rzeczy ze świata rzeczywistego, które mogą być jednoznacznie zidentyfikowane i opisane przez
jeden lub więcej atrybutów.
Związki pomiędzy obiektami przedstawiają powiązania w świecie rzeczywistym. Są one
przedstawione na diagramie za pomocą rombów. Reprezentują one zbiór powiązań między typami
obiektów połączonymi liniami ze związkiem.
Graficzną reprezentacją modelu danych ER jest diagram ERD. Spotyka go się w graficznie
różnych postaciach7.
Charakter powiązań między obiektami określaj ą[ 16]:
- to czy dany obiekt jest powiązany z jednym, czy z wieloma obiektami; jest to tak zwana arność
związku, czyli liczba obiektów biorących udział w związku; liczebność związku (kardynalność),
gdzie określa się powiązania między obiektami typu 1:1 (jeden do jeden), 1:N (jeden do wielu),
M:N (wiele do wielu).
Pomiędzy typami encji może wystąpić jeden z trzech rodzajów związków: binarny, unarny i
n-arny.
Związki binarne. Większość problemów baz danych może zostać zamodelowana przy użyciu
binarnych związków w formie A fraza czasownikowa B, gdzie A i B są typami encji a fraza
czasownikowa jest tekstem opisującym związek pomiędzy nimi.
7
Najczęściej spotykane notacje, to notacja Chena stosująca w diagramach etykiety ' l', 'N', oraz 'M', a
także notacja Rock-Evans zwana u nas notacją  wronich łapek". Opis obydwu notacji można znalezć
w pozycji [2] umieszconej w literaturze.
33
Dla związków, A fraza czasownikowa B, kardynalność związku opisuje maksymalną i
minimalną liczbę wartości A które mogą istnieć dla każdej wartości B w związku i na odwrót.
Kardynalneści związku są również nazywane minimalnymi i maksymalnymi kardynalnościami
(licznościami) odwzorowania. Kardynalność związku reprezentowana jest przez dwie pary
liczb, jedna para dla każdego powiązanego typu encji.
Niech będzie dany związek A fraza czasownikowa B. Oznaczmy jego kardynalności przez {(cci,
PO, (cc2, (32)}, wówczas:
a i oznacza minimalną liczbę powiązań w których występuje obiekt wymieniony w związku
jako pierwszy;
0,2 oznacza minimalną liczbę powiązań w których występuje obiekt wymieniony w związku
jako drugi;
31 oznacza maksymalną liczbę powiązań w których występuje obiekt wymieniony w związku
jako pierwszy;
$2 oznacza maksymalną liczbę powiązań w których występuje obiekt wymieniony w związku
jako pierwszy.
Jeżeli na przykład wszystkie wartości A mogą mieć od jednego do wielu (reprezentowanych
przez '*') odpowiadających im wartości B, wtedy kardynalności związku dla A są (l, *). Jeśli każda
wartość B ma jeden i tylko jeden odpowiednik w wartościach A, to kardynalności dla B są (l, 1).
Przykład: Zamówienie zawiera Pozycje zamówień
a*) o,i)
Interpretacja:
Zamówienie może mieć wiele pozycji zamówień, ale musi zawierać przynajmniej jedną pozycję
zamówień (nie przyjmuje się zamówień bez wymienionych produktów). Natomiast
pojedyncza pozycja tyczy się tylko jednego zamówienia.
Bardzo charakterystycznym związkiem w modelu E-R jest związek jest związek 'is-a' mający
kardynalności <(0, 1), (l, 1)>. Przykładem takiego związku w projekcie zaprezentowanym w ostatniej
części pracy jest Reklamacjami Zwrotem.
34
Związki mianie. Związek typu Z fraza czasownikowa Z jest określany jako unarny.
Przykładem takiego związku w projekcie jest sytuacja, w której Dystrybutor staje się sponsorem
innego Dystrybutora.
Związki N-arm. Takim pojęciem określa się związki, w które są zaangażowane przynajmniej
trzy typy encji. W przedstawionym projekcie nie występują takie sytuacje.
Związki, tak jak encje, mogą posiadać atrybuty. Jednak w odróżnieniu od encji tylko niektóre
typy związków mogą je posiadać (zwykle atrybuty posiadają związki wiele-do-wiele). Niektóre
związki mogą być potraktowane jako typy encji.
Tworzenie związku składa się zatem z trzech etapów: identyfikacja
związku; wyznaczenie kardynalności związku; - jeśli trzeba,
wyznaczenie atrybutów związku.
Diagram DFD przedstawiał funkcjonalny model systemu, odpowiadał więc na
podstawowe pytanie co system ma robić. Model danych w systemie przedstawiony za pomocą
ERD służy do zilustrowania statycznej struktury danych w systemie w sposób niezależny od
konkretnego systemu zarządzania bazą danych.
Diagramy ERD, na pierwszy rzut oka skomplikowane i tajemnicze, okazują się bardzo
pomocne przy projektowaniu struktury bazy danych dużych systemów informatycznych. Po krótkim
okresie Używania stają się bardziej czytelne niż słowne opisy rekordów i zależności pomiędzy nimi.
Ze względu na wygodę w reprezentacji model ERD jest często używany jako narzędzie do
komunikacji pomiędzy projektantem a końcowym użytkownikiem bazy danych,. Obiekty i relacje
wywołują wrażenie jak gdyby były naturalnymi pojęciami modelowania
Dla każdego systemu z wieloma magazynami i złożonymi strukturami danych ERD stanowi
wartościowe narzędzie.
35
5. DIAGRAM SIECI PRZEJŚĆ (STATE TRANSMISION DIAGRAM)
Diagram sieci przejść służy do przedstawiania zachowania w czasie systemów złożonych, a
chodzi tu konkretnie o kolejność dostępu do danych i wykonywania funkcji. W wielu
systemach występują skomplikowane zależności czasowe, które wymagają równie
precyzyjnego modelowania jak funkcje i związki między danymi.
Do niedawna modele zachowania systemu w czasie były istotne tylko dla specjalnej
kategorii systemów zwanych systemami czasu rzeczywistego. Wiele z nich, to systemy bierne w tym
sensie, że nie sterują one otaczającym je środowiskiem, lecz jedynie reagują na nie i gromadzą o nim
informacje.
Dla systemów handlowych zagadnienie to nie jest w zasadzie istotne, ponieważ kolejność
wykonywania funkcji jest trywialna. Na przykład wykonanie pewnej funkcji nie jest możliwe dopóki
nie otrzyma ona danych, które z kolei są wynikami innej funkcji. Dlatego też narzędzia tego nie
będę szczegółowo omawiać.
36
V. SPECYFIKACJA SYSTEMU W OPARCIU
O NARZDZIA ANALIZY STRUKTURALNE J
Będziemy koncentrować się na systemie, który będzie zautomatyzowanym systemem
informatycznym i który będzie częścią większego systemu. Będzie on współpracował z
systemem księgowości, systemem magazynowania i kasą oddziału. Systemy z reguły są częścią
innych większych systemów, ale zawsze też mogą być rozbite na mniejsze systemy. Aby dobrze
zbudować nasz system, musimy rozumieć systemy, z którymi on współpracuje. Musimy dobrze się
zastanowić co będzie wchodziło w skład systemu, a co nie.
W fazie analizy systemu podstawowym celem jest określenie, czego użytkownik oczekuje od
systemu, ze zwracaniem niewielkiej lub żadnej uwagi na technologię informatyczną, która będzie
użyta do implementacji tych wymagań.
Potrzeba do tego DFD, na którym będzie pokazany podział wymagań na oddzielne
funkcje i interfejsy między funkcjami. Potrzeba też ERD do pokazania obiektów występujących
jako dane pamiętane w systemie i związków między obiektami. Ponadto korzysta się ze
słownika danych do gromadzenia definicji wszystkich elementów danych w systemie oraz jakiejś
postaci tekstowego opisu formalnych reguł działania dla każdej z funkcji najniższego poziomu.
Kluczową sprawą jest to aby wszystkie te modele były ze sobą zgodne. Jeśli DFD
odwołuje się do elementu danych, którego nie ma w słowniku danych, to coś jest zle. Jeśli słownik
danych definiuje elementy danych, które nie pojawiają się w żadnym innym modelu, to
również coś jest zle. Jeśli DFD zawiera magazyny danych nie zdefiniowane na ERD, znowu
mamy sprzeczność. Podobnie jest, jeśli ERD zawiera obiekty, które nie występują w słowniku
danych ł nie są pokazane na DFD.
System ten będzie systemem interakcyjnym. W związku z tym, dodatkowym zadaniem
analityka jest dokładne wymodelowanie wszystkich możliwych komunikatów, których może
udzielić system, a także przewidzenie wszystkich możliwych reakcji użytkownika na  pytania
komputera".
37
1. Faza rozpoznania
Fazę analizy poprzedza faza rozpoznania. W ramach tej fazy mamy pierwszą styczność z
działalnością firmy, dla której budujemy projekt. Dowiadujemy się na czym polega ta działalność i jak
orientacyjnie wygląda praca w takiej firmie.
Poza sprawą tematyki i ogólnych potrzeb nowego systemu, robimy rozpoznanie co do obecnej
sytuacji. Mianowicie oceniamy poziom komputeryzacji w firmie. Badamy czy istnieje już jakiś
system, i wówczas będziemy tworzyć nowy - ulepszony, czy też będziemy tworzyć zupełnie nowy
system dla danej firmy.
Ogólny opis działalności firmy
System ma wspomagać obsługę firmy kosmetycznej, która rozprowadza swoje produkty za
pośrednictwem sieci dystrybutorów.
Zadaniem dystrybutorów jest znalezienie klientów, którzy będą zainteresowani kupnem
kosmetyków. Jeżeli z jakiegoś powodu produkt nie przypadnie do gustu klientowi, to może go
zwrócić dystrybutorowi w ciągu dziesięciu dni, natomiast dystrybutor może ten produkt zwrócić bez
podania przyczyny w ciągu trzydziestu dni. Jednak jest ograniczenie co do ilości zwracanych
produktów w ramach jednego zamówienia. Oprócz wspomnianych wyżej zwrotów można
normalnie składać reklamacje na produkty w terminie do trzech miesięcy; nie wchodzą one
oczywiście w skład liczby produktów dozwolonych do zwykłych zwrotów.
Dystrybutor składa w firmie zamówienie na produkty, które wybrali jego klienci. Za
każdy otrzymuje określoną ilość punktów. Dostaje on kosmetyki na kredyt, a należność za nie musi
uregulować w ciągu trzydziestu dni. Następne zamówienie może być złożone dopiero po
zapłaceniu ostatniego zamówienia. Przy dużych zamówieniach dystrybutor otrzymuje procentowe
rabaty, w zależności od ilości sprzedanego towaru.
Dystrybutor może prowadzić także inny rodzaj działalności w firmie: mianowicie
rozbudowywać sieć dystrybutorów firmy poprzez werbowanie nowych członków (których to zostaje
sponsorem). W zależności od pewnych kryteriów dotyczących wielkości własnej sieci i ilości
sprzedanych produktów nadawany jest dystrybutorowi określony tytuł, oraz przyznawane są nagrody i
przywileje.
38
Co pewien czas firma ponawia swoją ofertę (jest to tzw. kampania); to znaczy wprowadza
nowe produkty, wycofuje mało atrakcyjne, zmienia ceny lub organizuje promocje.
2. Faza analizy
Jak już wspomnieliśmy faza analizy zakłada zbudowanie modelu zasadniczego, który składa się
z dwóch części: modelu środowiska i modelu zachowań.
Elementami składowymi modelu środowiska są: określenie celu, diagram kontekstowy i lista
zdarzeń. Model zachowania składa się natomiast z wstępnego modelowania zachowania według
podziału na procesy oraz z wygładzania modelu zachowania poprzez równoważenie DFD.
2.1. MODEL ŚRODOWISKOWY 2.1.1. Określenie celu
Celem systemu informatycznego jest obsługa sprzedaży produktów firmy kosmetycznej
dystrybutorom.
Obejmuje to:
gromadzenie i przechowywanie informacji o dystrybutorach; wprowadzanie
zamówień;
- wystawianie faktur;
przyjmowanie zwrotów i reklamacji;
- pobieranie opłat członkowskich;
deaktualłzację dystrybutorów;
drukowanie różnego rodzaju zestawień dotyczących działalności firmy.
39
2.1.2. Diagram kontekstowy
DISTRYBUTORZY
KSIGOWOŚĆ
dane
dystrybutor
ów,
zamówienia,
SYSTEM
informac
WSPOMAGA
je o
NIA ł i
Informac
Ż
je o
d kt
zestawien
ia,
raport
zestawie
nowe
nia,
ceny,
raporty o
produkty
d
,
f
MARKETING
System komunikuje się z sześcioma obiektami zewnętrznymi. Jak widać na
diagramie są to dystrybutorzy, system księgowości, kasa, magazyny, a także
zarząd i dział marketingu.
Dystrybutorzy składają w firmie zamówienia, odbierają produkty, płacą za
nie, zwracają produkty, składają reklamacje. Księgowość kontaktuje się ze
światem zewnętrznym, jeśli chodzi o wszystkie sprawy finansowe firmy, dlatego
też przesyłane są do niej wszystkie rodzaje faktur. Aby dystrybutorzy mogli
składać kolejne zamówienie, musi być uiszczona opłata za poprzednie.
Płatność jest dokonywana w kasie, a zamówienia są przyjmowane w zupełnie
innym miejscu, dlatego konieczne jest przekazanie jak najszybciej tej
informacji, żeby dystrybutor zaraz po zapłaceniu mógł złożyć kolejne
zamówienie.
40
Magazyny dostarczają informacji o produktach, które są w danej chwili dostępne (na
stanie). Natomiast zarząd i dział marketingu potrzebują do podejmowania różnych decyzji
wielu różnych zestawień na temat sprzedaży. Zarząd podejmuje też decyzje o
wprowadzaniu i wycofywaniu poszczególnych produktów oraz ustala ceny.
2.1.3. Lista zdarzeń
Lista zdarzeń obejmuje 21 zdarzeń. Większość z nich to zdarzenia sterowane
przepływem, ale są tez zdarzenia temporalne. Litera T po opisie zdarzenia oznacza
zdarzenie temporalne.
1. Zgłasza się nowy dystrybutor.
2. Dystrybutor składa zamówienie.
3. Dystrybutor dokonuje zwrotu produktów.
4. Dystrybutor składa reklamacje na produkty.
5. Dystrybutor informuje o zmianie danych (adresu, nazwiska, telefonu).
6. Rozliczenia dokonywane w kasie firmowej.
7. Księgowość potrzebuje zestawienia wszystkich dystrybutorów, którzy maja
nieuregulowane płatności w obowiązującym terminie. (T)
8. Wysłanie zamówienia do realizacji.
9. Wystawienie faktury zamówienia.
10. Zarząd wprowadza nowe ceny dla produktów.
11. Zarząd wprowadza nowe produkty.
12. Zarząd wycofuje produkty.
13. Zarząd ustala nowe limity dla dystrybutorów.
14. Zarząd i marketing potrzebuj ą zestawienia. (T)
15. Dezaktualizacja dystrybutorów. (T)
16. Zerowanie ilości punktów za sieć na koniec miesiąca. (T)
17. Nadanie dystrybutorom tytułów. (T)
18. Marketing prosi o nalepki adresowe z bazy danych o klientach.
41
2.2. MODEL ZACHOWANIA
2.2.1. Podział według procesów
Zdarzenie l : Zgłasza się nowy dystrybutor
DYSTYBUT dane
OR dystrybutora,
rachunek
umowa
PRZYJMIJ
NOWEGO
DYSTRYBUTORA
Do firmy przychodzi osoba z wyrażeniem chęci stania się dystrybutorem. Wypełnia ona
formularz danych osobowych. Po zgodzie pracownika firmy na przyjęcie danej osoby płaci
ona opłatę rejestracyjną w kasie, a następnie podpisuje umowę. Po ustaleniu tych
formalności wprowadzane są dane nowego dystrybutora.
Oczywiście przyszły dystrybutor dostaje w kasie rachunek za uiszczoną opłatę, ale oba te
obiekty są zewnętrzne w stosunku do modelowanego systemu, dlatego nie jest to pokazana
na diagramie.
42
Zdarzenie 2 : Dystrybutor składa zamówienie
informacj
a o
zamówienie
2.
PRZYJMI
J
Ó
POZYCJE
ZAMÓWIE
Dystrybutor składa formularz zamówienia z pozycjami produktów w ilości jaką
chciałby zamówić i innymi potrzebnymi informacjami. Przed przyjęciem zamówienia
sprawdzana jest odpłatność za poprzednie zamówienie. Jeśli dystrybutor dokonał wpłaty w
kasie, to wiadomość ta znajduje się już w systemie, jeśli natomiast przynosi dowód wpłaty,
której dokonał na przykład w urzędzie pocztowym, to należy wprowadzić informacje o
zapłaceniu zamówienia. Następnie wprowadzane są informacje dotyczące przyjmowanego
zamówienia.
43
Zdarzenie 3 : Dystrybutor dokonuje zwrotu produktów
FAKTURY
DOSTARCZON
E
POZYCJE
ZAMÓWIENI
ilość
A
dostarczone
go
produktu
nazwa
produktu
PRODUKT
ilość już
zwrócony
Y
ch
REKLAMAC
JE
FAKTU
RY
Żeby zwrot został przyjęty, musi być na to zgoda pracownika przyjmującego
zwracany(e) produkt(y) - sprawdza je on pod względem jakości i ilości zużytego produktu.
Jeśli pracownik wyrazi zgodę, musi on sprawdzić fakturę, z którą przyszedł dystrybutor (czy
zgadza się numer). Następnie należy sprawdzić czy nie został już przekroczony limit zwrotów i
czy produkt ten nie był już wcześniej zwracany z tego zamówienia, czy były jakieś reklamacje.
Jeśli wszystko się zgadza wprowadzany jest zwrot i wystawiana jest faktura dla tego zwrotu
(dla niej to pobierane są dane o dystrybutorze i nazwa produktu).
44
Zdarzenie 4 : Dystrybutor składa reklamacje na produkty
DYSTRYBUTOR
DOSTARCZO
nume
r
NE
faktura
POZYCJE
zamówie
ilość
faktu
dostarczone
ra
go
nazwa
4.
PRODUKTY
produk
PRZYJMI
J
ilość już
zwrócony
DYSTRYBUTORZY
ilość już
REKLAMACJE
zwrócony
FAKTU
RY
Pracownik podejmuje decyzję czy przyjąć reklamację na dany produkt.
Jeśli pracownik wyrazi zgodę, musi on sprawdzić fakturę, z którą przyszedł
dystrybutor (czy zgadza się numer). Następnie należy sprawdzić czy cała ilość
danego produktu nie została już zwrócona poprzez zwroty dopuszczalne lub
reklamacje. Jeśli wszystko się zgadza reklamacja jest wprowadzana i wystawiana
jest faktura taka sama jak dla zwykłych zwrotów.
45
Zdarzenie 5 : Dystrybutor informuje o zmianie danych (adresu,
nazwiska, telefonu)
DYSTRYBUTOR
AKTUALIZ
UJ
DANE
DYSTRYBUTO
RZY
\
ID dystrybutora +
nazwisko / adres /
telefon
Informacje o dystrybutorach są bardzo istotne, gdyż umożliwiają różnego rodzaju
kontakt z nim. Takie dane istotne są dla marketingu, który pobiera je z budowanego
systemu, na przykład w celu wysłania nowych katalogów, bezpłatnych magazynów na temat
działalności firmy, zaproszeń na spotkania, szkolenia itp.
46
Zdarzenie 6 : Rozliczenia dokonywane w kasie firmowej
Dystrybutor może dokonać płatności w kasie lub za pośrednictwem innych
instytucji, takich jak bank czy urząd pocztowy. Jeśli płatności dokonuje on w kasie, to
fakt ten dostarcza do systemu informacji dotyczących faktury takich jak data i rodzaj
płatności, w przeciwnym razie zostają one wprowadzone przy okazji przyjęcia
zamówienia.
Drugi aspekt rozliczeń dotyczy zwrotu należności za produkty, które zostały
zwrócone lub na które zostały złożone reklamacje. Można tego dokonać dopiero przy
pierwszej okazji płacenia za kolejne zamówienie.
47
Zdarzenie 7 : Księgowość potrzebuje zestawienia wszystkich
dystrybutorów, którzy maja nieuregulowane płatności w
obowiązującym terminie.
Faktury przechowują dane dotyczące ich wystawiania, ale także i płatności za
nie. Zarząd potrzebuje wykaz dystrybutorów, którzy maja nieuregulowane płatności, żeby
móc ewentualnie je egzekwować.
48
Zdarzenie 8 : Wysłanie zamówienia do realizacji
Zamówienie jest przygotowywane w magazynie, dlatego też musi on otrzymać
informacje o zamawianych przez dystrybutora produktach. W magazynie dopiero okazuje się
jakie produkty są w danej chwili na składzie i w jakich ilościach mogą być dostarczone dla
danego dystrybutora. Poza tym potrzebne są dane dystrybutora do wydrukowania nalepki
na przygotowana paczkę.
Dodatkową czynnością tego procesu jest wyszukanie pozycji ostatniego zamówienia i
sprawdzenia czy zostały dostarczone pozycje, które proszono ponowić przy następnym
zamówieniu (w razie chwilowych braków).; jeśli nie, to należy dołączyć je do tego
zamówienia.
Sprawdzamy czy przygotowywane produkty mieszczą się w limicie kredytowym.
49
Zdarzenie 9 : Wystawienie faktury zamówienia
Wystawienie faktury jest najbardziej skomplikowanym procesem w całym systemie.
Podczas równoważenia DFD na pewno można będzie ten proces rozłożyć na kilka poziomów w
dół.
Wystawiając fakturę należy wziąć pod uwagę oczywiście cenę i ilość produktów.
Należy również policzyć punkty za obecne zamówienie i dodać do nich punkty, które zarobiła
cała sieć danego dystrybutora. Na podstawie tych punktów można odnalezć wielkość rabatu,
który również trzeba uwzględnić.
Na koniec należy odnalezć sponsora, któremu należy dodać punkty za
zamówienie, na które to jest wystawiana faktura oraz każdego sponsora nad nim.
50
Zdarzenie 10 : Zarząd wprowadza nowe ceny dla produktów
Co jakiś czas zarząd wprowadza nowe ceny produktów. Czasami są to tylko chwilowe
promocje. Ważne jest, żeby system przechowywał te ceny, na przykład dla odliczenia zwrotów
lub reklamacji.
Zdarzenie 11 : Zarząd wprowadza nowe produkty.
Oprócz nazw i cen, może zaistnieć potrzeba wprowadzenia produktów do serii.
51
Zdarzenie 12 : Zarząd wycofuje produkty
Produkt może zostać wycofany z oferty nagle z powodu odgórnego zarządzenia, ale
zwykle informacja taka przychodzi z magazynu, w którym skończyły się pewne produkty, a
kontynuacja ich produkcji jest wstrzymana.
Produkty nie są usuwane z systemu. System przechowuje informacje o wszystkich produktach,
które kiedykolwiek były w sprzedaż. Czyni je po prostu nieaktualnymi.
Zdarzenie 13 : Zarząd ustala nowe limity dla klientów
Każdy dystrybutor ma przyznany tytuł. Z tytułem związany jest przyznawany limit
kredytowy dzięki, któremu dystrybutor może otrzymać produkty na wydłużony termin
płatności.
52
Zdarzenie 14 : Zarząd i marketing potrzebują zestawienia
Zarząd prosi o zestawienia statystyczne dotyczące sprzedaży, na podstawie których może
kontrolować kondycję firmy. Marketing potrzebuje takich zestawień do śledzenia zapotrzebowania
rynku. Dzięki zestawieniom tym  wyłapuje się" produkty, które często są zwracane lub te, na które
składanych jest wiele reklamacji.
53
Zdarzenie 15 : Dezaktualizacja dystrybutora (po roku)
Dezaktualizacja może być wykonana z dwóch powodów. Pierwsza sytuacja, to taka,
gdy dystrybutor nie złożył, żadnego zamówienia przez ostatni okrągły rok. Druga natomiast,
to rezygnacja dystrybutora.
Zdarzenie 16 : Zerowanie ilości punktów za siec na koniec miesiąca
Punkty premiowe za sieć przyznawane są tylko wtedy, gdy w ciągu miesiąca została
zebrana odpowiednia ich ilość. Wobec tego pod koniec miesiąca zostaje ona resetowana.
54
Zdarzenie 17 : Nadanie dystrybutorom tytułów
Dystrybutor dzięki tytułom posiada pewne przywileje, większe limity
kredytowe itp. Jednak, żeby dostać oraz utrzymać nadany tytuł należy spełniać pewne
wymogi związane z ilością, zamawianych produktów oraz wielkością rozbudowanej sieci.
Zdarzenie 18 : Marketing prosi o nalepki adresowe dla dystrybutorów
Marketing potrzebuje nalepki adresowe do wysyłania różnego rodzaju
informacji o szkoleniach, ofertach, promocjach i nagrodach. Rozsyła je do różnych grup
dystrybutorów.
55
2.2.2. Równoważenie DFD
Diagramy procesów przedstawione w poprzednim punkcie przedstawiają
pojedynczy poziom DFD. Niestety przedstawienie ich na pojedynczym diagramie
stwarza zbyt skomplikowany obraz. Dlatego też należy utworzyć przynajmniej jeden
wyższy poziom. Najpierw należy pogrupować procesy według pewnego kryterium.
Tym sposobem otrzymaliśmy sześć procesów, które pojawia się na diagramie poziomu zerowego.
Diagram O przedstawiony jest na następnej stronie. Ze względu na jego złożoność nie
występują na nim wejścia i wyjścia procesów. Niektóre magazyny zostały powtórzone dla
przejrzystości. Są one oznaczone ukośna kreską.
Procesy zawarte w diagramie poziomu zerowego to:
1. Obsłuż dystrybutora - proces ten obejmuje wszystkie procesy, które komunikują się
z Dystrybutorami. Są to procesy pobierające wszelkie informacje wejściowe dotyczące
dystrybutorów, przejmujące od nich produkty, które zwraca lub na które dokonuje on
reklamacji, jak również przyjmuje on rezygnację dystrybutora z dalszej działalności w
firmie.
2. Realizuj zamówienie - proces ten obejmuje działanie dotyczące przygotowanie
zamówienia, łącznie z pozycjami, które należy ponowić z ostatniego zamówienia,
wysłanie takiego zamówienia do magazynu i odebranie gotowych produktów.
3. Wystaw fakturę - ten proces obejmuje wszystkie czynności związane z zestawieniem
produktów gotowych do odebrania, wyliczenia rabatów za całą dla której dany
dystrybutor jest sponsorem, sprawdzenia czy produkty te nie wychodzą poza przyznany
limit kredytowy, odliczenia wartości zwróconych produktów i ostatecznie wystawienie
całkowitej faktury.
4.Wykonaj operacje miesięczne - co miesiąc dokonuje się pewnych aktualizacji, które
obejmują, dezaktualizację dystrybutorów, resetowanie punktów za sieć, nadawanie
nowych tytułów, a także wykonuje się zestawienie dystrybutorów, którzy mają
niezapłacone faktury w podanym terminie.
S.Współpracuj z kierownictwem -jak wynika z nazwy procesu, aktualizuje on system
zgodnie z ustalonymi przez kierownictwo zarządzeniami, jak również przygotowuje dla
niego i dla marketingu zestawienia ułatwiającego kontrolę nad sytuacją w firmie i nie
tylko.
6. Wprowadz płatność - proces ten jest procesem elementarnym. Przekazuje on do
systemu informację o zapłaceniu faktury w firmowej kasie.
57
Zrównoważony diagram O
58
59
Diagram LI. (Proces L L Przyjmij nowego dystrybutora)
Diagram 1.3. (Proces 1.3. Przyjmij zamówienie)
60
Diagram 1.4. (Proces 1.4. Przyjmy zwrot)
Diagram 1.5. (Proces 1.5. Przyjmij reklamację)
Diagram 2. (Proces 2. Realizuj zamówienie)
Diagram 2.1. (Proces 2.1. Przygotuj zamówienie)
62
Diagram 3. (Proces 3. Wystaw fakturę)
Diagram 4. (Proces 4. Wykonaj operacje miesięczne)
63
Diagram 5. (Proces 5. Współpracuj z kierownictwem)
Diagram 6. (Proces 6. Wprowadz płatność)
64
2.3. SAOWNIK DANYCH
65
66
67
68
69
70
2.4. SPECYFIKACJE PROCESÓW
Proces 1.4.3.
BEGIN
WCZYTAJ id_produktu (id_p), który dystrybutor chce
zwrócić WCZYTAJ numer Jaktury (id_f), której dotyczy
zwrot produktu WYSZUKAJ id_zamówenia (id_z), dla tej
faktury
JX)WHILE
WYSZUKAJ takąpoz_zamówienia, dla tego zamówienia, dla której
id_prodnktu=id_p
IF znaleziono THEN
ZNAJDy dla tej pozycji dostjozycją ODCZYTAJ ilość_dost (A)
ENDIF ENDDO WYSZUKAJ id_zamówienia (id_z2)
poprzedzającego zamówienie id_z
DOWfflLE
WYSZUKAJ \akapoz_zamo-wiema, dla zamówienia id_z2, dla której
(id_produktu=id_p AND dla której wartość czy_ponowić = 'TAK'
AND (dla której istnieje dost_pozycja,, dla której
numer_faktury=id_f)) IF znaleziono THEN ODCZYTAJ ilość_dost
(B) END IF
ENDDO
DODAJ A+ B (D)
Z = 0
DOWHAE
WYSZUKAJ numer faktury_zwrotu, dla której
(numerJ~aktury=iA_f AND id_prodiiktu=id_p)
IF znaleziono THEN ODCZYTAJ ilość_zwrac (X) END IF
IF jest to zwrot THEN Z = Z + X
ELSER =
R+XENDIF ENDDO
OBLICZ wszystkie zwrócone produkty na fakturę id_f (WZ) MAX= maksymalna
ilość produktów, które można zwrócić IF (WZ = MAX) THEN WYŚWIETL
 Oddano maks. ilość zwrotów na fakturę" ELSE IF (R + D = D) THEN
WYŚWIETL  Zwrócono wszystkie produkty o tym numerze na to zamówienie"
ELSE IF (R + Z < D) THEN
S = minimum {MAX-WZ, D-(R+Z)}
WYŚWIETL  Można zwrócić (S) produktów o podanym numerze"
ENDIF END
71
Proces 1.5.3.
BEGIN
WCZYTAJ idjroduktu (idjp), który dystrybutor chce zwrócić
WCZYTAJ numer Jaktury (id_f), której dotyczy składana
reklamacja WYSZUKAJ id_zamówienia (id_z), dla tej faktury
DOWHTLE
WYSZUKAJ takąpozjzamówienia, dla tego zamówienia, dla której
id_produktu=i&_$
JJF znaleziono THEN
ZNAJDy dla tej pozycji dost_pozycję ODCZYTAJ ilość_dost (A)
ENDIF ENDDO WYSZUKAJ id_zamó\vienia (id_z2)
poprzedzającego zamówienie id_z
DOWHILE
WYSZUKAJ takąpozjzamówienia, dla zamówienia id_z2, dla której
(id_produktu=id_p AND dla której wartość czy_pono-wić = 'TAK'
AND (dla której istnieje dost_pozycja,, dla której
numer_faktury=id_f)) IF znaleziono THEN ODCZYTAJ ilość_dost
(B) END IF
ENDDO
DODAJ A + B (D)
ZR = 0
DOWHILE
WYSZUKAJ numer Jaktury_zwrotu, dla której
(numerJaktury = id_f AND idjroduktu = id_p) IF
znaleziono THEN ODCZYTAJ ilość_zwrac (X) ZR = ZR + X
ENDIF ENDDO
ELSE IF (ZR = D) THEN WYŚWIETL  Zwrócono wszystkie produkty o tym
numerze na tę fakturę"
ELSEIF(ZRN S = D-ZR
WYŚWIETL  Można przyjąć reklamację w ilości (S) produktów o podanym numerze"
ENDIF END
72
2.5. DIAGRAM ZWIZKÓW ENCJI
73
Objaśnienia do poszczególnych związków
Większość osób staje się dystrybutorami poprzez wprowadzenie do firmy
poprzez innego dystrybutora. Taki dystrybutor staje się sponsorem osoby, którą
wprowadził. Nie wszystkie jednak osoby muszą mieć swojego sponsora, ponieważ są i takie,
które zgłosiły się same do firmy.
Dystrybutorom są nadawane tytuły, które są związane z różnymi przywilejami,
większymi limitami kredytowymi. Dlatego też dystrybutor już w chwili rejestracji
otrzymuje najniższy rangą tytuł. Mogą istnieć tytuły, których jeszcze nikomu nie
przydzielono, na przykład nikt nie doszedł do najwyższego szczebla. Tytuły dla
dystrybutorów mogą się zmieniać na koniec każdego miesiąca, kiedy to sprawdzana jest
działalność każdego z nich i przydzielane są mu coraz wyższe tytuły lub jest on
degradowany do niższego stopnia. Dlatego też pojedynczy dystrybutor może posiadać wiele
tytułów, a aktualny odszukiwany jest po dacie nadania. Encja TyiufJDysfr jtsi
nadaniem tytułu dystrybutorowi.
74
Dystrybutor po rejestracji nie ma jeszcze na koncie żadnego zamówienia, ale
w trakcie działalności może ich uzbierać się bardzo dużo. Za to zamówienie jest ściśle
związane z dystrybutorem. Może ono być wystawione tylko dla jednego dystrybutora.
Zamówienie składa się z pozycji zamówień, żeby w ogóle było zamówienie musi
być przynajmniej jedna taka pozycja. Dana pozycja może się odnosić tylko do konkretnego
zamówienia.
Pozycja zamówienia zawiera tylko jeden produkt, ale z kolei nie wszystkie
produkty są zamawiane; na przykład produktu, który dopiero został wprowadzony, nikt
jeszcze nie zamówił.
75
Każdy produkt ma określoną cenę. Cena produktu zmienia się dlatego aktualną
cenę można rozpoznać i wyszukać po najpózniej szej dacie. Cena dotyczy tylko jednego
produktu.
Niektóre produkty wchodzą w skład serii. Żeby taka seria powstała musi być
przynajmniej jeden produkt. Dany produkt zaś może należeć tylko do jednej serii.
76
Pozycje zamówienia są podstawą do przygotowania zamówienia. Jeśli dany
produkt jest w danej chwili na składzie, to wejdzie on w skład dostarczanych
produktów. Może jednak zmienić się jego ilość. Jeśli nie ma produktu na składzie,
pozycja ta jest pozycją nie dostarczoną.
Zwrot jest związany z konkretną dostawą. Żeby oddać jakiś produkt, musimy
dokładnie wskazać, skąd on pochodzi (z jakiej dostawy), żeby zidentyfikować, że na
pewno został dostarczony, a nie tylko zamówiony. Na daną dostawę może nie być
żadnych zwrotów, a może też się zdarzyć, że dokonano ich kilka.
Mamy tu do czynienia ze związkiem typu 'is-a'. Reklamacja ma wszystkie pola
identyczne jak zamówienie, ale oprócz tego ma jedno dodatkowe pole, w którym można
przechowywać uwagi na temat reklamacji.
77
Faktura zwrotu jest tworzona, gdy zwracane są jakieś produkty. Na jednej
fakturze możemy umieścić kilka różnych zwrotów, ale oczywiście jeden zwrot może się
znalezć tylko na jednej fakturze zwrotu.
Faktura dotyczy tylko jednej dostawy.
Przy wystawianiu faktury zawsze bierze się pod uwagę przysługujący rabat, jeden
dla każdej faktury. Natomiast niektóre rabaty mogą nie być jeszcze w ogóle uwzględniane.
78


Wyszukiwarka