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