[WikiDyd] [TitleIndex] [WordIndex

Wytwarzanie oprogramowania sterowane modelami

Aktualizacja dla semestru 2011L

Wykład (sem. 1)

Prowadzący: Michał Śmiałek

Cel i treść przedmiotu

Celem przedmiotu jest nauczenie właściwej organizacji procesu inżynierii oprogramowania przy pomocy modeli. Dla zrozumienia treści przedmiotu konieczna jest jedynie elementarna wiedza na temat modelowania w języku UML oraz podstawy inżynierii oprogramowania. W ramach wykładu przedstawione są dwa podstawowe obszary wytwarzania oprogramowania sterowanego modelami: definiowanie języków modelowania oraz transformacje modeli. Studenci otrzymują wiedzę z zakresu definiowania składni abstrakcyjnej języków modelowania przy pomocy meta-modeli w języku MOF (opartym na języku UML). Dowiadują się również, w jaki sposób definiować składnię konkretną (widoczną dla użytkownika) oraz semantykę języka. W drugiej części wykładu, przedstawiane są podstawowe zasady pisania i wykonywania transformacji modeli w języku MOLA. Przedstawiane są odpowiednie konstrukcje języka służące do określania meta-modeli oraz wzorców, reguł i algorytmów przekształcania modeli. Jako rezultat nauczania, studenci powinni uzyskać wiedzę, w jaki sposób zwiększyć efektywność procesu wytwarzania oprogramowania przy pomocy zasad modelowania oprogramowania.

Zasady zaliczenia
  1. Zaliczenie przedmiotu odbywa się poprzez wykonywanie ćwiczeń wykładowych oraz sprawdzian końcowy.
  2. Ćwiczenia wykonywane są indywidualnie lub w grupach dwuosobowych.
  3. Za każde ćwiczenie można dostać 6 pkt., w sumie – 72 pkt.
  4. Za sprawdzian końcowy można dostać 28 pkt. Sprawdzian należy zaliczyć na co najmniej 15 punktów.
  5. Ocena końcowa jest wyliczana na podstawie sumy punktów za ćwiczenia i sprawdzian końcowy: 0-50 pkt. – 2,0; 51-60 pkt. – 3,0; i kolejne oceny co 10 punktów.
  6. Osoby, które nie wykonywały ćwiczeń podczas wykładów mogą przystąpić do rozszerzonego sprawdzianu końcowego, za który można otrzymać 100 pkt. Decyzja o przystąpieniu do sprawdzianu standardowego (za 28 pkt.) lub rozszerzonego (za 100 pkt.) należy do studenta.

Literatura

Plan wykładu

Wykład 1

Wprowadzenie do wytwarzania oprogramowania sterowanego modelami (MDSD). Co to jest model? Modele w świecie i w wytwarzaniu oprogramowania. Poziomy abstrakcji modeli i ich przekształcanie. Standardowe i niestandardowe języki modelowania. Co to jest meta-model? Definiowanie języków modelowania.

Wykład 2

Infrastruktura dla definiowania języków modelowania. Infrastruktura dla tworzenia meta-modeli. Czterowarstwowy model dla meta-modelowania. Języki meta-modelowania. Co to jest profil?

Wykład 3

Podstawy tworzenia meta-modeli. Definiowanie składni abstrakcyjnej. Definiowanie składni konkretnej. Definiowanie semantyki. Przykład definiowania meta-modelu.

Wykład 4

Meta-model języka UML (1). Podstawowe konstrukcje języka MOF. Meta-model dla modeli przypadków użycia. UWAGA: Tu można pobrać specyfikację języka UML (2.1.1).

Wykład 5

Meta-model języka UML (2). Podstawowe pakiety meta-modelu języka UML. Wprowadzenie do hierarchii meta-klas. Meta-model dla modeli czynności.

Wykład 6

Meta-model języka RSL. Podstawowa struktura meta-modelu. Meta-model dla przypadków użycia i scenariuszy. UWAGA: Tu można pobrać specyfikację języka RSL.

Wykład 7

Podstawy transformacji modeli. Podstawowe sposoby definiowania transformacji. Zależność algorytmów transformacji od meta-modeli języków źródłowego i docelowego. Różne rodzaje transformacji. Przegląd języków transformacji modeli.

Wykład 8

Wprowadzenie do języka MOLA. Przykład elementarnej transformacji. Transformacja a metamodele języka źródłowego i docelowego. Reguły, wzorce, pętle, akcje. UWAGA: Tu można pobrać krótkie wprowadzenie do języka MOLA

Wykład 9

Zaawansowane konstrukcje języka MOLA (1). Podsumowanie instrukcji języka MOLA. Pętle zagnieżdżone, procedury. Zmienne i przetwarzanie tekstu. Przykład transformacji z użyciem pętli zagnieżdżonych i procedur.

Wykład 10

Zaawansowane konstrukcje języka MOLA (2). Przykład transformacji modelu maszyny stanów. Usuwanie elementów modelu. Przykład transformacji z użyciem rekurencji.

Wykład 11

Ćwiczenia z metamodelowania i transformacji (1). Konstrukcja języków modelowania. Konstrukcja transformacji.

Wykład 12

Ćwiczenia z metamodelowania i transformacji (2). Czytanie transformacji. Pisanie procedur w języku MOLA.

Wykład 13

Od wymagań do kodu w jeden dzień? Technologie dla "fabryk oprogramowania". Automatyczne przekształcanie wymagań. Repozytoria przypadków oprogramowania. Ewolucja oprogramowania sterowana wymaganiami.

Wykłady 14 i 15

Podsumowanie i przygotowanie do sprawdzianu.


2015-09-23 06:49