Wydział Informatyki
Kierunek studiów Informatyka Poziom i forma studiów pierwszego stopnia inżynierskie niestacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Inżynieria oprogramowania Kod przedmiotu INZ1IOP
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 4
20 20 Punkty ECTS 5
Przedmioty wprowadzające Programowanie obiektowe (INZ1POB),  
Cele przedmiotu

Celem wykładu jest przedstawienie całego procesu związanego z tworzeniem i wykorzystywaniem systemów informatycznych. Powinien uświadomić słuchaczom, że programowanie jest tylko elementem składowym tego procesu oraz, że na powodzenie przedsięwzięcia mają wpływ wszystkie fazy cyklu życia oprogramowania. W skład wykładu wchodzi również mini-kurs pokazujący wykorzystanie Unified Modeling Language (UML) w modelowaniu i projektowaniu systemów.

Celem pracowni specjalistycznej jest praktyczne zapoznanie się z modelowaniem i projektowaniem w UML-u przy wykorzystaniu narzędzia CASE. W pierwszej części zajęć rysowane są diagramy UML na podstawie zadanych scenariuszy, natomiast w drugiej części zdobyte umiejętności są weryfikowane podczas tworzeniu (wstępnego) projektu wybranego systemu informatycznego.

Odniesienia do standardu SFIA:
Project management PRMG - poziom 4
Requirements definition and management REQM - poziom 3
Systems and software life cycle engineering SLEN - poziom 4
Systems development management DLMG - poziom 5

Treści programowe

Wykład:
Cele inżynierii oprogramowania, przyczyny powstania IO, metodyka a metodologia, narzędzia CASE; wprowadzenie do UML, diagramy przypadków użycia systemu, diagramy czynności; UML: Diagramy klas i obiektów, pakiety; UML: Diagramy interakcji i stanów; UML: Diagramy fizyczne: komponentów i wdrożenia; cykl życia oprogramowania (modele: wodospadowy, spiralny, COTS, ...); inżynieria wymagań dla systemów informatycznych (metody zbierania informacji, wymagania funkcjonalne i niefunkcjonalne); modelowanie i projektowanie systemów; implementacja systemu; testowanie, weryfikacja i walidacja oprogramowania (testy dynamiczne i statyczne); zapewnienie jakości oprogramowania i metryki oprogramowania; dokumentowanie, instalacja, wdrażanie oraz konserwacja oprogramowania; wiarygodność systemów informatycznych; zarządzanie projektami programistycznymi; zarządzanie ryzykiem w projektach.

Pracownia specjalistyczna:
Przykładowe narzędzia CASE; diagram przypadków użycia, opisywanie przypadków użycia; diagram klas, pakiety; diagram czynności; diagram stanów; diagramy interakcji (przebiegu); diagramy fizyczne (komponentów i wdrożenia); uzgadnianie tematyki zadania grupowego, określanie celów i zakresu projektowanego systemu oraz korzyści z jego wdrożenia; tworzenie i opisywanie diagramów przypadków użycia, projektowanie interfejsu użytkownika; tworzenie diagramu klas, identyfikowanie atrybutów i metod, opracowywanie realizacji przypadków użycia, d. interakcji - poziom pojęciowy; opracowywanie realizacji przypadków użycia, tworzenie diagramów przebiegu - poziom implementacyjny, czynności; przygotowywanie diagramów zmiany stanu; specyfikowanie wymagań niefunkcjonalnych i propozycji technologii informatycznych, przygotowanie proponowanego planu pracy i analiza ryzyka projektu; prezentacja projektu, przedstawienie podziału pracy i przekazanie sprawozdania projektowego do oceny.

Metody dydaktyczne

wykład problemowy,   programowanie z użyciem komputera,   metoda projektów,   wykład informacyjny,  

Forma zaliczenia

Wykład: egzamin pisemny.
Pracownia specjalistyczna: dokumentacja projektu, dyskusja na temat projektu, obserwacja pracy na zajeciach.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 zasady inżynierii oprogramowania, metody i techniki wykorzystywane w projektowaniu systemów informatycznych; zna model cyklu życia oprogramowania; zna i rozumie procesy jego wytwarzania, wdrażania i utrzymania oraz powiązane metody zarządzania i organizacji pracy zna języki modelowania i komputerowe narzędzia wspomagające projektowanie. INF1_W06
INF1_W09
EU2 procesy i zasady zarządzania przedsięwzięciami informatycznymi; zna zasady planowania procesu realizacji systemu informatycznego; zna techniki szacowania kosztów przedsięwzięcia i czasu potrzebnego na realizację zleconego zadania H1_W02
INF1_W06
INF1_W09
INF1_W12
EU3 zaprojektować i zaplanować implementację, testowanie i wdrożenie systemu informatycznego oraz jego komponentów stosując odpowiednie metody, techniki oraz narzędzia, uwzględniając zadane kryteria użytkowe i ekonomiczne INF1_U04
INF1_U06
INF1_U07
INF1_U13
INF1_U15
EU4 opracować dokumentację projektową: specyfikację wymagań, architekturę systemu, opis realizacji i technologii, instrukcję użytkownika; potrafi pracować w grupie jak i samodzielnie INF1_U04
INF1_U07
INF1_U13
INF1_U17
EU5 uwzględniania czynników zrównoważonego rozwoju podczas projektowania systemów informatycznych H1_K03
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 egzamin pisemny W
EU2 egzamin pisemny W
EU3 dokumentacja projektu, dyskusja na temat projektu, obserwacja pracy na zajeciach Ps
EU4 dokumentacja projektu, dyskusja na temat projektu, obserwacja pracy na zajeciach Ps
EU5 dokumentacja projektu Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach 20
2 - Udział w pracowni specjalistycznej 20
3 - Opracowanie sprawozdań z pracowni i wykonanie zadań domowych 59
4 - Udział w konsultacjach 4
5 - Przygotowanie do egzaminu 20
6 - Obecność na egzaminie 2
RAZEM: 125
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 46
(4)+(6)+(1)+(2)
1.8
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 79
(3)+(2)
3.2
Literatura podstawowa

1. I. Sommerville, Inżynieria oprogramowania, PWN, 2020
2. A. Roman, Testowanie i jakość oprogramowania: modele, techniki, narzędzia, PWN, 2022
3. K. Sacha, Inżynieria oprogramowania, PWN, 2014
4. A. Koszlajda, Zarządzanie projektami IT. Przewodnik po metodykach, Helion, 2010
5. W. Dąbrowski, K. Subieta, Podstawy inżynierii oprogramowania, Wydawnictwo PJWSTK, 2005
6. D. Pilone, N. Pitman, UML 2.0. Almanach, Helion, 2007

Literatura uzupełniająca

1. M. Fowler, K. Beck, D. Roberts, E. Gamma, Refaktoryzacja. Ulepszanie struktury istniejącego kodu, WNT, 2017
2. A. Hunt, D. Thomas, Pragmatyczny programista: od czeladnika do mistrza, Helion, 2017
3. M.E. Bays, Metodyka wprowadzania oprogramowania na rynek, WNT, 2001
4. P. Graessle, H. Baumann, P. Baumann, UML 2.0 w akcji. Przewodnik oparty na projektach, Helion, 2006
5. J. Schmuller, UML dla każdego, Helion, 2003

Jednostka realizująca Katedra Oprogramowania Data opracowania programu
Program opracował(a) dr inż. Krzysztof Jurczuk,prof. dr hab. inż. Marek Krętowski 2023.04.06