Podsumowanie metodologii OMT

Slides:



Advertisements
Podobne prezentacje
Związki w UML.
Advertisements

Projektowanie aplikacji równoległych Jarosław Kuchta.
Modelowanie przypadków użycia
Projektowanie w cyklu życia oprogramowania
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
Formalizacja i uwiarygodnianie Iteracyjny proces syntezy modeli
PROGRAMOWANIE STRUKTURALNE
Tomasz Pieciukiewicz Rafał Hryniów
Inżynieria Oprogramowania 9. Testowanie oprogramowania
Inżynieria Oprogramowania II
Projektowanie systemów informacyjnych
Projektowanie systemów informacyjnych
SYSTEM ZARZĄDZANIA JAKOŚCIĄ
Co UML może zrobić dla Twojego projektu?
Tomasz Jabłoński Michał Ziach
Cykle życia oprogramowania
Diagram czynności (Activity Diagrams)
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Modele baz danych - spojrzenie na poziom fizyczny
Projektowanie - wprowadzenie
Dalsze elementy metodologii projektowania. Naszym celem jest...
Analiza, projekt i częściowa implementacja systemu obsługi kina
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Wykład 3 Analiza i projektowanie strukturalne
Wykład 2 Cykl życia systemu informacyjnego
Oskar Ośko Mateusz Skoczewski Michał Sułek
C.d. wstępu do tematyki RUP
Inżynieria Oprogramowania
Model przestrzenny Diagramu Obiegu Dokumentów
Źródła: podręcznikopracował: A. Jędryczkowski.
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
OMT - Model obiektów, cz.3.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Programowanie obiektowe – język C++
Model przypadków użycia
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Unified Modeling Language - Zunifikowany Język Modelowania
MS Excel - wspomaganie decyzji
Modelowanie obiektowe Diagramy klas
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Programowanie w języku C++
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Model obiektowy bazy danych
Diagram aktywności (czynności)
Diagram klas Kluczowymi elementami są: klasy (class)
Zarządzanie zagrożeniami
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Modelowanie obiektowe - system zarządzania projektami.
Diagram czynności Diagram czynności (activity diagram) służy do modelowania dynamicznych aspektów systemu. Diagram czynności przedstawia sekwencyjne lub.
Diagram obiektów Diagram obiektów ukazuje elementy i związki z diagramu klas w ustalonej chwili. Diagram obiektów jest grafem złożonym z wierzchołków i.
ZINTEGROWANE SYSTEMY ZARZĄDZANIA
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Logical Framework Approach Metoda Macierzy Logicznej
Wstęp do systemów informatycznych Model przypadków użycia.
E. Stemposz. Rational Unified Process, Wykład 10, Slajd 1 wrzesień 2002 Powrót Studia Podyplomowe IT w Biznesie Rational Unified Process Wykład 10 Przepływ.
Studia Podyplomowe IT w Biznesie Analiza dynamiczna w UML
MAS Rafał Hryniów. Agenda  Zasady  Referaty  Projekt  Kolosy.
Inżynieria systemów informacyjnych
Wątki, programowanie współbieżne
Inżynieria Oprogramowania Laboratorium
Modele wg Jacobsona Model przypadków użycia: definiuje zewnętrze (aktorów = systemy zewnętrzne = kontekst) oraz wnętrze (przypadki użycia), określające.
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Podsumowanie metodologii OMT

Podsumowanie metodologii Metodyka zakłada szereg kroków. Kolejność ich jest istotna, ale: - doświadczeni projektanci mogą wykonać niektóre kroki równolegle - iteracje są niezbędne dla uwzględnienia różnych poziomów abstrakcji i rafinacji szczegółów - po analizie całości na pewnym poziomie abstrakcji możliwe jest wydzielenie podsystemu i rozwijanie tych podsystemów niezależnie Różnica pomiędzy analizą i projektowaniem jest czasami trudno uchwytna. Istnieją proste reguły dla ich rozróżnienia: - Model analityczny zawiera informację istotną z punktu widzenia opisywanego świata i powinien prezentować zewnętrze systemu. Model analityczny powinien być zrozumiały dla przyszłego uzytkownika systemu i powinien wyrażać zewnętrzne wymagania na system. - Model projektowy jest zorientowany na implementację komputerową. W związku z tym musi być rozsądnie efektywny i praktyczny do zakodowania. W praktyce, większość informacji z modelu analitycznego może być pozostawiona bez zmian w modelu projektowym. Dokumentacja modeli powinna być odpowiednio zróznicowana, aby uwzględnić te dwie perspektywy.

Podsumowanie metodologii: Analiza (1) Model jest wyrażony w terminach obiektów, związków, dynamicznego przepływu sterowania, i transformacji funkcjonalnych. Kroki są następujące: 1. Napisz lub uzyskaj wstepny opis problemu (Ustalenie Problemu) 2. Zbuduj model obiektów: zidentyfikuj klasy obiektów załóż słownik danych zawierający opisy klas, atrybutów i asocjacji połącz klasy asocjacjami dodaj atrybuty do obiektów i powiązań zorganizuj i uprość klasy obiektów używając dziedziczenia przetestuj ścieżki dostępu używając scenariuszy; powtórz powyższe kroki jeżeli potrzeba zgrupuj klasy w moduły, bazując na powiązaniach klas i związanych funkcjach  Model Obiektów = diagram modelu obiektów + słownik danych 3. Rozwiń model dynamiczny przygotuj scenariusze typowych sekwencji interakcji zidentyfikuj zdarzenia między obiektami i przygotuj trop zdarzeń dla każdego scenariusza przygotuj diagram przepływu zdarzeń dla systemu rozwiń diagram stanów dla każdej klasy, która ma istotne dynamiczne zachowanie sprawdź spójność i kompletność zdarzeń występujących pomiędzy diagramami stanów  Model Dynamiczny = diagram stanów + globalny diagram przepływu zdarzeń

Podsumowanie metodologii: Analiza (2) 4. Skonstruuj model funkcjonalny zidentyfikuj wartości wejściowe i wyjściowe użyj diagramu przepływu danych dla pokazania zależności pomiędzy funkcjami opisz co robi każda funkcja zidentyfiku ograniczenia wyspecyfikuj kryteria optymalizacji  Model Funkcjonalny = diagram przepływu danych + ograniczenia 5. Weryfikuj, powtarzaj i uściślaj wymienione trzy modele Dodaj kluczowe operacje odkryte podczas przygotowania modelu funkcjonalnego do modelu obiektów. Nie pokazuj w nim wszystkich operacji, gdyż mogą zaciemnić model. Zweryfikuj klasy, asocjacje atrybuty i operacje na wzajemną spójność i kompletność. Porównaj trzy modele na wybranym poziomie abstrakcji. Porównaj je z Ustaleniem Problemu oraz z wiedzą dziedzinową. Przetestuj modele używając scenariuszy Rozpracuj bardziej szczegółowe scenariusze (właczając w to warunki błędów) jako warianty scenariuszy podstawowych. Użyj te “Co, jak...?” scenariusze do dalszej weryfikacji trzech modeli Powtórz powyższe kroki zgodnie z potrzebą, aż do zakończenia analizy.  Dokument Analizy = Ustalenie Problemu + Model Obiektów + Model Dynamiczny + Model Funkcjonalny

Podsumowanie metodologii:Projektowanie Systemowe Podczas projektowania systemowego wybierana jest ogólna architektura systemu. 1. Organizacja systemu, określenie jego podsystemów 2. Zidentyfikowanie procesów współbieżnych inherentnych dla problemu 3. Przydzielenie podsystemów do procesorów i zadań 4. Wybranie podejścia do zarządzania składem (nośnikami) danych: strukturą danych, plikami, bazą danych 5. Ustalenie dostępu do zasobów globalnych 6. Implementacja sterowania w oprogramowaniu - użyj pewnych zmiennych programu do przechowywanbia stanu, lub - bezpośrednio zaimplementuj automat ze stanami, lub - użyj techniki zadań współbieżnych 7. Ustalenie warunków brzegowych 8. Ustalenie priorytetów obowiazujacych przy kompromisach  Dokument Projektowania Systemowego = struktura podstawowej architektury systemu oraz decyzje dotyczące strategii wysokiego poziomu.

Podsumowanie metodologii: Projektowanie obiektowe (1) Podczas projektowania obiektowego rozpracowujemy model analizy zapewniając szczegółową podstawę dla implementacji. Decyzje implementacyjne określamy bez nadmiernego wchodzenia w detale języka programowania lub systemu bazy danych. Projektowanie obiektów przesuwa orientację ze świata rzeczywistego będącego przedmiotem modelu analitycznego na świat komputerowy, będący przedmiotem implementacji. 1. Odzyskaj operacje modelu obiektowego z innych modeli - Znajdź operację dla każdego procesu w modelu funkcjonalnym - Zdefiniuj operację dla każdego zdarzenia w modelu dynamicznym, w zależności od implementacji sterowania 2. Opracuj algorytmy implementujące operacje - Wybierz algorytmy minimalizujące koszt operacji - Wybierz struktury danych właściwe dla algorytmów - Zdefiniuj nowe wewnętrzne klasy i operacje, jeżeli są potrzebne - Przypisz odpowiedzialność do operacji które nie są związane z pojedynczą klasą 3. Zoptymalizuj ścieżki dostępu do danych - Dodaj redundantne asocjacje dla zminimalizowania kosztów dostępu i zmaksymalizowania wygody - Zmień układ obliczeń dla większej efektywności - Określ zapamiętywanie wartości pochodnych dla uniknięcia ponownego wykonywania skomplikowanych operacji

Podsumowanie metodologii: Projektowanie obiektowe (2) 3. Zoptymalizuj ścieżki dostępu do danych - Dodaj redundantne asocjacje dla zminimalizowania kosztów dostępu i zmaksymalizowania wygody - Zmień układ obliczeń dla większej efektywności - Określ zapamiętywanie wartości pochodnych dla uniknięcia ponownego wykonywania skomplikowanych operacji 4. Zaimplementuj sterowanie oprogramowaniem poprzez zmaterializowanie założeń przyjetych podczas projektowania systemu 5. Popraw strukture klas dla zwiększenia stopnia dziedziczenia - Zmień i popraw aranżację klas i operacji dla zwiększenia stopnia dziedziczenia - Zwiększ abstrakcję poprzez wyciągnięcie przed nawias wspólnych metod - Użyj delegacji dla dzielenia metod jeżeli dziedziczenie jest semantycznie niepoprawne 6. Zaprojektuj implementację asocjacji - Przeanalizuj przejścia po asocjacjach - Zaimplementuj każdą asocjację jako odrębny obiekt lub dodaj do jednej lub dwóch klas atrybuty przechowujące obiekty (referencje, wskaźniki) 7. Określ dokładną reprezentację atrybutów obiektów 8. Umieść klasy i asocjacje w modułach  Dokument Projektowy = Szczegółowy Model Obiektów + Szczegółowy Model Dynamiczny + Szczegółowy Model Funkcjonalny