Sylabus
- Status:
- Gotowy
Przedmiot nieaktywny - nie jest już prowadzony.
DI1306 - Modelowanie oprogramowania w języku UML
- Nazwa w drugim języku:
- Software Modelling in UML
- Nazwa skrócona:MODUM
- Numer katalogowy:DI1306
- Reprezentuje kierunek: I,D,PL - Informatyka Stosowana
- Odpowiedzialny za przedmiot: dr hab. inż. Michał Śmiałek, prof. uczelni
-
Strona WWW przedmiotu:
http://wikidyd.iem.pw.edu.pl/index.cgi/UML1
- Język wykładowy:PL
- Liczba punktów ECTS:5
- Poziom przedmiotu: Podstawowy
- Forma zaliczenia przedmiotu:Egzamin
- Wymiar godzin:
- W: 30, L: 30
- Przedmiot realizowany w planach wzorcowych:
- Informatyka Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: 1
- Obieralny dla katalogów:
- Znalazłem 0 pozycji. (Pokaż szczegóły)
- Skrócone treści:
- 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.
- Szczegółowe treści merytoryczne:
- Plan wykładu
1. Wprowadzenie. Podstawowe pojęcia związane z modelowaniem. Potrzeba modelowania w inżynierii oprogramowania.
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.
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.
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.
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.
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ń.
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.
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.
9. Model interakcji. Podstawowe elementy modelu: obiekty, linie życia, komunikaty. Tworzenie prostych diagramów sekwencji dla systemów trójwarstwowych. Zaawansowane elementy modelu: ramki (warunki, pętle). Tworzenie kodu na podstawie diagramów sekwencji.
10. Modele języka UML w narzędziu CASE. Metodyka porządkowania modelu. Tworzenie diagramów i zależności między nimi.
11. 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.
12. Zaawansowane aspekty projektowania w języku UML. Modelowanie aplikacji o technologii zdarzeniowej. Komunikaty asynchroniczne. Diagramy maszyny stanów w modelowaniu warstwy logiki dziedzinowej.
13. 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.
Plan laboratorium
1. Wprowadzenie do narzędzia CASE.
2. Ćwiczenia w narzędziu CASE 1 - diagram klas.
3. Ćwiczenia w narzędziu CASE 2 - diagram sekwencji.
4. Ćwiczenia w narzędziu CASE 3 - diagram czynności.
5. Ćwiczenia w narzędziu CASE 4 - diagram przypadków użycia.
6. Modelowanie przypadków użycia i czynności.
7. Modelowanie klas i stanów, generacja kodu.
8. Modelowanie interakcji, zgodność z kodem. - Bibliografia:
- Michał Śmiałek, „Zrozumieć UML 2.0”, Helion, 2005
M. Fowler, „UML 2.0 w kropelce”, LTP, 2005
R. S. Pressman, „Praktyczne podejście do inżynierii oprogramowania”, Wydawnictwa Naukowo-Techniczne, 2004 - Kryteria oceny:
- Ocena za egzamin: maksimum 55 pkt.; ocena za laboratorium: maksimum 45 pkt. Ocena końcowa wynika z sumy punktów za wykład i laboratorium: od 51 pkt, co 10 pkt. kolejna ocena od 3,0 do 5,0. Uwaga: należy zaliczyć (51%) zarówno wykład, jak i laboratorium.
- Efekty kształcenia:
- Znajomość składani i semantyki języka UML, umiejętność wizualnego modelowania oprogramowania, specyfikowanie wymagań na poziomie podstawowym, projektowanie oprogramowania na poziomie podstawowym, wykorzystanie narzędzi CASE.
- Uwagi:
- -
- Standardowe treści kształcenia ujęte w Rozporządzeniu MNiSW:
-
- Informatyka Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski
- [Kierunkowe] Kształcenie w zakresie inżynierii oprogramowania : Korzystanie z API (Application Programming Interface); Wymagania i ich specyfikacja; Zarządzanie przedsięwzięciem programistycznym; Ewolucja oprogramowania; Procesy wytwarzania oprogramowania; Projektowanie oprogramowania; Narzędzia i środowiska wytwarzania oprogramowania; Walidacja i testowanie oprogramowania; Wymagania i ich specyfikacja; Procesy wytwarzania oprogramowania; Projektowanie oprogramowania; Narzędzia i środowiska wytwarzania oprogramowania;
- [Kierunkowe] Kształcenie w zakresie języków i paradygmatów programowania : Paradygmaty programowania; Programowanie obiektowe; Programowanie obiektowe;
- Przedmioty na których bazuje dany przedmiot (prerekwizyty):
- [DI1108] Języki i metody programowania 1
- [DI1206] Języki i metody programowania 2
- [DI1207] Podstawy inżynierii oprogramowania