IO (Inżynieria oprogramowania)PiPO (Projektowanie i programowanie obiektowe)
Grupy efektów kształcenia
Inżynieria oprogramowania (L)Programowanie i projektowanie obiektowe
Opis przedmiotu:
Wykład skierowany jest do przyszłych architektó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:
* podstawy języka UML w zakresie wymaganym przez projekty analityczne i techniczne
* zasady SOLID i GRASP
* przegląd katalogu wzorców projektowych (GoF) (m.in. Observer, Builder, Bridge, State, Strategy, Facade, Adapter, Mediator, itd.)
* przegląd katalogu wzorców architektury aplikacji (wzorce architektoniczne) (m.in. Model-View-Controller, Object-Relational Mapping, Dependency Injection, Service Locator, Mock Object, itd.)
* przegląd katalogu wzorców architektury systemów (Enterprise Service Bus, Single Sign-on)
Celem pracowni jest praktyczny kontakt z materiałem z wykładu.
Wymagania: ukończony kurs języka Java lub C# (wszystkie przykłady będą
bazowały na języku C#)
Literatura:
1. Wrycza, Marcinkowski, Wyrzykowski - Język UML 2.0 w modelowaniu systemów informatycznych
2. Fowler - Refactoring: Improving the Design of Existing Code Gamma, Helm, Johnson, Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software
3. Fowler - Patterns of Enterprise Application Architecture Microsoft Patterns & Practices - Application Architecture Guide