1
Inżynieria oprogramowania
wykład 10
Modelowanie analityczne
2/23
Informacje podstawowe
modelowanie jest pierwszym „technicznym” etapem
procesu wytwórczego
efektem modelowania są specyfikacja wymagań i opis
produktu
model analityczny jest pierwszą techniczną reprezentacją
budowanego systemu
istnieją dwie główne metody tworzenia modeli
analitycznych
strukturalna
obiektowa
wykorzystuje się kombinacje tekstu i diagramów do opisu
danych, funkcji i zachowań systemu
3/23
Cechy modelu analitycznego
stanowi dokładny opis wymagań, które klient
stawia systemowi
stanowi podstawę do późniejszych działań
projektowych
stanowi podstawę kryteriów, mogących
posłużyć do sprawdzenia wykonanego produktu
4/23
Składniki modelu analitycznego
słownik
danych
DFD
STD
ERD
opis obiektu
danych
specyfikacja
procedury
specyfikacja przepływu
sterowania
słownik danych → opis obiektów danych
używanych, tworzonych i pobieranych przez
program, podstawa wszystkich modeli (diagramów)
diagram encja-związek (ERD, entity/relationship
diagram) → zależności między obiektami danych,
podstawa tworzenia modeli danych, atrybuty
obiektów danych można przedstawić w oddzielnych
opisach
diagram przepływu danych (DFD, data flow diagram) → wykorzystywany do
opisu sposobów przetwarzania danych oraz procedur przetwarzania danych w
programie ( w tzw. specyfikacji procedur), pomocne w analizie dziedziny
informacyjnej i określaniu modelu funkcji oprogramowania, opisane w tzw.
specyfikacjach procedur
diagram przejść (STD, state transition diagram) → opis zachowań systemu
będących następstwem zachodzących zdarzeń, zawiera opis możliwych stanów
systemu (trybów działania) oraz możliwych przejść (sposobów zmian stanów),
pozostałe informacje o przepływie sterowania znajdują się w specyfikacji
przepływu sterowania
5/23
Modelowanie danych
cel modelowania danych
określenie przetwarzanych obiektów danych
określenie struktury i atrybutów obiektów danych
miejsce przechowywania obiektów danych
określenie związków między obiektami danych
określenia zastosowania procedur przetwarzania obiektów
danych
realizacja → diagramy ERD,
opis obiektów danych
atrybuty obiektów danych
związki między obiektami ale bez metod przetwarzania
6/23
Obiekty danych
obiekt danych złożony element informacji (kilka cech,
atrybutów)
rodzaje:
zewnętrzne elementy współpracujące z programem –
dostarczające i pobierające dane
urządzenia wyjściowe – raporty, monitory
zdarzenia
struktury organizacyjne, miejsca
struktury danych
obiekty mogą łączyć zależności (związki)
obiekty danych nie zawierają opisu działań
przetwarzania danych
7/23
Atrybuty
określają cechy obiektu
typy atrybutów
nazwa
właściwości
odniesienia do innych obiektów
każdy obiekt powinien posiadać przynajmniej jeden
atrybut służący jako klucz wyszukiwania – identyfikator
identyfikator może być unikatowy - identyfikuje wtedy
jednoznacznie dany obiekt
zestaw atrybutów obiektów powinien być dopasowany
do roli obiektu w programie
zestawiane często w postaci tabel atrybutów
8/23
Związki między obiektami
określają wzajemne zależności obiektów od siebie
przykład: laptop– sklep internetowy:
laptop jest zamawiany przez sklep
laptop jest przechowywany przez sklep
laptop jest oferowany przez sklep
laptop jest sprzedawany przez sklep
związki można odczytywać/interpretować w obie strony:
laptop jest sprzedawany przez sklep ↔ sklep sprzedaje laptopy
sprzedaje
przechowuje
zamawia
oferuje
laptop
sklep
internetowy
9/23
Liczebność związku między
obiektami
określa ile wystąpień obiektu A może być związane z
wystąpieniami obiektu B
rodzaje związków (liczebność) *
1-1 (jeden do jeden) → każde wystąpienie obiektu A może być w
związku tylko z jednym wystąpieniem obiektu B i każde wystąpienie
obiektu B może być w związku tylko z jednym wystąpieniem
obiektu A
1-M (jeden do wiele) → każde wystąpienie obiektu A może być w
związku z jednym lub wieloma wystąpieniami obiektu B i każde
wystąpienie obiektu B może być w związku tylko z jednym
wystąpieniem obiektu A (np. uczelnia-wydział)
M-M (wiele do wiele) → każde wystąpienie obiektu A może być w
związku z wieloma wystąpieniami obiektu B i każde wystąpienie
obiektu B może być w związku tylko z wieloma wystąpieniami
obiektu A (np. specjalność-student)
* G. Tillmann: A practical quide to logical data modeling. McGraw-Hill, 1993
10/23
Modalność związku
określa powiązanie wystąpienia obiektu
związaną z wystąpieniem innego obiektu
wartości modalności:
0 → związek opcjonalny, wystąpienia obiektu A mogą
ale nie muszą być związane z wystąpieniem obiektu
B, co najmniej jedno wystąpienie encji może nie
uczestniczyć w związku
1 → związek obowiązkowy, wszystkie wystąpienia
encji muszą uczestniczyć w związku
11/23
Diagramy encja-związek
reprezentują graficznie obiekty danych i związki między nimi
mogą zawierać również oznaczenia liczebności i modalności
związku
można tworzyć również diagramy hierarchii typów i diagramy
obiektów połączonych
zamówienie
składa
klient
liczebność: do
zamówienia przypisany
jest 1 klient
modalność: zamówienie
związane jest z klientem
modalność: klient może
złożyć zamówienie
liczebność: klient
może składać
wiele zamówień
zw. opcjonalny
zw. obowiązkowy
liczebność M
liczebność 1
12/23
Diagram encja-związek -
przykład
sklep
sprzedaje
komputer
produkuje
producent
wynajmuje
firma
transportowa
dostarcza
zw. opcjonalny
zw. obowiązkowy
liczebność M
liczebność 1
oznaczenia:
13/23
Hierarchia typów i obiekty
połączone
komputer
ekran
płyta gł.
procesor
obudowa
komputer
przenośny
stacjonarny
17’’
15’’
hierarchia
typów
obiekty
połączone
14/23
Modelowanie funkcji i przepływu danych
systemy informatyczne przetwarzają dane wejściowe i
udostępniają wyniki jako dane wyjściowe
dane wejściowe:
sygnały z przetworników
ciągi wpisywane przez operatora/użytkownika
informacje z baz danych
dane z sieci komputerowej, itp..
dane wyjściowe:
sygnał do układu sterowania
raporty
wyniki na ekranie, itp..
przetwarzanie danych: obliczenia arytmetyczne,
zastosowanie skomplikowanych algorytmów,
wnioskowanie za pomocą systemu ekspertowego, itp..
15/23
Diagram przepływu danych -
DFD
pokazują zależności między procedurami
przetwarzającymi dane
pokazują sposoby przekształcania danych
wejściowych na wyjściowe
budowane często w postaci grafów
mogą być tworzone dla różnych poziomów
szczegółowości
16/23
Diagram DFD - przykład
element
zewnętrzny
procedura
1
element
zewnętrzny
procedura
2
procedura
3
procedura
4
element
zewnętrzny
element
zewnętrzny
dane
wejściowe
dane
wejściowe
dane
wyjściowe
dane
wyjściowe
dane
pośrednie
dane
pośrednie
dane
pośrednie
magazyn danych
dane
zapisywane
dane
odczytywane
17/23
Modelowanie zachowania
wykorzystywane diagramy przejść między
stanami – STD
zawierają opisy zachowań systemu, stany
systemu i zdarzenia które mogą spowodować
zmianę stanu
zawierają również opisy reakcji systemu na
zdarzenia
18/23
Diagram przejść - przykład
kopiowanie
ładowanie
papieru
odczyt
poleceń
diagnozowanie
problemu
podajnik pełny
kopiuj
bezczynny
czytaj polecenie
podajnik pełny
czytaj polecenie
zacięcie usunięte
czytaj polecenie
brak papieru
załaduj papier
zacięcie papieru
diagnozuj problem
możliwe
zmiany stanu
stany
systemu
zdarzenie pow.
zmianę stanu
proc. po
zajściu
zdarz.
19/23
Słownik danych
obiekty danych są wykorzystywane do
modelowania związków, przepływu danych i
sterowania oraz modelowania zachowań systemu
informacje opisujące obiekty danych:
nazwa
synonim
miejsca i sposoby użycia (lista procedur używających
obiektu i sposobów użycia) – można odczytać z modeli
przepływu
zawartość obiektu
dodatkowe informacje o typach danych, wartościach
domyślnych, ograniczeniach itp..
20/23
Notacja do opisu obiektów
danych
konstrukcja: sekwencja, wybór, powtórzenie
notacja i znaczenie
=
składa się z
+
i
[ | ]
albo
{ }
n
n powtórzeń
( )
dane opcjonalne
*…*
komentarz
elementy słownika mogą być złożone i powinny
być wówczas oddzielnie opisane
21/23
Przykład opisu obiektu danych –
system sterowania klimatyzacją
nazwa → sygnał sterujący
synonimy → brak
miejsce/sposób użycia
wyjście → układ sterowania porównujący temp.
aktualną i temp. żądaną
wejście → klimatyzator
opis →
[ 0 | 1 ]
1 = * włącz klimatyzator *
0 = * wyłącz klimatyzator *
22/23
Inne metody prowadzenia
analiz
strukturalna metoda tworzenia systemów DSSD
metoda Jacksona JSD
technika analizowania i projektowania
strukturalnego SADT
23
Dziękuję za uwagę
źródło: „Praktyczne podejście do inżynierii oprogramowania”, R.S. Pressman