background image

1

Inżynieria oprogramowania

wykład 10

Modelowanie analityczne

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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 

background image

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

background image

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:

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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.

background image

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

background image

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

background image

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 *

background image

22/23

Inne metody prowadzenia 
analiz

strukturalna metoda tworzenia systemów DSSD

metoda Jacksona JSD

technika analizowania i projektowania 
strukturalnego SADT

background image

23

Dziękuję za uwagę

źródło: „Praktyczne podejście do inżynierii oprogramowania”, R.S. Pressman