PDF: Projektowanie aplikacji JEE z użyciem wzorców

Transkrypt

PDF: Projektowanie aplikacji JEE z użyciem wzorców
Kod szkolenia:
Tytuł szkolenia:
Dni:
UGC
Projektowanie aplikacji JEE z użyciem wzorców projektowych
i notacji UML
5
Opis:
Adresaci Szkolenia:
Szkolenie adresowane jest zarówno do programistów jak i projektantów, którzy chcą tworzyć
bardziej niezawodne, elastyczne i wydajne oprogramowanie, przy wykorzystaniu technologii
JEE.
Cel szkolenia:
Celem szkolenia jest zdobycie umiejętności projektowania aplikacji JEE w notacji UML, przy
użyciu najlepszych, sprawdzonych i wydajnych rozwiązań opisanych w szablonach wzorców
projektowych GOF i Core J2EE (z uwzględnieniem zmian w specyfikacji JEE). A tym samym
obniżenie kosztów utrzymania tworzonego oprogramowania.
Na szkoleniu uczestnicy uczą się myśleć kategoriami gotowych rozwiązań, z perspektywy
takich parametrów systemowych jak elastyczność, wydajność, niezawodność, utrzymanie,
skalowalność i innych. Jednocześnie w czasie starannie zaprojektowanych ćwiczeń nabierają
wprawy w posługiwaniu się tą wiedzą i przekuwającą ją w umiejętności. Umiejętności tak
tworzenia dobrych rozwiązań jak i wykrywania zagrożeń.
Jednocześnie w trakcie szkolenia przestrzega się również przed typowymi błędami
określanymi jako antywzorce.
Wymagania:
Szkolenie wprowadza w każdy aspekt niezbędny do projektowania aplikacji z użyciem
wzorców GOF i Core J2EE. Tak więc nie ma wymagań wstępnych.
Parametry szkolenia:
5*8 godzin (5*7 godzin netto) wykładów i warsztatów.
Wielkość grupy: maks. 8-10 osób.
Program szkolenia:
1. Metodyki wytwarzania oprogramowania
I. Metodyka kaskadowa
II. Unified Software Development Process - USDP (UP)
i. Wymiary
ii. Iteracje
iii. Fazy
A. Rozpoczęcie (Inception)
B. Opracowanie (Elaboration)
C. Budowa (Construction)
D. Wdrożenie (Transition)
III. Rassional Unified Process (RUP)
IV. Extreme Programming (XP)
2. Podstawy UML i analizy
I. Czym jest UML
II. Przegląd diagramów UML (i podstawowe kwalifikatory)
i. Diagram klas
A. Klasa (Class)
B. Interfejs (Interface)
ii. Diagram Obiektów
A. Obiekt (Object) nazwany
B. Obiekt anonimowy
iii. Diagram Pakietów
A. Pakiet (Package)
B. Stereotypy access i import
iv. Diagram komponentów
A. Komponent (Component)
B. Interfejsy wymagane i udostępniane
v. Diagram wdrożenia
A. Węzeł (Node)
B. Komponen (Component)
vi. Diagram struktur połączonych
A. Część (Part)
B. Port (Ports)
vii. Diagram przypadków użycia
A. Aktor (Actor)
B. Przypadek użycia (Use Case)
viii. Diagram maszyny stanów
A. Stan (state)
B. Przejścia wewnętrzne
C. do/entry/exit
D. Zdarzenia, while, at, when
ix. Diagram aktywności
A. Czynność (Activity)
B. Partycja (Partition)
C. Start (Initial state) i koniec (Final state)
D. Decyzja (Decision)
E. Rozwidlenie (Fork) i złączenie (Join)
F. Obszar przerwania (Interruptable Activity Region) i przerwanie
(Interrupt flow)
x. Diagram komunikacji
A. Obiekty
B. Komunikaty
xi. Diagram sekwencji
A. Obiekty
B. Komunikaty
C. Linia życia
D. Obszar wykonania (Execution Specification)
xii. Diagram zależności czasowych
A. Notacja stanowa (State Timeline)
B. Notacja wartości (Value Timeline)
xiii. Diagram przeglądu interakcji
A. Referencja do diagramu (Diagram Frame)
B. Wystąpienie interakcji (Interaction Occurence)
III. Mechanizmy rozszerzenia UML
i. Stereotypy (Stereotype)
ii. Etykiety (Tagged Values)
iii. Ograniczenia (Constraints)
IV. Wybrane diagramy UML
i. Model przypadków użycia
A. Analiza wymagań i Diagram Przypadków użycia
B. Dokumentacja Przypadków Użycia
ii. Diagramy klas
A. Elementy diagramów klas
B. Identyfikacja klas – analiza CRC
iii. Diagram Sekwencji
A. Elementy diagramów sekwencji
B. Uproszczenie tworzenia diagramów sekwencji – model
analityczny
a. <<boundary>>
b. <<entity>>
c. <<control>>
3. Podstawy projektowania obiektowego i wprowadzenie do wzorców
I. Enkapsulacja
II. High Cohension
III. Loose Coupling
IV. Command-Query Separation
V. Java i dziedziczenie
VI. Wprowadzenie do wzorców
i. Rodzaje wzorców
ii. GRASP (General Responsibility Assignment Software Patterns)
A. Information Expert
B. Creator
C. Controller
D. Polymorphism
E. Pure Fabrication
F. Indirection
G. Protected Variations
iii. S.O.L.I.D (SOLID-ne programowanie)
A. Single Responsibility Principle
B. Open-Close Principle
C. Liskov Substitution Principle
D. Interface Segregation Principle
E. Dependency Inversion Principle
4. Wzorce GOF
I. Wzorce konstrukcyjne
i. Abstract Factory
ii. Builder
iii. Factory Method
iv. Prototype
v. Singleton
II. Wzorce strukturalne
i. Adapter
ii. Bridge
iii. Composite
iv. Decorator
v. Façade
vi. Flyweight
vii. Proxy
III. Wzorce behawioralne
i. Chain of responsibility
ii. Command
iii. Interpreter
iv. Iterator
v. Mediator
vi. Memento
vii. Observer
viii. State
ix. Strategy
x. Template Method
xi. Visitor
5. Wprowadzenie do JEE
I. Modele aplikacji
i. Web Centric
ii. Application Centric
iii. Enterprise
II. Krótkie omówienie podstawowych technologii JEE
i. JSTL
ii. JSF
6.
7.
8.
9.
iii. JAAS
iv. JTA
v. JPA
vi. JNDI
vii. JMS
III. Krótkie omówienie komponentów JEE i kontenerów
i. Servlety
ii. Strony JSP
iii. EJB (2.x i 3.0)
A. Session Statefull EJB
B. Session Stateless EJB
C. Entity EJB
D. Message Driven Bean (MDB)
iv. WebService
IV. Architektura komponentowa i wielowarstowowa
Wzorce Core J2EE - Wzorce warstwy prezentacji
I. Intercepting Filter
II. Front Controller
III. Application Controller
IV. Context Object
V. View Helper
VI. Composite View
VII. Dispatcher View
VIII. Service To Worker
Wzorce Core J2EE - Wzorce warstwy biznesowej
I. Business Delegate
II. Service Locator
III. Session Façade
IV. Application Service
V. Business Object
VI. Composite Entity
VII. Transfer Object (TO)
VIII. Transfer Object Assembler
IX. Value List Handler
Wzorce Core J2EE - Wzorce warstwy integracji
I. Data Access Object (DAO)
II. Service Activator
III. Domain Store
IV. Web Service Broker
Wzorce architektoniczne
I. Dependency Injection
II. MVC (Model View Control)
III. 3 modele aplikacji według SUN
i. Web-centric
ii. Application-centric
iii. Enterprise
IV. Architektura typu Enterprise e JEE
V. Architektura wielowarstwowa (Layers Pattern)
VI. Wzorce infrastruktury
i. Redundancja ścieżek
ii. Replikacja
iii. Równoważnie Obciążenia (Load Balancing)
iv. Klastry (Clustering)
v. Wysoka dostępność (HA – Height Availability; Failover)
vi. Forward Proxy Cache
10. Przegląd wybranych antywzorców
I. Golden Hammer
II. Lava Flow
III. Spaghetti Code
IV. Busy Waiting
V. Hardcoding
VI. Object Orgy
VII. Circilar Dependency
VIII. The Blob (God Object)
Powered by TCPDF (www.tcpdf.org)