Techniki modelowania programowania 1 Modelowanie odwrotne

Transkrypt

Techniki modelowania programowania 1 Modelowanie odwrotne
Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski
Techniki modelowania programowania
Laboratorium
Modelowanie proste i odwrotne.
1
Modelowanie odwrotne (ang. reverse engineering) w środowisku
Model Maker
1. Z katalogu instalacyjnego Delphi w podkatalogu ./Demos wybrać i skopiować do katalogu roboczego
użytkownika jeden z projektów demonstracyjnych. Uruchomić środowisko Delphi i otworzyć wszystkie
pliki skopiowanego projektu. Następnie uruchomić Model Maker-a:
(a) rozpoznać rozkład i znaczenie okienek roboczych Model Makera (Okna widoku, składników klas oraz
edytorów),
(b) zaimportować wszystkie pliki z kodem projektu demo (*.pas). Najszybciej jest zastosować metodę ’przeciągnij i upuść’ do okna Widoku plików (Unit view) lub wykorzystać jedną z ikon menu.
Zwrócić uwagę na sposób w jaki ModelMaker dokonał modelowania odwrotnego, w szczególności
zaobserwować hierarchiczną strukturę klas, sposób wyświetlania składników klas oraz jak reprezentowany jest kod poszczególnych funkcji oraz kod zawarty w plikach (zakładki Implementation oraz
Unit code).
(c) dokonać wizualizacji zaimportowanych klas. W tym celu w zakładce edytora Diagrams utworzyć
nowy diagram klas i przeciągnąć do niego po kolei wszystkie klasy z drzewa hierarchii klas. Zauważyć
pojawiające się na diagramie relacje dziedziczenia. We właściwościach edytora diagramów sprawdzić
sposób wyświetlania w zależności od załączonych filtrów własności klas.
(d) spróbować zmian relacji w diagramie i zaobserwować ich wpływ na resztę modelu. Przywrócić zmiany.
(e) rozpoznać podstawowe ikonki elementów diagramu i ich znaczenie, wprowadzić do diagramu różne
komentarze i notki z opisem zaimportowanych klas,
(f) utworzyć w diagramie nową klasę, tak aby dziedziczyła po którejś z istniejących i wyposażyć ją w
dowolną wymyśloną własność (ikona add property),
(g) przyjrzeć się w jaki sposób środowiska Delphi i ModelMaker są ze sobą zintegrowane oraz jak mogą sobą nawzajem sterować. Następnie wygenerować z modelu kod projektu oraz zaobserwować w
środowisku Delphi charakter wszelkich zmian.
(h) wygenerować automatyczną dokumentację do modelu.
2
Zadania
1. Rozważyć klasę podstawową Figura oraz klasy pochodne: Punkt, Kwadrat, Okrąg, Trójkąt, Prostokąt,
Elipsa, Wielokąt, tak aby odzwierciedlały poniższy graf:
- Prostokąt
Kwadrat
*
- Punkt
- Elipsa
Figura
XXX Okrąg
HH XX
XXX
H
j
H
z Wielokąt
Trójkąt X
Klasę Figura wyposażyć w dwie zmienne typu Integer do przechowywania współrzędnych środka figury,
a wszystkie pozostałe klasy w pola niezbędne do jednoznacznego narysowania figury w danym układzie
współrzędnych. Ponadto przewidzieć dla każdej z klas prototyp funkcji wyświetlającej figurę o nazwie
rysuj().
1
• W środowisku ModelMaker:
– zbudować diagram klas (dodać niezbędne komentarze oraz notatki!),
– wprowadzić wszystkie niezbędne zmienne i deklaracje funkcji (jw.),
– wygenerować kod do pliku,
• W środowisku Delphi:
– utworzyć nowy projekt aplikacji i dołączyć do niego plik kodu z ModelMaker-a,
– w oparciu o podstawowe procedury rysujące klasy TCanvas zaimplementować w możliwie najprostszy sposób ciała funkcji rysuj() dla wszystkich klas (rysowanie ma odbywać się na formularzu głównym),
• Następnie:
– odświeżyć model w ModelMaker-ze, tak aby uwzględniał wszystkie elementy aplikacji,
– odświeżyć diagramy i uzupełnić opisy elementów modelu,
– wygenerować dokumentację na najwyższym poziomie szczegółowości.
2. Poniżej został przedstawiony szkicowy i niepełny opis gry w hokeja:
Drużyna hokejowa składa się ze środkowego, bramkarza, dwóch skrzydłowych i dwóch obrońców. Każdy
zawodnik ma kij hokejowy służący do przesuwania krążka po lodzie. Celem jest trafienie krążkiem do
bramki przeciwnika. Mecze są rozgrywane na boisku o wymiarach 30 m szerokości i 61 m długości. Zadaniem środkowego jest podawanie krążka do skrzydłowych, którymi zwykle są najlepsi w drużynie strzelcy.
Obrońcy starają się nie dopuścić zawodników przeciwnej drużyny do zajęcia pozycji umożliwiającej strzał.
Bramkarz jest ostatnią linią obrony, ostatnią zaporą dla krążka lecącego do bramki. Za każdym razem,
gdy nie wpuści krążka do bramki, uznaje mu się jedną „obronę”. Każdy gol to jeden punkt. Gra trwa 60
minut i jest podzielona na trzy dwudziestominutowe tercje.
Na podstawie tych informacji stworzyć diagram klas i wzajemnych powiązań odzwierciedlający strukturę
gry w hokeja. Wyposażyć klasy w niezbędne składniki. Opisać i skomentować model. Następnie spróbować
wygenerować kod.
2

Podobne dokumenty