PSI - wszystkie wykłady3, politechnika infa 2 st, Projektowanie Systemów Informatycznych


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ą:

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

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:

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

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

Strukturalna

Obiektowa

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

Szkolenie pracowników odbywa się podczas m.in. projektowania i testowania

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.

0x08 graphic
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)

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

0x08 graphic
Jest tu sprzężenie zwrotne - modyfikacja wymagań według wskazówek użytkownika

0x08 graphic

Ad. 2)

0x01 graphic

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

0x08 graphic
0x08 graphic
Kalkulacja kosztów

1987 Barry Boehm

0x08 graphic
0x01 graphic

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

0x08 graphic
0x08 graphic

Strukturalne podejście ( lata 60 ) obiektowe podejście (lata 80)

0x08 graphic
0x08 graphic

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

0x08 graphic
0x08 graphic

Osobno projektowane
elementy aktywne
i elementy bierne
a potem następuje
ich złożenie

Podejście strukturalne

0x08 graphic
0x08 graphic

0x08 graphic

Równoważenie

0x08 graphic

Powstaje spójna klasyczna analiza współczesna analiza
i niesprzeczna całość strukturalna strukturalna

(De Marco) (Edward Yourdon)

Według Przemysława Kubisy

0x01 graphic








WYKŁAD III

0x08 graphic

0x08 graphic
0x01 graphic

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:

  1. zbudowanie modelu fizycznego istniejącego systemu informacyjnego(opis systemu informacyjnego)

  2. Stworzenie modelu logicznego systemu informacyjnego

  3. zbudowanie modelu logicznego docelowego systemu

  4. zbudowanie modelu fizycznego docelowego systemu

  5. szacowanie kosztów dla zaprezentowanych modeli z punktu 4

  6. wybór odpowiednich właściwości modelu

  7. specyfikacja systemu uwzględniająca podział całości na podsystemy

Wady:

E. Yourdan

Metodyka Yourdana - zwana współczesną analizą strukturalną

Funkcje można wyliczyć na podstawie zdarzeń zachodzących w systemie oraz na które system reaguje.

Metodyka Yourdana0x08 graphic
0x01 graphic

Model środowiskowy stanowi idealny model wymagań systemu.

0x08 graphic
0x01 graphic

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 )

WYKŁAD IV

Podstawowe pytania związane z Systemem Informatycznym niezależnie od metodyki:


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:

0x08 graphic
0x08 graphic
0x08 graphic

nazwa lub nr nazwa (procesu)

0x08 graphic
nr

0x08 graphic

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ę .

0x08 graphic
0x08 graphic

Lista Zdarzeń Funkcje (Zadania)

0x08 graphic
0x08 graphic
1. 1.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
2. Kolejne 2. Funkcje które System wykonuje
3. zdarzenia 3. aby obsłużyć dane Zadanie

4. 4. (hierarchiczna zależność)

0x08 graphic

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

0x08 graphic
0x08 graphic

Zdarzenia zachodzące w Systemie Funkcje

0x08 graphic

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

0x08 graphic
0x08 graphic

DRZEWNO PROCESÓW (FUNKCJI)

0 - System Informatyczny - BIBLIOTEKA

1 - Obsługa nowego czytelnika

    1. - Pobranie danych nowego użytkownika

    2. - Dodanie rekordu czytelnika do bazy danych

    3. - 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 )

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

0x08 graphic
0x08 graphic
9 b

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Czytelnik Czytelnik

0x08 graphic
0x08 graphic
8

0x08 graphic
11

0x08 graphic

7

0x08 graphic

0x08 graphic
0x08 graphic
BIBLIOTEKA

0x08 graphic
0x08 graphic
Proces 0

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
4 5

0x08 graphic

3 2

0x08 graphic
6

0x08 graphic
Czytelnik

0x08 graphic
1

0x08 graphic
Pracownik (bibliotekarz)

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

0x08 graphic
- obiekt zewnętrzny

0x08 graphic
- przepływ danych

0x08 graphic

0x08 graphic
0x08 graphic
- 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.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
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

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
y

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
x z

0x08 graphic
0x08 graphic
Obiekt 1 1 2

0x08 graphic

w

0x08 graphic

Obiekt 2

0x08 graphic
0x08 graphic
- magazyn danych ( składnica danych )

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Delete, Update, Create

0x08 graphic
0x08 graphic

- 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

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

tylko przepływ aktualizujący może cokolwiek zmieniać w magazynie danych.

Dokonujemy Dekompozycji nr. 1

Generuje diagram potomny względem procesu 1

0x08 graphic
0x08 graphic
0x08 graphic
Zasada tworzenia diagramu DFD potomnego. Do procesu 1 bierzemy wszystkie przepływy wychodzące i wchodzące do prcesu

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
Obiekt 1 x

w

0x08 graphic
0x08 graphic

0x08 graphic
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

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
Magazyn x

0x08 graphic
0x08 graphic

0x08 graphic
1.1

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
Obiekt 1 x

0x08 graphic
1.2 magazyn y

0x08 graphic
0x08 graphic
w

0x08 graphic

obiekt 2

z

0x08 graphic

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.

0x08 graphic
0x08 graphic

a b

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
a + b = c + d

0x08 graphic
0x08 graphic
d c

0x08 graphic
0x08 graphic

WYKŁAD V

Uwagi dotyczące modelu zachowań ( model Yourdona )

Dynamika Systemu

0x08 graphic
0x08 graphic

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:

Uwagi na temat DFD:

0x08 graphic
agregacja z

0x08 graphic
1.1

0x08 graphic

0x08 graphic
y x y

0x08 graphic

0x08 graphic
1.2


1.1.1

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
x

0x08 graphic

1.1.3

0x08 graphic

z

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

0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic
0x01 graphic

równoważenie

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
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ć )

DIAGRAM PRZEJŚĆ STANU SYSTEMU

Komponenty diagramu przejść stanu

0x08 graphic

START

0x08 graphic

przejście

A1

0x08 graphic
0x08 graphic
C1

0x08 graphic
0x08 graphic
0x08 graphic
Stan i-ty stan

0x08 graphic
0x08 graphic

C5 przejście C3

C2 - warunek A3

A2 - akcja

0x08 graphic

0x08 graphic
0x08 graphic
Stan j-ty

0x08 graphic

C4

0x08 graphic

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:

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.

0x08 graphic
0x08 graphic

DFD x Proces sterujący Mój komputer

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

r

y

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

z w
0x08 graphic
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

0x08 graphic

A: r

C: mój komputer

0x08 graphic

0x08 graphic
Stan 1 Wyświetla listę dysków

0x08 graphic

C: x

A: y

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
Stan 2 Wyświetla listę folderów dla

wybranego dysku

C: z

A: w

0x08 graphic
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.

0x08 graphic
ERD < = > DFD

Znajdujemy encje w składnicach danych.

Oddziaływają na procesy w DFD

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Zdarzenia Procesy

Przepływy

DFD

Przepływy wyjściowe do składnic danych

Aktualizacja

Składnic

0x08 graphic
Danych

Encje podlegają

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
W składnicach są encje zmianie stanu

0x08 graphic
( 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:

  1. wybór encji nas interesującej ( wybieramy to z ERD - tutaj encją jest konto klienta )

  2. na DFD szukamy tej encji ( w postaci magazynu danych )

  3. teraz przepływy aktualizujące

Ustalenie limitu funkcje wstrzymania

0x08 graphic
0x08 graphic
Dezaktywacja konta

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

2 3

nowy

rekord

0x08 graphic

Konto klienta

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

Obciążenie konta Spłaty

0x08 graphic
0x08 graphic
4 7

przepływ typu R R - read ( przepływ czytający )

0x08 graphic

A tu jest ta encja Konto Klienta

0x08 graphic

0x08 graphic
Konto klienta z ERD ( CPM )

0x08 graphic

- atrybut 1
- atrybut 2
- atrybut
3

0x08 graphic

0x08 graphic
Odpowiada encji na ERD (skojarzenie)

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

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 )

0x08 graphic

Nazwa encji

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Zdarzenie Zdarzenie Zdarzenie Zdarzenie

Sekwencyjne złożone złożone złożone

0x08 graphic
0x08 graphic

0x08 graphic

Na danym poziomie naszego drzewa
odczytujemy w umowny sposób kolejność
zdarzeń. Zdarzenie na lewo jest
wcześniejsze od zdarzenia na prawo itd.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Zdarzenie * Zdarzenia 0x01 graphic
Zdarzenia 0x01 graphic
Zdarzenia 0x01 graphic

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

0x08 graphic

Konto klienta

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

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

  1. normalnego, typowego cyklu życia

  2. rozważenie zdarzeń specjalnych (wyjątkowych)

  3. rozważenie sytuacji błędnych, awaryjnych

WYKŁAD VIII

Równoważenie ELH z DFD

Po co z ELH ??

Analiza zdarzeń na ELH powoduje:

tworzenie ELH w prawidłowym cyklu życia encji odbywa się według harmonogramu:

  1. wybranie zdarzeń oddziaływujących na dane encje z tablicy krzyżowej

  2. ustalanie sekwencji zdarzeń na danym poziomie drzewa historii życia encji

  3. sprawdzenie czy pewne zdarzenia mają zachodzić warunkowo ( czy możliwa jest selekcja zdarzeń )

  4. sprawdzenie czy zdarzenia mogą być iteracyjne ( zachodzące wielokrotnie )

  5. jeśli iteracje występują to czy przypadkiem nie zmieniają one sekwencji zdarzeń

  6. czy system traktuje jednakowo wszystkie iteracje zdarzeń jednego, danego typu

0x08 graphic

Konto klienta encja ( dla nie robimy ELH )

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Założenie pożyczka spłata zamknięcie konta

0x08 graphic

0x08 graphic
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 )

0x08 graphic
Konto klienta

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

Założenia Zmiany na koncie Zamknięcie konta

0x08 graphic

0x08 graphic

Cykl

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

Otrzymanie pożyczki cykl spłaty ostatnia spłata

0x08 graphic

0x08 graphic

Splata

Identyfikacja sytuacji błędnych oraz warunków wyjątkowych w życiu encji

  1. Klient zrezygnował z pożyczki

  2. Klient stał się bankrutem ( przedwczesne zakończenie życia encji )

AD 2.

Konto klienta

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Założenie 1 zmiany zamknięcie

0x08 graphic

0x08 graphic
0x08 graphic

Cykl * po to aby system mógł zlikwidować konto

0x08 graphic
Klienta w sposób nietypowy

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
Normalny 0x01 graphic
Nadzwyczajny 0x01 graphic
0x01 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Pożyczka cykl spłaty * ostatnia spłata odrzucenie unieważnienie

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

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

  1. 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

  2. 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

    1. DFD

    2. Listy zdarzeń ( zdarzenia zewnętrzne i wewnętrzne )

    3. Określanie przeznaczenia i celu systemu

    4. Kompletny zbiór zrównoważonych DFD ( bilanse pionowe ) - dotyczy to również diagramów ERD, STD i ELH

    5. Kompletny diagram ERD ( związków encji )

    6. Kompletny zbiór diagramów STD

    7. Zbiór diagramów ELH

    8. Kompletny słownik danych dla fazy analizy

    9. 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ż )

0x08 graphic
0x08 graphic
0x08 graphic

zdarzenia

0x08 graphic
0x08 graphic
DFD ELH Procesy z przepływami
aktualizującymi składnicę

DFD z ERD

0x08 graphic
Każdej encji odpowiada jeden magazyn danych

0x08 graphic

0x08 graphic
Encja

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

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ć )

istota projektowania strukturalnego: !!!!!!!!!!!!!!!!!

MODEL IMPLEMENTACYJNY ( FIZYCZNY )

Określa w jaki sposób system ma zostać zrealizowany przy użyciu dostępnych środków technologicznych

  1. Dostępne narzędzia

  2. Dostępne środowisko systemowe ( system operacyjny )

  3. ś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)

0x08 graphic
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 ?

0x08 graphic
0x08 graphic
Model logiczny ( podstawowoy )

DFD

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
Dane Wejście Przetworzenie Wyjście Wyniki

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
INPUT PROCESS OUTPUT

Transformacja ( przekształcenie )

0x08 graphic
Model fizyczny ( implementacyjny ) jest to model

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
oprogramowania

Sterowanie

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

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 )

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



Wyszukiwarka

Podobne podstrony:
PSI - wszystkie wykłady, politechnika infa 2 st, Projektowanie Systemów Informatycznych
PSI - wszystkie wykłady2, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Wykład X, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Wykład VII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Wykład XI, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Wykład VII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Wykład XII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
WYKŁAD XIII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Wykład IX, politechnika infa 2 st, Projektowanie Systemów Informatycznych
02 PSI, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Wykład VIII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Wykład VII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
ExamZero, politechnika infa 2 st, Projektowanie Systemów Informatycznych
04 Systemy ekspertowe, politechnika infa 2 st, Projektowanie Systemów Informatycznych
01 BD, politechnika infa 2 st, Projektowanie Systemów Informatycznych
logistyka wszystkie wykłady politechnika poznańska
wyklad(1), Politechnika Wrocławska - Materiały, teoria systemow
RSTANU, politechnika infa 2 st, Modelowanie cyfrowe
projektowanie inżynierskie, Projektowanie strukruralne i obiektowe-WYKŁAD 8, PODSTAWY PROJEKTOWANIA

więcej podobnych podstron