Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Podsumowanie metodologii OMT
2
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.
3
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ń
4
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
5
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.
6
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
7
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.