Projektowanie Aplikacji Komputerowych Analiza i projektowanie obiektowe PAK - Analiza i projektowanie obiektowe Piotr Górczyński 25/08/2001
Plan Obiektowość Cel analizy i projektowania obiektowego Analiza i projektowanie obiektowe w cyklu życia systemu Metodyki obiektowe UML - Unified Modeling Language PAK - Analiza i projektowanie obiektowe 25/08/2001
Obiekt Obiekt jest to informatyczny model bytu, odzwierciedlający jego cechy (właściwości) oraz czynności (metody), które może wykonywać. Opis świata za pomocą obiektów jest bardziej intuicyjny i sprawdza się lepiej we wszystkich aspektach budowy systemów informatycznych niż opis strukturalny. PAK - Analiza i projektowanie obiektowe 25/08/2001
Przykłady obiektów Nazwa Właściwość Metoda Liczba Wartość Dodaj Kontrolka Położenie Kliknij Okno Rozmiar Otwórz Bankomat Aktualna ilość gotówki Wypłać Klient Stan konta Wpłać PAK - Analiza i projektowanie obiektowe 25/08/2001
Kluczowe zagadnienia Instancja=obiekt Hermetyzacja Komunikaty Polimorfizm Klasa Dziedziczenie PAK - Analiza i projektowanie obiektowe 25/08/2001
Hermetyzacja Obiekt jest dostępny tylko poprzez te metody i właściwości, które zostały udostępnione. Dzięki temu wnętrze obiektu jest chronione. class mala_liczba //obiekt do przechowywania liczb od 1 do 5 private: wartosc as byte; public: sub zmien(nowa_wartosc) ml=new mala_liczba ml.wartosc=225 //błąd-kompilator nie pozwoli użyć wartosc ml.zmien(255) //w zmien sprawdzamy 1<=nowa_wartosc<=5 PAK - Analiza i projektowanie obiektowe 25/08/2001
Komunikaty Komunikat jest to sygnał przesłany do obiektu powodujący wykonanie metody danego obiektu. Komunikat może mieć argumenty. Metody odświeżające kontrolki: ListBox1.Refresh() Command1.Refresh() są wykonywane po odebraniu komunikatu, że należy je odświeżyć. Zauważmy, że metody nazywają się identycznie, chociaż mogą w różny sposób działać PAK - Analiza i projektowanie obiektowe 25/08/2001
Polimorfizm Metody o tej samej nazwie, ale należące do różnych obiektów mogą być inne. Metody o tej samej nazwie, ale o różnej liście argumentów mogą być inne. Polimorfizm typów. PAK - Analiza i projektowanie obiektowe class Prostokat Public: Sub Definuj(a as integer, b as integer) Sub Definuj(a as integer) 25/08/2001
Klasa Klasa jest to wzorzec dla zbioru takich samych obiektów. Jeden element klasy jest nazywany instancją klasy lub obiektem. class Prostokat //klasa prostokątów Public: Sub Definuj(a as integer, b as integer) Sub Definuj(a as integer) a as Prostokat //obiekt a z klasy Prostokat b as Prostokat //obiekt b z klasy Prostokat PAK - Analiza i projektowanie obiektowe 25/08/2001
Dziedziczenie Mechanizm dziedziczenia pozwala na tworzenie coraz bardziej szczegółowych klas, zawierających wszystkie właściwości i metody klas nadrzędnych. class Figura pola as Double kolor as Color PAK - Analiza i projektowanie obiektowe class Kolo: class Figura promien as Double class Prostokat: class Figura bok_a as Double bok_b as Double 25/08/2001
Cel analizy i projektowania obiektowego Zidentyfikowanie obiektów w dziedzinie przedmiotowej Zidentyfikowanie klas obiektów Ustalenie zależności statycznych Ustalenie zależności dynamicznych PAK - Analiza i projektowanie obiektowe 25/08/2001
Analiza i projektowanie obiektowe w cyklu życia systemu Specyfikacja wymagań Analiza Projektowanie PAK - Analiza i projektowanie obiektowe 25/08/2001
Metodyki obiektowe OMT (Rambaugh) OOA/OOD (Coad, Yourdon) OOSA (Shlaer, Mellor) PAK - Analiza i projektowanie obiektowe 25/08/2001
UML - Unified Modeling Language UML jest językiem specyfikacji, konstruowania, wizualizacji i dokumentowania dla systemów wykorzystujących oprogramowanie PAK - Analiza i projektowanie obiektowe 25/08/2001