Nazwa przedmiotu:
Inżynieria oprogramowania
Koordynator przedmiotu:
dr inż. Jacek Bernard Marciniak
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia I stopnia
Program:
Geoinformatyka
Grupa przedmiotów:
Obieralne
Kod przedmiotu:
1060-GI000-ISP-6002
Semestr nominalny:
6 / rok ak. 2023/2024
Liczba punktów ECTS:
2
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
50 godzin, w tym: 1) Liczba godzin kontaktowych: 32 godziny: a) udział w zajęciach, wykłady: 15 godzin, b) udział w zajęciach, ćwiczenia: 15 godzin, c) uczestnictwo konsultacjach: 2 godziny. 2) Praca własna studenta: 18 godzin: a) grupowa praca projektowa, przygotowanie sprawozdań: 10 godzin, b) zapoznanie się z literaturą: 2 godziny, c) przygotowanie do egzaminu: 6 godzin.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
32 godziny = 1,28 punktu ECTS: Udział w zajęciach, wykłady: 15 godzin, Udział w zajęciach, ćwiczenia: 15 godzin, Udział w konsultacjach: 2 godziny
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
27 godzin = 1,08 punktu ECTS: Udział w zajęciach, ćwiczenia: 15 godzin, Sprawozdania, raporty z zajęć, prace domowe: 10 godzin, Udział w konsultacjach: 2 godziny
Formy zajęć i ich wymiar w semestrze:
  • Wykład15h
  • Ćwiczenia15h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Znajomość przynajmniej jednego języka programowania wysokiego poziomu: C++, Java, C#, Kotlin, JavaScypt. Podstawowa umiętność programowania aplikacji okienkowych oraz internetowych. Podstawowa znajomość zagadnień bazodanowych.
Limit liczby studentów:
30
Cel przedmiotu:
Celem przedmiotu jest zapoznanie studentów z formalnymi metodami tworzenia oprogramowania, które pozwalają na uporządkowany proces jego tworzenia, minimalizację zagrożenia realizacji projektów, optymalizację kosztów, przygotowanie profesjonalnej dokumentacji oraz ułatwienie rozwoju oprogramowania w przyszłości.
Treści kształcenia:
Wykład: 1. Wprowadzenie do inżynierii oprogramowania, podstawowe pojęcia i definicje 2. Projekty i procesy, proces wytwarzania oprogramowania 3. Modele wytwarzania oprogramowania: kaskadowy, oparty na prototypowaniu, przyrostowy, spiralny, metodyki zwinne 4. Inżynieria wymagań, wymagania funkcjonalne, niefunkcjonalne i dziedzinowe 5. Metody pozyskiwania wymagań, standard ANSI/IEEE 830 6. Wprowadzenie do języka UML, diagramy przypadków użycia 7. Architektura systemów informatycznych, diagramy komponentów, diagramy pakietów 8. Wzorce architektoniczne: architektura wielowarstwowa, repozytorium, klient-serwer, MVC pasywny i aktywny 9. Diagramy czynności i diagramy sekwencji 10. Modelowanie obiektowe, obiekty i klasy, abstrakcja, hermetyzacja, polimorfizm, dziedziczenie, związki pomiędzy klasami; diagramy klas i diagramy obiektów 11. Wzorce projektowe: singleton, adapter, fasada, obserwator 12. Wzorce projektowe: strategia, łańcuch zobowiązań, metoda wytwórcza, fabryka abstrakcyjna, most 13. Jakość oprogramowania, norma ISO 9126 14. Testowanie oprogramowania, testy jednostkowe, integracyjne, systemowe, akceptacyjne, testowanie statyczne i dynamiczne, testowanie aktywne i pasywne, testy białej, czarnej i szarej skrzynki 15. Paradygmaty tworzenia oprogramowania, typowanie słabe i silne, statyczne i dynamiczne Projekt: Wykonanie dokumentacji projektowej zgodnie z zasadami inżynierii oprogramowania. Opracowanie w grupach propozycji projektowej, analizy wymagań i projektu systemu.
Metody oceny:
Ocena z wykładu: - Egzamin, do zdobycia 100 punktów. - Progi ocen: 2 [0-50], 3 [50-60], 3.5 [60-70], 4 [70-80], 4.5 [80-90], 5 [90-100]. - Możliwość poprawienia egzaminu - jeden termin poprawkowy. Ocena z ćwiczeń: - Przygotowanie artefaktów projektowych ocenianych w skali [0-5] z różnymi wagami. - Maksymalnie do zdobycia 100 punktów. - Ocena końcowa według takich samych kryteriów jak dla wykładu. Ocena końcowa z przedmiotu: - Ocena oparta o średnią wartość punktów z wykładów i ćwiczeń według kryteriów oceny jak dla wykładu - Warunkiem uzyskania oceny pozytywnej jest uzyskanie pozytywnych ocen z wykładu i z ćwiczeń.
Egzamin:
tak
Literatura:
1. Sacha K.: Inżynieria oprogramowania, WNT, Warszawa 2010. 2. Pressman, Praktyczne podejście do inżynierii oprogramowania, WNT, Warszawa 2004. 3. Wrycza, S., Marcinkowski, B., Wyrzykowski, K., Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2006. 4. Gamma E. i in.: Wzorce projektowe, WNT, Warszawa 2005.
Witryna www przedmiotu:
-
Uwagi:
Brak

Efekty uczenia się

Profil praktyczny - wiedza

Charakterystyka GI.ISP-6002_W1
Zna i rozumie znaczenie inżynierii oprogramowania w realizacji projektów informatycznych i geoinformatycznych
Weryfikacja: Egzamin
Powiązane charakterystyki kierunkowe: K_W09, K_W10
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK
Charakterystyka GI.ISP-6002_W2
Ma podstawową wiedzę z zakresu organizacji procesu rozwoju oprogramowania
Weryfikacja: Egzamin
Powiązane charakterystyki kierunkowe: K_W10, K_W11
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK
Charakterystyka GI.ISP-6002_W3
Zna zasady przygotowania specyfikacji wymagań dla projektów informatycznych i geoinformatycznych
Weryfikacja: Egzamin
Powiązane charakterystyki kierunkowe: K_W03, K_W09, K_W10
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK
Charakterystyka GI.ISP-6002_W4
Ma podstawową wiedzę z zakresu strukturalnych oraz obiektowych metod projektowania oprogramowania
Weryfikacja: Egzamin
Powiązane charakterystyki kierunkowe: K_W03, K_W04, K_W09, K_W10
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK
Charakterystyka GI.ISP-6002_W5
Zna zasady metodyki zwinnej projektowania i tworzenia oprogramowania
Weryfikacja: Egzamin
Powiązane charakterystyki kierunkowe: K_W10, K_W04, K_W09
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK
Charakterystyka GI.ISP-6002_W6
Ma podstawową wiedzę z zakresu metod testowania oprogramowania oraz ewaluacji procedur testowych
Weryfikacja: Egzamin
Powiązane charakterystyki kierunkowe: K_W04, K_W09, K_W10
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK
Charakterystyka GI.ISP-6002_W7
Ma podstawową wiedzę z zakresu metod zarządzania projektem informatycznym i geoinformatycznym
Weryfikacja: Egzamin
Powiązane charakterystyki kierunkowe: K_W10
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK
Charakterystyka GI.ISP-6002_W8
Zna narzędzia CASE wspomagające tworzenie oprogramowania na różnych etapach projektowania
Weryfikacja: Egzamin
Powiązane charakterystyki kierunkowe: K_W04, K_W09, K_W10
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK

Profil praktyczny - umiejętności

Charakterystyka GI.ISP-6002_U1
Potrafi korzystać z wybranych narzędzi CASE do wspomagania różnych etapów projektowania aplikacji.
Weryfikacja: Ocena wykonanego zadania projektowego
Powiązane charakterystyki kierunkowe: K_U01, K_U10, K_U12
Powiązane charakterystyki obszarowe: I.P6S_UW
Charakterystyka GI.ISP-6002_U2
Potrafi zrozumieć i zinterpretować diagramy UML dokumentujące etapy rozwoju oprogramowania
Weryfikacja: Ocena wykonanego zadania projektowego
Powiązane charakterystyki kierunkowe: K_U01, K_U12
Powiązane charakterystyki obszarowe: I.P6S_UW
Charakterystyka GI.ISP-6002_U3
Potrafi przygotować dokumentację projektu informatycznego o niewielkim stopniu skomplikowania, wykorzystując obiektowe metody projektowania oprogramowania
Weryfikacja: Ocena wykonanego zadania projektowego
Powiązane charakterystyki kierunkowe: K_U01, K_U12, K_U02, K_U13, K_U03
Powiązane charakterystyki obszarowe: I.P6S_UW, I.P6S_UO

Profil praktyczny - kompetencje społeczne

Charakterystyka GI.ISP-6002_K1
Potrafi współpracować w zespole rozwiązując przydzielone problemy
Weryfikacja: Ocena sprawozdania w wykonanych prac projektowych
Powiązane charakterystyki kierunkowe: K_K04
Powiązane charakterystyki obszarowe: I.P6S_KO, I.P6S_KR