głuchowski,inżynieria oprogramowania, Modelowanie konceptualne


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.
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ądz zródła danych lub
argumentów funkcji.
ą reprezentują zró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
 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 zró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
ą 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