Projektowanie wysokowydajnych aplikacji

Głównym celem szkolenia jest prezentacja podstawowych pojęć, zasad i podejść wykorzystywanych podczas projektowania wysokowydajnych systemów.
Kod: ARC-008
Czas trwania: 24 godzin

Opis szkolenia

Już przed rozpoczęciem projektowania jakiegokolwiek systemu oprogramowania trzeba wziąć pod uwagę, że ze względu na pewne ograniczenia może on w dowolnym momencie okazać się wysokowydajnym systemem. Już w trakcie tworzenia wysokowydajnej aplikacji należy ustalić, jakie parametry będą określać wysoką wydajność systemu.

Niniejsze szkolenie określa różnice między systemami o wysokim obciążeniu, wysokiej dostępności i wysokiej wydajności. Głównym celem szkolenia jest prezentacja podstawowych pojęć, zasad i podejść wykorzystywanych podczas projektowania wysokowydajnych systemów.

Często słyszana fraza: "To powinno pracować szybko!" nie jest wymogiem. Uczestnicy szkolenia dowiedzą się, jak prawidłowo pracować z wymogami wydajności i rozpoznawać je.

Podczas szkolenia rozpatrywane są przykłady i ćwiczenia dotyczące utraty wydajności w systemie aplikacji oraz główne metody w walce o przywrócenie wymaganej wydajności systemu. Tematy poruszane podczas szkolenia dotyczą praktycznych przykładów użycia szablonów używanych w projektowaniu systemu aplikacji z wysokimi wymogami wydajności oraz wiadomości na temat głównych szablonów, które mogą negatywnie wpłynąć na wydajność systemu.

Szkolenie ze szczególną uwagą omawia przygotowanie systemu do testowania i analizę wyników testowych. Uczestnicy zostaną zapoznani z procesem tworzenia programu oraz różnymi metodami testowania systemów z wysokim obciążeniem i modelem obciążenia systemu. Omówiony zostanie także przegląd metodyk, pozwalających na przeprowadzenie oceny ilościowej wydajności systemu.

Jako że programiści systemów często muszą radzić sobie z problemami, związanymi z tworzeniem systemów o wysokim obciążeniu, które zapewniają przetwarzanie dużej ilości danych z określonymi wymogami co do czasu odpowiedzi oraz ilości danych, szkolenie to może okazać się pomocne nie tylko dla architektów, lecz także dla menedżerów projektów i starszych programistów.

Plan szkolenia

Pojęcie systemu o wysokiej wydajności
  • High-Performance application, High-Load application, High-Availability application.
  • Zarządzanie wydajnością aplikacji
  • Zależność kosztu naprawy błędów od etapu identyfikacji i etapu wystąpienia błędu
Główne parametry wydajności
  • Główne parametry opisujące wydajność systemu
  • Model wydajności systemu
Analiza wymagań dla wysokowydajnych systemów
  • Określenie niefunkcjonalnych wymagań dla wysokowydajnych systemów
  • Praca z nieścisłościami podczas określania wymagań dla wydajności
  • Kompletność wymagań
  • Ćwiczenia praktyczne
  • Analiza wymagań dla nieścisłości i kompletności
Projektowanie wysokowydajnych systemów
  • Atrybuty jakości systemu
  • Główne przyczyny obniżenia wydajności systemu
  • Główne metody stosowane dla podwyższenia wydajności systemu
  • Ćwiczenia praktyczne
  • Część 1: Budowanie algorytmu sortowania obiektów z użyciem równoległego sortowania. Omówienie zbudowanego algorytmu
  • Część 2: Ilościowa ocena dostępu do bazy danych przy użyciu indeksów. Analiza zależności czasu dostępu od długości klucza i ilości wejść do bazy danych
Szablony dla realizacji wysokowydajnych systemów
  • Główne klasy szablonów stosowane do budowania wysokowydajnych systemów (GRASP, Architecture patterns, Application Integration patterns)
  • Przykłady praktycznego zastosowania szablonów we współczesnych standardach
  • Przykłady praktycznego zastosowania szablonów we współczesnych systemach integracji podczas budowy frameworków
  • Ćwiczenia praktyczne
  • Optymizacja wydajności aplikacji sekwencyjnie przetwarzającej dużą ilość danych
Kodowanie wysokowydajnych systemów
  • Główne zagadnienia dotyczące kodowania wysokowydajnych systemów
  • Metody optymizacji współczesnych kompilatorów i środowisk wykonania
Testowanie wysokowydajnych systemów
  • Rodzaje testów używanych przy dokazaniu wydajności systemu
  • Przygotowanie do testowania (tworzenie scenariuszy i budowanie modelu obciążenia)
  • Analiza wyników testowania
Optymizacja wydajności dla aplikacji
  • Optymizacja wydajności systemu
  • Sposoby optymizacji wydajności złożonych systemów rozprowadzonych
  • Optymizacja wydajności i poprawa stabilności aplikacji Java
  • Poprawa wydajności baz danych
Metodologia SPE
  • Wprowadzenie do metodologii SPE: historia, granice użytkowania
  • Zastosowanie modelu wydajności systemu w analizie współczesnych systemów
  • Zastosowanie SPE podczas projektowania systemu
  • Metodyka analizy systemów przy użyciu SPE
  • Tworzenie modelu wydajności systemu testowego

Cele

  • Określenie parametrów systemu o wysokiej wydajności
  • Jak analizować wymagania systemowe, związane z obciążeniem systemu
  • Planowanie procesu rozwoju systemu z wysoką wydajnością
  • Projektowanie systemów przy użyciu optymalnych metod w celu zapewnienia wymaganej wydajności
  • Jak współpracować z zespołem testowym podczas przeprowadzania testów obciążeniowych
  • Jak optymizować systemy z wysokimi wymogami wydajności
  • Użycie metodyki SPE w celu zapewnienia wysokiej wydajności systemu na etapie projektowania

Grupa docelowa

  • Architekci
  • Projektanci
  • Analitycy
  • Menedżerowie projektów
  • Team leaderzy
  • Starsi programiści

Wymagania

Wymagane:
  • Wiedza na temat UML i umiejętność zastosowania
  • Podstawowa wiedza na temat projektowania zorientowanego obiektowo
Mile widziane:
  • Znajomość języka Java
  • Podstawowa wiedza z zakresu architektury komputerowej
  • Podstawowa wiedza z zakresu architektury sieci i przekazywania danych
  • Wiedza z zakresu wzorców GOF

Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
Bucharest 2200 zł
Kraków 2200 zł
Wroclaw 2200 zł

Uprzejmie informujemy, że płatność za każde szkolenie będzie realizowana w lokalnie obowiązującej walucie. Jednocześnie informujemy, że podane ceny mogą ulec zmianie w zależności od lokalizacji szkolenia oraz trybu jego realizacji. Do ceny netto widocznej przy wybranym szkoleniu należy doliczyć 23% podatku VAT.

Szkolenia, które mogą Cię zainteresować:
ARC-00874680

Zarejestruj się na następne szkolenie

Imię*
Nazwisko*
Firma
Email*
Preferred Location
Numer telefonu*
Twój komentarz
Luxoft Warsaw - Warsaw Spire, plac Europejski 1, 00-844 Warszawa

Telefon kontaktowy:

+48 122110650
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Telefon kontaktowy:

021 371 4858
Luxoft Poland Wroclaw - Silver Tower pl. Konstytucji 3-go Maja 3 50-048 Wroclaw

Telefon kontaktowy:

+48 122110650
Aleja Generała Tadeusza Bora-Komorowskiego 25, Quattro Business Park Five, 31-476 Kraków, Poland

Telefon kontaktowy:

+48 122110650
Success
Dziekujemy!
Twoje zgloszenie zostalo zarejestrowane.