powrót do strony głównej

Zajęcia, rok akademicki 2018/2019, semestr 2

Projektowanie obiektowe oprogramowania

Wykład skierowany jest do przyszłych architektów i projektantów systemów informatycznych oraz do wszystkich programistów zainteresowanych udoskonaleniem swojego warsztatu. Celem wykładu jest zapoznanie studentów z kanonem współczesnych narzędzi w zakresie projektowania obiektowego oprogramowania.

Materiał wykładu obejmuje:

Celem pracowni jest praktyczny kontakt z materiałem z wykładu.

Wymagania

Wymagany ukończony kurs języka Java lub C# - wszystkie przykłady będą bazowały na języku C#, a większość zadań studenci będą rozwiązywali w językach C# lub Java (do wyboru).

Organizacja pracy

Podczas wykładu omawiane są kolejne zagadnienia według programu. Podczas ćwiczeń studenci zgłaszają gotowość do zaprezentowania rozwiązań wybranych przez siebie zadań, wypełniając wcześniej standardowe paski deklaracji. Prowadzący sprawdza indywidualnie (lub grupowo dla niektórych zadań, według uznania prowadzącego) rozwiązania wybranych zadań. Obecność na ćwiczeniach jest w związku z tym nieobowiązkowa. Podstawą zaliczenia jest liczba zgromadzonych punktów.
5.0 >= 75% (60+p)
4.0 >= 50% (40-60p)
3.0 >= 25% (20-40p)
2.0 < 25% (-20p)

Egzamin

Egzamin odbędzie się dnia 21.06.2019 (piątek) w godz. 08:30-10:00 w sali 25. Egzamin ma formę pisemną.

Rankingi cząstkowe (grupa WZY)

Punktacja na 2019-05-07
Punktacja na 2019-06-04

Odnośniki do wykładów

  1. Wykład 1 2019-02-26 Wprowadzenie do projektowania obiektowego
  2. Wykład 2 2019-03-05 Język UML
  3. Wykład 3 2019-03-12 SOLID GRASP
  4. Wykład 4 2019-03-19 Wzorce projektowe (1)
  5. Wykład 5 2019-03-26 Wzorce projektowe (2)
  6. Wykład 6 2019-04-02 Wzorce projektowe (3)
  7. Wykład 7 2019-04-09 Wzorce projektowe (4)
  8. Wykład 8 2019-04-16 Wzorce projektowe (5)
  9. Wykład 9 2019-04-30 Wzorce architektury aplikacji (1)
  10. Wykład 10 2019-05-07 Wzorce architektury aplikacji (2)
  11. Wykład 11 2019-05-14 Wzorce architektury aplikacji (3)
  12. Wykład 12 2019-05-21 Wzorce architektury aplikacji (4)
  13. Wykład 13 2019-05-28 Testowanie oprogramowania
  14. Wykład 14 2019-06-04 Architektura systemów (1)
  15. Wykład 15 2019-06-11 Architektura systemów (2)

Laboratoria

Data ogłoszenia Data ważności Zestaw zadań
2019-02-26 2019-03-12 Zestaw 1
2019-03-05 2019-03-19 Zestaw 2
2019-03-12 2019-03-26 Zestaw 3
2019-03-19 2019-04-02 Zestaw 4
2019-03-26 2019-04-09 Zestaw 5
2019-04-02 2019-04-16 Zestaw 6
2019-04-09 2019-04-30 Zestaw 7
2019-04-16 2019-05-07 Zestaw 8
2019-05-07 2019-05-21 Zestaw 9
2019-05-14 2019-05-28 Zestaw A
2019-05-21 2019-06-04 Zestaw B
2019-06-04 do końca semestru Zestaw C

Wykłady

  1. 2019-02-26, Wprowadzenie do projektowania obiektowego Notatki do wykładu 1
    Zestaw 1 (do 2019-03-12)
  2. 2019-03-05, Język UML Notatki do wykładu 2
    Zestaw 2 (do 2019-03-19)
  3. 2019-03-12, SOLID GRASP Notatki do wykładu 3
    Zestaw 3 (do 2019-03-26)
  4. 2019-03-19, Wzorce projektowe (1) Notatki do wykładu 4
    Zestaw 4 (do 2019-04-02)
  5. 2019-03-26, Wzorce projektowe (2) Notatki do wykładu 5
    Zestaw 5 (do 2019-04-09)
  6. 2019-04-02, Wzorce projektowe (3) Notatki do wykładu 6
    Zestaw 6 (do 2019-04-16)
  7. 2019-04-09, Wzorce projektowe (4) Notatki do wykładu 7
    Zestaw 7 (do 2019-04-30)
  8. 2019-04-16, Wzorce projektowe (5) Notatki do wykładu 8
    Zestaw 8 (do 2019-05-07)
  9. 2019-04-30, Wzorce architektury aplikacji (1) Notatki do wykładu 9
  10. 2019-05-07, Wzorce architektury aplikacji (2) Notatki do wykładu 10
    Zestaw 9 (do 2019-05-21)
  11. 2019-05-14, Wzorce architektury aplikacji (3) Notatki do wykładu 11
    Zestaw A (do 2019-05-28)
    Przykład z wykładu
  12. 2019-05-22, Wzorce architektury aplikacji (4) Notatki do wykładu 12
    Zestaw B (do 2019-06-04)
    Przykład z wykładu
  13. 2019-05-28, Testowanie oprogramowania Notatki do wykładu 13
  14. 2019-06-04, Architektura systemów (1) Notatki do wykładu 14
    Zestaw C (ostatni) (do końca semestru)
  15. 2019-06-11, Architektura systemów (2) Notatki do wykładu 15

Literatura podstawowa

  1. Wrycza, Marcinkowski, Wyrzykowski - Język UML 2.0 w modelowaniu systemów informatycznych
  2. Fowler - Refactoring: Improving the Design of Existing Code
  3. Gamma, Helm, Johnson, Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software
  4. B.Martin, M.Martin. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#.
  5. Larman - UML i wzorce projektowe. Analiza i projektowanie obiektowe oraz iteracyjny model wytwarzania aplikacji
  6. Fowler - Patterns of Enterprise Application Architecture
  7. Microsoft Patterns & Practices - Application Architecture Guide

Literatura uzupełniająca

  1. Seeman - Dependency Injection in .NET
  2. Hohpe, Wolf - Enterprise Integration Patterns
  3. Betts, Dominguez et al. - Exploring CQRS and Event Sourcing