Wstęp do programowania obiektowego
Wykład 11
1
Pierwszy język obiektowy –
Simula 67 i jego zastosowanie
2
Analiza obiektowa
Analiza obiektowa (ang. object-oriented analisys) zajmuje się badaniem i klasyfikacją obiektów pojęciowych.
Obiekty pojęciowe reprezentują pojęcia i koncepcje ze świata rzeczywistego, a dokładniej z dziedziny, która jest analizowana.
Np. w wypadku systemu informacyjnego dla Zakładu Transportu Miejskiego obiektami pojęciowymi
mogłyby być: Autobus, Linia i Kierowca.
3
Projektowanie obiektowe
Projektowanie to wymyślanie koncepcyjnego rozwiązania (programistycznego i sprzętowego), które realizuje
wymagania, np. opis schematu bazy danych lub klas programowych.
Podczas projektowania zazwyczaj pomija się niskopoziomowe lub oczywiste (dla zamierzonych odbiorców projektu)
szczegóły i koncentruje się na wysokopoziomowych pomysłach oraz ideach.
Projektowanie obiektów programowych określane jest jako projektowanie obiektowe (ang. object-oriented design).
wyznaczenie odpowiedzialności obiektom programowym
określenie, jak mają współpracować, by wykonać zadanie
4
Model dziedziny
Model dziedziny ma odzwierciedlać pojęcia z
modelowanej części świata rzeczywistego oraz ich zależności (bez metod klas)
W modelu dziedziny pokazuje się:
klasy pojęciowe,
powiązania między klasami pojęciowymi i
atrybuty klas pojęciowych.
5
Przykład częściowego modelu dziedziny
6
Odnajdywanie klas pojęciowych
Przy znajdywaniu klas pojęciowych (ang.
conceptual class):
należy używać istniejących nazw, (np. w liceum, jego użytkownikami będą uczniowie, na uczelni wyższej studenci)
nie zajmować się niczym, co nie dotyczy modelowanej części rzeczywistości;
nie dodawać rzeczy, których fizycznie nie ma.
7
Analiza fraz rzeczownikowych
Wygodnym pomysłem na odnajdywanie klas pojęciowych jest analiza fraz
rzeczownikowych w tekstowym opisie dziedziny lub wymagań (jeżeli takimi dysponujemy).
8
Klasy pojęciowe dla gry w Monopol
9
Model dziedziny (niekompletny): klasy
pojęciowe oraz powiązania dla gry w Monopol
10
Model dziedziny (uzupełniony): klasy, atrybuty klas oraz powiązania
11
Przykłady obiektów klasy „gracz”
12
Kiedy w przypadku gry w Monopol
rozpoznamy frazy rzeczownikowe w instrukcji z zasadami gry, okaże się na
przykład, że nie uwzględniliśmy banku oraz kart szansy/ryzyka.
13
Model dziedziny (finalny)
14
Przykładowy model dziedziny dla firmy handlowej
15
16
Model (klasa) kostki do gry
17
18
Hierarchia klas
19
20
Schemat klasy pole
21
Diagram przebiegu – opisuje interakcje między klasami
22
Spójność klasy
23
Przejście od diagramu klasy do kodu
24