Analiza i projektowanie obiektowe (Object-OrientedDesign) obejmują metody i sposoby rozwiązywania problemów programowania z zastosowaniem metodologii obiektowej. Metody obiektowe analizy systemów pojawiły się w latach osiemdziesiątych i są nadal intensywnie rozwijane. Ich podstawąjest wyróżnianie w systemie pewnych składowych (obiektów).
Modelowanie obiektowe charakteryzuje się warstwowością, czyli występowaniem na różnych warstwach modelu danych o różnych poziomach abstrakcji. Analiza obiektowa systemów wykorzystuj e tę właściwość w celu analizy danych o różnych poziomach abstrakcji.
Cechy charakterystyczne obiektowej metodologii projektowania i analizy systemów są następujące:
• ukrywanie informacji;
• abstrakcja;
• dziedziczenie;
• hierarchia;
• wykorzystanie wtórne;
• typy definiowane przez użytkownika;
• hierarchia klas;
• klasy abstrakcyjne;
• wielopostaciowość, elastyczność.
Ukrywanie informacji (Information Hiding) służy bezpiecznemu programowaniu i służy oddzielaniu interfejsu użytkownika od kodu programu. Abstrakcja (Abstraction) jest to ogólne pojęcie oznaczające zaniedbywanie cech szczególnych, utrudniających poszukiwanie rozwiązania (konstrukcję algorytmu albo wyodrębnienie istotnych struktur w danych). Dziedziczenie jest to związek występujący pomiędzy klasami obiektów, określający przekazywanie cech (definicji atrybutów, metod itd.) z nad-klasy do jej podklas. Dziedziczenie służy do budowania hierarchii klas. Hierarchia klas pomaga w utrzymaniu przejrzystości struktury programu i jest ściśle związana z dziedziczeniem pomiędzy klasami obiektów.
13