- 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:
W09, W08
Powiązane charakterystyki obszarowe:
III.P6S_WG, P6U_W, I.P6S_WG.o
- 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:
P6U_W, I.P6S_WG.o, III.P6S_WG
- 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:
P6U_U, I.P6S_UW.o, III.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:
U04, U05, U06, U01, U02
Powiązane charakterystyki obszarowe:
I.P6S_UW.o, III.P6S_UW.o, P6U_U
- 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:
U02, U04, U05, U06, U01
Powiązane charakterystyki obszarowe:
III.P6S_UW.o, P6U_U, I.P6S_UW.o
- 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