wbudowane October 7, 2015 KSEM WETI PG Komputery przemysłowe i systemy wbudowane Oprogramowanie systemów wbudowanych - wydajność Wydajność

Podobne dokumenty
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

RUP. Rational Unified Process

Opis metodyki i procesu produkcji oprogramowania

Projektowanie systemów informatycznych. wykład 6

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Inżynieria Wytwarzania Systemów Wbudowanych

Rozpoczęcie, inicjacja (ang. inception

Komputery przemysłowe i systemy wbudowane

Etapy życia oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Inżynieria oprogramowania (Software Engineering)

Cechy charakterystyczne tworzenia oprogramowania w Inżynierii Biomedycznej. Wykładowca Dr inż. Zofia Kruczkiewicz

Modelowanie i analiza systemów informatycznych

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Wykład 2. MIS n Inżynieria oprogramowania Marzec Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Konfiguracja modelowania w procesie wytwarzania oprogramowania

Rational Unified Process. Dokładny opis metodyki i procesu produkcji oprogramowania

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

INŻYNIERIA NIEZAWODNOŚCI DLA UTRZYMANIA RUCHU FROM DOWNTIME TO UPTIME IN NO TIME!

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie.

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Historia modeli programowania

Metodyka dla projektu SYRIUSZ

Zasady organizacji projektów informatycznych

Oprogramowanie na miarę z13

Języki i metodyka oprogramowania

Metody optymalizacji soft-procesorów NIOS

Continuous Testing a nowa era w jakości oprogramowania. Grzegorz Leopold, Michał Błaszak

BIM jako techniczna platforma Zintegrowanej Realizacji Przedsięwzięcia (IPD - Integrated Project Delivery)

Inżynieria Wytwarzania Systemów Wbudowanych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Luki w bezpieczeństwie aplikacji istotnym zagrożeniem dla infrastruktury krytycznej

Testowanie oprogramowania. Piotr Ciskowski

Inżynieria oprogramowania. Jan Magott

Testowanie oprogramowania w środowisku IBM Rational Software Architect

Metodyka projektowania komputerowych systemów sterowania

XPrince dla architektów 1

ROZWÓJ SYSTEMÓW SZTUCZNEJ INTELIGENCJI W PERSPEKTYWIE "PRZEMYSŁ 4.0"

Wytwarzanie oprogramowania

Wytwórstwo oprogramowania. michał możdżonek

JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

INŻYNIERIA OPROGRAMOWANIA Metodyki zarządzania projektem - porównanie

Programowanie zespołowe

Standaryzacja procesów operacyjnych minimalizacja ryzyka

Projekty BPM z perspektywy analityka biznesowego. Wrocław, 20 stycznia 2011

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Optymalizacja Automatycznych Testów Regresywnych

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

Oblicza konwergentnej infrastruktury czyli przypadki kiedy = 3

Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

Projektowanie Infrastruktury Sieciowej v2 2012/09/01

Jerzy Nawrocki, Inżynieria oprogramowania II

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

Analiza ilościowa w przetwarzaniu równoległym

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

Podstawy programowania III WYKŁAD 4

Inżynieria oprogramowania

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Dni: 3. Opis: Adresaci szkolenia

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Co to jest system wbudowany?

Spring Framework - wprowadzenie i zagadnienia zaawansowane

HUAWEI TECHNOLOGIES CO., LTD. BACKUPCUBE BUNDLE APPLIANCE

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

Specjalizacja uzupełniająca. urządzeniowo - informatyczna dla wszystkich kierunków na ETI (II st.)

Analityk i współczesna analiza

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Instytut Technik Innowacyjnych

Zenoss. Monitorowanie nowoczesnej serwerowni

Inżynieria oprogramowania I

Przedsięwzięcia Informatyczne w Zarządzaniu

Projektowanie nowoczesnych mieszadeł elektromagnetycznych dla pieców łukowych z wykorzystaniem HPC. Mirosław Kupczyk (PCSS) Poznań

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Inżynieria oprogramowania (Software Engineering) Wykład 1

Egzamin / zaliczenie na ocenę*

WYDAJNOŚĆ I SKALOWALNOŚĆ

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

Nowoczesne aplikacje mobilne i ich rola w podnoszeniu jakości danych

ŚCIEŻKA KRYTYCZNA. W ścieżkach krytycznych kolejne zadanie nie może się rozpocząć, dopóki poprzednie się nie zakończy.

PRODUKTY DLA GÓRNICTWA ODKRYWKOWEGO. obniżamy bezpośrednie koszty produkcji w kopalniach odkrywkowych

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Projektowanie (design) Eurostat

Zawiadomienie dotyczące oprogramowania IBM Europa, Bliski Wschód i Afryka ZP , 13 grudnia 2011 r.

UPEDU: Implementacja (ang. Implementation discipline)

Współczesna problematyka klasyfikacji Informatyki

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

Transkrypt:

KSEM WETI PG October 7, 2015

Inżynieria wydajności oprogramowania Software performance engineering (SPE) - dyscyplina zajmująca się poprawą dojrzałości procesu budowy i rozwoju dla zwiększenia ich wydajności. podejście systematyczne i ilościowe skupione na architekturze i implementacji oprogramowania obejmuje techniki stosowane w każdej fazie cyklu życia oprogramowania, w szczególności: reaktywności (responsiveness) czyli zdolności systemu do spełniania wymagań na czas i przepustowość, np: czas potrzebny do zakończenia zadania, liczba transakcji na jednostkę czasu, czas obsługi zdarzenia. skalowalności (scaliability) czyli zdolności systemu do spełniania wymagań na czas i przepustowość w miarę jak zmienia się (rośnie) popyt na usługę systemu

Cele SPE Eliminacja opóźnień wdrożenia systemu powodowanych problemami z wydajnością Eliminacja przeróbek systemu powodowanych problemami z wydajnością Eliminacja specjalnych działań na rzecz dostrajania i optymalizacji Eliminacja zbędnych kosztów sprzętowych związanych z zapewnieniem wydajności Redukcja kosztów utrzymania oprogramowania związanych z problemami z wydajnością w fazie produkcji Redukcja kosztów utrzymania oprogramowania związanych z naprawianiem oprogramowania ad hoc

Proces SPE

Jak się realizuje SPE? Zarządzanie projektem wczesna estymacja ryzyka wydajności, śledzenie kosztów i zysków inżynierii wydajności dopasowanie poziomu SPE do ryzyka wydajności całego systemu integracja SPE z procesem rozwoju oprogramowania SW definiowanie celów ilościowych wydajności identyfikacja przypadków użycia o największych wymaganiach na

Jak się realizuje SPE? Modelowanie wydajności przed rozpoczęciem pisania kodu: analiza najprostszego modelu identyfikującego problemy wydajnościowe w architekturze, projekcie i implementacji systemu analiza coraz bardziej szczegółowa w miarę rozwoju oprogramwoania

Jak się realizuje SPE? Performance measurement planowanie eksperymentów pomiarowych pomiary - wcześniej i często

Zasady SPE Określ ściśle, jaki system powinien być nie używaj najszybszy jak to możliwe. Używaj określeń ilościowych ( Przepustowość pakietów musi wynosić 600 K pakietów na sekundę dla forwardowania IP) określ przyszłe ilościowe cele określ co można osiągnąć: minimalnie ( Must ) i maksymalnie ( Should ) określ jak to zmierzyć

Zasady SPE Gdzie jesteś teraz? które przypadki użycia uwidaczniają problem z wydajnością? czy problemy moga być rozwiązane standardowymi technikami optymalizacji? czy potrzebny jest nowy projekt, czy można system dostroić? Jakich technik optymalizacji użyć? optymalizacja automatyczna (niskie koszty) - opcje kompilatora przeprojektowanie architektury systemu (duże koszty) algorytmy optymalne (np. FFT zamiast DFT), inne zmiany w oprogramowaniu (średnie koszty)

Zasady SPE Plan osiągnięcia celów efektywność w sensie Pareto - termin ekonomiczny oznaczający taki podział dostępnych dóbr, że nie można poprawić sytuacji jednego podmiotu nie pogarszając sytuacji któregokolwiek z pozostałych podmiotów. modelowanie i benchmarking iteracyjne dostrajanie systemu

Zasady SPE Analiza ekonomiczna koszty: czas i koszt analizy, wymagane zmiany w kodzie, koszt zmian sprzętowych, koszt propagacji zmian zyski: wzrost wydajności, odroczone upgrade-y sprzętowe, oszczędności na zasobach ludzkich

Rational Unified Process (RUP) RUP - iteracyjny framework rozwoju oprogramowania (Rational Software Corporation, obecnie IBM)

SPE a RUP Faza początkowa (inception): identyfikacja czynników wysokiego ryzyka dla wydajności systemu Faza opracowania (elaboration): rozwiązanie kluczowych problemów podstawowa wersja architektury systemu krytyczne przypadki użycia wymagania niefunkcjonalne (system powinien być szybki, niezawodny, skalowalny...) ile kluczowych transakcji w jednostce czasu? Faza konstrukcji (construction): budowa systemu Faza przejścia (do produkcji, transition): szkolenie użytkowników końcowych testowanie dla weryfikacji oczekiwań użytkowników końcowych sprawdzanie założeń z fazy poczatkowej

Wymagania niefunkcjonalne SCRUPLED Security, licensing, installation Copyright, legal notices Reliability defects, mean time between failures, availability Usability ease of use requirements presentation design guidelines, UE standards, accessibility standards, training standards, sheets, help systems etc. Performance quantitative performance requirements Localization and internationalization foreign-language operating systems, localization enablement, specific localizations Essential standards industry, regulatory and other externally imposed standards Design constraints other constraints on the system or development technologies; mandated programming languages and standards, platforms, common components, etc.

Proces optymalizacji Optymalizacja kompilacji kompilacja tradycyjna : każdy kod źródłowy kompilowany niezależnie, pliki obiektowe (.o) łączone razem (linker). kompilacja globalna : każdy plik C wstępnie przetwarzany i przekazany do optymalizacji w formie jednego pliku; trwa dłużej, trudności z debugowaniem

Konfiguracja kompilatora Architektura maszyny docelowej Końcówkowość (mało- lub wielko-) Model pamięci Początkowy poziom optymalizacji (najlepiej najniższy!)

Software Engineering for Embedded Systems by Robert Oshana; Mark Kraeling Published by Elsevier Science; Newnes, 2013