Projektowanie i programowanie obiektowe II - Wykład IV

Slides:



Advertisements
Podobne prezentacje
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Advertisements

Programowanie obiektowe
Związki w UML.
Projektowanie aplikacji równoległych Jarosław Kuchta.
Programowanie obiektowe
Programowanie obiektowe
Projektowanie w cyklu życia oprogramowania
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Zaawansowane metody programowania – Wykład V
Badania operacyjne. Wykład 1
Maciej I Stanisław Jedlińscy
Co UML może zrobić dla Twojego projektu?
Mapowanie procesów pracy i organizacja stanowisk
Diagram czynności (Activity Diagrams)
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład I
Projektowanie i programowanie obiektowe II - Wykład II
Projektowanie - wprowadzenie
Diagramy czynności.
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
Unified Modeling Language graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych.
Systemy Czasu Rzeczywistego
Podstawy programowania
Model przestrzenny Diagramu Obiegu Dokumentów
Źródła: podręcznikopracował: A. Jędryczkowski.
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
Algorytmy.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Związki w UML Do zrobienia jest: -Przerysować jak ktoś ma Visio te dwa diagramy tak żeby podmienić tylko nazwy a reszta Taka sama, -I dodać po jednym zdaniu.
Podsumowanie metodologii OMT
Programowanie obiektowe – język C++
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
Modelowanie obiektowe Diagramy klas
Programowanie w języku C++
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Metoda badań eksperymentalnych i quasi-eksperymentalnych
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
PROCESY W SYSTEMACH SYSTEMY I PROCESY.
Diagram aktywności (czynności)
Diagram klas Kluczowymi elementami są: klasy (class)
Zarządzanie zagrożeniami
Systemy informatyczne wprowadzenie
Przykłady analiza i projektowanie
OCL.
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.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Unified Modeling Language
Wykład 2 – Zintegrowane systemy informatyczne Michał Wilbrandt.
Asocjacja,Kompozycja,Agregacja
Inżynieria systemów informacyjnych
T. 18. E Proces DGA - Działania (operatorka).
Wykład 1 – część pierwsza
* PROCESÓW TECHNOLOGICZNYCH
Zapis prezentacji:

Projektowanie i programowanie obiektowe II - Wykład IV dr inż. Wojciech Tarnawski e-mail:wojciech.tarnawski@pwr.wroc.pl www.zssk.pwr.wroc.pl  Copyright by Wojciech Tarnawski

Projektowanie systemów informatycznych obiektowo zorientowanych (plan projektu) 1. Identyfikacja zachowań systemu 2. Identyfikacja klas obiektów występujących w systemie 3. Klasyfikacja klas obiektów - pod względem dziedziczenia ( związek uogólniania) - pod względem zawierania się w sobie (powiązanie:agregacja) 4. Określenie powiązań komunikacji i związków użycia między obiektami ze zdefiniowanych klas. 5. Precyzyjna specyfikacja składowych klas (atrybutów i operacji) 6. Składanie modelu logicznego - określenie sekwencji działań obiektów (model funkcjonalny, model dynamiczny, przesyłanie komunikatów)  Copyright by Wojciech Tarnawski

System obiektowy Model logiczny Model fizyczny Model klas Model dynamiczny Model funkcjonalny Opisuje zachowanie się systemu w czasie, umożliwia definicję wzajemnej współpracy i komunikacji między obiektami Opisuje wszystkie możliwe stany obiektów i związane z nimi zdarzenia (cykle życiowe obiektów) Opisuje: Tożsamość Atrybuty Operacje Związki  Copyright by Wojciech Tarnawski

Budowa modelu funkcjonalnego Model funkcjonalny zajmuje się cyklem życiowym poszczególnych obiektów. Model funkcjonalny reprezentowany jest przy pomocy tzw. diagramu stanów, który opisuje stany w których mogą się znajdować obiekty klas zdefiniowanych w modelu klas. Uwaga: Model funkcjonalny nie wymaga konstrukcji diagramu stanów dla wszystkich klas znajdujących się w modelu klas.  Copyright by Wojciech Tarnawski

Budowa modelu funkcjonalnego c.d. Przy konstrukcji tego modelu szukamy odpowiedzi na następujące pytania: Co się może stać z obiektem w czasie jego egzystencji ? Jak obiekt reaguje na określone komunikaty? Jak określony komunikat wpływa na stan obiektu (atrybuty obiektu)? Jakie stany może przyjmować obiekt danej klasy? Jak obiekt zauważa, ze coś się wydarzyło w systemie ( nastąpiło jakieś zdarzenie) ? Uwaga: identyczne komunikaty mogą być interpretowane w różnoraki sposób, w zależności od stanu w jakim znajduje się obiekt.  Copyright by Wojciech Tarnawski

Przykład budowy modelu funkcjonalnego:  Copyright by Wojciech Tarnawski

Cele konstrukcji modelu funkcjonalnego „Znalezienie” ewentualnych operacji w danej klasie Opis wewnętrznych zadań realizowanych przez daną klasę Zaprojektowanie odpowiedniego interfejsu „obsługującego” daną klasę  Copyright by Wojciech Tarnawski

Podstawowe „wskazówki” pomocne w definicji cyklu życiowego obiektu Z jakich powodów musimy utworzyć cykl życiowy obiektu? Jakiego rodzaju będzie to cykl ? (tj. liniowy czy cykliczny) np.: zamówienie (stan 1), realizacja zamówienia (stan 2), sprzedaż (stan 3), archiwizacja (stan 4) np.: stany urządzenia technicznego  Copyright by Wojciech Tarnawski

Przykłady stanów: „jest gotowy”, „istnieje”, „jest zainicjowany” utwórz zbiór tych stanów, w których może się znaleźć każdy obiekt danej klasy Przykłady stanów: „jest gotowy”, „istnieje”, „jest zainicjowany” Stan końcowy wyraża, że obiekt już nie istnieje lub jego „zachowanie” nie ma wpływu na działanie systemu 3) zanim zdefiniujesz nowy stan w diagramie stanów – sprawdź, czy jest on istotny dla działania systemu oraz czy istnieją wszystkie powiązania i składowe konieczne dla „zaistnienia” danego stanu 4) dodaj stan do diagramu – stan może być wyrażony przez właściwość, która jest niezmienna w pewnym czasie np. „załadowany”, „unieważniony”, „wycofany”, „przetwarzany” lub stan opisujący trwanie czynności np.. „oczekiwanie”, „zapamiętywanie”, „wykonywanie”, „aktywny”  Copyright by Wojciech Tarnawski

5) gdy zdefiniujesz stan – zastanów się, czy jego istnienie nie będzie związane ze zmianą stanu innego obiektu klasy powiązanej z daną klasą (wywołanie operacji w innej klasie) 6) po zdefiniowaniu i wprowadzeniu nowego stanu do cyklu życiowego obiektu, zastanów się co musi się zdarzyć, aby nastąpiła zmiana z bieżącego stanu do następnego stanu. Zmiana stanu następuje po otrzymaniu informacji o wystąpieniu zdarzenia, które może być wyrażone przez wywołanie operacji tego obiektu 7) wszystkie obiekty danej klasy znajdujące się w tym samym stanie reagują na to samo zdarzenie dokładnie w taki sam sposób. ( należy zatem sprawdzić czy zachowanie się obiektów jest takie same; jeśli nie definicja danej klasy jest nieprecyzyjna i należy ją zmodyfikować) 8) sprawdź, czy zmiana stanu nie jest tzw. zmianą warunkową tzn. czy jest ona uzależniona od innych dodatkowych warunków  Copyright by Wojciech Tarnawski

Konstrukcja modelu dynamicznego Po definicji cykli życiowych obiektów, a więc określeniu wszystkich stanów, w których może się znaleźć obiekt danej klasy – budujemy model umożliwiający definicję wzajemnej współpracy gwarantującej funkcjonowanie całego systemu. Model dynamiczny opisuje zachowanie się systemu w czasie, umożliwia definicję wzajemnej współpracy i komunikacji między obiektami. Model dynamiczny opisywany jest przy pomocy tzw. diagramu przepływu danych (diagramu interakcji) między różnymi obiektami. Model dynamiczny jest modelem o charakterze temporalnym – opisuje tymczasowe zachowanie różnych obiektów i ich wzajemne oddziaływanie.  Copyright by Wojciech Tarnawski

Cele konstrukcji modelu dynamicznego „znalezienie” wszystkich metod ewentualna definicja powiązań służących do przesyłania komunikatów Konstrukcja diagramu interakcji odbywa się poprzez tzw. analizę przypadków (ang. use cases)  Copyright by Wojciech Tarnawski

Przykład:  Copyright by Wojciech Tarnawski

Najczęściej stosowane architektury diagramów interakcji: Diagram scentralizowany (jeden obiekt, który zarządza innymi obiektami) Diagram decentralizowany (kolejne obiekty znają swoich „zastępców”)  Copyright by Wojciech Tarnawski