Nazwa przedmiotu:
Wdrażanie i utrzymanie systemów informatycznych
Koordynator przedmiotu:
Rajmund Kożuszek
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Inżynieria oprogramowania
Kod przedmiotu:
WUS
Semestr nominalny:
5 / rok ak. 2021/2022
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1. liczba godzin kontaktowych – 64 godz., w tym  obecność na wykładach: 30 godz.,  obecność na zajęciach laboratoryjnych: 30 godz.,  udział w konsultacjach związanych z realizacją przedmiotu: 4 godz. 2. praca własna studenta – 56 godz., w tym  analiza literatury i materiałów wykładowych związana z przygotowaniem do kolejnych wykładów, wskazanie przykładów do wykonania: 16 godz.  wykonanie ćwiczeń przygotowawczych do laboratorium: 30 godz.  przygotowanie do kolokwiów: 10 godz. Łączny nakład pracy studenta wynosi 120 godz., co odpowiada 4pkt. ECTS.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
2,25 pkt. ECTS, co odpowiada 64 godz. kontaktowym
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
2 pkt. ECTS, co odpowiada 60 godzin realizacji ćwiczeń
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium30h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Systemy operacyjne
Limit liczby studentów:
60
Cel przedmiotu:
Celem przedmiotu jest wykształcenie umiejętności wdrażania i utrzymywania istniejących systemów informatycznych. Student po zakończeniu przedmiotu powinien mieć wiedzę na temat podstawowych praktyk, procesów i zasad służących niezawodnej eksploatacji systemów informatycznych. Do procesów eksploatacji systemów zalicza się utrzymanie niezawodnego działania, monitoring, identyfikacja zagrożeń i błędów oraz wprowadzanie niewielkich zmian dostosowujących do zmian środowiska pracy. Przedmiot wprowadza we współczesne praktyki, technologie i narzędzia eksploatacji systemów: technologie wirtualizacji, konteneryzacji i orkiestracji kontenerów oraz praktyki DevOps.
Treści kształcenia:
WYKŁADY: 1. Wprowadzenie (2 godz.) Informacje o przedmiocie. Regulamin przedmiotu. Powtórzenie podstawowych pojęć: serwer, system operacyjny, maszyna wirtualna, kontener, moduł programu, sieć komputerowa. Podstawowe zadania utrzymaniowe, role w procesie utrzymania oprogramowania. Metryki utrzymaniowe i SLA. 2. Infrastruktura, automatyzacja infrastruktury produkcyjnej (4 godz.) Infrastruktura fizyczna, infrastruktura programowalna, automatyzacja infrastruktury. Cloud IaaS, PaaS, SaaS. Kontenery, konteneryzacja i orkiestracja. Różne wcielenia środowiska wykonawczego: proces, wątek, maszyna wirtualna, kontener. Podstawy Kubernetes. 3. Dostępność i wydajność (2 godz.) Sposób definiowania i monitorowania dostępności i wydajności, metryki, SLA. 4. Monitoring i diagnostyka systemów (3 godz.) Kluczowe parametry i miejsca monitorowania. Testy regresji. Testy bezpieczeństwa i pentesty. Narzędzia monitorowania systemów. Przetwarzanie i przechowywanie logów systemów – narzędzia i dobre praktyki. Alerty i eskalacja awarii. 5. DevOps (4 godz.) Filozofia, kultura i procesy DevOps. Kompetencje DevOps i relacje z innymi działami w organizacjach wytwarzających oprogramowanie. Zarządzanie procesem wytwarzania oprogramowania z perspektywy DevOps - build pipeline, narzędzia continuous integration/continous delivery. 6. Utrzymanie kodu (4 godz.) Konwencje kodu, definiowanie i utrzymywanie. Wzorce projektowe i architektoniczne sprzyjające utrzymaniu kodu. Praktyki przeglądu kodu (code review). Dokumentowanie zmian. Wersjonowanie kodu, różne strategie rozwoju nowych funkcjonalności: pull requests, feature toggles, rozgałęzianie i łączenie gałęzi. Praca z kodem zastanym, legacy code. 7. Inżynieria wsteczna i refaktoring (2 godz.) Techniki i narzędzia inżynierii wstecznej. Dekompilacja. Refaktoring na przykładzie Javy. 8. UML we wdrażaniu i utrzymaniu (2 godz.) Diagramy UML istotne z perspektywy wdrażania i utrzymania systemów. 9. ITIL (4 godz.) Podstawy procesów zarządzania usługami IT według zaleceń ITIL. Narzędzia CMDB. LABORATORIA: 1. Docker i Kubernets – tworzenie i zarządzanie środowiska kontnerów w oparciu o dockera i Kubernetes. 2. Instalacja aplikacji web przy użyciu Angulara, Spring Boota i bazy danych, użycie Liquibase. 3. Kod zastany – instalacja, analiza struktury, dodanie prostej funkcjonalności na przykładzie projektu open-source. 4. Złożone operacje na repozytorium zarządzania kodem Git
Metody oceny:
Realizacja przedmiotu obejmuje następujące formy zajęć: - wykład prowadzony w wymiarze 2 godz. tygodniowo; w wybranych zagadnieniach przewidziana jest aktywizacja studentów na wykładzie, - zajęcia laboratoryjne w wymiarze 2 godz. tygodniowo; w ramach tych zajęć student, korzystając z oprogramowania i sprzętu komputerowego, będąc pod opieką prowadzącego zajęcia, będzie realizował wskazane ćwiczenia dotyczące wdrażania i utrzymania systemów informatycznych. Sprawdzanie założonych efektów kształcenia realizowane jest przez:  ocenę wiedzy i umiejętności związanych z realizacją zadań laboratoryjnych – ocena z wybranych ćwiczeń laboratoryjnych oraz zadania projektowego;  ocenę wiedzy wykazanej na dwóch kolokwiach pisemnych.
Egzamin:
nie
Literatura:
• Kim, Gene, et al. The DevOps Handbook:: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution, 2016. • Strona ITIL - https://www.axelos.com/best-practice-solutions/itil • Strona Kubernetes - https://kubernetes.io/ • Strona docker - https://www.docker.com/
Witryna www przedmiotu:
https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INIOP-ISP-WUS
Uwagi:
(-)

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka W01
ma wiedzę dotyczącą infrastruktury produkcyjnej, w której są eksploatowane współczesne systemy informatyczne
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: W08, W09
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o, III.P6S_WG
Charakterystyka W02
ma podstawową wiedzę w zakresie zarządzania, monitorowania i definiowania dostępności i wydajności systemów informatycznych
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: W08, W09
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o, III.P6S_WG
Charakterystyka W03
ma podstawową wiedzę z zakresu monitoringu, diagnostyki i testowania zgodności systemu informatycznego z wymaganiami
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: W08, W09
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o, III.P6S_WG
Charakterystyka W04
ma podstawową wiedzę na temat praktyk utrzymaniowych DevOps oraz standardów procesów zarządzania usługami ITIL
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: W08, W09
Powiązane charakterystyki obszarowe: I.P6S_WG.o, III.P6S_WG, P6U_W
Charakterystyka W05
ma podstawową wiedzę dotyczącą utrzymywania i pielęgnacji kodu
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: W08, W09
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o, III.P6S_WG
Charakterystyka W06
ma podstawową wiedzę dotyczącą inżynierii wstecznej systemów informatycznych
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: W08, W09
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o, III.P6S_WG

Profil ogólnoakademicki - umiejętności

Charakterystyka U01
potrafi skonfigurować niebanalne środowisko wykonawcze, w postaci zbioru kontenerów lub maszyn wirtualnych, zgodnie z założonymi wymaganiami
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: U05, U06, U01, U02, U04
Powiązane charakterystyki obszarowe: III.P6S_UW.o, P6U_U, I.P6S_UW.o
Charakterystyka U02
potrafi zainstalować na istniejącym środowisku aplikację składającą się z oprogramowania systemowego i aplikacyjnego, zgodnie z przedstawionymi wytycznymi
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: U01, U02, U04, U05, U06
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka U03
potrafi analizować i modyfikować zastany, niebanalny kod istniejącego systemu informatycznego
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: U05, U06, U01, U02, U04
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka U04
potrafi posługiwać się repozytorium kodu i dokonywać na nim złożonych operacji
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: U01, U02, U04, U05, U06
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka U05
potrafi przygotować prostą dokumentację przedstawiającą rozwiązanie zadanego problemu
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: U04, U05, U06, U01, U02
Powiązane charakterystyki obszarowe: I.P6S_UW.o, III.P6S_UW.o, P6U_U
Charakterystyka U06
potrafi wyszukać niezbędne informacje w zasobach literaturowych
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: U01
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka U07
potrafi pracować indywidualnie i w zespole
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: U08
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UO

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka K01
rozumie potrzebę stałego aktualizowania i wzbogacania posiadanej wiedzy
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: K01
Powiązane charakterystyki obszarowe: P6U_K, I.P6S_KK
Charakterystyka K02
ma świadomość konieczności komunikowania się z otoczeniem, także pozazawodowym, w sposób zrozumiały dla odbiorcy
Weryfikacja: kolokwium, laboratorium
Powiązane charakterystyki kierunkowe: K05
Powiązane charakterystyki obszarowe: P6U_K, I.P6S_KO
Charakterystyka K03
rozumie jak przeprowadzić wdrożenie i utrzymanie projektu informatycznego w sposób przedsiębiorczy
Weryfikacja: laboratorium
Powiązane charakterystyki kierunkowe: K04
Powiązane charakterystyki obszarowe: P6U_K, I.P6S_KO