[WikiDyd] [TitleIndex] [WordIndex

Wytwarzanie oprogramowania sterowane modelami - laboratorium

Aktualizacja dla semestru 2011L

Laboratorium (sem. 2)

Prowadzący: Michał Śmiałek, Wiktor Nowakowski

Cel przedmiotu

Celem przedmiotu jest poznanie praktyki w zakresie organizacji procesu inżynierii oprogramowania przy pomocy modeli. W ramach ćwiczeń laboratoryjnych, studenci poznają praktyczne aspekty tworzenia oraz wykorzystania narzędzi do edycji i transformacji modeli. Uzyskują również wiedzę z zakresu cyklu wytwarzania oprogramowania sterowanego modelami - od wymagań do kodu. Jako rezultat nauczania, studenci uzyskują praktykę w zakresie narzędzi i metod modelowania oprogramowania, przy pomocy których można zwiększyć efektywność procesu wytwarzania oprogramowania.

Zasady zaliczenia
  1. Zaliczenie przedmiotu odbywa się poprzez wykonywanie ćwiczeń laboratoryjnych.
  2. Ćwiczenia wykonywane są indywidualnie lub w grupach.
  3. Za każde ćwiczenie można dostać od 3 do 13 pkt., w sumie – 100 pkt.
  4. Ocena końcowa jest wyliczana na podstawie sumy punktów za ćwiczenia: 0-50 pkt. – 2,0; 51-60 pkt. – 3,0; i kolejne oceny co 10 punktów.

Literatura

Plan ćwiczeń

Uwaga: w celu skorzystania z narzędzi podczas laboratorium, należy je skonfigurować zgodnie z instrukcją zawartą w załączniku.

CZĘŚĆ I - WPROWADZENIE DO NARZĘDZI, TWORZENIE TRANSFORMACJI

Ćwiczenia w tej części wykonywane są indywidualnie

Ćwiczenie 1

Wprowadzenie do narzędzi ReDSeeDS i METAclipse (3 pkt.) 1. Demonstracja: Narzędzie METAclipse. Meta-model języka UML w narzędziu METAclipse. Przypomnienie podstawowych konstrukcji języka MOLA. Nawigacja w narzędziu. Tworzenie pakietów i procedur. Kompilacja transformacji. Wykonywanie transformacji w narzędziu ReDSeeDS. Wprowadzanie modeli źródłowych i przeglądanie wyników transformacji w narzędziu ReDSeeDS. 2. Zadanie: Wprowadzenie, skompilowanie i uruchomienie prostej transformacji UML->UML.

Ćwiczenie 2

Zdefiniowanie transformacji UML->UML (1) (8 pkt.) 1. Przygotowanie do zajęć: Zapoznać się z meta-modelem języka UML w zakresie klas, pakietów i komponentów (zawartym w narzędziu METAclipse). Powtórzyć konstrukcje języka MOLA oraz zasady tworzenia programów w języku MOLA. 2. Kolokwium: napisanie elementarnej transformacji w języku MOLA. Zaliczenie kolokwium warunkuje udział w następnych zajęciach. 3. Zadanie: Zdefiniowanie bardziej złożonej transformacji modelu zapisanego w języku UML w inny model zapisany w języku UML. Model źródłowy powinien się znaleźć w części "Architecture" narzędzia ReDSeeDS. Model docelowy powinien być umieszczony w części "Detailed Design". Efektem powinna być napisana i wstępnie uruchomiona transformacja. WAŻNE: wyniki powinny być zapisane na pen-drive w celu wykorzystania na następnych zajęciach.

Ćwiczenie 3

Zdefiniowanie transformacji UML->UML (2) (8 pkt.) 1. Przygotowanie do zajęć: Powtórzyć zasady tworzenia i wywoływania procedur w języku MOLA. 2. Zadanie: Modyfikacja transformacji z Zajęć 2 poprzez dodanie odpowiednich procedur zgodnie z treścią zadania.

Ćwiczenie 4

Wprowadzenie do edytorów języka RSL (ReDSeeDS, EA) (4 pkt.) 1. Przygotowanie do zajęć: Przypomnieć sobie składnię języka RSL. 2. Demonstracja: Omówienie edytora języka RSL w narzędziu ReDseeDS. Omówienie edytora języka RSL w narzędziu EA. Tworzenie scenariuszy i pojęć. Podział pojęć - dziedzinowe i UI. Umieszczanie pojęć w odpowiednich pakietach. 3. Zadanie: Zdefiniowanie prostego modelu wymagań dla zadanego systemu (kilka przypadków użycia, scenariusze, słownik). WAŻNE: wyniki powinny być zapisane na pen-drive w celu wykorzystania na następnych zajęciach.

Ćwiczenie 5

Wprowadzenie do generacji RSL->UML->kod (7 pkt.) 1. Przygotowanie: Przypomnieć sobie wykonywanie transformacji w narzędziu ReDSeeDS. Powtórzyć składnię języka RSL. 2. Kolokwium: Napisanie scenariuszy przypadku użycia zgodnych ze składnią języka RSL. 3. Demonstracja: Omówienie docelowej architektury systemu. Omówienie reguł transformacji z języka RSL w język UML. Prezentacja modelu w języku UML wygenerowanego na podstawie modelu w języku RSL. Generacja kodu w narzędziu EA. Prezentacja zaimplementowanego prostego systemu oraz pokazanie zależności między kodem a zdaniami scenariusza. 4. Zadanie: Wykonanie transformacji na podstawie modelu z ćwiczenia 4. Dokonanie analizy modelu i kodu utworzonego po transformacji w narzędziu EA.

CZĘŚĆ II - TWORZENIE WŁASNYCH SYSTEMÓW

Ćwiczenia w tej części wykonywane są w grupach 2-osobowych.

Ćwiczenie 6

Tworzenie specyfikacji w języku RSL w narzędziu EA (6 pkt.) 1. Przygotowanie do zajęć: Przypomnieć sobie tworzenie specyfikacji wymagań w EA. 2. Zadanie: Wykonanie modelu zawierającego przypadki użycia, scenariusze i pojęcia w języku RSL. Model będzie dotyczył zadanej tematyki i zakresu funkcjonalnego. Ocena będzie zależeć od liczby poprawnie sformułowanych scenariuszy i zdań w języku RSL.

Ćwiczenie 7

Tworzenie projektu systemu w języku UML (9 pkt.) 1. Przygotowanie do zajęć: Przypomnieć sobie reguły transformacji RSL->UML. 2. Zadanie: Stworzenie w narzędziu EA modelu projektowego systemu na podstawie specyfikacji wymagań. Model powinien zawierać 3 warstwy (prezentacja, logika aplikacji, logika dziedziny). Należy zapewnić istnienie wszystkich niezbędnych klas, atrybutów, operacji i parametrów.

Ćwiczenie 8

Generacja kodu i implementacja systemu (1) (13 pkt.) 1. Zadanie: Wygenerowanie w narzędziu EA kodu w języku Java. Uzupełnienie kodu w celu uzyskania zgodności ze scenariuszami; dodanie instrukcji kontrolnych (wyświetlanie komunikatów kontrolnych na standardowe wyjście).

Ćwiczenie 9

Tworzenie specyfikacji w języku RSL w narzędziu ReDSeeDS (6 pkt.) 1. Przygotowanie: Przypomnieć sobie tworzenie specyfikacji w języku RSL w narzędziu ReDSeeDS. 2. Zadanie: Wykonanie modelu zawierającego przypadki użycia, scenariusze i pojęcia w języku RSL. Model będzie dotyczył zadanej tematyki i zakresu funkcjonalnego.

Ćwiczenie 10

Generowanie projektu systemu w języku UML w narzedziu ReDSeeDS (9 pkt.) 1. Przygotowanie: Przypomnieć sobie reguły transformacji z języka RSL w język UML. 2. Zadanie: Wygenerowanie w narzędziu ReDSeeDS modelu projektowego systemu. Model powinien zawierać 3 warstwy (prezentacja, logika aplikacji, logika dziedziny). Należy zapewnić istnienie wszystkich niezbędnych klas, atrybutów, operacji i parametrów.

Ćwiczenie 11

Generacja kodu i implementacja systemu (2) (12 pkt.) 1. Zadanie: Wygenerowanie w narzędziu EA kodu w języku Java. Uzupełnienie kodu w celu uzyskania zgodności ze scenariuszami; dodanie instrukcji kontrolnych (wyświetlanie komunikatów kontrolnych na standardowe wyjście).

CZĘŚĆ III - WZORCE LOGIKI APLIKACJI

Ćwiczenia w tej części wykonywane są indywidualnie w podziale na dwie grupy (zaj. 13 i 14).

Ćwiczenie 12

Wprowadzenie do WLA (3 pkt.) 1. Demonstracja: Przedstawienie koncepcji WLA - główne założenia i cele, kluczowe elementy rozszerzenia języka RSL. Prezentacja biblioteki WLA i poszczególnych wzorców. Prezentacja plug-inu WLA do narzędzia ReDSeeDS. Prezentacja prostego przykładu stosowania WLA. 2. Zadanie: Wykonanie scenariusza przypadku uzycia z zastosowaniem prostego WLA. 3. Demonstracja: Przedstawienie założeń zadania dla zajęć 13 i 14 oraz sposobu jego przeprowadzenia. Prezentacja założeń dwóch systemów (wizja dziedzin zastosowań).

Ćwiczenie 13

Tworzenie specyfikacji przy pomocy WLA (1) (6 pkt.) 1. Zadanie: (praca indywidualna, studenci podzieleni na dwie grupy) Grupa A modeluje system "1" w języku RSL. Grupa B modeluje system "2" w języku RSL z zastosowaniem biblioteki WLA. Obydwie grupy używają narzędzia ReDSeeDS (bez lub z wykorzystaniem plug-inu WLA).

Ćwiczenie 14

Tworzenie specyfikacji przy pomocy WLA (2) (6 pkt.) 1. Zadanie: (praca indywidualna, studenci podzieleni na dwie grupy) Grupa B modeluje system "1" w języku RSL. Grupa A modeluje system "2" w jezyku RSL z zastosowaniem biblioteki WLA. Obydwie grupy używają narzędzia ReDSeeDS (bez lub z wykorzystaniem plug-inu WLA).

Ćwiczenie 15

Podsumowanie 1. Omówienie wniosków z zajęć 12-14. 2. Omówienie wyników całego laboratorium.


2015-09-23 06:49