Na dwóch prezentacjach na zajęciach z przedmiotu "Inżynieria oprogramowania" (prowadzący mgr inż. Jacek Kołodziej) przedstawiłem kilka narzędzi, które pomagają w tworzeniu kodu w Visual Studio .NET.
W pierwszej prezentacji wyszczególniłem mechanizmy wbudowane w Visual C# takie jak: dynamiczne uzupełnianie kodu, przeglądarka dostępnych obiektów, komentarze specjalne (np. // TODO oznaczające rzeczy do zrobienia), wbudowany generator dokumentacji.
Niestety, program IBM Bational XDE zawieszał się przy próbie uruchomienia. Przyczyną jest to, że wymaga on dostępu do Active Directory, które polega na usłudze DNS jako tzw. "name locator", która z kolei wymaga zainicjalizowanego stosu IP. Po podłączeniu komputera do sieci i wydaniu polecenia "net start dns" lub po stworzeniu adaptera sieciowego loopback i restarcie, wszystkie wcześniej niedostępne funkcje programu działają bez zarzutów.
W drugim etapie prezentacji zademonstrowałem wybrane funkcje programu IBM Rational XDE.
Visual Trace służy do tworzenia diagramów wykonywania (podobne do diagramów sekwencyjnych, ale służące do sprawdzania jak nasz program rzeczywiście wywołuje dane funkcje). Jako przykład użyłem programu "budzika", który o określonej porze miał wywoływać pewne zdarzenie. Poniżej widać inicjalizację głównego programu, kontrolek w okienku ZegarekForm oraz klasy Budzik.
Co sekundę (odliczaną przez TikTimer) jest sprawdzany czas budzenia metodą CzyJuzCzas.
Kliknięcie przycisku AlarmButton ustawia czas budzenia. Zegar wciąż bije...
...aż do momentu, gdy CzyJuzCzas zwroci wartosc true i zostanie wywołana procedura Dzwon. Tutaj widzimy jak po jej wywołaniu uruchamiana jest metoda Show, która z kontekstu głównego wątku programu wyświetli okno dialogowe metodą ShowCore.
Program działa dalej aż nie klikniemy przycisku ZamknijButton.
Ściśle zintegrowany interfejs Rational XDE pozwala na "reverse-engineering" kodu na diagramy klas. Zaletą jest tutaj możliwość dokonania zmian w diagramie, które wygenerują właściwy kod i dopisanie kodu, który zostanie odzwierciedlony w diagramie.
Wszystkie te narzędzia (oraz krótko wspomniany Red Gate ANTS Profiler) posłużyły mi do analizy programu Charon Migration Wizard.
W trakcie prezentacji korzystałem z przykładowego programu Zegarek oraz zbioru klas CzesciSamochodowe. Kod źródłowy udostępniam zapakowany w archiwa ZIP. Do wykonania potrzebne będzie Microsoft Visual Studio .NET 2003 (dostępne na licencji MSDNAA dla studentów wydziału informatyki naszej uczelni).
IBM Rational software
Microsoft Visual C#
Red Gate ANTS Profiler