SylabUZ
Nazwa przedmiotu | Podstawy modelowania programów |
Kod przedmiotu | 11.3-WI-INFP-PMP |
Wydział | Wydział Nauk Inżynieryjno-Technicznych |
Kierunek | Informatyka |
Profil | ogólnoakademicki |
Rodzaj studiów | pierwszego stopnia z tyt. inżyniera |
Semestr rozpoczęcia | semestr zimowy 2021/2022 |
Semestr | 5 |
Liczba punktów ECTS do zdobycia | 7 |
Typ przedmiotu | obieralny |
Język nauczania | polski |
Sylabus opracował |
|
Forma zajęć | Liczba godzin w semestrze (stacjonarne) | Liczba godzin w tygodniu (stacjonarne) | Liczba godzin w semestrze (niestacjonarne) | Liczba godzin w tygodniu (niestacjonarne) | Forma zaliczenia |
Wykład | 30 | 2 | 18 | 1,2 | Egzamin |
Laboratorium | 30 | 2 | 18 | 1,2 | Zaliczenie na ocenę |
Projekt | 15 | 1 | 9 | 0,6 | Zaliczenie na ocenę |
- ukształtowanie podstawowych umiejętności w zakresie modelowania oprogramowania
- zapoznanie studentów z praktycznym zastosowaniem modelowania programów dla prostych systemów informatycznych
- zapoznanie studentów z prawidłowym sposobem praktycznej implementacji rozwiązania prostego problemu przy wykorzystaniu podstawowych wzorców projektowych
Programowanie obiektowe, Inżynieria oprogramowania
Zagadnienia wprowadzające. Tło i historia współczesnych technik modelowania. Zunifikowany proces cyklu życia aplikacji. Analiza i projektowanie systemowe. Paradygmat obiektowości. Modelowanie obiektowe i jego rola w projektowaniu systemów informatycznych. Diagramy Klasa-Odpowiedzialność-Współpraca (ang. Class-Responsibility-Collaboration, CRC). Procesy wytwarzania oprogramowania. Wstęp do notacji i diagramów Zunifikowanego Języka Modelowania (UML). Geneza i cele powstania UML. Zakres i struktura warstwowa UML. Modelowanie strukturalne. Podstawowe pojęcia i elementy obiektowości. Klasy, obiekty, abstrakcja, enkapsulacja, dziedziczenie, polimorfizm, komunikacja, relacje i powiązania między obiektami. Statyczne diagramy strukturalne: klas i obiektów. Modelowanie asocjacji między klasami. Agregacja, kompozycja, generalizacja, specjalizacja, zależności i realizacje. Pakiety i podsystemy. Typy, interfejsy i klasy implementacji Diagramy implementacyjne: komponentów i wdrożenia. Wymagania i ich specyfikacja. Diagramy przypadków użycia. Analiza i związki między przypadkami użycia: zawieranie, rozszerzenie, grupowanie i uogólnienie. Modelowanie behawioralne. Diagramy sekwencji i kolaboracji. Role, komunikaty i bodźce. Interakcje i kolaboracje. Analiza stanów systemu. Diagramy stanów i aktywności. Przejścia przepływu. Decyzje. Współbieżność. Sygnały i komunikacja. Wzorce projektowe. Formułowanie problemów programistycznych. Przegląd najczęściej stosowanych wzorców konstrukcyjnych, strukturalnych i behawioralnych. Tworzenie i testowanie wzorców. Zagadnienia praktyczne. Praca nad przypadkami użycia. Ogólne spojrzenie na projektowanie, wdrażanie i testowanie. Przegląd wybranych narzędzi projektowania w UML-u.
wykład: burza mózgów, dyskusja, zajęcia praktyczne, wykład konwencjonalny
laboratorium: burza mózgów, praca z dokumentem źródłowym, dyskusja, praca w grupach, zajęcia praktyczne, wykład konwencjonalny
projekt: burza mózgów, praca z dokumentem źródłowym, dyskusja, praca w grupach, zajęcia praktyczne, wykład konwencjonalny
Opis efektu | Symbole efektów | Metody weryfikacji | Forma zajęć |
Wykład - warunkiem zaliczenia jest uzyskanie pozytywnej oceny z egzaminu przeprowadzonego w formie zaproponowanej przez prowadzącego.
Laboratorium - warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich zadań przewidzianych do realizacji w ramach programu laboratorium.
Projekt - warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich zadań projektowych, przewidzianych do realizacji w ramach zajęć projektowych.
Składowe oceny końcowej = wykład: 40% + laboratorium: 20% + projekt: 40%
Martin R.C.: Czysty kod. Podręcznik dobrego programisty, Helion, Gliwice 2010,
Martin R.C.: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów, Helion 2018,
Roman A,.: Testowanie i jakość oprogramowania. Modele, techniki, narzędzia, PWN 2017,
Beck K.: TDD. Sztuka tworzenia dobrego kodu, Helion, Gliwice 2014,
Freeman E., Freeman E., Bates B., Sierra K.: Wzorce projektowe – Rusz głową!, Helion, Gliwice 2010,
Larman C.: UML i wzorce projektowe. Analiza i projektowanie obiektowe oraz iteracyjny model wytwarzania aplikacji. Wydanie III, Helion, Gliwice 2011.
Martin R.C., Martin M.: Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#, Helion 2008,
Seidl, M., Scholz, M.: UML @ Classroom: An Introduction to Object-Oriented Modeling, Springer 2015,
Way J.: Laravel Testing Decoded, Leanpub 2013.
Zmodyfikowane przez prof. dr hab. inż. Andrzej Obuchowicz (ostatnia modyfikacja: 20-04-2021 08:55)