- 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_W10, K_W09
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_U02, K_U03, K_U12, K_U13
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