głuchowski,inżynieria oprogramowania, Modelowanie konceptualne

background image

Modelowanie konceptualne

Faza określania wymagań: co i przy jakich ograniczeniach system ma zrobić. Wynik: zewnętrzny
opis systemu.
Faza analizy: jak system ma działać. Wynik: logiczny model systemu.
Faza projektowania: jak system ma zostać zaimplementowany. Wynik: projekt.

Strukturalne metody analizy:

model danych – diagram encji i związków (Entity-Relationship Diagram)

model dynamiki – diagram stanów

model funkcjonalny – diagram przepływu danych (Data Flow Diagram)

Diagram związków i encji

Konstruktory:

encja

reprezentuje obiekty materialne i koncepcyjne

musi być jednoznacznie identyfikowalna (nazwa)

wszystkie encje wzajemnie się wykluczają

encje silne zawierają atrybuty kluczowe

encja słaba nie ma takich atrybutów, jest powiązana z co najmniej jedną silną encją

atrybut

modeluje własność encji

zadania: identyfikacja, opis, klasyfikacja, określanie ilości lub wyrażenie stanu encji

przykładowo: numer zamówienia – identyfikacja, typ towaru – klasyfikacja, status
płatności – wyrażenie stanu etc.

mogą być jedno lub wielowartościowe

mogą być kluczowe (jednoznacznie determinować encję) lub niekluczowe (ew.
kluczowe w innych encjach)

mogą być obowiązkowe i opcjonalne

związek

relacja R pomiędzy n zbiorami encji E1, …, En

posiada stopień – liczbę wiązanych encji (unarny, binarny, ternarny)

typ asocjacji

liczba wiązanych instancji encji

1:1 (np. dziekan - wydział)

1:n (np. wydział - student)

m:n (np. książka – autor)

Supertyp – encja, która zawiera jedną lub więcej kategorii (subtypów) podwiązanych za pomocą
relacji; subtypu muszą się wzajemnie wykluczać.

Przykład: Pracownik może być pracownikiem etatowym lub pracownikiem na umowę zlecenie.

background image

Diagram przepływu danych

przedstawia graficzny model procesów w systemie – bez odniesienia kiedy i jak zostały
wykonane

odzwierciedlają ruch danych w systemie rzeczywistym

pozwalają patrzeć na system na różnych poziomach szczegółowości

DFD jest głównym modelem dla programów nieinteraktywnych (np. kompilatorów), których
głównym zadaniem jest obliczanie wartości funkcji. Dla systemów służących do składowania
danych (np. bazy danych) DFD jest często trywialny, gdyż celem jest składowanie danych, a nie ich
transformacja.

Na proces składają się następujące elementy:

Terminatory — obiekty zewnętrzne stanowiące odbiorców bądź źródła danych lub
argumentów funkcji.

reprezentują źródła lub miejsca przeznaczenia informacji, które są zewnętrzne w
stosunku do systemu (np. osoba lub inny system komputerowy)

obiekt generujący lub przejmujący strumienie danych

Składnice (magazyny) danych — trwałe lub tymczasowe składnice danych, które są
argumentami dla funkcji.

reprezentują miejsca, gdzie dane są przechowywane między operującymi na nich
procesami

są dostępne tylko dla procesów co oznacza, że magazyn nie może się łączyć
bezpośrednio z terminatorem

przepływ do składu interpretowany jako zapis, modyfikacja lub usunięcie danych

Procesy — (funkcje) realizują określone cele; jeśli funkcji nie można rozbić na pod-funkcje,
wówczas nosi ona nazwę elementarnej.

odpowiadają tym składnikom systemu, które operują na danych

otrzymują i przesyłają dane za pośrednictwem przepływów danych

dokonują transformacji przepływów wejściowych i wyjściowe

Przepływy — elementy pokazujące kierunek przesyłu danych (np. bajtów, znaków,
pakietów).

opisują strumienie danych o określonej zawartości przepływające pomiędzy:

terminatorami a procesami

procesami a procesami

procesami a składnicami danych

Oznaczenia:

proces – kółko

magazyn – prostokąt

terminator – kwadrat

przepływ – strzałka

Pamiętajmy:

terminatory leżą poza modelowanym systemem

przepływy łączące terminatory do różnych składowych reprezentują interfejsy pomiędzy
systemem a światem zewnętrznym

analityk/projektant nie może zmieniać zawartości terminatora

background image

dowolna relacja istniejąca pomiędzy terminatorami nie może być pokazana na diagramie
DFD

Diagramy DFD są rozbudowane, więc zazwyczaj tworzymy diagramy hierarchiczne, które:

składają się z zestawu powiązanych diagramów

posiadają następujące poziomy:

diagram kontekstowy

przedstawiony jako jeden proces oznaczający cały system wraz z przepływami do i
od terminatorów

diagram ogólny

przedstawia główne funkcje systemu

najbardziej ogólne spojrzenie na system (posiada kilka procesów, terminatorów i
magazyny)

diagram 1-go poziomu

diagram 2-go poziomu

Liczba poziomów nie powinna przekroczyć 7 +- 2.

Diagram przejść przez stany STD (State-Transition-Diagram)
Pokazuje zachowanie się systemu w czasie (szczególnie istotne dla systemów czasu rzeczywistego).
Ze względu na swoją elastyczność może też służyć do prezentowania sposobu realizacji funkcji
systemu.

Konstruktory:

zdarzenie

informuje o tym, co wydarzyło się w pewnej chwili

ma zerowy czas trwania

reprezentuje pewną klasę zjawisk o podobnej reakcji systemu, np.:

pociąg odjeżdża ze stacji

wybranie polecenia z menu

przekroczenie określonej temperatury

zdarzenia zachodzące poza systemem to zdarzenia zewnętrzne, np.:

wprowadzanie danych
przerwanie operacji przez użytkownika

zdarzenia wewnętrzne mają swoje źródło w ramach systemu, np.:

zakończenie wykonywania metody

błąd arytmetyczny

stan

czas między zdarzeniami

system w różnych stanach reaguje w sposób jakościowo rożny na zachodzące zdarzenia

przejście

zmiana stanu wywołana przez zdarzenie

przejście może być uwarunkowane spełnieniem dodatkowego warunku

akcja

czynność wykonywana w momencie zajścia zdarzenia

wykonywanie obliczeń

odłożenie słuchawki

operacja

background image

związana z konkretnym stanem

oznacza czynność ciągłą, wykonywaną podczas trwania stanu

operację może przerwać zdarzenie powodujące przejście do nowego stanu

zakończenie operacji może spowodować wygenerowanie zdarzenia i przejście do innego
stanu

monitorowanie czujnika

wyświetlanie aktualnego czasu

Weryfikacja jakościowa STD:

czy zdefiniowano wszystkie stany

czy wszystkie stany są osiągalne

czy istnieją wyjścia ze wszystkich stanów (poza końcowymi)

czy w każdym stanie system odpowiada poprawnie na wszystkie możliwe warunki

Jakość

Model McCalla:

przyjazność – efektywność użytkowania programu i przyjazność jego interfejsu

bezpieczeństwo – bezpieczeństwo używania programu pod kątem kontroli do korzystania z
niego oraz odporności na skutki nieprawidłowej obsługi

wydajność – ocena wydajności systemu i sposobów zarządzania zasobami

poprawność – stopień realizacji wymagać, kompletność i logiczność wdrożenia, zgodność
działania programu ze specyfikacją

pielęgnowalność – stopień przystosowania programu do poprawy, modyfikacji,
rozszerzenia, adaptowania

elastyczność – możliwości rozbudowania programu o nowe funkcje oraz uniwersalność
wdrożonych rozwiązań

testowalność – przystosowanie do procesu testowania oraz instrumentacja tego procesu

przenośność – zdolność do łatwego uruchomienia na innych maszynach lub systemach
oprogramowania

uniwersalność – możliwość wykorzystania istniejącego oprogramowania lub jego
fragmentów do konstrukcji innych programów

otwartość – przystosowanie programu do współpracy lub wymiany informacji z innymi
systemami komputerowymi

Zapewnienie jakości
Fazy:

planowanie

nadzorowanie

doskonalenie


Wyszukiwarka

Podobne podstrony:
głuchowski,inzynieria oprogramowania ,modelowanie struktury i dzialania cz2(1)
głuchowski,inzynieria oprogramowania ,modelowanie struktury i dzialania(1)
głuchowski,inżynieria oprogramowania, Weryfikacja i walidacja
głuchowski,inżynieria oprogramowania, Struktura modelu CMM
głuchowski,inzynieria oprogramowania ,specyfikacja slowna(1)
głuchowski,inzynieria oprogramowania ,diagramy czynnosci(1)
głuchowski,inzynieria oprogramowania ,funkcjonalnosc systemu(1)
głuchowski,inżynieria oprogramowania, OCL
2007 05 Mechanizm koncepcji w języku C nowe oblicze szablonów [Inzynieria Oprogramowania]
2007 08 UML – modelowanie statycznych aspektów oprogramowania [Inzynieria Oprogramowania]
2007 07 Wykorzystanie przypadków użycia do modelowania zachowania [Inzynieria Oprogramowania]
Modelowanie systemu, Semestr 5, Inżynieria oprogramowania
2007 11 UML – modelowanie dynamicznych aspektów oprogramowania [Inzynieria Oprogramowania]
2007 05 Mechanizm koncepcji w języku C nowe oblicze szablonów [Inzynieria Oprogramowania]
głuchowski,inżynieria oprogamowania S, METODYKI I PROCESY PRODUKCJI OPROGRAMOWANIA

więcej podobnych podstron