powrót do strony głównej

Zajęcia, rok akademicki 2016/2017, 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.2017 (środa) w godz. 9:00-11:00 Egzamin ma formę pisemną.

Laboratoria

Data ogłoszenia Data ważności Zestaw zadań
2017-02-28 2017-03-14 Zestaw 1
2017-03-07 2017-03-21 Zestaw 2
2017-03-14 2017-03-28 Zestaw 3
2017-03-21 2017-04-04 Zestaw 4
2017-03-28 2017-04-11 Zestaw 5
2017-04-04 2017-04-19 Zestaw 6
2017-04-11 2017-05-09 Zestaw 7
2017-04-19 2017-05-09 Zestaw 8
2017-05-09 2017-05-23 Zestaw 9
2017-05-16 2017-05-30 Zestaw A
2017-05-23 2017-06-06 Zestaw B
2017-05-30 2017-06-14 Zestaw C

Wykłady

  1. 2017.02.28, Wprowadzenie do projektowania obiektowego Notatki do wykładu 1
    Zestaw 1 (do 2017-03-14)
  2. 2017.03.07, Język UML Notatki do wykładu 2
    Zestaw 2 (do 2017-03-21)
  3. 2017.03.14, SOLID GRASP Notatki do wykładu 3
    Zestaw 3 (do 2017-03-28)
  4. 2017.03.21, Wzorce projektowe (1) Notatki do wykładu 4
    Zestaw 4 (do 2017-04-04)
  5. 2017.03.28, Wzorce projektowe (2) Notatki do wykładu 5
    Zestaw 5 (do 2017-04-11)
  6. 2017.04.04, Wzorce projektowe (3) Notatki do wykładu 6
    Zestaw 6 (do 2017-04-19)
  7. 2017.04.11, Wzorce projektowe (4) Notatki do wykładu 7
    Zestaw 7 (do 2017-05-09 - uwaga, termin wydłużony po sygnałach od Państwa)
  8. 2017.04.19, Wzorce projektowe (5) Notatki do wykładu 8
    Zestaw 8 (do 2017-05-09)
  9. 2017.04.25, Wzorce architektury aplikacji (1) Notatki do wykładu 9
  10. 2017.05.09, Wzorce architektury aplikacji (2) Notatki do wykładu 10
    Zestaw 9 (do 2017-05-23)
  11. 2017.05.16, Wzorce architektury aplikacji (3) Notatki do wykładu 11
    Zestaw A (do 2017-05-30)
    Przykład z wykładu
    Ranking punktowy na 2017-05-16
  12. 2017.05.23, Wzorce architektury aplikacji (4) Notatki do wykładu 12
    Zestaw B (do 2017-06-06)
    Przykład z wykładu
  13. 2017.05.30 Notatki do wykładu 13
    Zestaw C (ostatni) (do 2017-06-13)
  14. 2017.06.06 Notatki do wykładu 14
  15. 2017.06.13 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