APIO. W7 SPECYFIKACJA (UŻYCIA) DOSTĘPU DO DANYCH I SPOSOBU ICH PRZETWARZANIA 1. METODA CRUD 2. LOGIKA FUNKCJI dr inż. Grażyna Hołodnik-Janczura W8/K4
CO SIĘ MOŻE DZIAĆ PODCZAS WYKONYWANIA BIZNESOWEJ FUNKCJI ELEMENTARNEJ? Informacje o rzeczach istotnych dla organizacji mogą być wyszukiwane tworzone nowe albo usuwane istniejące zmieniane Zarówno na poziomie obiektów, ich atrybutów oraz relacji między obiektami. Inne funkcje mogą być wywoływane Mogą też być wykonywane działania fizyczne lub mechaniczne GHJ-PWR Wszelkie prawa zastrzeżone 2
RODZAJE (UŻYCIA) DOSTĘPU DO DANYCH Niezależnie od podejścia do tworzenia oprogramowania, podczas analizy wymagań, należy opisać rodzaj dostępu do danych i sposób ich przetwarzania Rodzaje dostępu do danych: tworzenie, czytanie, aktualizacja, usuwanie Dwa główne podejścia: tworzenie oddzielnych funkcji lub przypadków użycia dla każdego rodzaju dostępu tworzenie funkcji lub przypadków użycia obejmujących wszystkie rodzaje dostępu UWAGA: różni aktorzy mogą posiadać różne rodzaje dostępu do danych i niekoniecznie wszystkie GHJ-PWR Wszelkie prawa zastrzeżone 3
RODZAJE DOSTĘPU DO DANYCH - TRYBY UŻYCIA OBIEKTÓW PRZEZ FUNKCJE CRUD(A) C (create) - tworzenie R (retrieve) - czytanie U (update) aktualizacja D (delete) - usuwanie A (archieve) - archiwowanie GHJ-PWR Wszelkie prawa zastrzeżone 4
TRYBY UŻYCIA ATRYBUTÓW PRZEZ FUNKCJE INU(A) I (insert) - wstawianie N (nullify) - usuwanie U (update) - aktualizacja A (archieve) - archiwowanie GHJ-PWR Wszelkie prawa zastrzeżone 5
MACIERZ POWIĄZAŃ Przedstawia istnienie zależności występujących w organizacji między - procesami gospodarczymi, - funkcjami, - grupami danych, - jednostkami struktury organizacyjnej, - zastosowaniami. Przedstawia charakter występujących zależności. Pełni funkcję kontroli jakości w zakresie kompletności i spójności modelu funkcji i modelu informacji. GHJ-PWR Wszelkie prawa zastrzeżone 6
TABELA JAKO MACIERZ POWIĄZAŃ 1 2 3 4 5 6 Tabela jest prostym, ale silnym narzędziem Składa się z opisanych wierszy i kolumn Przecięcie wiersza z kolumną wyznacza komórkę Komórka jest jednoznacznie związana z jedną i tylko jedną parą wiersz kolumna, np. C2 A B C D E Kropka (dowolny symbol) wskazuje istniejącą relację między C i 2, komórka pusta oznacza jej brak GHJ-PWR Wszelkie prawa zastrzeżone 7
Przykład fragmentu DOZ rys. 1 umiejscowiony w PRACOWNIK # symbol * nazwisko * imię * data ur ETATOWY * stanowisko AKORDOWY * rodzaj * norma godzin dla ujęty w PRZYDZIAŁ # data * wynagrodzenie o wskaźnik wydajności dotyczy # numer * nazwa * poziom wynagrodzenia opisane przez w ZADANIE miejscem LOKALIZACJA # nazwa * adres GHJ-PWR Wszelkie prawa zastrzeżone OPIS # numer linii * tekst wyjaśnienie do 8
LISTA FUNKCJI ELEMENTARNYCH DO PRZYKŁADU A (RYS. 1) Z111. Przyjmij nowego pracownika Z113. Zmień stanowisko pracownika Z115. Zwolnij pracownika Z211. Wprowadź nowe zadanie Z213. Przydziel pracownika do zadania Z311. Oceń pracownika za pomocą wskaźnika wydajności Z411. Sporządź raport o lokalizacji pracowników Z421. Ustal, jakie zadanie przydzielono pracownikowi w dniu GHJ-PWR Wszelkie prawa zastrzeżone 9
TABELA POWIĄZAŃ FUNKCJA/OBIEKT DO PRZYKŁADU A PRACOWNIK ZADANIE OPIS PRZYDZIAŁ LOKALIZACJA Z111 C R Z113 U Z115 D/A R R D Z211 C C Z213 R R R C Z311 R R R U Z411 R R Z421 R R R R GHJ-PWR Wszelkie prawa zastrzeżone 10
LOGIKA FUNKCJI OPIS SPOSOBU PRZETWARZANIA INFORMACJI Celem jest - zrozumienie przez projektanta rezultatu działania funkcji i zaprojektowania sposobu jej realizacji Celem nie jest - uzyskanie opisu dla prostego przekształcenia w procedurę programową Polega na precyzyjnym i niedwuznacznym definiowaniu szczegółów funkcji Jest stosowana w przypadku funkcji złożonych lub wymagających arbitralnego algorytmu Techniki opisu techniki ukierunkowane na język użytkownika schematy blokowe pseudokody GHJ-PWR Wszelkie prawa zastrzeżone 11
STRUKTURA LOGIKI FUNKCJI Prezentuje trzy aspekty użycia danych nawigację - kierunek poszukiwań: sekwencja potrzebnych encji i atrybutów tworzenie nowych wartości - algorytm, formuła obliczeniowa zakres - jakiej części zbioru danych dotyczy przetwarzanie: spełnienie sformułowanego warunku GHJ-PWR Wszelkie prawa zastrzeżone 12
METODY FORMUŁOWANIA LOGIKI W JĘZYKU UKIERUNKOWANYM NA UŻYTKOWNIKA [CASE* METHOD] A. Uproszczona logika funkcji I. Opis lingwistyczny uproszczony poprzez zastosowanie tzw. perspektywy organizacji II. Opis lingwistyczny uproszczony poprzez uzupełnienie modelu struktury informacyjnej (DOZ) B. Szczegółowa logika funkcji III. Konstrukcja zdania wyrażającego trzy aspekty 1. kierunek poszukiwań 2. algorytm 3. zakres GHJ-PWR Wszelkie prawa zastrzeżone 13
AI. PERSPEKTYWA ORGANIZACJI Perspektywa organizacji: tworzona na podstawie używanej przez użytkownika terminologii z zastosowaniem modelu encji Przykład dla funkcji: Utwórz lot rejsowy Opis funkcji Na żądanie utwórz nowy LOT REJSOWY, przy użyciu danych: planowany czas lotu, numer lotu, linia przewozowa, miejsce startu i lądowania, gdzie miejsce lądowania jest różne od miejsca startu Perspektywa LOT REJSOWY bazuje na obiektach: LOT, TRASA, LINIA LOTNICZA, LOTNISKO (rys. 2) Użyto nazw atrybutów encji niektóre są inne niż na modelu, ale stosowane przez użytkownika Pominięto odwołania atrybutów do nazw encji Łatwość rozszerzenie opisu o wskazanie wymagalności i poprawnych wartości atrybutów, a także ograniczeń integralności Określono ograniczenie dotyczące miejsca lądowania i startu GHJ-PWR Wszelkie prawa zastrzeżone 14
Fragment modelu DOZ Rezerwacja i loty rys. 2 LOT # data odlotu # czas odlotu Lot rejsowy Planowany czas lotu Nr lotu Linia przewozowa Miejsce startu Miejsce lądowania na planowana jako TRASA # numer * planowany czas lotu POZYCJA ZAM obsługiwana przez LINIA LOTNICZA # kod * nazwa Perspektywa LOTNISKO # kod * nazwa GHJ-PWR Wszelkie prawa zastrzeżone 15 z źródłem do przewoźnikiem na przeznaczeniem
AII. UZUPEŁNIENIE DOZ Opis funkcji jako uzupełnienie nazwy funkcji w języku naturalnym Wprowadzenie nieformalnych uzupełnień na odpowiednim fragmencie DOZ (rys. 3) oznaczenie używanych obiektów i związków (inny kolor linii), określenie sposobu ich użycia (komentarz), określenie warunku (komentarz) podanie wyniku funkcji, np. wynik obliczeń (nieformalne wyróżnienie używanych atrybutów, związków) dodatkowe informacje (komentarz) GHJ-PWR Wszelkie prawa zastrzeżone 16
Fragment modelu DOZ Rezerwacja i loty do metody z uzupełnieniem DOZ rys. 3 Tworzenie Odwołanie do Odwołanie do LOT # data odlotu #czas odlotu TRASA # numer * planowany czas lotu POZYCJA ZAM LOTNISKO # kod * nazwa Średnio 20 nowych/dzień Żródło przeznaczenie Odwołanie do LINIA LOTNICZA # kod np. LOT * nazwa GHJ-PWR Wszelkie prawa zastrzeżone 17
BIII. SZCZEGÓŁOWA LOGIKA FUNKCJI Kierunek wyszukiwania: Wyszukaj <lista atrybutów> z <nazwa obiektu> Algorytm działania: opis obliczania nowych wartości za pomocą standardowej terminologii matematycznej z nazwami atrybutów i obiektów jako zmiennymi Zakres: konstrukcja zdania kwalifikującego wybór wystąpień encji za pomocą warunku... gdy <warunek > GHJ-PWR Wszelkie prawa zastrzeżone 18
PRZYKŁAD FUNKCJI (RYS. 4) USTALENIE DOSTAW REALIZUJĄCYCH ZAMÓWIENIA WG HARMONOGRAMU OPIS NARRACYJNY Uporządkuj zamówienia w kolejności priorytetu (wynikającego ze statusu klienta, miejscowości, daty złożenia zamówienia i innych subiektywnych decyzji) idąc w dół listy POZYCJI ZAMÓWIEŃ utwórz dla każdej POZYCJI ZAMÓWIENIA realizującą POZYCJĘ DOSTAWY ustal ilość w dostawie (jeśli istnieje ilość w zapasie) równą liczbie mniejszej spośród ilości wymaganej i ilości w zapasie, aż ilość w zapasie będzie równa zero lub wszystkie POZYCJE ZAMÓWIENIA zostaną zrealizowane utwórz planowaną DOSTAWĘ, jako część HARMONOGRAMU, do której wchodzą te POZYCJE DOSTAWY, które są kierowane do MIEJSCOWOŚCI o tej samej nazwie GHJ-PWR Wszelkie prawa zastrzeżone 19
Opis tabelaryczny 1 F2231 Nazwa funkcji: Ustalenie dostaw realizujących zamówienia wg harmonogramu 2 Wywołana przez: zakończone przyjmowanie zamówień Rodzaj zdarzenia: T Współzależna z: funkcja Wydaj klientowi przygotowaną dostawę 3 Logika funkcji # krok Akcja Atrybut/Encja i inne uwagi 1 Sortuj POZYCJE ZAMÓWIEŃ wg priorytetu ZAMÓWIENIA Retrieve ZAMÓWIENIE Retrieve POZYCJA ZAMÓWIENIA 2 Idąc w dół listy POZYCJI ZAMÓWIEŃ, dla każdej z nich utwórz POZYCJE DOSTAW według: - jeżeli ilość w zapasie jest >= od ilości wymaganej, to ustal ilość w dostawie równą ilości wymaganej - jeżeli ilość w zapasie jest < od ilości wymaganej, to ustal ilość w dostawie równą pozostałej ilości w zapasie 3 Po ustaleniu ilości w dostawie zredukuj ilość w zapasie aż do ilości w zapasie równej zero lub wyczerpania wszystkich POZYCJI ZAMÓWIEŃ 4 Utwórz planowaną DOSTAWA, która jest częścią aktualnego HARMONOGRAM-u dla każdej z MIEJSCOWOŚĆ, aż do wyczerpania wszystkich POZYCJI DOSTAW Create POZYCJA DOSTAWY Retrieve POZYCJA ZAMÓWIENIA Retrieve PRODUKT Update PRODUKT Retrieve POZYCJA ZAMÓWIENIA Create DOSTAWA Retrieve POZYCJA ZAMÓWIENIA Retrieve MIEJSCOWOŚĆ Retrieve POZYCJA DOSTAWY Retrieve HARMONOGRAM GHJ-PWR Wszelkie prawa zastrzeżone 20
PRODUKT # symbol * nazwa * jednostka miary * ilość w zapasie dotycząca w POZYCJA ZAMÓWIENIA # numer * ilość wymagana realizowana przez # numer * ilość w dostawie częścią Rys. 4 realizująca POZYCJA DOSTAWY należąca do złożone z ZAMÓWIENIE # numer * data POZYCJA o priorytet ZAM od KLIENT # nazwa * status zamawiającym HARMONOGRAM # numer * wydział pozycją obejmujący DOSTAWA # numer * data składająca się z kierowana do miejscem umiejscowiony w MIEJSCOWOŚĆ # kod * nazwa siedzibą GHJ-PWR Wszelkie prawa zastrzeżone 21