Program cwicze´n laboratoryjnych z In˙zynierii Oprogramowania
Transkrypt
Program cwicze´n laboratoryjnych z In˙zynierii Oprogramowania
Program ćwiczeń laboratoryjnych z Inżynierii Oprogramowania Dr inż. Lucjan Mi˛ekina 28.02.2011 1. Wprowadzenie, diagramy przypadków użycia. • Omówić zasady obiektowego podejścia do programowania (model lub inaczej paradygmat obiektowy). • Omówić MDA. • Analiza wymagań i utworzenie projektu przykładowego systemu. Można si˛e zainspirować przykładami dost˛epnymi w dokumentacji Rhapsody np. Dishwasher). W pierwszym kroku należy na podstawie wymagań utworzyć diagram/y przypadków użycia wraz z opisem i scenariuszami. 2. Dalsza cz˛eść projektowania – diagramy sekwencji. • Utworzyć diagramy sekwencji b˛edace ˛ rozwini˛eciem poszczególnych przypadków użycia. UWAGA: Diagramy powinny być utworzone w trybie Design (nie Analysis), co pozwoli uaktualniać klasy i ich metody w trakcie pracy nad sekwencjami. • Definiować przebiegi poszczególnych sekwencji, umieszczajac ˛ linie życia wymaganych klas (istniejacych ˛ lub nowych) i łacz ˛ ac ˛ je komunikatami. W trakcie tych operacji Rhapsody b˛edzie pytał, czy utworzyć jescze niestniejac ˛ a˛ klas˛e lub metod˛e - wtedy należy odpowiedzieć twierdzaco, ˛ aby spowodować uzupełnienie zbioru klas lub zbioru metod. 3. Dalsza cz˛eść projektowania – diagramy klas i obiektów. • Zdefiniować pozostałe potrzebne klasy, reprezentujace ˛ cz˛eści (moduły systemu). Moduły powinny dziedziczyć z abstrakcyjnej klasy bazowej (nadklasy) i posiadać metody wirtualne, realizujace ˛ typowe operacje (On, Off, OdczytStanu, Zapis Stanu, itd.). 4. Dalsza cz˛eść projektowania – diagramy dynamiki (maszyny stanowej i czynności). W tych diagramach wprowadzać wymagane fragmenty kodu w odpowiednie konstrukcje (symbole) modelu, tak by ewentualny kod był zintegrowany z modelem. W praktyce - wymagane fragmenty kodu b˛eda˛ instrukcjami wejścia/wyjścia. Sugeruj˛e położenie nacisku na ten rodzaj diagramów, szczególnie maszyny stanowej, bo Rhapsody potrafi z nich generować kod, co daje duże plusy i jest atrakcyjne dla gawiedzi. 5. Generowanie kodu i animacja modelu. Tu można si˛e spodziewać wysypu bł˛edów w rodzaju: złe, niekonsekwentne nazewnictwo klas, zmiennych, metod, brak metod, itd., w zwiazku ˛ z tym ten etap może zajać ˛ sporo czasu. 1 6. Testowanie modelu i prototypu. Obejmuje to zaprojektowanie zestawu testów (test cases) i ich wykonanie. 7. Obiektowe wzorce projektowe. • Użycie wzorców Stanu, Obserwatora, Iteratora, Kompozycji w budowie systemów. • Zbudować modele tych wzorców (w formie diagramów klas), bo w Rhapsody ich nie ma (chyba), a jest to dobre ćwiczenie. 2