[WikiDyd] [TitleIndex] [WordIndex

(DI1306) Modelowanie oprogramowania w języku UML

Aktualizacja dla semestru 2011Z

Wykład

Prowadzący: Michał Śmiałek

Cel i treść przedmiotu

Celem przedmiotu jest wyrobienie właściwych nawyków w zakresie analizy i projektowania oprogramowania poprzez tworzenie modeli. Przedmiot przedstawia podstawowe rodzaje modeli najpopularniejszego języka modelowania oprogramowania, jakim jest język UML. Przedstawiono m.in. model przypadków użycia, model czynności, model klas, model komponentów, oraz model interakcji. W ramach przedmiotu, studenci poznają notację języka oraz techniki modelowania obiektowego, które wspomagają poszczególne etapy wytwarzania oprogramowania. Pokazano również, w jaki sposób modele języka UML wspierają tworzenie kodu. W efekcie, studenci uzyskują praktyczną wiedzę o tym, jak ułatwić tworzenie i zrozumienie systemów oprogramowania dzięki modelowaniu w języku UML.

Zasady zaliczenia

Literatura

Podstawowy podręcznik:

Książki dodatkowe:

Plan wykładu

Wykład 1

Wprowadzenie. Regulamin przedmiotu. Podstawowe pojęcia związane z modelowaniem. Potrzeba modelowania w inżynierii oprogramowania.

Wykład 2

Podstawy modelowania obiektowego. Modelowanie otaczającego świata w sposób obiektowy. Modelowanie stanu, tożsamości i zachowania obiektów. Modelowanie klas obiektów. Podstawowe diagramy modelowania w języku UML.

Wykład 3

Model przypadków użycia. Znaczenie przypadków użycia. Elementy modelu: aktorzy, przypadki użycia, relacje między przypadkami użycia. Opisy przypadków użycia.

Wykład 4

Definiowanie przypadków użycia: scenariusze. Pisanie scenariuszy przypadków użycia (jako rozszerzenie języka UML). Składnia zdań POD. Pisanie scenariuszy alternatywnych.

Wykład 5

Model czynności: scenariusze. Notacja diagramów czynności. Pisanie scenariuszy w formie diagramów czynności. Kontrola przebiegu czynności: warunki, synchronizacje. Model czynności a relacje między przypadkami użycia.

Wykład 6

Model klas na poziomie wymagań. Znaczenie klas na poziomie wymagań. Podstawowa notacja diagramów klas: atrybuty, operacje, asocjacje, krotności, specjalizacje. Model klas jako słownik wymagań.

Wykład 7

Język UML w modelowaniu wymagań. Wykorzystanie modeli przypadków użycia, czynności i klas do modelowania wymagań. Zachowanie spójności między modelami.

Wykład 8

Model klas na poziomie projektu. Znaczenie klas jako modelu kodu. Zachowanie zgodności kodu z modelem (generacja kodu). Rozszerzenie notacji diagramów klas: agregacje, kompozycje, sygnatury operacji, role asocjacji.

Wykład 9

Model interakcji (1). Podstawowe elementy modelu: obiekty, linie życia, komunikaty. Tworzenie prostych diagramów sekwencji dla systemów trójwarstwowych.

Wykład 10

Model interakcji (2). Zaawansowane elementy modelu: ramki (warunki, pętle). Tworzenie kodu na podstawie diagramów sekwencji.

Wykład 11

Modele języka UML w narzędziu CASE. Metodyka porządkowania modelu. Tworzenie diagramów i zależności między nimi. UWAGA: przykładowy model jest dostępny tutaj

Wykład 12

Język UML w projektowaniu systemu. Modelowanie systemu o architekturze warstwowej. Realizacja przypadków użycia. Zastosowanie diagramów czynności do modelowania algorytmów.

Wykład 13

Zaawansowane aspekty projektowania w języku UML. Modelowanie aplikacji o technologii zdarzeniowej. Komunikaty asynchroniczne. Diagramy maszyny stanów w modelowaniu warstwy logiki dziedzinowej.

Wykład 14

Model komponentów i model montażu. Tworzenie modeli architektonicznych: architektura logiczna i fizyczna. Notacja modelu komponentów: komponenty, interfejsy. Notacja modelu montażu: węzły.

Wykład 15

Ćwiczenia - przygotowanie do egzaminu.

Laboratorium

Prowadzący: Szymon Drejewicz, Wiktor Nowakowski

Zajęcia 1

Regulamin i wprowadzenie. Omówienie regulaminu i planu ćwiczeń. Wprowadzenie do narzędzia CASE. Demonstracja narzędzia i wykonanie elementarnych modeli.

Zajęcia 2

Ćwiczenia w narzędziu CASE (1) - diagram klas. Demonstracja budowy diagramu klas (klasy i asocjacje; atrybuty i operacje). Dzielenie dużych diagramów klas. Samodzielne tworzenie pakietów i budowa diagramów klas w narzędziu. (2 pkt.)

Zajęcia 3

Ćwiczenia w narzędziu CASE (2) - diagram sekwencji. Demonstracja budowy diagramu sekwencji (linie życia, komunikaty). Budowa diagramu sekwencji na podstawie diagramu klas i prostego scenariusza. Samodzielne tworzenie diagramów sekwencji na podstawie scenariusza procesu. (2 pkt.)

Zajęcia 4

Ćwiczenia w narzędziu CASE (3) - diagram czynności. Demonstracja budowy diagramu czynności opisującego proces biznesowy. Ilustracja akcji, sterowania, rozgałęzień i złączeń (belki synchronizacji), decyzji, torów przepływu. Samodzielne budowa procesu biznesowego przy pomocy diagramu czynności. (2 pkt.)

Zajęcia 5

Ćwiczenia w narzędziu CASE (4) - diagram przypadków użycia. Demonstracja budowy diagramu przypadków użycia z relacjami <<invoke>> oraz generalizacji. Tworzenie scenariuszy w notacji POD(D). Samodzielna budowa diagramu przypadków użycia z relacjami. (2 pkt.)

Zajęcia 6

Modelowanie przypadków użycia i czynności (1). (4 pkt.)

Zajęcia 7

Modelowanie przypadków użycia i czynności (2). (4 pkt.)

Zajęcia 8

Modelowanie przypadków użycia i czynności (3). (4 pkt.)

Zajęcia 9

Modelowanie klas i stanów, generacja kodu (1). (4 pkt.)

Zajęcia 10

Modelowanie klas i stanów, generacja kodu (2). (4 pkt.)

Zajęcia 11

Modelowanie klas i stanów, generacja kodu (3). (4 pkt.)

Zajęcia 12

Modelowanie interakcji, zgodność z kodem (1). (4 pkt.)

Zajęcia 13

Modelowanie interakcji, zgodność z kodem (2). (4 pkt.)

Zajęcia 14

Modelowanie interakcji, zgodność z kodem (3). (5 pkt.)

Zajęcia 15

Podsumowanie


2015-09-23 06:49