Podstawy inżynierii oprogramowania Field of study: Applied Computer Science
Programme code: 03-S1IS14.2018

Module name: Podstawy inżynierii oprogramowania
Module code: 03-IS-14-PIO
Programme code: 03-S1IS14.2018
Semester: summer semester 2019/2020
Language of instruction: Polish
Form of verification: exam
ECTS credits: 5
Description:
1. Podstawowe etapy procesu tworzenia oprogramowania 1.1. analiza wymagań 1.2. projektowanie 1.3. implementacja 1.4. testowanie 1.5. wdrożenie i pielęgnacja 2. Modele tworzenia oprogramowania 2.1. kaskadowy 2.2. przyrostowy 2.3. iteracyjny 3. Specyfikacja wymagań 3.1. wzorzec IEEE 3.2. przypadki użycia 4. Język UML (Unified Modelling Language) 4.1. diagramy przypadków użycia 4.2. diagramy klas 4.3. diagramy sekwencji 5. Przegląd różnych metodologii tworzenia oprogramowania 5.1. zasady i praktyki programowania ekstremalnego 5.2. Manifest Zwinności 5.3. Rational Unified Process – struktura statyczna i dynamiczna 5.4. organizacja czasu pracy w SCRUM 6. Testowanie oprogramowania 6.1. metodyki testowania 6.2. rodzaje testów 6.3. inspekcja kodu 6.4. TDD (Test Driven Development). 7. Szacowanie oprogramowania 7.1. żelazny trójkąt – jakość, czas, koszt, zakres 7.2. punkty funkcyjne 8. Zasady projektowania obiektowego 8.1. Zasada Demeter 8.2. Zasada pojedynczej odpowiedzialności 8.3. Zasada otwarte-zamknięte 8.4. Zasada podstawienia Liskov 9. Wzorce projektowe 9.1. Command 9.2. Singleton 9.3. Active Object 9.4. Strategy 9.5. Mediator 9.6. Template Method9.7.
Prerequisites:
Zaliczenie modułu: Wstęp do programowania, Algorytmy i programowanie
Key reading:
(no information given)
Learning outcome of the module Codes of the learning outcomes of the programme to which the learning outcome of the module is related [level of competence: scale 1-5]
zna podstawy projektowania oprogramowania [PIO_1]
K_U07 [5/5]
zna zasady projektowania obiektowego [PIO_10]
K_U17 [3/5]
potrafi współpracować w procesie zespołowego tworzenia oprogramowania [PIO_11]
K_K02 [3/5]
zna narzędzia wspomagające projektowanie oprogramowania – programy kontroli wersji, tworzenia diagramów UML, programy testujące oprogramowanie [PIO_2]
K_W08 [3/5]
potrafi zaplanować proces testowania oprogramowania [PIO_3]
K_W07 [3/5]
zna różne metodologie tworzenia oprogramowania: programowanie ekstremalne, Rational Unified Process, programowanie zwinne, SCRUM [PIO_4]
K_W07 [3/5]
zna metody szacowania oprogramowania np. punkty funkcyjne [PIO_5]
K_U03 [3/5] K_U17 [3/5]
potrafi tworzyć proste diagramy UML, co najmniej: przypadków użycia, klas, sekwencji [PIO_6]
K_U17 [5/5]
zna wzorce specyfikacji wymagań [PIO_7]
K_U17 [3/5]
potrafi pisać proste przypadki użycia [PIO_8]
K_U17 [5/5]
zna najistotniejsze wzorce projektowe [PIO_9]
K_U17 [3/5]
Type Description Codes of the learning outcomes of the module to which assessment is related
projekty [PIO_w_1]
Tworzenie dokumentów przydatnych w projektowaniu oprogramowania, dyskusja dotycząca wyboru metod, architektury projektów
PIO_1 PIO_11 PIO_2 PIO_3 PIO_4 PIO_6 PIO_7 PIO_8
aktywność na zajęciach [PIO_w_2]
Tworzenie dokumentów, udział w dyskusji;
PIO_1 PIO_2 PIO_3 PIO_4 PIO_6 PIO_7 PIO_8
egzamin ustny [PIO_w_3]
warunkiem przystąpienia do egzaminu jest zaliczenie laboratorium; zakres materiału – wszystkie zagadnienia omawiane na wykładach; prezentacja swojego projektu;
PIO_1 PIO_10 PIO_4 PIO_5 PIO_6 PIO_7 PIO_9
Form of teaching Student's own work Assessment of the learning outcomes
Type Description (including teaching methods) Number of hours Description Number of hours
lecture [PIO_fs_1]
wykład wybranych zagadnień z wykorzystaniem pomocy audiowizualnych;
30
Praca z podręcznikami, lektura uzupełniająca
20 egzamin ustny [PIO_w_3]
discussion classes [PIO_fs_2]
Tworzenie wspólnego projektu, symulacja zebrań zespołu programistów
30
Tworzenie własnych i wspólnych dokumentów dotyczących projektów oprogramowania
60 projekty [PIO_w_1] aktywność na zajęciach [PIO_w_2]
Attachments
Module description (PDF)
Information concerning module syllabuses might be changed during studies.
Syllabuses (USOSweb)
Semester Module Language of instruction
(no information given)