Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria komputerowa

Sylabus przedmiotu Wytwarzanie oprogramowania:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów nauki techniczne, studia inżynierskie
Profil ogólnoakademicki
Moduł
Przedmiot Wytwarzanie oprogramowania
Specjalność Inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Łukasz Radliński <lradlinski@zut.edu.pl>
Inni nauczyciele Maciej Poliwoda <Maciej.Poliwoda@zut.edu.pl>, Tomasz Wierciński <Tomasz.Wiercinski@zut.edu.pl>
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW5 30 2,00,50zaliczenie
laboratoriaL5 30 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Inżynieria oprogramowania
W-2Programowanie 2
W-3Narzędzia inżynierskie
W-4Zarządzanie informacją 1

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Nabycie wiedzy i umiejętności z zakresu wybranych metodyk, reguł, technik, praktyk i narzędzi wytwarzania oprogramowania

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Przygotowanie i konfiguracja środowiska i narzędzi wykorzystywanych na laboratoriach2
T-L-2Techniki i narzędzia refaktoryzacji2
T-L-3Wzorce architektoniczne2
T-L-4Wzorce i narzędzia integracyjne2
T-L-5Wzorce projektowe6
T-L-6Przeglądy i inspekcje oprogramowania2
T-L-7Realizacja projektu z wykorzystaniem metodyki XP14
30
wykłady
T-W-1Role, czynności i produkty wytwarzania oprogramowania2
T-W-2Techniki i narzędzia refaktoryzacji2
T-W-3Wzorce architektoniczne2
T-W-4Wzorce i narzędzia integracyjne2
T-W-5Wzorce projektowe6
T-W-6Przeglądy i inspekcje oprogramowania2
T-W-7Metodyka eXtreme Programming3
T-W-8Wytwarzanie kodu zarządzane testami - Test Driven Development3
T-W-9Klasyczne błędy i ich wpływ na proces tworzenia aplikacji - błędy wobec ludzi, procesu, produktu, technologii2
T-W-10Reguły efektywnego programowania i dokumentowania2
T-W-11Specyfikacja, projektowanie, implementacja i testowanie za pomocą kontraktów2
T-W-12Metody formalne2
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Udział w zajęciach30
A-L-2Dodatkowa praca nad realizacją zadań18
A-L-3Udział w konsultacjach2
50
wykłady
A-W-1Udział w wykładach30
A-W-2Samodzielne studiowanie tematyki wykładów i przygotowanie do zaliczenia16
A-W-3Udział w konsultacjach2
A-W-4Udział w zaliczeniu2
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
M-2Ćwiczenia laboratoryjne
M-3Realizacja projektu

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena za ćwiczenia indywidualne
S-2Ocena formująca: Ocena za realizację i prezentację projektu
S-3Ocena podsumowująca: Ocena końcowa z laboratoriów jako średnia ważona z ćwiczeń indywidualnych oraz z realizacji i prezentacji projektu
S-4Ocena podsumowująca: Zaliczenie wykładów - kolokwium

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_D02.02_W01
Student zna główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania
I_1A_W05C-1T-W-3, T-W-4, T-W-11, T-W-2, T-W-12, T-W-6, T-W-5, T-W-1, T-W-10, T-W-9, T-W-8, T-W-7M-1S-4

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_D02.02_U01
Student potrafi zastosować metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania w realizacji zadań inżynierskich
I_1A_U10C-1T-L-4, T-L-1, T-L-6, T-L-3, T-L-2, T-L-5, T-L-7M-2, M-3S-3, S-1, S-2

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_D02.02_K01
Student potrafi pełnić różne role w procesie zespołowego wytwarzania oprogramowania
I_1A_K02C-1T-W-10, T-L-4, T-L-2, T-W-5, T-W-3, T-W-4, T-L-3, T-W-2, T-W-1, T-W-11, T-W-6, T-L-1, T-W-12, T-L-6, T-L-5, T-W-9, T-W-8, T-W-7, T-L-7M-1, M-2S-1, S-4, S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_1A_D02.02_W01
Student zna główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania
2,0
3,0Student potrafi wymienić i pokrótce scharakteryzować wybrane główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania
3,5Student potrafi wymienić i szczegółowo scharakteryzować wybrane główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania
4,0Student potrafi wymienić i pokrótce scharakteryzować większość głównych metodyk, reguł, technik, praktyk i narzędzi wytwarzania oprogramowania
4,5Student potrafi wymienić i szczegółowo scharakteryzować większość głównych metodyk, reguł, technik, praktyk i narzędzi wytwarzania oprogramowania
5,0Student potrafi wymienić i szczegółowo scharakteryzować wszystkie główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania; potrafi wskazać szczegółowe ich zalety i wady oraz możliwości zastosowania

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_1A_D02.02_U01
Student potrafi zastosować metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania w realizacji zadań inżynierskich
2,0
3,0Student potrafi zastosować kilka wybranych reguł, techniki i praktyk oraz jedno narzędzie wytwarzania oprogramowania w realizacji prostych zadań inżynierskich wg wybranej metodyki
3,5Student potrafi zastosować wybrane reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania w realizacji prostych zadań inżynierskich wg kilku metodyk
4,0Student potrafi zastosować większość głównych reguł, technik, praktyk i narzędzi wytwarzania oprogramowania w realizacji prostych zadań inżynierskich wg kilku metodyk
4,5Student potrafi zastosować większość głównych reguł, technik, praktyk i narzędzi wytwarzania oprogramowania w realizacji zadań inżynierskich o średnim poziomie złożoności wg kilku metodyk
5,0Student potrafi dobrać i zastosować większość głównych reguł, technik, praktyk i narzędzi wytwarzania oprogramowania w realizacji zadań inżynierskich o średnim poziomie złożoności wg kilku metodyk

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_1A_D02.02_K01
Student potrafi pełnić różne role w procesie zespołowego wytwarzania oprogramowania
2,0
3,0Student potrafi pełnić dwie role w procesie zespołowego wytwarzania oprogramowania o niskim poziomie złożoności
3,5Student potrafi pełnić większość ról w procesie zespołowego wytwarzania oprogramowania o niskim poziomie złożoności
4,0Student potrafi pełnić wszystkie główne role w procesie zespołowego wytwarzania oprogramowania o niskim poziomie złożoności
4,5Student potrafi pełnić wszystkie główne role w procesie zespołowego wytwarzania oprogramowania o średnim poziomie złożoności
5,0Student wykazuje się wysokim poziomem kreatywności w pełnieniu wszystkich głównych ról w procesie zespołowego wytwarzania oprogramowania o średnim poziomie złożoności

Literatura podstawowa

  1. Pressman R.S., Software Engineering: A Practitioner's Approach, McGraw-Hill Education, 2014, 8
  2. Bass L., Clements P., Kazman R., Architektura oprogramowania w praktyce, Helion, Gliwice, 2011, II
  3. Wirfs-Brock R., McKean A., Projektowanie obiektowe. Role, odpowiedzialność i współpraca, Helion, 2005
  4. Freeman E., Bates B., Sierra K., Robson E., Wzorce projektowe. Rusz głową!, Helion, 2010
  5. Erl T., SOA. Koncepcje, technologie i projektowanie, Helion, 2014
  6. Bloch J., Java. Efektywne programowanie, Helion, 2009, II
  7. Patton R., Testowanie oprogramowania, Mikom, 2002

Literatura dodatkowa

  1. Fowler M., Beck K., Brant J., Opdyke W., Roberts D., Gamma E., Refaktoryzacja. Ulepszanie struktury istniejącego kodu, Helion, 2011
  2. Beck K., Wzorce implementacyjne, Helion, 2014
  3. Martin R.C., Clean Architecture: A Craftsman's Guide to Software Structure and Design, Prentice-Hall, 2017
  4. Martin R. C., Czysty kod. Podręcznik dobrego programisty, Helion, 2010
  5. Mitchell R., McKim J., Design by Contract, by Example, Addison-Wesley, 2001

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Przygotowanie i konfiguracja środowiska i narzędzi wykorzystywanych na laboratoriach2
T-L-2Techniki i narzędzia refaktoryzacji2
T-L-3Wzorce architektoniczne2
T-L-4Wzorce i narzędzia integracyjne2
T-L-5Wzorce projektowe6
T-L-6Przeglądy i inspekcje oprogramowania2
T-L-7Realizacja projektu z wykorzystaniem metodyki XP14
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Role, czynności i produkty wytwarzania oprogramowania2
T-W-2Techniki i narzędzia refaktoryzacji2
T-W-3Wzorce architektoniczne2
T-W-4Wzorce i narzędzia integracyjne2
T-W-5Wzorce projektowe6
T-W-6Przeglądy i inspekcje oprogramowania2
T-W-7Metodyka eXtreme Programming3
T-W-8Wytwarzanie kodu zarządzane testami - Test Driven Development3
T-W-9Klasyczne błędy i ich wpływ na proces tworzenia aplikacji - błędy wobec ludzi, procesu, produktu, technologii2
T-W-10Reguły efektywnego programowania i dokumentowania2
T-W-11Specyfikacja, projektowanie, implementacja i testowanie za pomocą kontraktów2
T-W-12Metody formalne2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Udział w zajęciach30
A-L-2Dodatkowa praca nad realizacją zadań18
A-L-3Udział w konsultacjach2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach30
A-W-2Samodzielne studiowanie tematyki wykładów i przygotowanie do zaliczenia16
A-W-3Udział w konsultacjach2
A-W-4Udział w zaliczeniu2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_D02.02_W01Student zna główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05Posiada wiedzę o cyklu życia systemów informatycznych; zna nowoczesne metody projektowania, analizowania, wytwarzania i testowania oprogramowania, w szczególności obejmujące szeroko stosowane narzędzia wspomagające wytwarzanie oprogramowania.
Cel przedmiotuC-1Nabycie wiedzy i umiejętności z zakresu wybranych metodyk, reguł, technik, praktyk i narzędzi wytwarzania oprogramowania
Treści programoweT-W-3Wzorce architektoniczne
T-W-4Wzorce i narzędzia integracyjne
T-W-11Specyfikacja, projektowanie, implementacja i testowanie za pomocą kontraktów
T-W-2Techniki i narzędzia refaktoryzacji
T-W-12Metody formalne
T-W-6Przeglądy i inspekcje oprogramowania
T-W-5Wzorce projektowe
T-W-1Role, czynności i produkty wytwarzania oprogramowania
T-W-10Reguły efektywnego programowania i dokumentowania
T-W-9Klasyczne błędy i ich wpływ na proces tworzenia aplikacji - błędy wobec ludzi, procesu, produktu, technologii
T-W-8Wytwarzanie kodu zarządzane testami - Test Driven Development
T-W-7Metodyka eXtreme Programming
Metody nauczaniaM-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
Sposób ocenyS-4Ocena podsumowująca: Zaliczenie wykładów - kolokwium
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student potrafi wymienić i pokrótce scharakteryzować wybrane główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania
3,5Student potrafi wymienić i szczegółowo scharakteryzować wybrane główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania
4,0Student potrafi wymienić i pokrótce scharakteryzować większość głównych metodyk, reguł, technik, praktyk i narzędzi wytwarzania oprogramowania
4,5Student potrafi wymienić i szczegółowo scharakteryzować większość głównych metodyk, reguł, technik, praktyk i narzędzi wytwarzania oprogramowania
5,0Student potrafi wymienić i szczegółowo scharakteryzować wszystkie główne współczesne metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania; potrafi wskazać szczegółowe ich zalety i wady oraz możliwości zastosowania
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_D02.02_U01Student potrafi zastosować metodyki, reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania w realizacji zadań inżynierskich
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U10Potrafi projektować i implementować systemy informatyczne posługując się narzędziami wspomagającymi proces wytwarzania oprogramowania na różnych jego etapach.
Cel przedmiotuC-1Nabycie wiedzy i umiejętności z zakresu wybranych metodyk, reguł, technik, praktyk i narzędzi wytwarzania oprogramowania
Treści programoweT-L-4Wzorce i narzędzia integracyjne
T-L-1Przygotowanie i konfiguracja środowiska i narzędzi wykorzystywanych na laboratoriach
T-L-6Przeglądy i inspekcje oprogramowania
T-L-3Wzorce architektoniczne
T-L-2Techniki i narzędzia refaktoryzacji
T-L-5Wzorce projektowe
T-L-7Realizacja projektu z wykorzystaniem metodyki XP
Metody nauczaniaM-2Ćwiczenia laboratoryjne
M-3Realizacja projektu
Sposób ocenyS-3Ocena podsumowująca: Ocena końcowa z laboratoriów jako średnia ważona z ćwiczeń indywidualnych oraz z realizacji i prezentacji projektu
S-1Ocena formująca: Ocena za ćwiczenia indywidualne
S-2Ocena formująca: Ocena za realizację i prezentację projektu
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student potrafi zastosować kilka wybranych reguł, techniki i praktyk oraz jedno narzędzie wytwarzania oprogramowania w realizacji prostych zadań inżynierskich wg wybranej metodyki
3,5Student potrafi zastosować wybrane reguły, techniki, praktyki i narzędzia wytwarzania oprogramowania w realizacji prostych zadań inżynierskich wg kilku metodyk
4,0Student potrafi zastosować większość głównych reguł, technik, praktyk i narzędzi wytwarzania oprogramowania w realizacji prostych zadań inżynierskich wg kilku metodyk
4,5Student potrafi zastosować większość głównych reguł, technik, praktyk i narzędzi wytwarzania oprogramowania w realizacji zadań inżynierskich o średnim poziomie złożoności wg kilku metodyk
5,0Student potrafi dobrać i zastosować większość głównych reguł, technik, praktyk i narzędzi wytwarzania oprogramowania w realizacji zadań inżynierskich o średnim poziomie złożoności wg kilku metodyk
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_D02.02_K01Student potrafi pełnić różne role w procesie zespołowego wytwarzania oprogramowania
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K02Ma świadomość znaczenia wiedzy (w szczególności jej niewłaściwego użycia) w procesie rozwiązywania szeregu problemów inżynierskich i technicznych w dziedzinie informatyki.
Cel przedmiotuC-1Nabycie wiedzy i umiejętności z zakresu wybranych metodyk, reguł, technik, praktyk i narzędzi wytwarzania oprogramowania
Treści programoweT-W-10Reguły efektywnego programowania i dokumentowania
T-L-4Wzorce i narzędzia integracyjne
T-L-2Techniki i narzędzia refaktoryzacji
T-W-5Wzorce projektowe
T-W-3Wzorce architektoniczne
T-W-4Wzorce i narzędzia integracyjne
T-L-3Wzorce architektoniczne
T-W-2Techniki i narzędzia refaktoryzacji
T-W-1Role, czynności i produkty wytwarzania oprogramowania
T-W-11Specyfikacja, projektowanie, implementacja i testowanie za pomocą kontraktów
T-W-6Przeglądy i inspekcje oprogramowania
T-L-1Przygotowanie i konfiguracja środowiska i narzędzi wykorzystywanych na laboratoriach
T-W-12Metody formalne
T-L-6Przeglądy i inspekcje oprogramowania
T-L-5Wzorce projektowe
T-W-9Klasyczne błędy i ich wpływ na proces tworzenia aplikacji - błędy wobec ludzi, procesu, produktu, technologii
T-W-8Wytwarzanie kodu zarządzane testami - Test Driven Development
T-W-7Metodyka eXtreme Programming
T-L-7Realizacja projektu z wykorzystaniem metodyki XP
Metody nauczaniaM-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena za ćwiczenia indywidualne
S-4Ocena podsumowująca: Zaliczenie wykładów - kolokwium
S-3Ocena podsumowująca: Ocena końcowa z laboratoriów jako średnia ważona z ćwiczeń indywidualnych oraz z realizacji i prezentacji projektu
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student potrafi pełnić dwie role w procesie zespołowego wytwarzania oprogramowania o niskim poziomie złożoności
3,5Student potrafi pełnić większość ról w procesie zespołowego wytwarzania oprogramowania o niskim poziomie złożoności
4,0Student potrafi pełnić wszystkie główne role w procesie zespołowego wytwarzania oprogramowania o niskim poziomie złożoności
4,5Student potrafi pełnić wszystkie główne role w procesie zespołowego wytwarzania oprogramowania o średnim poziomie złożoności
5,0Student wykazuje się wysokim poziomem kreatywności w pełnieniu wszystkich głównych ról w procesie zespołowego wytwarzania oprogramowania o średnim poziomie złożoności