Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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

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 charakterystyki PRK, kompetencje inżynierskie PRK
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
laboratoriaL5 30 2,00,50zaliczenie
wykładyW5 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 uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się 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-1, T-W-11, T-W-12, T-W-3, T-W-4, T-W-5, T-W-10, T-W-2, T-W-6, T-W-7, T-W-8, T-W-9M-1S-4

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się 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-1, T-L-3, T-L-4, T-L-5, T-L-2, T-L-6, T-L-7M-2, M-3S-1, S-3, S-2

Zamierzone efekty uczenia się - inne kompetencje społeczne i personalne

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się 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-1, T-L-1, T-W-11, T-W-12, T-W-3, T-L-3, T-W-4, T-L-4, T-W-5, T-L-5, T-W-10, T-W-2, T-L-2, T-W-6, T-L-6, T-W-7, T-W-8, T-W-9, T-L-7M-1, M-2S-1, S-3, S-4

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium 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 uczenia sięOcenaKryterium 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 uczenia sięOcenaKryterium 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 uczenia sięI_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-1Role, czynności i produkty wytwarzania oprogramowania
T-W-11Specyfikacja, projektowanie, implementacja i testowanie za pomocą kontraktów
T-W-12Metody formalne
T-W-3Wzorce architektoniczne
T-W-4Wzorce i narzędzia integracyjne
T-W-5Wzorce projektowe
T-W-10Reguły efektywnego programowania i dokumentowania
T-W-2Techniki i narzędzia refaktoryzacji
T-W-6Przeglądy i inspekcje oprogramowania
T-W-7Metodyka eXtreme Programming
T-W-8Wytwarzanie kodu zarządzane testami - Test Driven Development
T-W-9Klasyczne błędy i ich wpływ na proces tworzenia aplikacji - błędy wobec ludzi, procesu, produktu, technologii
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 uczenia sięI_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-1Przygotowanie i konfiguracja środowiska i narzędzi wykorzystywanych na laboratoriach
T-L-3Wzorce architektoniczne
T-L-4Wzorce i narzędzia integracyjne
T-L-5Wzorce projektowe
T-L-2Techniki i narzędzia refaktoryzacji
T-L-6Przeglądy i inspekcje oprogramowania
T-L-7Realizacja projektu z wykorzystaniem metodyki XP
Metody nauczaniaM-2Ćwiczenia laboratoryjne
M-3Realizacja projektu
Sposób ocenyS-1Ocena formująca: Ocena za ćwiczenia indywidualne
S-3Ocena podsumowująca: Ocena końcowa z laboratoriów jako średnia ważona z ćwiczeń indywidualnych oraz z realizacji i prezentacji projektu
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 uczenia sięI_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-1Role, czynności i produkty wytwarzania oprogramowania
T-L-1Przygotowanie i konfiguracja środowiska i narzędzi wykorzystywanych na laboratoriach
T-W-11Specyfikacja, projektowanie, implementacja i testowanie za pomocą kontraktów
T-W-12Metody formalne
T-W-3Wzorce architektoniczne
T-L-3Wzorce architektoniczne
T-W-4Wzorce i narzędzia integracyjne
T-L-4Wzorce i narzędzia integracyjne
T-W-5Wzorce projektowe
T-L-5Wzorce projektowe
T-W-10Reguły efektywnego programowania i dokumentowania
T-W-2Techniki i narzędzia refaktoryzacji
T-L-2Techniki i narzędzia refaktoryzacji
T-W-6Przeglądy i inspekcje oprogramowania
T-L-6Przeglądy i inspekcje oprogramowania
T-W-7Metodyka eXtreme Programming
T-W-8Wytwarzanie kodu zarządzane testami - Test Driven Development
T-W-9Klasyczne błędy i ich wpływ na proces tworzenia aplikacji - błędy wobec ludzi, procesu, produktu, technologii
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-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
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