Sztuka wytwarzania oprogramowania (SWO) 2024L

Przedmiot omawia metody wytwarzania i utrzymania oprogramowania, w tym wzorce projektowe. Nacisk położony jest na pracę projektanta kodu i programisty, ukazując kodowanie i testowanie jako element większej całości.

Wykłady

Wykłady będą odbywały w sali 161 w poniedziałki w godzinach 10:15 - 12:00. Nie jest wymagana obecność na wykładzie i nie będzie ona sprawdzana.

Poniżej jest lista poszczególnych wykładów oraz materiały pomocnicze (slajdy i inne). Slajdy z wykładów w semestrze 2023Z są dostępne tutaj (7MB)

  1. (19 II, Nowak) Organizacja przedmiotu, potok wytwarzania oprogramowania, narzędzia. Programowanie obiektowe, kompozycja, dziedziczenie, slajdy (pdf).
  2. (26 II, Grochowski) Standardy kodowania, SOLID, slajdy (pdf).
  3. (4 III, Nowak) Obiektowe wzorce projektowe cz. 1, slajdy (pdf), kod (zip).
  4. (11 III, Nowak) Obiektowe wzorce projektowe cz. 2, slajdy (pdf), kod (zip).
  5. (18 III)
  6. (25 III, Grochowski) Cykl wytwarzania oprogramowania, od wymagań po utrzymanie, slajdy wykładowe (pdf), dokument ESA dotyczący oprogramowania (pdf).
  7. (8 IV, Grochowski) Cykl wytwarzania oprogramowania, od wymagań po utrzymanie, slajdy wykładowe (pdf). przykład kodu (bz2).
  8. (15 IV) Kolokwium nr 1,
  9. (22 IV, Grochowski) Ocena jakości kodu i testów, analiza statyczna kodu, metryki,
  10. (6 V, Grochowski) Monitorowanie i analiza aplikacji
  11. (13 V, Grochowski) Refaktoring, praca z kodem zastanym
  12. (20 V, Nowak) Współbieżne wzorce projektowe (1),
  13. (27 V, Nowak) Współbieżne wzorce projektowe (2),
  14. (3 VI) Kolokwium nr 2,
  15. (10 VI, Nowak) Zasoby internetowe, standardy języków programowania

Laboratoria

Laboratoria odbywają się w zespołach 2 osobowych w sali 09 lub 011, we wtorki w godzinach 8:15 -- 12:00 lub 12:15 -- 16:00. Każde labortorium trwa 4 godziny.

  1. (mgr inż. Witold Wysota) Edytor, repozytorium git, praca w parach, rewizja kodu.
  2. (mgr inż. Konrad Grochowski) Zestawienie potoku CI/CD, testy, walidacje.
  3. (dr inż. Michał Chwesiuk) Monitorowanie aplikacji, debuggowanie, profilowanie.
  4. (mgr inż. Katarzyna Nałęcz-Charkiewicz) Praca z kodem zastanym, refaktoring.
GrupaLaboratorium 1Laboratorium 2Laboratorium 3Laboratorium 4
Grupa 10119 III 8-12 s. 01123 IV 8-12 s. 01114 V 8-12 s. 01128 V 8-12 s. 011
Grupa 10226 III 8-12 s. 01116 IV 8-12 s. 0117 V 8-12 s. 01121 V 8-12 s. 011
Grupa 10319 III 12-16 s. 0923 IV 12-16 s. 0914 V 12-16 s. 0928 V 12-16 s. 09
Grupa 10426 III 12-16 s. 0916 IV 12-16 s. 097 V 12-16 s. 0921 V 12-16 s. 09
Grupa 10519 III 8-12 s. 01123 IV 8-12 s. 01114 V 8-12 s. 01128 V 8-12 s. 011
Grupa 10626 III 8-12 s. 01116 IV 8-12 s. 0117 V 8-12 s. 01121 V 8-12 s. 011
Grupa 10719 III 12-16 s. 0923 IV 12-16 s. 0914 V 12-16 s. 0928 V 12-16 s. 09
Grupa 10826 III 12-16 s. 0916 IV 12-16 s. 097 V 12-16 s. 0921 V 12-16 s. 09

Zaliczenie Przedmiot jest zaliczany na podstawie wyników sprawdzianów, przeprowadzanych podczas wykładów ( punktacja 0 - 20pkt.) i wyników ćwiczeń laboratoryjnych (punktacja 0 - 20 pkt.). Ocena końcowa jest określana na podstawie łącznej liczby punktów zgodnie z poniższą tabelą.
liczba punktówocena
37 - 40 pktpięć
33 - 36 pktcztery i pół
29 - 32 pktcztery
25 - 28 pkttrzy i pół
21 - 24 pkttrzy
0 - 20 pktdwa
Do zaliczenia przedmiotu konieczne jest uzyskanie min. 10 pkt z laboratorium.

Bieżące oceny cząstkowe są uzupełniane na serwerze USOS

Konsultacje i kontakt z prowadzącymi

Patrz Baza Wiedzy Politechniki Warszawskiej

Przydatne materiały

Narzędzia (lista)

Literatura

  • Andrew Hunt, David Thomas. Pragmatyczny programista. Od czeladnika do mistrza. Helion 2014
  • Robert C. Martin. Czysty kod. Podręcznik dobrego programisty. Helion 2010
  • Robert C. Martin. Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów. Helion 2013
  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Wzorce projektowe. Helion 2010
  • Martin Fowler. Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Helion 2011