Projektowanie Systemów Informatycznych
Mgr Inż. Irena Fila
UML - Unified Modeling Language
Obecne standardy modelowania obiektowego - UML 1.5 lub 2.0(nie wiadomo czy został już wprowadzony).
System Informacyjny <> System Informatyczny
Informatyka - to dziedzina wiedzy o ruchu i przetwarzaniu informacji.
Informacja - zinterpretowane dane, fakty.
System Informacyjny - usystematyzowana i uporządkowana sieć powiązań informacyjnych między takimi elementami jak człowiek, dane(zinterpretowane dane), metody(sposób łączenia) oraz urządzenia do zbierania, przesyłania oraz przetwarzania informacji mających na celu zaspokojenie potrzeb informacyjnych zainteresowanych ogniw.
Podstawowymi funkcjami Systemu Informacyjnego są:
gromadzenie informacji,
opracowywanie informacji,
przechowywanie informacji,
przetwarzanie i wyszukiwanie informacji,
udostępnianie informacji.
System informacyjny musi te funkcję spełniać aby być systemem informacyjnym !!!
W projektowaniu Systemów Informatycznych bardzo ważną rolę odgrywają założenia początkowe.
Podstawowa cecha systemu informacyjnego to hierarchiczna (modułowa ) budowa
Konstruując system informatyczny musimy pamiętać aby miał budowę hierarchiczną i modułową. Po co ??
aby był łatwiejszy w projektowaniu
kolejne moduły podsystemu powinny być luźno ze sobą powiązane - nie mogą być całkowicie zależne od siebie
Metoda - sposób wykonania czegoś, system procedur w celu wykonania czegoś, powtarzalność, uporządkowanie czynności
Metodyka - zespół metod którymi się posługujemy ( pojęcie szersze niż metoda ). Zbiór powiązanych ze sobą metod opartych na pewnych wspólnych podstawach. Metodykę postępowania dostosowujemy do zadania
Metodyka projektowa Systemu Informatycznego:
opisuje, uwzględnia wszystkie kolejne fazy od powstania Systemu Informatycznego aż do jego wycofania,
jest to zbiór powiązanych ze sobą metod opartych na wspólnych podstawach.
Metoda projektowa Systemu Informatycznego - uporządkowanie czynności - obejmuje fragment życia SI.
Metoda i metodyki dotyczą cyklu życia systemu informatycznego ( czyli to wszystko co dzieje się z systemem informatycznym od momentu jego powstania (pomysłu) aż do jego śmierci ( wycofania ) )
Technika projektowa Systemu Informatycznego - Specyficzne podejście do tworzonego produktu przy opracowywaniu SI.
Metodyki
Strukturalna
osobne modelowanie funkcji i zadań - elementy aktywne (to co system wykonuje )
osobne modelowanie struktur danych
potem łączenie tych dwój rzeczy
Obiektowa
tożsamość, stan i zachowanie ( to są trzy stany obiektu )
Szkolenie pracowników odbywa się podczas m.in. projektowania i testowania
Model logiczny - odpowiada na pytanie co system ma robić - bez odwoływania się do rozwiązań implementacyjnych
Model fizyczny - w jaki sposób ma zostać zrealizowany powyższy model
Model liniowy - cykl życia Systemu Informatycznego(powyższy rysunek).
CASE:
Computer Assistent - Aide Software - System Engineering
WYKŁAD II (23.02.05)
Testowanie
- weryfikacja systemu (czy system testowany spełnia wszystkie założenia systemu)
- walidacja (ocena systemu przez użytkownika końcowego)
Wady modelu liniowego:
- długa przerwa w kontaktach użytkownik - projektant wynikająca z tego że użytkownik ma
kontakt z projektantem w fazie określania wymagań a potem widzi już gotowy produkt
- zakłada się że wymagania które ustalamy w fazie określania wymagań są stałe, ustalone
i niezmienne
Zauważono ogromny wpływ na jakość zaprojektowanego systemu ustaleń początkowych (podczas określania wymagań)
1. Jakie są źródła błędów w poszczególnych fazach projektowania SI.
2. Model z prototypem - model cyklu życia SI
Zgodnie z definicją R. Barker'a - prototypowanie jest metodą szybkiej prezentacji pojęć, w celu uzyskania akceptacji użytkownika i sprawdzenie wykonywalności.
Model z prototypem jest polecany kiedy istnieją trudności ze sformułowaniem wymagań użytkownika do końcowego projektu.
Tworzenie prototypu ma na celu przede wszystkim doprecyzowanie tych założeń użyt. które są trudne do założenia.
Zalety modelu z prototypem |
Wady modelu z prototypem |
1. Minimalizacja ryzyka związanego z niemożnością określenia wymagań przez użytkownika
2. Szybka demonstracja użytkownikowi działającej wersji systemu (wersja beta)
3. Szybkie wykrycie nieporozumień pomiędzy użytkownikiem a projektantem, które mogłyby powstać w fazie określania wymagań.
4. Możliwość wykrycia brakujących funkcji systemu lub trudnych usług.
5. Redukcja czasu oczekiwania na kolejne etapy.
6. Stały kontakt pomiędzy użytkownikiem a projektantem. |
1. Dodatkowe koszty budowania prototypu.
2. Długie oczekiwanie na ostateczny etap. |
Istnieją dwa rodzaje narzędzi:
RAD - Rapid Application Development
CASE - Computer Assisted/Aided Software/System Engineering
2 ISTNIEJĄ DWA RODZAJE PROTOTYPOWANIA
1. SZYBKIE PROTOTYPOWANIE
2. PROTOTYPOWANIE STRUKTURALNE
Ad. 1)
Jest tu sprzężenie zwrotne - modyfikacja wymagań według wskazówek użytkownika
Ad. 2)
W prototypowaniu strukturalnym tworzony jest tylko i wyłącznie w celu bardziej precyzyjnego sformułowania wymagań przez użytkownika (stosować w przypadku złożonych systemów)
MODEL SPIRALNY
Kalkulacja kosztów
1987 Barry Boehm
Kolejna wersja systemu Informatycznego
Model spiralny opisuje cykl życia SI w kolejnych wersjach.
Według Andrzeja Kaczora
METODYKI PROJEKTOWANIA SYSTEMU INFORMATYCZNEGO
Techniczne podejście Podejście społeczne
Strukturalne podejście ( lata 60 ) obiektowe podejście (lata 80)
Obiekt - pojęcie wyjściowe. Ma
tożsamość, rozróżnialny byt, stan w danej
chwili i posiada zachowanie (w obiekcie
elementy aktywne elementy bierne jest aktywność
czyli procesy czyli dane
Osobno projektowane
elementy aktywne
i elementy bierne
a potem następuje
ich złożenie
Podejście strukturalne
Równoważenie
Powstaje spójna klasyczna analiza współczesna analiza
i niesprzeczna całość strukturalna strukturalna
(De Marco) (Edward Yourdon)
Według Przemysława Kubisy
1997 UML - Rambaugh, Booch, Jacobson
WYKŁAD III
Istotą projektu strukturalnego jest osobne modelowanie struktur danych, osobne modelowanie procesów oraz mechanizmy równoważenia ( a jak się to w szczegółach dzieje to zależy od narzędzia CASE'owego )
DeMarco - twórca klasycznej analizy strukturalnej
TOP - DOWN - „od ogółu do szczegółu” rozbijanie problemu na mniejsze
Problem ogólny, bardzo złożony musimy podzielić na problemy mniejsze, prostsze do rozwiązania(Diykstry).
Podział systemu informatycznego na podsystemy, na procesy potomne => dekompozycja systemowa.
7 kroków metodyki DeMarco:
zbudowanie modelu fizycznego istniejącego systemu informacyjnego(opis systemu informacyjnego)
Stworzenie modelu logicznego systemu informacyjnego
zbudowanie modelu logicznego docelowego systemu
zbudowanie modelu fizycznego docelowego systemu
szacowanie kosztów dla zaprezentowanych modeli z punktu 4
wybór odpowiednich właściwości modelu
specyfikacja systemu uwzględniająca podział całości na podsystemy
Wady:
powód - analiza sytuacji w celu stworzenia modelu ( niechęć do ujawniania niektórych mechanizmów firmy a analityk drąży jak najgłębiej aby ocenić sytuację jak najlepiej
sztywno narzucona technika TOP - DOWN, trudności podziału na mniejsze problemy tego jednego wielkiego problemu
E. Yourdan
Metodyka Yourdana - zwana współczesną analizą strukturalną
oderwanie się od systemu aktualnie działającego i tworzenie założeń dla nowego systemu ( patrzenie na system jak na system który ma powstać a nie na system który istnieje)
zdefiniowanie podstawowej listy funkcji ( nie wiążemy się z istniejącym systemem tylko definiujemy wymagania funkcjonalne nowo tworzonego systemu w przyszłości )
metoda TOP - DOWN
Funkcje można wyliczyć na podstawie zdarzeń zachodzących w systemie oraz na które system reaguje.
Metodyka Yourdana
Model środowiskowy stanowi idealny model wymagań systemu.
musi być krótki opis celu działania systemu,
lista zdarzeń, które pobudzają system do działania,
wyznaczona granica systemu (wewnątrz granicy jest system a na zewnątrz użytkownicy czyli obiekty zewnętrzne )
Diagram kontekstowy
Diagram przepływu danych na poziomie kontekstowym - jest to kolejny element modelu środowiskowego
Strzałki - przepływ danych ( strzałki muszą przecinać granice systemu )
Kółko w środku - proces o numerze 0, proces najbardziej złożony, reprezentuje cały system
(dla całego systemu informatycznego jest tylko jeden taki proces )
Wymagania funkcjonalne systemu przedstawiamy za pomocą diagramu przepływu danych i najbardziej ogólne wymagania funkcjonalne przedstawiamy na za pomocą diagramu kontekstowego.
Zawartość słownika dotyczących danych elementarnych ( atrybutów zawartych w we/wy ) związanych z przepływem we/wy.
Podmodel zachowań - opisuje wewnętrzną architekturę projektu systemu informatycznego zarówno pod względem składników statycznych i składników dynamicznych.
Aby stworzyć pełny podmodel zachowań wykorzystujemy różne techniki, a te techniki to działania opisujące interesujący nas system.
W podejściu Yourdanowskim zbiór diagramów DFD tworzony jest techniką mieszaną.
Diagram DFD pokazuje hierarchię funkcji, powstaje drzewo funkcji.
ERD diagram - (statyczny model struktur danych) na tym diagramie nie ma uwarunkowań czasowych ( dlatego statyczny, opisuje bierne elementy).
Zbiór diagramów DFD - zbiór diagramów przepływu danych. Uzyskamy w wyniku kroków dekompozycji diagramu kontekstowego DFD na którym był tylko jeden proces
( kolejne poziomy potomne DFD w stosunku do diagramu kontekstowego )
Statyczne diagramy: ERD, DFD(Data Flow Diagram)
Dynamiczne diagramy: ELH(Entity Life History - Diagram życia encji), STD(State Transition Diagram - diagram przejść stanów)
WYKŁAD IV
Podstawowe pytania związane z Systemem Informatycznym niezależnie od metodyki:
określenie wymagań użytkownika
statyczne struktury danych
- elementy bierne
aspekty dynamiczne systemu ( zamiany systemu w czasie, reakcja elementów na zdarzenia w systemie
- oddziaływają na system i wymuszają zmianę stanu w czasie
Te dwa pojęcia są równoważne: Zadanie Systemu = Funkcja Systemu
Zadania wykonywane przez System = Funkcje wykonywane przez System
Lista Funkcji wymaganych przez System = wymagania Funkcjonale Systemu
Te zadania modelowane są za pomocą procesu :
Zadanie = Funkcja = Proces
Oznaczenie Procesu:
nazwa lub nr nazwa (procesu)
nr
To oznaczenie
W metodyce Yourdona
Lista zdarzeń budowana w ramach modelu środowiskowego stanowi punkt wyjścia do rozpoczęcia budowy diagramu przepływu danych (DFD - Data Flow Diagram)
Można go budować od dowolnego poziomu w całej hierarchii danych
Zbiór diagramów przepływu danych uzyskamy poprzez Dekompozycję .
Lista Zdarzeń Funkcje (Zadania)
1. 1.
2. Kolejne 2. Funkcje które System wykonuje
3. zdarzenia 3. aby obsłużyć dane Zadanie
4. 4. (hierarchiczna zależność)
Funkcje układamy w drzewo funkcji w którym można powiedzieć o najbardziej złożonej funkcji
PRZYKŁADOWA LISTA ZDARZEŃ DLA SYSTEMU BIBLIOTECZNEGO
Zdarzenia zachodzące w Systemie Funkcje
1.Zgłoszenie osoby po raz pierwszy 1. Obsługa nowego użytkownika
zapisującej się do biblioteki 1.1. Pobranie danych nowego użytkownika
1.2. Dodanie rekordu czytelnika do bazy
czytelników
1.3. Wygenerowanie karty czytelnika
2.Zgłoszenie w celu wypożyczenia 2. Obsługa wypożyczenia
książki 2.1. Sprawdzenie stanu książki
2.2. Sprawdzenie konta użytkownika
2.3. Sprawdzenie ewentualnych opłat
2.4. Właściwa transakcja wypożyczenia
3.Zwrot książki 3. Obsługa zwrotu książki
3.1. Sprawdzenie terminu zwrotu i ewentualne
naliczenie kary
3.2. Właściwa transakcja zwrotu książki poprzez
aktualizację konta użytkownika oraz
aktualizację stanu książki w bazie danych
DRZEWNO PROCESÓW (FUNKCJI)
0 - System Informatyczny - BIBLIOTEKA
1 - Obsługa nowego czytelnika
- Pobranie danych nowego użytkownika
- Dodanie rekordu czytelnika do bazy danych
- Wygenerowanie karty czytelnika
2 - Obsługa wypożyczenia
2.1 - Sprawdzenie stanu książki
2.2 - Sprawdzenie konta użytkownika
2.3 - Sprawdzenie ewentualnych opłat
2.4 - Właściwa transakcja wypożyczania
3 - Obsługa zwrotu książki
3.1 - Sprawdzenie terminu i ewentualne naliczenie kary
3.2 - Właściwa transakcja zwrotu oraz aktualizacja bazy i konta danego użytkownika
3.3 - Zwrot ewentualnej kaucji wcześniej zapłaconej
3.4 - Obsługa sytuacji nadzwyczajnej
Tu widać hierarchię funkcji .
To drzewo procesów jest w modelu zachowań ( modelu który pokazuje wewnętrzną strukturę)
DIAGRAM KONTEKSTOWY - pokazuje system informatyczny jako jeden proces ( czyli poziom 0 - system informatyczny BIBLIOTEKA )
9 b
Czytelnik Czytelnik
8
11
7
BIBLIOTEKA
Proces 0
4 5
3 2
6
Czytelnik
1
Pracownik (bibliotekarz)
1. Transakcja zwrotu
2. Transakcja wypożyczenia
3. Akceptacja danych nowego czytelnika i wpis do bazy czytelników
4. Dane nowego czytelnika
5. Zapłata kaucji
6. Wygenerowanie nowego konta użytkownika
7. Identyfikator czytelnika, identyfikator książki
8. Wydanie książki
9. Informacja o niemożliwości wypożyczenia książki
10. Zwrot książki
11. Informacje o stanie konta
0 - jest to proces główny ( reszta jest w środku, nie widzimy tego ponieważ patrzymy
z punktu widzenia użytkownika czyli jako obiekty zewnętrzne.)
0 - proces
- obiekt zewnętrzny
- przepływ danych
- synonim obiektu
Proces jest to graficzna reprezentacja funkcji systemowej, może mieć charakter procesu złożonego lub elementarnego ( na diagramie kontekstowym ten jeden jedyny proces jest zawsze złożony ).
Proces złożony - proces który ma podprocesy ( procesy potomnie generowane )
Proces elementarny - proces nie posiadający procesów potomnych ( nie posiada
podprocesów ). jest to proces najniższego poziomu
Obiekty zewnętrzne - uogólniony użytkownik systemu informatycznego występujący wobec systemu w określonej roli. Obiektem zewnętrznym może być inny system informatyczny współpracujący z naszym. Mogą być też obiektami jakieś zewnętrzne bazy danych do których mamy dostęp.
Przepływ danych - strumień informacji między obiektami zewnętrznymi a jednym jedynym procesem ( , , - takie strzałkowanie / operacje wejścia/wyjścia )
Strumień danych składa się z atrybutów
Zdarzenia powodują przepływ danych
Zdarzenie zewnętrzne - czytelnik zapisujący się
Zdarzenie wewnętrzne - generowanie karty czytelnika
Diagram kontekstowy, który jest zbudowany z punktu widzenia użytkowników zewnętrznych pokazuje przepływ we/wy w wyniku zdarzeń. Przepływ we/wy zawiera niezbędne dane przekazywane do systemu lub z systemu do otoczenia. W celu prawidłowej realizacji funkcji systemowych obsługujących zdarzenia wymienione w liście zdarzeń zatem diagram kontekstowy jest graficzną prezentacją wymagań funkcjonalnych systemu projektowanego metodami strukturalnymi
DFD powstaje w wyniku działań techniki w celu budowania kontekstowych diagramów.
ZASADA DEKOMPOZYCJI
y
x z
Obiekt 1 1 2
w
Obiekt 2
- magazyn danych ( składnica danych )
Delete, Update, Create
- przepływ aktualizujący dane. Może dopisywać nowy element do
magazynu, nowy obiekt. Modyfikować zawartość obiektu, modyfikowanie
cech obiektu i usuwać dane z magazynu
czytanie danych z magazynu
tylko przepływ aktualizujący może cokolwiek zmieniać w magazynie danych.
Dokonujemy Dekompozycji nr. 1
Generuje diagram potomny względem procesu 1
Zasada tworzenia diagramu DFD potomnego. Do procesu 1 bierzemy wszystkie przepływy wychodzące i wchodzące do prcesu
Obiekt 1 x
w
z Obiekt 2
2
Tworzenie potomnego DFD odbywa się zgodnie z zasadą bilansu pionowego procesu.
Bilans pionowy mówi: wszystkie przepływy we/wy z procesu macierzystego są przenoszone do procesu potomnego.
Teraz generujemy podprocesy i do nich podłączamy przepływy
Magazyn x
1.1
Obiekt 1 x
1.2 magazyn y
w
obiekt 2
z
2
Na diagramie muszą powstać co najmniej dwa procesy
Procesy muszą być zbilansowane w pionie. Mają być zbilansowane pomiędzy kolejnymi diagramami DFD.
Bilans pionowy - mówi nam że zawartość wszystkich danych w przepływach danych we/wy procesu macierzystego musi być taka sama jak zawartość przepływów we lub wy, które są zaznaczone dla procesów potomnych uzyskanych w wyniku dekompozycji procesu macierzystego. Sprawdzenie jest na poziomie danych elementarnych a informacja o tym czerpiemy ze słownika dołączonego do narzędzia CASE'owego którym wykonujemy dekompozycję
Tylko element aktywny potrafi coś zmieniać w systemie. Proces pobiera i wysyła informacje z zewnętrz i od wewnątrz. Tak samo zmienia zawartość magazynu
Obiekt zewnętrzny może łączyć się tylko przepływem danych z procesem lub do procesu ( czyli obiekt łączy się z danymi które są przesyłane poprzez wywołanie np.
procesu wysyłania )
Bilans poziomy procesu - wszystkie dane wchodzące do procesu muszą być równie danym wychodzącym z procesu z uwzględnieniem jakiegoś algorytmu w procesie 0 który te dane zmienia ( może ale nie musi )
Bilans poziomy magazynu danych.
a b
a + b = c + d
d c
WYKŁAD V
Uwagi dotyczące modelu zachowań ( model Yourdona )
wymagania funkcjonalne
statyczne struktury danych ( diagram ERD, konceptualny CDM )
Dynamika Systemu
Diagram historii życia encji (ELH) Diagram przejść stanów
(jak w czasie zmienia się każda z encji (opisuje zmianę w czasie)
występująca w modelu logicznym)
Istnieją 4 diagramy:
DFD
CDM + PDM
ELH
STD
Uwagi na temat DFD:
w metodyce Yourdona nie jest wymagana metoda „TOP - DOWN” (budowa DFD od dowolnego poziomu jako odpowiedź tego poziomu na listę zdarzeń)
generowanie kompletnego zbioru DFD techniką mieszaną - ta technika umożliwia:
1) zgrupowanie podobnych procesów w agregaty będące procesami nadrzędnymi
2) to chyba chodzi o ten rysunek
agregacja z
1.1
y x y
1.2
1.1.1
x
1.1.3
z
grupowanie procesów - sposób - reguła Mullera - nie więcej obiektów niż 7
(od 5 do 9 ) na jednym poziomie. To samo z magazynami danych i obiektami. Gdy się nie da tej liczby Mullera zastosować to robimy wielopoziomową dekompozycję
specyfikacja procesu:
złożony: jest drzewo procesów potomnych.
elementarny: jest to podanie w sposób słowny algorytmu realizowanego wewnątrz
procesu elementarnego
Cały czas równocześnie z budowanymi poziomami uzupełniamy słownik danych. Pojawiają się nowe składniki danych, procesy, przepływy.
Robimy specyfikację procesów jak już mamy wszystkie poziomy DFD
równoważenie
aktywne pasywne
składniki ERD
projektu SI (model konceptualny CDM)
( zbiór SI )
Jaki jest związek między DFD a ERD ???
DFD |
ERD |
procesy |
encje |
przepływy danych |
związki |
obiekty zewnętrzne |
|
Składnica danych |
|
Tutaj składnica danych odpowiada encji. - to jest ten związek.
Na czym polega równoważenie DFD z diagramem struktur danych (ERD) ?
Możemy zacząć od budowy dowolnego z nich najlepiej jeżeli będziemy budować obydwa równocześnie. To równoważenie jest na poziomie logicznym.
W Sybase istnieje funkcja import/export. Przekazuje ona jedne wartości z jednego diagramu do drugiego. Przenosić możemy elementy, atrybuty, encje, jako magazyn, reguły biznesowe. Dane można przenosić w jedną i drugą stronę.
Jednemu magazynowi danych odpowiada jedna encja ( o tych samych nazwach )
Ogólna zasada równoważenia:
Dana encja powinna być przechowywana tylko w jednym miejscu w systemie ( nie powinno być dublowania )
Spis haseł z budowy DFD ( czyli to co musimy umieć )
model konceptualny struktur danych (diagram związków encji ERD)
definicja encji, definicja związku
właściwości encji (nazwy, atrybuty, atrybut identyfikujący)
związki (właściwości związków - liczności [1-n, n-1, n-n], problem likwidacji związków n-n poprzez wprowadzenie encji asocjacyjnej połączonej dwoma związkami 1-n.
Opis związków (nazwa, nazwa ról, liczność, opcjonalność lub obligatoryjność)
// Każda struktura związków n-n przekształcona do związków 1-n to 3 postać znormalizowana
Przejście z modelu logicznego na fizyczny dla wybranego docelowego środowiska bazodanowego
Każdej encji odpowiada tablica encji:
nadrzędna - (po stronie wiele [n]) przechodzi w tablice podrzędną
podrzędna - (po stronie 1 ) przechodzi w tablice nadrzędną
Mechanizm generowania kluczy obcych.
Z tabelek nadrzędnych pobierane są klucze do podrzędnych tabel.
DIAGRAM PRZEJŚĆ STANU SYSTEMU
Komponenty diagramu przejść stanu
START
przejście
A1
C1
Stan i-ty stan
C5 przejście C3
C2 - warunek A3
A2 - akcja
Stan j-ty
C4
STOP
Dlaczego system przechodzi z jednego stanu do drugiego?
Stan systemu opisuje co dzieje się z systemem w danej chwili czasu, który to czas zazwyczaj trwa niepomijalny kawałek czasu. Samo przejście zwane zmianą stanu jest opisane dwojako. Poprzez warunek (przyczynę), druga rzecz to akcja - czynność powzięta przez system która spowoduje zmianę stanu.
Zasady diagramu przejść stanu:
system w każdej chwili czasu jest w jakimś stanie
na tym Diagramie może być tylko jeden START i jeden STOP
każdy stan pośredni powinien być dostępny ze stanu początkowego ( pośrednio lub bezpośrednio )
stan końcowy musi być dostępny dla każdego stanu ( pośrednio lub bezpośrendio)
dany warunek musi powodować przejście danego stanu tylko do jednego jedynego stanu następnego
Diagram przejść stanów jest bardzo dobrą techniką opisu współpracy (dialogu) użytkownika z systemem a ten dialog to poruszanie się po całym menu jakie oferuje system.
RÓWNOWAŻENIE DFD Z DIAGRAMEM STD ( DIAGRAMEM PRZEJŚĆ STANU)
Odbywa się to przy udziale procesu sterującego. DFD wzbogacamy o proces sterujący który rozdziela zadania na procesy wykonawcze.
Przepływ sterujące nie ma w sobie danych w przeciwieństwie do przepływu danych.
DFD x Proces sterujący Mój komputer
r
y
z w
1
a
2 b
3 c
x - proces sterujący, jest konsekwencją
wyboru konkretnego dysku.
r, y, w, z - procesy sterujące.
1 - wyświetlenie listy dysków a - nazwa wybranego dysku
2 - wyświetlenie zawartości wybranego dysku b - przekazanie nazwy folderu
3 - proces przetwarzania danych c - nawa pliku
STD
A: r
C: mój komputer
Stan 1 Wyświetla listę dysków
C: x
A: y
Stan 2 Wyświetla listę folderów dla
wybranego dysku
C: z
A: w
Stan 3 Wyświetla zawartość danego
Folderu
Akcja - odpowiada pojawieniu się przepływu wyjściowego sterującego r
Mój komputer - komputer który spowodował to że doszło do uruchomienia procesu 1.
Diagram STD jest specyfikacją procesu sterującego.
Specyfikacją procesu sterującego jest diagram STD (diagram przejść stanów ) opisuje on algorytm działania zaszyty w procesie sterującym
Przepływy sterujące wejściowe dla procesu sterującego są warunkami dla przejścia na diagramie STD
Przepływy sterujące wyjściowe z procesu sterującego są akcjami podanymi przy przejściach pomiędzy stanami.
Pojęcia z ćwiczeń. (Przetłumaczone)
BPM ( Bisnes modeling process - Biznesowe modelowanie procesów ) - konceptualny model zawierający krótki opis logiki biznesowej i zasad z punktu widzenia klienta używającego diagramów które pokazują interakcję między procesami, przepływami, wiadomościami, kolaboracyjne protokoły z jednego lub wielu punktów do paru potencjalnych punktów startowych. Jest niezupełnym odpowiednikiem DFD
Data - (dane) definiuje typ informacji wymienianej pomiędzy procesami biznesowymi
Process - (proces ) inicjacja manualnej lub automatycznej akcji
Resource - (zasób ) podobny do magazynu danych, może być danymi, dokumentami, bazą danych, komponentami lub wykonywalnym zasobem
Resource Flow - (przepływ zasobów) pozwala procesowi na dostęp do zasobu, informacje w zasobie mogą być tworzone, aktualizowane, kasowane albo czytane przez proces
Flow - (przepływ) interakcja pomiędzy dwoma obiektami z potencjalną wymianą danych
Start - punkt startowy całego procesu reprezentowany w diagramie procesu biznesowego
End - reprezentuje punkt końcowy procesów opisanych w diagramie procesów biznesowych
Organization Unit - (obiekt zewnętrzny, jednostka organizacyjna) element który pozwala definiować która organizacja jest odpowiedzialna za który proces. Może reprezentować kompanię/system, usługę, organizację, użytkownika albo role. Jest adekwatna do oznaczenia komponentu w języku UML.
Wykład VI
Bilans poziomy obejmuje jeden poziom dekompozycji. Bilans pionowy obejmuje dwa kolejne poziomy dekompozycji
Diagram Historii Życia Encji ( ELH - Entity Life History )
(ERD - statyczna struktura danych, diagram związków encji)
ELH - pokazuje zmiany w encjach w czasie a te zmiany są wymuszone zdarzeniami które oddziaływają na encję. To jest diagram dynamiczny.
ELH < = > ERD po to aby z ERD wychwycić te encje które wybierzemy.
równoważenie Aby dla każdej encji zbudować Diagram historii życia encji.
ERD < = > DFD
Znajdujemy encje w składnicach danych.
Oddziaływają na procesy w DFD
Zdarzenia Procesy
Przepływy
DFD
Przepływy wyjściowe do składnic danych
Aktualizacja
Składnic
Danych
Encje podlegają
W składnicach są encje zmianie stanu
( zmiana stanu encji )
co się dzieje ?
z encją jest pokazane
na diagramie ELH
z ERD ELH
ELH - służy aby w jawny sposób pokazać wszystkie zdarzenia zachodzące w systemie, zarówno zdarzenia typowe (normalne) oraz zdarzenia nietypowe (nadzwyczajne, błędne, wskazujące na sytuację awaryjną - jest ich więcej niż normalnych i powodują dużo więcej błędów niż normalne)
Fragment DFD który posłuży do budowy ELH.
Problem:
wybór encji nas interesującej ( wybieramy to z ERD - tutaj encją jest konto klienta )
na DFD szukamy tej encji ( w postaci magazynu danych )
teraz przepływy aktualizujące
Ustalenie limitu funkcje wstrzymania
Dezaktywacja konta
2 3
nowy
rekord
Konto klienta
Obciążenie konta Spłaty
4 7
przepływ typu R R - read ( przepływ czytający )
A tu jest ta encja Konto Klienta
Konto klienta z ERD ( CPM )
- atrybut 1
- atrybut 2
- atrybut 3
Odpowiada encji na ERD (skojarzenie)
DFD Procesy generujące przepływy aktualizujące |
DFD Magazyny danych
|
DFD Przepływ aktualizujący |
DFD Rodzaj aktualizacji |
Zdarzenie |
Proces 2 Ustalenie konta |
Konto Klienta (D1) |
Nowy rekord |
Utwórz nowy wpis w magazynie, przepływ typu C C - create (stwórz) |
Założenie konta |
Proces 4 Utworzenie rekordu pożyczki |
Konto Klienta (D1) |
Obciążenie konta |
Modyfikacja zawartości magazynu, przepływ typu U U - Update (aktualizuj) |
Uzyskanie pożyczki, przyznanie pożyczki |
Proces 7 Obsługa spłat |
Konto Klienta (D1) |
Spłaty |
Modyfikacja, przepływ typu U U - Update (aktualizuj) |
Każdorazowe dokonanie spłaty kolejnej raty pożyczki |
Proces 3 Funkcje utrzymania |
Konto Klienta (D1) |
Dezaktywacja |
Usunięcie wpisu w magazynie, przepływ typu D D - Delete (skasuj) |
Likwidacja konta |
C, U, D i R - ta notacja występuje też w SyBase.
MATRIX CRUD - macierz( tablica krzyżowa) pokazuje zależności między procesami a magazynami danych, pokazuje rodzaje przepływów między nimi
( C - create (utwórz), D - Delete (skasuj), U - Update (aktualizuj), R - Read (czytaj) )
Komponenty diagramu ELH
Diagram acykliczny ( typu drzewo, hierarchiczny )
Nazwa encji
Zdarzenie Zdarzenie Zdarzenie Zdarzenie
Sekwencyjne złożone złożone złożone
Na danym poziomie naszego drzewa
odczytujemy w umowny sposób kolejność
zdarzeń. Zdarzenie na lewo jest
wcześniejsze od zdarzenia na prawo itd.
Zdarzenie * Zdarzenia
Zdarzenia
Zdarzenia
Iteracyjne selektywne selektywne selektywne
Sekwencja zdarzeń jest odczytywana na danym poziomie od lewej do prawej. Zdarzenia iteracyjne to zdarzenia które powtarzają się pewną ilość razy (np. spłata kredytu), może być też 0 powtórzeń (brak wystąpienia zdarzenia). Zdarzenia selektywne zależą od spełnienia warunków ( coś ala „if” lub „switch” w C++ )
Teraz nasz diagram ELH
Konto klienta
Założenie konta przyznanie pożyczki spłacanie pożyczki likwidacja konta
Dwa etapy tworzenia diagramu ELH.
1 etap - utworzenie pomocniczej tablicy krzyżowej dla encji [magazynu danych] poprzez wybranie encji z diagramu związków encji, poprzez identyfikację zdarzeń dotyczących danej encji na podstawie przepływów aktualizujących ten magazyn danych na DFD w którym to magazynie znajduje się aktualizowana encja.
2 etap - rozwarzenie dla każdej encji wziętej z ERD następujących kwestii
normalnego, typowego cyklu życia
rozważenie zdarzeń specjalnych (wyjątkowych)
rozważenie sytuacji błędnych, awaryjnych
WYKŁAD VIII
Równoważenie ELH z DFD
Po co z ELH ??
Weryfikacja poprawności DFD
Czy mogą obsłużyć sytuacje awaryjne itp.
Analiza zdarzeń na ELH powoduje:
które zdarzenia powodują że dane encje pojawiają się w systemie( zdarzenie powoduje zaistnienie encji w systemie ( jej utworzenie ))
zdarzenie wykasowania encji
które zdarzenie powoduje że encja powoduje zmianę atrybutów ( aktualizacja )
tworzenie ELH w prawidłowym cyklu życia encji odbywa się według harmonogramu:
wybranie zdarzeń oddziaływujących na dane encje z tablicy krzyżowej
ustalanie sekwencji zdarzeń na danym poziomie drzewa historii życia encji
sprawdzenie czy pewne zdarzenia mają zachodzić warunkowo ( czy możliwa jest selekcja zdarzeń )
sprawdzenie czy zdarzenia mogą być iteracyjne ( zachodzące wielokrotnie )
jeśli iteracje występują to czy przypadkiem nie zmieniają one sekwencji zdarzeń
czy system traktuje jednakowo wszystkie iteracje zdarzeń jednego, danego typu
Konto klienta encja ( dla nie robimy ELH )
Założenie pożyczka spłata zamknięcie konta
Te prostokąty to zdarzenia
Kolejna
Pożyczka
Jeśli założymy że pożyczka musi być spłacona zanim będzie można wziąć drugą pożyczkę, zakładając że spłata pożyczki może następować w kilku kolejnych ratach. Ostatnią spłatę kiedy konto klienta jest czyste należy wyróżnić w postaci osobnego zdarzenia w celu podjęcia przez system specjalnych akcji
Modyfikujemy nasze ELH ( co do tekstu powyżej )
Konto klienta
Założenia Zmiany na koncie Zamknięcie konta
Cykl
Otrzymanie pożyczki cykl spłaty ostatnia spłata
Splata
Identyfikacja sytuacji błędnych oraz warunków wyjątkowych w życiu encji
Klient zrezygnował z pożyczki
Klient stał się bankrutem ( przedwczesne zakończenie życia encji )
AD 2.
po założeniu konta
po całkowitej spłacie pożyczki
w trakcie spłacania pożyczki
po udzieleniu pożyczki
Konto klienta
Założenie 1 zmiany zamknięcie
Cykl * po to aby system mógł zlikwidować konto
Klienta w sposób nietypowy
Normalny
Nadzwyczajny
Pożyczka cykl spłaty * ostatnia spłata odrzucenie unieważnienie
3 2 3 4
zdarzenia wyjątkowe
W sytuacji 3 i 4 zamknięcie konta odbywa się w sposób nienormalny ( nadzwyczajny )
Wniosek: Weryfikacja ELH względem DFD
Czy dla każdego zdarzenia na ELH istnieje przynajmniej jeden przepływ aktualizujący składnicę danych na DFD aktualizujący omawianą encję w składnicy danych i ten przepływ jest równocześnie odpowiedzią na zaistniałe zdarzenie
Zdarzenia zewnętrzne ( dzieje się w otoczeniu systemu z udziałem obiektów ) są wcześniej zwykle zaznaczone na DFD, ale zapomina się często o zdarzeniach wewnętrznych ( dziejących się wewnątrz systemu ) i powodują przepływy pomiędzy procesami a te procesy oddziaływają procesami aktualizującymi na składnice danych.
PODSUMOWANIE MODELU PODSTAWOWEGO METODYKI YOURDONA
Co w modelu podstawowym musi się znajdować?
Tworzymy go po to aby opisać i wyrazić wymagania użytkownika
DFD
Listy zdarzeń ( zdarzenia zewnętrzne i wewnętrzne )
Określanie przeznaczenia i celu systemu
Kompletny zbiór zrównoważonych DFD ( bilanse pionowe ) - dotyczy to również diagramów ERD, STD i ELH
Kompletny diagram ERD ( związków encji )
Kompletny zbiór diagramów STD
Zbiór diagramów ELH
Kompletny słownik danych dla fazy analizy
Kompletny zbiór specyfikacji procesów
1 - 4 : Model Środowiskowy
5 - 9 : Model Zachowań
Dla procesów złożonych - lista procesów potomnych
Dla procesów elementarnych - opisy algorytmów działania realizowane przez procesy elementarne
Dla procesów sterujących - wybrane diagramy STD
RÓWNOWAŻENIE
DFD z ELH
Muszą im odpowiadać ( w drugą stronę też )
zdarzenia
DFD ELH
Procesy z przepływami
aktualizującymi składnicę
DFD z ERD
Każdej encji odpowiada jeden magazyn danych
Encja
W której składnicy danych jest ta encja ( powinna być jedna encja w jednej składnicy danych )
Funkcja IMPORT w SyBase: ( czyli co można importować )
encje
domeny
dane
składnice danych
procesy biznesowe
istota projektowania strukturalnego: !!!!!!!!!!!!!!!!!
osobno modelujemy elementy aktywne ( procesy ) a osobno modelujemy elementy bierne ( struktury danych )
podejście strukturalne jest dobre wtedy gdy któreś elementy dominują ( np. elementy aktywne ) ( złożone procesy, proste struktury danych )
gdy wszystko jest skomplikowane ( elementy bierne i elementy aktywne ) to lepsze jest podejście obiektowe
MODEL IMPLEMENTACYJNY ( FIZYCZNY )
Określa w jaki sposób system ma zostać zrealizowany przy użyciu dostępnych środków technologicznych
Dostępne narzędzia
Dostępne środowisko systemowe ( system operacyjny )
środowisko sprzętowe
Model implementacyjny według metodyki Yourdona składa się z 3 modeli:
1. Model organizacji kodu
COM CODE ( STC ( w CASE dla ludzi )
( structure Chart - schemat struktury - jak wygląda struktura
oprogramowania)
2. Model Środowiska oprogramowania
3. Model Środowiska sprzętowego nimi się nie zajmujemy
co przedstawia model organizacji kodu ??
- przedstawia hierarchiczną strukturę budowy oprogramowania. Na czym to polega ?
Model logiczny ( podstawowoy )
DFD
Dane Wejście Przetworzenie Wyjście Wyniki
INPUT PROCESS OUTPUT
Transformacja ( przekształcenie )
Model fizyczny ( implementacyjny ) jest to model
oprogramowania
Sterowanie
Dane Wejście Przetwarzanie Wyjście Wyniki
Strzałki oznaczają hierarchię, zależność hierarchiczną ( te strzałki bez kółek )
Model fizyczny uwzględnia składniki sterująco - koordynujące które powodują zwrot przepływu danych pomiędzy odpowiednimi modułami. Moduły są komponentami
Strzałki ( bez kółek ) łączą moduły pokazując hierarchiczną zależność między modułami ( grot wskazuje moduł podrzędny )
WYKŁAD VIII
Model fizyczny:
moduły
hierarchiczny
wielopoziomowy
dwukierunkowy
Procesy z DFD przechodzą w struktury zwane modułami
Analiza: tranzakcyjna i transformacyjna
KONIEC PODSUMOWANIA MODELU FIZYCZNEGO
MODUŁY - RODZAJE
1) Moduł doprowadzający ( jest podłączony do jakiegoś modułu nadrzędnego )
pośredniczy w przepływie doprowadzania danych do systemu ( moduł dostaje z modułów podrzędnych dane i je przekazuje do modułu
Moduł nadrzędnego, przepływ danych jest
Doprowadzający jednokierunkowy, od modułu podrzędnych do
Nadrzędnych modułów
2) Moduł odprowadzający
Uczestniczy w odprowadzaniu danych.
Moduł Otrzymuje dane od modułu nadrzędnego
odprowadzający
i przekazuje je do podrzędnych modułów.
Przepływ jest jednokierunkowy
3) Moduł transferowy
moduł ten przetwarza dane tak, że po otrzymaniu
danych z modułu nadrzędnego i przetworzeniu ich odsyła je do modułu nadrzędnego.
Moduł
Transferowy
4) Moduł koordynujący ( sterujący, kontrolny )
Ten moduł ma tylko moduły podrzędne.
Otrzymuje on dane od modułu podrzędnego
Moduł i rozprowadza te dane do modułów podrzędnych
Koordynujący
Model Logiczny ( podstawowy ) procesy
A B C D E
x y z p q r
jest to abstrakcyjny diagram przepływu danych. A tak wygląda diagram STC
Moduł Koordynujący
z Moduł p
główny
y q
Pobierz z Wypisz p
p z
r
x Pobierz y z y q p Wypisz q
C
Pobierz x y x B D r q Wypisz r
r
A E
Zasada przechodzenia z modelu logicznego na fizyczny
Wszystkie procesy przedstawione na modelu logicznym są przekształcone w moduły transformujące w diagramie STC. Te moduły transformujące są liśćmi w drzewie
PODEJŚCIE OBIEKTOWE
System Informatyczny w podejściu obiektowym - zbiór obiektów oraz klas pomiędzy którymi zostały zdefiniowane relacje rozmaitych rodzajów
Obiekt - instancja - wystąpienie buty zwanego obiektem, element dziedziny przedmiotowej, element należący do tej dziedziny, który jest rozpoznawany w tej dziedzinie przez 3 cechy:
tożsamość
stan wewnętrzny
zachowanie
Stan wewnętrzny obiektu - opisywany jest zbiorem cech opisujących strukturę obiektu ( atrybuty opisujące obiekt ). Te atrybuty są opisywane w danym, konkretnym momencie czasu
Obiekt jest bytem unikatowym, możemy go rozróżnić spośród pozostałych ( nawet gdy jego cechy i zachowania są takie same jak innych obiektów )
Sposób zachowania - jest to charakterystyka określająca jakie operacje mogą być dokonywane na obiekcie poprzez inne obiekty, jakie operacje może on wykonywać na innych obiektach, oraz jakie są konsekwencje dokonywania tych operacji w sensie zmian stanów danego obiektu oraz obiektów które były z nim w interakcji.
Rodzaje operacji: kategorie
Operacja konstruktora - tworzy obiekt wraz z ewentualnym zainicjowaniem zmiennych, jego stanu początkowego
Modyfikator - zmienia wartości atrybutów
Selektor - udostępnia informacje o stanie innego obiektu, nie powoduje jego zmiany stanu
Iterator - umożliwia dostęp do całej struktury obiektu poprzez sekwencyjne udostępnianie jej poszczególnych elementów w ściśle określony sposób.
Destruktor - potrafi usunąć obiekt
Operacja jest przyporządkowana do obiektu i każda operacja ma swoją nazwę. Wywołanie tej nazwy jest jednoznaczne z uruchomieniem tej operacji. - uruchomieniem aktywności obiektu. Natomiast metoda jest wewnętrzną specyfikacją tej operacji, to jest zapisanie kodu w jaki sposób operacja będzie realizowana. Operacja to to co widzą sąsiednie obiekty a metoda to sposób implementacji.
Formalna specyfikacja operacji.
warunki wstępne operacji ( niezmienniki umożliwiające wykonanie operacji, niezmienniki to wyrażenia logiczne odpowiadające warunkom które muszą być spełnione jeśli operacja ma być wykonana. Jeżeli niezmienniki nie są spełnione tzn. że coś jest nie tak i operacja nie zostanie wykonana )
sama semantyka operacji ( opis przebiegu działania algorytmu operacji )
warunki końcowe operacji ( niezmienniki jakie muszą być spełnione po wykonaniu operacji - jeśli niezmienniki nie zachodzą to znaczy że coś jest nie tak )
sytuacje szczególne ( wyjątki )
- warunki niespełnione - oznacza że wykonanie operacji zostało zaniechane a
informacja o niemożliwości wykonania i jej przyczyna jest przesłana do obiektu
żądającego wykonania operacji
Aby wykonać jakąś operacje obiektu muszą się wzajemnie informować o tym. Zamiar wysyłania informacji między obiektami odbywa się za pomocą mechanizmu przesyłania komunikatów między obiektami. Wysłanie komunikatu to zamiar wykonania operacji. Zazwyczaj komunikat ma w sobie ( inaczej: ma nazwę ) nazwę operacji.
Ze względu na interakcję między obiektami definiuje się 3 podstawowe typu obiektów :
Obiekty Aktorzy - obiekty które dokonują operacji na innych obiektach ale same nie podlegają operacjom ze strony innych obiektów
Obiekty Serwery - obiekty które podlegają operacjom ze strony innych obiektów a nie operują na innych obiektach
Obiekty Agenci - operują na innych obiektach a na inne obiekty mogą na nich też operować
WYKŁAD IX (25 kwietnia)
Klasa - zbiór obiektów o takiej samej strukturze i takich samych zachowaniach.
Klasa - abstrakcja, czyli uogólnienie, które reprezentuje cechy obiektów, gdzie przez cechy rozumiemy strukturę i cechy. Przy czym istnieje ona niezależnie od obiektu.
Każda klasa dzieli się na dwie warstwy:
- warstwę zewnętrzną
- warstwę wewnętrzną
Zewnętrzna:
- interfejs, definiuje wzorce zachowanie się klasy w stosunku do innych klas, głównie przez zadeklarowanie zbioru operacji, dotyczących obiektu tej klasy
- określa sposób zachowania obiektów przynależnych do danej klasy
Wszystkie obiekty danej klasy mają dostęp do wszystkich operacji (usług tej klasy)
Pełne prawa dostępu do wszystkich operacji warstw zewn. Danej klasy, mają tylko obiekty tej klasy.
Wewnętrzna:
- zawiera opis w formie algorytmicznej sposoby realizacji operacji które są wywoływane w warstwie zewn.
- zdefiniowane struktury klas
4 WARUNKI KONIECZNE OBIEKTOWOŚCI
1. Abstrakcja
2. Modularność
3. Hierarchizacja
4. Enkapsulacja (hermetyzacja)
1. Abstrakcja jako uogólniania, pojęcie definiowane zgodnie z zasadą poziomów Dikstry.
Polega na podziale systemu na poziomy tworzące pewne hierarchie. Każdy utworzony poziom stanowi uogólniony model systemu w postaci powiązanych ze sobą elementów składowych opisujących jedynie istotne (ważne) dla tego poziomu aspekty systemu,
a pomijający wszystkie nieważne aspekty.
W metodach obiektowych abstrakcje zdefiniujemy jako uogólniony model obiektu bądź klasy opisujący istotne z pewnego punktu widzenia cechy tego obiektu, natomiast pomijamy cechy nieistotne.
2 rodzaje abstrakcji
- kompozycyjna
- uogólniona
Kompozycyjna - zbiór pewnych obiektów , który tworzy nową jakość
Związek kompozycji bądź agregacji
Związek całość - część
Uogólniająca - polega na utworzeniu nowej jakości na podstawie cech obiektu należących do pewnego zbioru charakteryzującej się na cechami wspólnymi dla tych obiektów.
Przez związek uogólnienia będzie reprezentowany związek generalizacji i specjalizacji.
2. Modularność - zasady modularności były różnie(?) respektowane w modelu strukturalnym.
Moduły muszą być bardzo silnie spójne, natomiast powinny być bardzo luźno i słabo powiązane ze sobą.
Modularność w modelu strukturalnym doprowadziła drogą dekompozycji proces do poziomu funkcji elementarnych.
????
3. Hierarchizacja
Wywodzi się od poziomu abstrakcji Dijkstry.
W modułach obiektowych system można rozdzielić na prawie dowolne struktury zbudowane ze składników reprezentujących obiekty i klasy.
Wyróżniamy hierarchie kompozycyjną i uogólniającą.
4. Enkapsulacja
Staramy się schować, ukryć w module zarówno struktury danych, jak i sposób realizacji funkcji.
Enkapsulacja umożliwia przede wszystkim praktyczne zrealizowanie koncepcji abstrakcji, gdyż inne moduły widzą jedynie to co jest dla nich ważne i potrzebne we wzajemnej współpracy.
Aby sfinalizować prawa dostępu do warstwy zewnętrznej do zbioru ??? danej, to klasy może być dzielony na 3 obszary:
- obszar publiczny (fragment warstwy wewn. jest dostępny dla wszystkich innych klas.
- obszar chroniony (fragment interfejsu danej klasy nie jest widoczny przez inny klasy z wyjątkiem ich
-
UML
Model pojęciowy UML
Składa się z bloków konstrukcyjnych.
BLOKI KONSTRUKCYJNE
ELEMENTY DIAGRAMY
podstawowe składniki każdego schematy grupujące istotne elementy
systemu ZWIĄZKI
(połączenia pomiędzy elementami)
RODZAJE ELEMENTÓW
- strukturalne
- czynnościowe
- grupujące
- komentujące
RODZAJE ZWIĄZKÓW
- zależność
- powiązanie
- uogólnienie
- realizacja
DIAGRAMY - grafy w których wierzchołkami są elementy, natomiast krawędzie to związki.
Elementy strukturalne
- klasa
- interfejs
- kooperacja
- przypadek użycia - ciąg akcji wykonywanych przez system, ciąg instrukcji między systemem a aktorem, wykonywanych w celu dostarczenia aktorowi bądź aktorom pewnego godnego uwagi wyniku, zastępuje pojecie funkcji w projektowaniu strukturalnym
- klasa aktywna
- komponent - programy, dokumenty, pliki, biblioteki, funkcje, klasy, witryny, tabele, wymienne części systemu, wymienne części oprogramowania
- węzeł - struktury sprzętowe zaprojektowanego systemu
Elementy czynnościowe
- instrukcje - współdziałanie, zachowane polegające na wymianie komunikatów między obiektami, klasami, odbywa się w pewnym otoczeniu, w ściśle określonym celu
nazwa komunikatu
- maszyny stanowe - diagram przejść stanów, ciąg możliwych stanów w jakie może przejść obiekt w zależności od zdarzeń
Związki
- zależności - związek znaczeniowy pomiędzy elementami takimi , że zmiany wykonane w elemencie niezależnym mogą mieć wpływ na znaczenie elementu zależnego.
Do powiązań należy również agregacja i kompozycja.
- uogólnienie
Diagramy będące w standardzie UMLa:
Diagram modelowania wymagań użytkownika
- diagram przypadków użycia (USE CASE)
Diagramy opisujące statyczne struktury danych
- diagram klas
- diagram obiektów, diagram pakietu
Diagramy dynamiczne
- diagram stanów
- diagram aktywności
- diagram sekwencji
- diagram współpracy
Diagramy fizyczne
- diagramy komponentów
- diagramy struktury sprzętowej
Wykład X
Diagram przypadków użycia według metodyki Jacobsona (USE CASE)
System Biznesowy System Informatyczny
Ci klienci oczekują te obiekty też oczekują jakichś dóbr materialnych
od systemu jakichś
Klient 1 dóbr materialnych Obiekt Obiekt
Zewnętrzny Zewnętrzny
System
Biznesowy Klient 3
System Informatyczny
Klient 2
Obiekt
Zewnętrzny
Proces Biznesowy Proces Biznesowy
Proces biznesowy to zbiór działań wewnątrz firmy (rynku biznesowego) wykonywanych w celu dostarczenia klientowi konkretnej usługi lub produktu
Klient - osoba fizyczna, podmiot gospodarczy któremu firma dostarcza usługę
Przykłady:
SKLEP
Procesy biznesowe:
sprzedaż sprzętu (dostarczenie klientowi jakiegoś produktu)
zakup podzespołów (klient zamawia podzespoły)
naprawa zepsutych urządzeń (polega na dostarczeniu klientowi dobrego, naprawionego sprzętu)
RESTAURACJA
Procesy biznesowe:
serwowanie posiłków
zakup produktów na posiłki
organizacja przyjęć okolicznościowych
Klient jest w centrum zainteresowania naszego modelowania - Co system może zaoferować klientowi i co klient z tego ma. System oferuje klientowi procesy biznesowe
Proces biznesowy definiujemy niezależnie od struktury wewnętrznej naszego systemu.
Proces biznesowy odbywa się w pewnym przedziale czasu i działa według ściśle określonego scenariusza (ciąg czynności które trwają w czasie i nimi można dokonać opisu procesów biznesowych)
Każdy Proces biznesowy w czasie swojego działania angażuje zasoby dostępne firmie i te zasoby to praca ludzi, kapitał, środki materialne.
Proces Biznesowy - to specyficzne uporządkowanie działań(czynności) w czasie i przestrzeni z dobrze określonymi danymi oraz dobrze określonymi warunkami ( jasno zdefiniowane wejścia i wyjścia do/do procesu )
Przykład
RESTAURACJA
Wejście Wyjście
-złożenie zamówienia - kelner podaje posiłek
Każdy proces biznesowy obejmuje więcej komórek organizacyjnych funkcjonujących w danym systemie. Wiele działów firmy jest zaangażowanych aby obsłużyć dany proces biznesowy.
SKLEP KOMPUTEROWY
1 Dział Sprzedaży
Dział Księgowości
2
Magazyn
3
Montownia
Serwis
1 Proces biznesowy - sprzedaż zestawu komputerowego klientowi
2 Proces biznesowy - Zakup części komputerowych u dostawcy
3 Proces biznesowy - Naprawa zestawu komputerowego
Jaki jest cel modelowania procesu biznesowego przy zarządzaniu firmą? :
Procesy biznesowy tworzy się w 2 sytuacjach:
W sytuacji jak chcemy stworzyć nową firmę, nową strukturę firmy, nową filozofię funkcjonowania firmy - w ramach reorganizacji firmy ( BPR - Biznes Process Reenginering )
Poprawa funkcjonowania firmy bez wprowadzania radykalnych zmian ( BPI - Biznes Process Improvement )
System Biznesowy System informatyczny
Nazwa nazwa
systemu systemu
biznesowego informatycznego
(symbolizuje firmę)
AKTOR
(jego nazwa)
(np. klient)
(lub dostawca, gość)
jest to odpowiednim obiektu
zewnętrznego w projektowaniu
strukturalnym
Aktor to abstrakcyjny użytkownik systemu reprezentujący grupę rzeczywistych użytkowników występujących w tej samej roli wobec systemu.
Procesy biznesowe są modelowane jako przypadki u użycia. Elementy konstrukcyjne zwane przypadkami użycia są wykorzystywane w UML do konstruowania Procesów biznesowych.
Przypadek użycia jest i w systemie biznesowym i w systemie informatycznym
Przypadek użycia jest modelem procesu biznesowego
Przypadek użycia jest modelem elementu konstrukcyjnego wchodzącego do języka Uml.
Definicja Przypadku Użycia:
ciąg interakcji między aktorem a systemem
ciąg transakcji (niepodzielnych operacji wykorzystywanych wewnątrz systemu dostarczających aktorowi rezultaty o mierzalnej wartości
Nie ma przypadków użycia bez aktorów którym one służą (czyli coś dają aktorowi)
Nazwa
Przypadku
użycia
jeden aktor - wiele przypadków użycia
wiele aktorów - wiele przypadków użycia
zakup zestawu komputerowego
naprawa sprzętu
dwa typy powiązań pomiędzy przypadkami użycia stosowanymi w modelowaniu przypadków użycia.
1) Powiązanie <<include>>
powiązanie to łączy dwa przypadki użycia z których jeden rozszerza funkcjonalność drugiego przypadku
przykład:
Drukowanie dokumentów
<<include>> <<include>>
Sprzedaż towaru zakup podzespołów
Te dwa przypadki użycia korzystają z innego przypadku użycia, strzałka pokazuje przypadek użycia który jest wykorzystywany przez inne przypadki użycia
2) Powiązanie <<extend>>
łączy ono dwa przypadki użycia z których jeden może rozszerzać funkcjonalność drugiego
serwowanie posiłków
<<include>> <<extend>>
wypisanie rachunku
inny przykład
Archiwizacja wprowadzenie przetworzenie
Danych nowych danych danych
<<extend>> <<extend>> <<extend>>
Zarejestruj
Wyrejestruj
Aplikację
Przypadek użycia który modeluje proces biznesowy odpowiada procesowi przetwarzania danych (czyli funkcji systemowej) opisywanego strukturalnie
Powiązania
Strukturalne obiektowe
- funkcje systemowe - funkcje systemowe
- zadania systemu - zadania systemu
procesy przetwarzania danych procesy biznesowe - modelowanie za
pomocą przypadków użycia
DFD DIAGRAM USE CASE
Do modelowania wymagań funkcjonalnych w podejściu obiektowym wykorzystujemy przypadki użycia interakcji z aktorami ( diagram przypadków użycia = USE CASE DIAGRAM ). W modelowaniu przypadków użycia nie widać wewnętrznej struktury systemu czy to biznesowego czy informatycznego zatem model przypadków użycia nie wystarcza do pełnego opisu funkcjonowania czy to systemu biznesowego czy systemu informatycznego dlatego Jacobs w swojej metodyce wprowadził tzw. Model obiektów którym pokazał w jaki sposób realizowane są procesy biznesowe w systemie. Model obiektów według Jacobsona przedstawia wewnętrzną architekturę systemu biznesowego lub systemu informatycznego. Model obiektów Jacobsona nie wszedł do standardu UML.
Model Obiektów według Jacobsona
obiekty
powiązania
komunikacja między obiektami
Obiekty:
obiekty interfejsu
osoby, urządzenia wewnętrzne systemu biznesowego, które komunikują się z aktorem lub aktor z nimi w trakcie przypadku użycia (kasjer, pracownik informacji, kelner). Klient kontaktuje się bezpośrednio z interfejsem
obiekty sterujące
aktywne elementy systemu które bezpośrednio nie komunikują się z aktorem ale wykonują inne ważne czynności niezbędne do realizacji procesu biznesowego modelowanego w przypadku użycia (np. magazynier, kucharz)
obiekty encję
bierne elementy systemu niezbędne do procesu biznesowego modelowanego przypadkiem użycia - to są produkty materialne 9rachunek, faktura, komponenty)
Powiązania:
Takie same elementy jak na diagramie związków encji.
Asocjacje : 1:1, 1:n, n:n
Mogą być jeszcze agregacje i uogólnienia
Komunikaty:
Wysyłanie komunikatów (wywołań operacji przypisanych do obiektów) w celu wykonania określonych zadań
Dwa rodzaje komunikatów
Efekt zdarzeń Właściwe (messages)
(wymuszone przez zdarzenie (wysyłanie wewnątrz systemu pomiędzy
zewnętrzne pochodzące obiektami bądź od systemu do aktorów
od aktorów)
przykład modelu obiektów
Przypadek użycia: zakup podzespołów u dostawcy
Dostawca zakup podzespołów
Inicjator: magazynier
Magazynier podzespoły
Dostawca informacja dostarczenie
O brakach w podzespołów przez zaopatrzeniowca
informacja od
magazynie
interfejsu o tym że dokument mówiący
są potrzebne jakieś podzespoły
a dostawca musi te o potwierdzeniu
podzespoły dostarczyć Dokument dostawy
Wystawia dokument
Zamówienie podzespołów
zaopatrzeniowiec zamówienie podzespołów
OOSE - metodyka projektowania systemów informatycznych ( Object oriented Software Engineering - część standardu UML )
Tutaj się definiuje pojęcie przypadku użycia oraz aktora
Przykład fragmentu modelu przypadków użycia dla opisu procesu biznesowego sprzedaż sprzętu realizowanego w systemie informatycznym zainstalowanym w systemie biznesowym sklep komputerowy
Skompletowanie sprzętu
SI <<include>>
Aktor Sprzedaż <<include>> wystawienie
Sprzętu gwarancji
<<extended>>
Nowy klient
Do ewidencji
Przejście między procesami biznesowymi opisywanymi w systemie biznesowym a procesami biznesowymi opisywanymi w systemie informatycznym
Przejście z systemu biznesowego na system informatyczny
(zasady przejść):
jeżeli jeden i drugi system modelujemy za pomocą przypadków użycia czym stają się obiekty interfejsu systemu biznesowego w systemie informatycznym?
Obiekty interfejsu systemu biznesowego
najczęściej awansują na aktorów systemu informatycznego. W systemie biznesowym te obiekty interfejsu współpracowały z obiektami sterującymi, obecnie wspomaga je system informatyczny i z nimi komunikuje się w celu wykonania swego zadania
Obiekty sterujące systemu biznesowego
mają wierne odpowiedniki w systemie jako obiekty sterujące systemu
informatycznego lub jako wyspecjalizowane podsystemu.
obiekty sterujące awansują na aktorów systemu i są wspomagane w wykonywaniu
swoich zadań przez system
ma miejsce wtedy gry system informatyczny całkowicie zastępuje lub częściowo pracę człowieka czyli w systemach sterowania, okresowe rozliczenia
Obiekty encje
znajdują bezpośrednie odbicie w systemach informatycznych ( obiekty aplikacji ) części systemów reprezentujących elementy bierne ( bazy danych, dokumenty itp. )
Obiekty interfejsu dla systemów informatycznych:
przyciski na ekranach interakcyjnych, okna dialogowe, ikony, paski przewijania
obiekty aplikacji:
dane, rachunki, faktury, dane o produktach,
Obiekty sterujące:
te elementy systemu które uczestniczą w realizacji funkcji systemowych ale są niewidoczne dla aktora
Zwykle aktorzy systemu biznesowego znajdują się poza zasięgiem modelu przypadków użycia systemu informatycznego
System
Biznesowy
BANK
Konto ( obiekt )
klienta ( encja )
Klient banku kasjer
W systemie informatycznym dla banku kasjer stał się aktorem
SI
Obsługa klienta
kasjer
klient
banku
(już nie
jest aktorem)
System biznesowy
kasjer
System informatyczny
bankomat
WYKŁAD XI
Jak powinna wyglądać dokumentacja.
Są trzy rodzaje dokumentacji ( dla obydwu technik )
DOKUMENTACJA OGÓLNA ( rozszerzenie specyfikacji założeń funkcjonalnych systemu )
Jest dla szczebla kierowniczego, dla obu stron: sprzedającej i kupującej. Nie jest przeznaczona dla informatyka, powinna zawierać jak najmniej pojęć informatycznych, na końcu tej dokumentacji powinien znajdować się słownik z wytłumaczonymi wszystkimi pojęciami informatycznymi użytymi w dokumentacji.
Spis rozdziałów
opis celu, zakresu działania systemu informatycznego ( jaki jest cel tworzenia tego systemu, co on będzie robił i jaki jest obszar tej firmy do której będzie zakupiony. Czy będzie obejmował wszystko czy tylko wybrane działy.
Nazwa funkcji ( nazwa i numer procesu - DFD) |
Charaktery-styka funkcji ( krótki opis co robi funkcja) |
Źródło danych wejściowych (od obiektu zewnętrznego, z magazynu, z innego procesu - musi być innym krojem pisma wyróżnione |
Zawartość danych wejściowych ( bez wchodzenia w szczegóły - ogólnie, tylko z nazwy, bez typu) |
Przeznaczenie danych wyjściowych ( dokąd te dane są przekierowane - czy do magazynu, czy do obiektu, czy procesu |
Zawartość danych wyjściowych (ogólnie ) |
wymagania funkcjonalne ( najważniejszy rozdział ). Opis funkcji wykonywanych przez system, wyeksponowanie funkcji systemu. Pokazanie hierarchicznej budowy systemu. Do tego trzeba sporządzić tabelę która zbierze te wszystkie informacje związane z wymaganiami funkcjonalnymi.
dla danej funkcji taki opis, dla następnej funkcji taki sam opis w kolejnym wierszu
Wymagania niefunkcjonalne. Opis dodatkowych wymagań i ograniczeń narzucanych na system które generowane są przez otoczenie i wszystkie te ograniczenia system musi respektować i nie tracić wymagań funkcjonalnych. ( np. przepisy prawne, jakieś normy itp.). Są to też dodatkowe wymagania wymagane przez użytkownika np. dla osób niepełnosprawnych, lub obsługa systemu tylko za pomocą klawiatury, dopasowanie się do struktur danych innego programu itp.
Model systemu
a) lista zdarzeń na które system ma reagować
b) drzewo procesów które wynika ze zbioru DFD
c) diagram kontekstowy i rozsądna liczba procesów potomnych
d) model przypadków użycia (diagram USE CASE )
opis ewolucji systemu ( jest to opcjonalny rozdział )- jeżeli planujemy rozbudowę systemu
wymagania sprzętowe i środowiskowe :
sprzętowe:
- po to aby klient wiedział czy ma odpowiedni sprzęt aby zainstalować dany system
- jeżeli nie to jakie będą koszty nowego sprzętu który będzie mógł obsłużyć dany
system
środowiskowe:
- określony system operacyjny pod którym będzie działa ten system
- czy jest wymagany jakikolwiek system bazodanowy
słownik terminów
dwie części:
1. informatyczne
2. dwie dziedziny przedmiotowe - pojęcia wynikające z instalacji systemu w danej dziedzinie przedmiotowej aby informatyk to zrozumiał
DOKUMENTACJA TECHNICZNA
cel i zakres systemu
opis modelu ( w oparciu o raporty )
- poziomy dekompozycji DFD
- opisy ( z raportów ) pojęć, komponentów które występują na poszczególnych
poziomach ( procesy z opisem, zawartości przepływów, lista danych elementarnych
z typami, lista magazynów danych z zawartościami i obiekty zewnętrzne )
2 modele struktur danych ( model systemu )
*
- logiczny ( CDM ) na poziomie strukturalnym
- diagram klas - obiektowy
- model fizyczny z modelu CDM na konkretną bazę danych ( jakiś język: Sybase,
Oracle itp. )
- i do tego wszystkie komentarze
*
- opis działania za pomocą DFD. Jak on wygląda od strony użytkownika, czy jest
menu zaraz po włączeniu programu. Pokazać jak poszczególne funkcje są
realizowane w menu, przejścia poprzez stanu na diagramie przejść stanów
*
jeszcze takie zestawienie:
Funkcje (procesy) |
Stany |
Moduły procesowe Stc |
|
|
|
*
- dla jednego procesu trzeba opisać specyfikację
złożony : potomne procesy wypisać
elementarny: wypisać algorytm
słownik terminów
DOKUMENTACJA UŻYTKOWNIKA
( instrukcja obsługi działającego systemu )
tak napisana aby końcowy użytkownik umiał go dobrze obsłużyć, zrozumiał po co go ma
ten użytkownik nie ma dostępu do dokumentacji ogólnej i technicznej
pierwszy rozdział powtórzony
rozdzielona na dwa typy użytkowników
- administrator i inny użytkownik ( wiąże się to z prawami dostępu
użytkownika do funkcji i zasobów )
* co powinien zawierać podręcznik użytkownika:
- sposób uruchamiania i kończenia pracy systemu
- sposób realizacji najczęściej wykonywanych funkcji systemu
informatycznego
- metody obsługi błędów
- korzystanie z systemu pomocy
* co powinien zawierać podręcznik dla administratora systemu
- opis instalacji systemu
- dostrojenie środowiska do systemu operacyjnego
- problem zarządzania kontami użytkowników
My robimy zlepek dokumentacji technicznej i ogólnej
W ogólnej:
W rozdziale model systemu dokładamy model struktur danych :
- to co w technicznej
- model CDM
- model fizyczny ( wygenerowany )
- diagram klas
- diagram przejść stanów
+ rozsądne raporty pokazujące te elementy z naszych diagramów ( zawartości przepływów, składnice danych itp. )
Język modelowania obiektowego.
Cel tego języka - ogólne modelowanie systemu informatycznego za pomocą obiektów
jest to pośrednia notacja (pomost) pomiędzy pojmowaniem ludzi struktury a działania programów
bezpośrednie powiązanie elementów modelu pojęciowego (konceptualnego0 z wykonywanymi programami
Zastosowanie:
Metodyka Jacobsona - OOSE (Object Oriented Software Engineering )
Metodyka Booch'a - OODA (Object Oriented Design with Application )
Metodyka rumbaugh'a - OMT (Object Modeling Technique )
Ad. 1
+ nastawiona na modelowanie użytkowników, wymagań funkcjonalnych, cyklu życia
systemu informatycznego
- niekompletnie modeluje dziedzinę przedmiotową
Ad. 2
+ dobrze obsługuje fazę projektowania, implementacji i związki systemu z
środowiskiem implementacji
- obsługa fazy analizy, nie ma dobrych technik rozpoznania wymagań użytkowników
Ad. 3
+ nastawiona na modelowanie dziedziny przedmiotowej
- modelowanie wymagań użytkownika i sprawy implementacyjne
UML stosuje się niezależnie od metodyki
Druga grupa diagramów
- diagram klas ( zawsze się go buduje )
Nazwa klasy
Pola klasy
( atrybuty i typy )
Operacje na zmiennych
I argumentach
( czyli public,private
I protected )
Klasa jest pojęciem istniejącym w projektowaniu od początku.
Etap analizy
Klasa - wzorzec dla grupy obiektów ze wspólnym stanem i zachowaniem
Etap projektowania i implementacji ( pisanie kodu )
Klasa - typ obiektowy w danym języku programowania
Diagram klas - diagram związków encji ( ERD )
Encja nie może istnieć bez atrybutu
Klasy mogą istnieć bez atrybutu
Diagram klas
- pomiędzy dwoma klasami istnieje powiązanie ( związek ) jeżeli obiekty pierwszej klasy są w ramach dziedziny przedmiotowej w pewien sposób powiązane z obiektami z drugiej klasy
obiekt klasy służy do modelowania konceptualnego
związki ( 1:1, 1;n, n:n )
Krotność ( liczność ) |
Symbol graficzny |
Jeden |
1 |
Zero lub jeden |
0...1 |
Jeden lub wiele |
1...* |
Podana liczba |
5 |
Zakres liczb |
4...7 |
Zakres lub liczba |
3...7, 10 |
Student Wykład
1...* 1...*
10...20
0...*
Grupa laboratoryjna
Student może ale nie musi być przydzielony do wielu grup laboratoryjnych, do grupy laboratoryjnej musi być przypisanych nie mniej niż 10 i nie więcej niż 20 studentów. Student uczęszcza na wiele wykładów, wykład jest prowadzony dla wielu studentów
Możliwość opisania związków za pomocą pól które nie są za polami z żadnej z klas
Klasa pasażerów i klasa lot
Pasażer lecący danym lotem zajmuje jedno konkretne miejsce, miejsce ( numer ) nie opisuje ani lotu ani pasażera, jest opisem samego związku
Związek opisany dodatkową klasą która opisuje miejsce pasażera w danym locie
Pasażer 1...* 1...* Lot
miejsce
Związek uogólnienia ( generalizacji, specjalizacji )
Dwie klasy pozostają w związku uogólnienia jeżeli jedna z nich zawiera specjalizację, jest rodzajem drugiej
Klasa specjalizująca jest typem klasy uogólnionej uogólnienie
Klasa osoba Osoba student
to uogólnienie
klasy pracownik
uogólnienie
Klasa pracownik Pracownik
to uogólnienie
klasy kierownik projektu klasa generalizacji
uogólnienie
Kierownik klasa specjalizacji
Projektu
Generalizacja może mieć wiele specjalizacji i na odwrót
Dziedziczenie jest wynikiem związku uogólnienia
Osoba
Pesel
Data urodzenia
Imie i nazwisko
Adres
Wylicz wiek ( )
Student
Numer indeksu
Średnia ocen
Stypendium ( )
Pracownik
Data zatrudnienia
Stanowisko
Stawka godzinowa
Zarobek ( )
Staż pracy ( )
Kierownik
Projektu
Liczba projektów
Dodaj nowy
Projekt ( )
Związek - uogólnienia: ( można zauważyć pomiędzy )
przypadki użycia
aktorzy
Jeśli mamy generalizację taką że jest tylko 1 klasa będąca generalizacją.
Jeśli dana specjalizacja ma jedną generalizację to zachodzi dziedziczenie pojedyncze
Jeśli dana specjalizacja ma większą liczbę generalizacji to znaczy może dziedziczyć od wielu klas będących generalizacjami mówimy wtedy o zjawisku wielodziedziczenia
Element element
Oprocentowany do ubezpieczenia
dziedziczenie
wielodziedziczenie pojedyncze
Aktywa
wielodziedziczenie
Rachunek nieruchomość papier
Bankowy wartościowy
dziedziczenie pojedyncze
Rachunek rachunek akcje obligacje
bieżący oszczędnościowy
Związek agregacji ( związek całość - część )
Jeżeli obiekt pewnej klasy tworzy całość składającą się z obiektów innych klas stanowiących części, w tym związki obiektów należące do całości, nie muszą być tego samego typu co obiekty stanowiące części.
Związek agregacji w szczególnym przypadku sprowadza się do kompozycji, dotyczy on wtedy bytów tego samego typu
wszystkie części w kompozycji przynależą tylko do jednej części
- zlikwidowanie tej całości pociąga za sobą likwidację tych części
W przypadku agregacji ( normalnym ) - byty mogą być różnych typów i części występujące mogą przynależeć do więcej niż jednej całości
- likwidacja całości nie likwiduje części
przykład
związek zawierania się
Kompozycja uczelnia składa się z wydziałów
Agregacja
Ten sam typ
Uczelnia ma wydział
1 1...* 1...*
całosć część całość
różne typy zatrudnia
każda część część
przynależy do wykładowca
jednej, jedynej 1...*
całości
( likwidacja uczelni ( całości ) )
( likwiduje wydział ( część ) )
szczególnym przypadkiem agregacji jest agregacja tego samego typu.
WYKŁAD XII
Diagramy przejść stanów obiektowe ( state charts )
diagram dynamiczny ( zależności czasowe nałożone na byty - klasy i obiekty )
nazywany również diagramem Harela
diagram Harela nawiązuje do automatu skończonego, opisuje on stany pewnego procesu które są istotne z punktu widzenia modelu pojęciowego tego procesu oraz przejścia pomiędzy stanami.
Diagram Harela odwzorowywał stany obiektów pewnej klasy podczas ich cyklu życia oraz przejścia pomiędzy stanami powodowanych przez zdarzenia lub komunikaty
Zdarzenia to fakty które zachodzą w otoczeniu systemu ( zdarzenia zewnętrzne ) bądź fakty zachodzące wewnątrz systemu ( zdarzenia wewnętrzne ) i one oddziaływując na system informatyczny mogą spowodować zmianę stanu obiektów systemu.
Komunikat ( druga przyczyna wywołania zmiany systemu ) - jeśli komunikat jest wysyłany do obiektu pewnej klasy oznacza to żądanie wykonania jednej z operacji przypisanej do tej klasy. Wywołanie komunikatu to wywołanie metody przypisanej do tej klasy. Nazwa komunikatu jest zazwyczaj nazwą wywoływanej metody.
Wysyłanie komunikatu może się wiązać z przekazaniem pewnych danych wejściowych do wywoływanej metody oraz z pobraniem danych wyjściowych tej metody.
Diagram stanów obiektów może pokazywać dynamikę zmian systemu, dynamikę zmian grup klas lub dynamikę zmian jednej klasy. Zależy jak na ten diagram patrzymy.
Jeżeli patrzymy na diagram Harela w odniesieniu do danej klasy obiektów to na tym diagramie są wszystkie stany przez które klasa może przejść.
( diagram ten będzie analogiczny do diagramy życia encji ( ELH ), ale nie będzie struktury drzewa )
jeżeli diagram przejść stanów prezentuje dynamikę zmian wykonywanych w systemie funkcji ( funkcje te realizowane są w metodach przypisanym poszczególnym klasom ) to tak rozumiany diagram stanów służy do prezentowania sposobu realizacji funkcji systemowych.
UWAGA
Jeżeli diagram stanów dotyczy historii życia obiektu w klasie to na tym diagramie pokazywane są stany jednego typu obiektów ( jednej klasy )
Elementy obiektowe diagramu przejść stanów :
zdarzenia
stany
przejścia ( transformacja )
akcja
operacja
zdarzenie - klasa zjawisk na które system reaguje w pewien sposób, w pewien podobny sposób
stany - pewien okres czasu w którym znajduje się system lub obiekt, trwa niepomijalny kawałek czasu, jest to okres czasu jaki upływa pomiędzy dwoma kolejnymi zdarzeniami które to pierwsze zdarzenie spowodowało że nasz byt wszedł w ten stan, trwał niepomijalny kawałek czasu i potem drugie zdarzenie powoduje że wychodzi obiekt z tego stanu
przejście ( transformacja ) - przejście z jednego do drugiego stanu zaistniałym zdarzenie wywołującym zmianę stanu i może być jeszcze uwarunkowane spełnieniem pewnych warunków. Przejście odbywa się natychmiastowo, czas trwania jest pomijany
akcja - czynność wykonywana w momencie zajścia zdarzenia ponieważ zdarzenie też trwa króciutko to akcja jest wykonywana natychmiast, w pomijalnie krótkim czasie
operacja - czynność której wykonanie trwa niepomijalny kawałek czasu
operacje wykonywane są gdyby system był w jakimś stanie a stan system na daną chwilę jest stabilny
akcja jest wykonywana w momencie zajścia zdarzenia a system na daną chwilę jest niestabilny
operacja może zostać przerwana w momencie zajścia zdarzenia, takiego któ®e powoduje wyjście z danego stanu
jeżeli operacja kończy się samoczynnie to kiedy się k0ończy generuje zdarzenie które może powodować przejście do innego stanu
jak na diagramie są opisywane stany i przejścia ?
stan i-ty nazwa stanu
entry: akcja wejściowa
słowa
do: operacja
kluczowe
exit: akcja wyjściowa
opis stanu
zdarzenie (parametr) [warunek] / akcja
( to nie powoduje opuszczenia
tego stanu )
Entry - wejście do stanu, po tym stanie wypisuje się akcje wykonawczą w momencie wejścia do stanu niezależnie od tego jakie zdarzenie spowodowało przejście
Exit - po tym słowie wymienia się akcję wykonywania w momencie wyjścia ze stanu niezależnie od zdarzenia które spowodowało wyjście
Do - po nim wymienia się operację wykonywane w tym stanie i w dowolnym stanie może być wykonywanych wiele operacji
w ramach opisu stanu wymienia się również zdarzenia których zajście nie powoduje przejścia do innego stanu
Przejścia między stanami
Zdarzenie (parametr) [ warunek ] / akcja
Stan k stan k + 1
Komponenty następne
START END
Entry: wypłacalny=1 Zapłata nowego rachunku (suma zapłaty)[suma > posiada - limit ]
/ zarejestruj niewypłacalność konta
Klient klient
Wypłacalny niewypłacalny
exit: wypłacalny=0 entry: ustaw
exit: wypłacalny=2 klienta = 2
nowy rachunek (suma do zapłaty)[suma = posiada - winien]
/ klient z kontem zerowym
uzyskał status klienta (wpłata) [wpłata]
/ zapisz jako klient wypłacalny
exit = ustaw klient
status klienta = 0 z kontem
Rejestracja uzyskał status klienta banku (wpłata) [wpłata = 0] zerowym
Nowego / zapisz zerowe konto
Klienta entry = zapisz
Konto zerowe
Stany można dekomponować ( czyli traktować jak strukturalne )
WYKŁAD XIII
Klasa urządzenie
Urządzenie
kod urządzenia
cena
nazwa
marża
wylicz nową cenę ( );
Diagram stanów
Z diagramu stanów wybieramy stan - urządzenia niesprzedane.
Urządzenia niesprzedane
akcja
Zmiana marży / zmiana ceny
Zdarzenie komunikat ( wywołanie operacji przyporządkowanej do klasy )
Urządzenia sprzedane
Do: aktualizacja gwarancji
Akcja wejściowa: zaznaczamy ją po słowie entry. Jeżeli w przypadku przechodzenia z innych stanów do jednego stanu za każdym razem wykonuje się te same akcję to umieszczamy ja wewnątrz stanu jako akcję wejścia zapisywaną po słowie kluczowym entry
Akcja wyjściowa: zaznaczamy ją po słowie kluczowym exit jako tę czynność która wykonywana jest zawsze przy wychodzeniu ze stanu.
Samochód zatrzymany
Entry: zapal światła stopu
Komunikat: (akcja wejściowa) Komunikat
„Naciśnięto hamulec” „zwolnienie hamulca”
Exit: zgaś światła stopu
(akcja wyjściowa)
Reakcja na komunikat z przejściem do tego stanu u reakcja bez przejścia to tego samego stanu ( bez opuszczania stanu )
Start
Komunikat 2 / akcja operacja 2
Komunikat 1
Stan A
Entry: akcja wejściowa / operacja 1
Exit: akcja wyjściowa / operacja 3
Komunikat 3
Po odebraniu komunikatu 1 obiekt wchodzi w stan A i wykonuje się operacja 1 któ®a zawsze wykonywana jest jako akcja wyjściowa.
Operacja 1
Operacja 2
Operacja 3
Po odebraniu komunikatu A wykonywana jest operacja 3 / akcja wyjściowa ze stanu / następnie wykonywana jest operacja 2 jako akcja będąca odpowiedzą na komunikat 2 i obiekt powrotem wraca do stanu A
Po odebraniu komunikatu 2 wykonywana jest akcja wyjściowa ( operacja 3 ) i przechodzimy do końca
Start
Komunikat 1
Stan A
Entry: akcja wejściowa / operacja 1 komunikat 2
Komunikat A / akcja / operacja 2 koniec Exit: akcja wyjściowa operacja 3
B - z chwilą pojawienia się komunikatu 1 wchodzimy do stanu A ( akcja wejściowa / operacja 1 ), dalej jesteśmy w tym stanie. Z chwilą pojawienia się komunikatu 2 następuje opuszczenie stanu A ( akcja wyjściowa / operacja 3 )
Zadanie 1
Na diagramie przejść stanów obiektowym zaznaczyć ( przedstawić ) historię życia obiektu zamówienie uwzględniając te zdarzenia:
złożenie zamówienia
potwierdzenie przyjęcia zamówienia do realizacji
realizacja zamówienia
W przypadku niedotrzymania terminu realizacji zamówienia może nastąpić negocjowanie nowego terminu dostawy i obsługa zamówienia w trybie awaryjnym ( maksymalnie 3 powtórzenia tego trybu ). Po tym czasie jest zamówienie wycofane w trybie awaryjnym.
NIESTETY NIE PRZEPISAŁEM TEGO CAŁKOWICIE WIĘC NIE RYSUJE TUTAJ. ALE JEŻELI KTOŚ CHCE TO NIECH SOBIE Z MOJEGO KOMPA DO ZRZUCI - JEST W KATALOGU STUDENT ( GDZIEŚ NA DYSKU ). I JAK KTOŚ TO BĘDZIE MIAŁ TO NIECH MI PRZERYSUJE DZIĘKI Z GÓRY.
Diagram Sekwencji ( SQD - Sequence Diagram )
(inna nazwa - diagram interakcji )
Budowany w oparciu o scenariusz realizacji przypadków użycia.
Przedstawienie przebiegu przypadków użycia.
Czym się różni diagram sekwencji od DFD ??
W diagramie sekwencji są różne obiekty które się nawzajem komunikują za pomocą komunikatów wysyłanych do siebie ( komunikat jest przeważnie nazwą operacji )
Komponenty diagramu sekwencji
Obiekt
sterujący
Otoczenie
( środowisko ) Obiekt 1 obiekt 2 obiekt 3 obiekt 4
scenariusz
słowny
( kolejne
czynności
w postaci komunikat + nazwa
pseudokodu )
granica systemu obiekty interfejsu granica architektury systemu
granica systemu
komunikat + nazwa
( wywołanie zdarzenia )
komunikat + nazwa komunikaty wynikające
z przebiegu realizacji
przypadków użycia
wynik wywołania operacji /
wynik wysyłania informacji
między obiektami
polega to na wywoływaniu operacji.
Umownie oś czasu jesy skierowana z dołu do góry
- komunikat górne są wcześniej wykonywane niż dolne
Diagram sekwencji dla przypadków użycia obsługa biblioteki - obsługa wypozyczenia
czytelnik <<include>>
zapisanie do bazy danych
zarejestrowanie nowego nowego użytkownika
użytkownika
Obsługa wypożyczenia <<include>> wygenerowanie karty
bibliotecznej
<<include>> <<include>> <<include>>
Sprawdzenie sprawdzenie obsługa
Stanu konta zapłaty
Konta czytelnika kaucji
Wypożyczenie
<<extended>>
Diagram sekwencji dla przypadku użycia obsługa wypożyczenia.
Scenariusz Menu lista dane książka
Główne książek wypożyczenia
Biblioteka wybiera wypożycze -
Opcja wypożyczenia
Książek nie książek
Wyświetl
Pokaż listę
Książek do wyboru listę książek
Dla każde wybranej uruchomienie następnego sprawdź stan książki
Książki następuje przypadku użycia który jest
Sprawdzenie czy nadrzędny z <<include>>
Książka jest w
Magazynie
sprawdź
Sprawdzenie konta
Czytelnika konto czyte -
lnika
( to samo tylko <<extend> )
Pytanie o kaucję zapłata
kaucji
Jeżeli książka jest ustal datę zwrotu
W magazynie to
Trzeba ustalić datę
Zwrotu
Zatwierdź wypożyczenie
Zatwierdzenie
Wypożyczenia
Zmiana stanu
Zatwierdzenie
Zmiany stany
książki
linie życia obiektów
- okres aktywności obiektu
w podejściu strukturalnym nie ma analogicznego diagramu !!!!!!
Strukturalna
Obiektowa
użytkownik ma kontakt z twórcami systemu w tych momentach
Model fizyczny
Instalacja (wdrażanie)
Model logiczny
Testowanie
Projektowanie
Określanie wymagań
Konserwacja (eksploatacja)
Implementacja
(Pisanie kodu).
Faza strategiczna
(rozważania za i przeciw systemowi)
Analiza
(Rozeznać dziedzinę
systemu)
Dokumentowanie - narzędzia CASE
Projektowanie Strukturalne
Składniki bierne:
- struktury danych
Składniki aktywne:
- procesy (przetwarzające dane)
współpraca
równoważenie
Model implementacyjny (fizyczny) - czyli jak zrealizować to co zostało ustalone w modelu logicznym
Model podstawowy (logiczny) - czyli odpowiedzi na pytania co system ma robić
Podmodel środowiskowy
Model zachowań:
- ERD(DCM) - statyczny model struktur danych
- zbiór diagramów DFD - uzyskany w wyniku kroków dekompozycji diagramu kontekstowego DFD
SI0
U1
U2
U3
we
we
We/wy
wy
Obiekty zewnętrzne
Granica SI