Techniki obiektowe i komponentowe

RSS

Cel przedmiotu

Celem przedmiotu jest prezentacja zasad, technik i narzędzi obiektowego i komponentowego podejścia do tworzenia oprogramowania, zarówno w zakresie analizy i projektowania systemów, jak również ich implementacji.

Program wykładu

Wprowadzenie do inżynierii oprogramowania. Paradygmat obiektowy w modelowaniu. Modelowanie wymagań. Jednostki abstrakcji (obiekt, klasa) i ich własności. Organizacja modelu (pakiety). Powiązanie, agregacja i kompozycja. Generalizacja i dziedziczenie. Wielokrotne użycie: dziedziczenie implementacji a delegacja roli. Wzorce projektowe. Testowanie jednostkowe i integracyjne, atrapy (mock objects). Cele i praktyka technologii komponentowych. Funkcjonalne, rynkowe i formalne definicje komponentu. Komponenty a obiekty. Problemy z dziedziczeniem. Zasady specyfikacji kontraktów. Problematyka bezpieczeństwa w niezależnie implementowanych komponentach. Budowa i cechy popularnych platform komponentowych. Komponenty „lekkie” oraz „ciężkie”. Inne techniki reużytkowania kodu: programowanie aspektowe.

Charakterystyka pozostałych zajęć

Zajęcia laboratoryjne pozwalają na ćwiczenie umiejętności w zakresie projektowania obiektowego i wykorzystania technik komponentowych na przykładzie kilku prostych i jednego złożonego zadania projektowego.

Bibliografia

1. Brett D. McLaughlin, Gary Pollice, David West: Head First Object-Oriented Analysis and Design
(edycja polska)
2. Martin Fowler: UML Distilled (UML w kropelce)
3. Szyperski C. Oprogramowanie komponentowe
4. Crnkovic I. Larsson M Building Reliable Component-Based Software Systems
5. Wang A., Qian K. Component-oriented Programming

Wszelkie prawa zastrzeżone © 2010 Katedra Informatyki   |   Akademia Górniczno-Hutnicza   |   Realizacja Creative Bastards