Inynieria oprogramowania II Analiza architektury oprogramowania Jerzy Nawrocki
- Slides: 76
Inżynieria oprogramowania II Analiza architektury oprogramowania Jerzy Nawrocki Jerzy. Nawrocki@put. poznan. pl © by Jerzy R.
Inżynieria oprogramowania II Cykl życia wg XPrince Przyg. założ. proj. Inicjowa nie projektu Architek- Wydanie Zamkn. tura 1 2 3 Projektu Analiza architektury (2)
Inżynieria oprogramowania II Architektura oprogramowania Struktura systemu obejmująca: • Komponenty, • Widoczne na zewnątrz właściwości komponentów, • Zależności między komponentami. L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, Reading MA, Addison-Wesley, 1998. Analiza architektury (3)
Inżynieria oprogramowania II Architektura oprogramowania • AO jest środkiem komunikacji między udziałowcami projektu. • AO prezentuje decyzje projektowe na wstępnych etapach rozwoju oprogramowania. • AO jest abstrakcyjnym opisem systemu, który może L. Bass, P. Clements, R. Kazman, Software być powtórnie użyty i Architecture in Practice, Reading MA, przeniesiony. Addison-Wesley, 1998. Analiza architektury (4)
Inżynieria oprogramowania II Główne wyniki rozpracowania architektury Architektura Najtrudniejsze i najważ. przypadki użycia Podejścia architektoniczne (mechanizmy) Opis ważniejszych elementów (protokoły, schematy baz danych itp. ) Fragmenty kodu (przykłady rozwiązań) Analiza architektury (5)
Inżynieria oprogramowania II Cel wykładu Jak ocenić architekturę oprogramowania? Analiza architektury (6)
Inżynieria oprogramowania II ATAM = Architectural Trade-offs Analysis Method Software Engineering Institute, CMU Analiza architektury (7)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie Analiza architektury (8)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie Analiza architektury (9)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie Prezentacja: • Metoda ATAM • Czynniki biznesowe • Architektura Lider oceny Analiza architektury (10)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie 1. Wizja przedsięwzięcia 2. Główni udziałowcy 3. Najważniejsze funkcje 4. Ograniczenia 5. Kryteria jakości Kierownik projektu Analiza architektury (11)
Inżynieria oprogramowania II Prezentacja czynników biznesowych Analiza architektury (12)
Inżynieria oprogramowania II Prezentacja czynników biznesowych Analiza architektury (13)
Inżynieria oprogramowania II Prezentacja czynników biznesowych Analiza architektury (14)
Inżynieria oprogramowania II Prezentacja czynników biznesowych Analiza architektury (15)
Inżynieria oprogramowania II Prezentacja czynników biznesowych Analiza architektury (16)
Inżynieria oprogramowania II Prezentacja czynników biznesowych Analiza architektury (17)
Inżynieria oprogramowania II Prezentacja czynników biznesowych Analiza architektury (18)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie Archite kt 1. Ograniczenia tech. i kontekst 2. Perspektywy architektoniczne 3. Zastosowane podejścia architektoniczne 4. Produkty komercyjne 5. Przypadki użycia 6. Scenariusze zmian(19) Analiza architektury
Inżynieria oprogramowania II Prezentacja architektury Analiza architektury (20)
Inżynieria oprogramowania II Prezentacja architektury Analiza architektury (21)
Inżynieria oprogramowania II Prezentacja architektury Analiza architektury (22)
Inżynieria oprogramowania II Przypadki użycia Analiza architektury (23)
Inżynieria oprogramowania II Perspektywy architektoniczne Logiczny Współbieżności Przypadków użycia Implementacyjna Fizyczny Analiza architektury (24)
Inżynieria oprogramowania II Perspektywa fizyczna Analiza architektury (25)
Inżynieria oprogramowania II Perspektywa fizyczna Analiza architektury (26)
Inżynieria oprogramowania II Perspektywa fizyczna Analiza architektury (27)
Inżynieria oprogramowania II Perspektywy architektoniczne Współbieżności Logiczny Przypadków użycia Implementacyjna Fizyczny Analiza architektury (28)
Inżynieria oprogramowania II Perspektywa logiczna Sokrates Connector Data Storage Bank Data Connector Ksantypa 2 Logic Starter Screen Builder Data Connector Web Controller Presentation Data Builder Analiza architektury (29)
Inżynieria oprogramowania II Perspektywa logiczna Łatwość zmiany Sokrates Connector XML Storage Data Storage Bank Data Connector Ksantypa 2 Logic Starter Screen Builder Data Connector Web Controller Presentation Data Builder Analiza architektury (30)
Inżynieria oprogramowania II Perspektywa logiczna Bezpieczeństwo Sokrates Connector XML Storage Data Storage Rights Controller Ksantypa 2 Logic Starter Data Connector Screen Builder Bank Data Connector Web Controller Presentation Data Builder Analiza architektury (31)
Inżynieria oprogramowania II Perspektywa logiczna Wydajność Sokrates Connector XML Storage Rights Controller Ksantypa 2 Logic Starter Data Connector Screen Builder Bank Data Connector Data Storage Web Controller Local Data Storage Presentation Data Builder Analiza architektury (32)
Inżynieria oprogramowania II Perspektywy architektoniczne Logiczny Współbieżności Przypadków użycia Implementacyjna Fizyczny Analiza architektury (33)
Inżynieria oprogramowania II Perspektywa implementacyjna Analiza architektury (34)
Inżynieria oprogramowania II Perspektywa współbieżności Klient SAS PAS Serw er SAS P. Clements, R. Kazman, M. Klein, Evaluating Software Architectures, Reading MA, Addison-Wesley, 2002. Analiza architektury (35)
Inżynieria oprogramowania II Perspektywa kodu Window. Kit Abstra ct Factor y Create. Scroll. Bar() Create. Window() Motif. Window. Kit MSWindow. Kit Create. Scroll. Bar() Create. Window() P. Clements, R. Kazman, M. Klein, Evaluating Software Architectures, Reading MA, Addison-Wesley, 2002. Analiza architektury (36)
Inżynieria oprogramowania II Prezentacja architektury Analiza architektury (37)
Inżynieria oprogramowania II Podejście architektoniczne 1 Bank Kandyda t System 1 Wydział 1 System 2 Wydział 2 System 8 Wydział 8 Analiza architektury (38)
Inżynieria oprogramowania II Podejście architektoniczne 2 Bank Wydział 1 System Kandyda t Wydział 2 Wydział 8 Analiza architektury (39)
Inżynieria oprogramowania II Prezentacja architektury Analiza architektury (40)
Inżynieria oprogramowania II Perspektywa implementacyjna • Apache Struts 1. 1 • Apache Velocity • Log 4 J • Apache Xerces • Swing • Oracle 10 g Analiza architektury (41)
Inżynieria oprogramowania II Prezentacja architektury Analiza architektury (42)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie Analiza architektury (43)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie • Identyfikacja stosowanych podejść architektonicznych • Utworzenie drzewa atrybutów jakościowych • Analiza podejść Analiza architektury (44)
Inżynieria oprogramowania II Podejścia architektoniczne Styl współbieżnych potoków P 1 P 2 P 3 P 4 Analiza architektury (45)
Inżynieria oprogramowania II Podejścia architektoniczne • MVC – aplikacja webowa • redundancja serwerów • XML - definicje ekranów Analiza architektury (46)
Inżynieria oprogramowania II Decyzje związane z wydajnością Typ zasobu • Jeden/Wiele procesorów • Pamięć • Magistrale • Urządzenia Analiza architektury (47)
Inżynieria oprogramowania II Decyzje związane z wydajnością Typ zasobu Szeregowanie zadań • Statyczne • Dynamiczne Analiza architektury (48)
Inżynieria oprogramowania II Decyzje związane z wydajnością Typ zasobu Szeregowanie zadań Synchronizacja • Sekcja krytyczna • Semafory • Komunikaty Analiza architektury (49)
Inżynieria oprogramowania II Decyzje związane z wydajnością Typ zasobu Szeregowanie zadań Synchronizacja Równoważenie obciążenia • Statyczne • Dynamiczne Analiza architektury (50)
Inżynieria oprogramowania II Decyzje związane z wydajnością Typ zasobu Szeregowanie zadań Synchronizacja Równoważenie obciążenia Przydzielone zasoby • Wielkość pamięci • Szerokość pasma sieciowego Analiza architektury (51)
Inżynieria oprogramowania II Decyzje wpływające na dostępność • Nadmiarowość sprzętowa • Nadmiarowość programowa • Orzekanie • Ponawianie • Układ alarmowy Analiza architektury (52)
Inżynieria oprogramowania II Decyzje dotyczące modyfikowalności • Pośredniość (mediator) • Enkapsulacja (interfejs) Analiza architektury (53)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie • Identyfikacja stosowanych podejść architektonicznych • Utworzenie drzewa atrybutów jakościowych • Analiza podejść Analiza architektury (54)
Inżynieria oprogramowania II Drzewo użyteczności (H, L) (H, (H, L) L) (H, L) Analiza architektury (55)
Inżynieria oprogramowania II Drzewo użyteczności Użyteczność Wydajność Dostępność Analiza architektury (56)
Inżynieria oprogramowania II Drzewo użyteczności Użyteczność Wydajność Opóźnienie danych Dostępność Awaria sprzętowa Analiza architektury (57)
Inżynieria oprogramowania II Drzewo użyteczności Użyteczność Wydajność Opóźnienie danych Opóźnienie dostępu do bazy d. <= (M, L) 200 ms Dostarczanie obrazu wideo w czasie(H, M) rzecz. Dostępność Awaria sprzętowa Restart po awarii dysku w czasie < (M, M) 5 min. Wykrycie i naprawa awarii w sieci < 2 (H, M) min. Analiza architektury (58)
Inżynieria oprogramowania II Drzewo użyteczności Użyteczność Wydajność Opóźnienie danych Opóźnienie dostępu do bazy d. <= (M, L) 200 ms Dostarczanie obrazu wideo w czasie(H, M) rzecz. Dostępność Awaria sprzętowa Restart po awarii dysku w czasie < (M, M) 5 min. Wykrycie i naprawa awarii w sieci < 2 (H, M) min. Ważnoś ć Trudno ść architektury Analiza (59)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie • Identyfikacja stosowanych podejść architektonicznych • Utworzenie drzewa atrybutów jakościowych • Analiza podejść Analiza architektury (60)
Inżynieria oprogramowania II Punkty wrażliwości i kompromisu Punkt wrażliwości = właściwość o podstawowym znaczeniu dla atrybutu jakościowego Przykład: Liczba bitów klucza szyfrowania a bezpieczeństwo. Format plików a modyfikowalność. Analiza architektury (61)
Inżynieria oprogramowania II Punkty wrażliwości i kompromisu Punkt kompromisu = punkt wrażliwości dla więcej niż jednego atrybutu jakościowego Przykład: Liczba bitów klucza szyfrowania: bezpieczeństwo a wydajność. Format plików: modyfikowalność a wydajność. Analiza architektury (62)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie • Burza mózgów nt. scenariuszy • Powtórna analiza podejść architektoniczny ch Analiza architektury (63)
Inżynieria oprogramowania II Rodzaje scenariuszy Scenariusze przypadków użycia (użytkownik końcowy) Scenariusze rozwoju (informatyk) Analiza architektury (64)
Inżynieria oprogramowania II Scenariusze - Przykłady • Detekcja i przywrócenie normalnego stanu po awarii sprzętowej. • Dynamiczne modyfikowanie planu przydzielonej misji. • Zmiana CORBY na nowszy standard (pracochłonność < 6 osobomiesięcy) Analiza architektury (65)
Inżynieria oprogramowania II Selekcja scenariuszy Każdy uczestnik ma N głosów, gdzie N = 30% liczby scenariuszy. Głosy przydziela się dowolnie (od 0 do N na dany scenariusz, byle suma nie przekroczyła N). Głosuje się jawnie. Do dalszej analizy przechodzi K pierwszych (np. 5 pierwszych) scenariuszy w sensie liczby oddanych na nie głosów. Analiza architektury (66)
Inżynieria oprogramowania II Porównanie z drzewem użyteczności Scenariusz #Głosów Atrybut jakościowy 10 25 danych) 4 21 oprogr. ) 23 15 (Zmiana COTS) Wydajność (Opóźnienie Dostępność (Awaria Modyfikowalność Analiza architektury (67)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie • Burza mózgów nt. scenariuszy • Powtórna analiza podejść architektoniczny ch Analiza architektury (68)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie Prezentacja rezultatów Analiza architektury (69)
Inżynieria oprogramowania II Wyniki metody ATAM • Udokumentowane podejścia architektoniczne • Drzewo użyteczności • Scenariusze opatrzone priorytetami • Zagrożenia (decyzje ryzykowne) • Punkty wrażliwości i punkty kompromisowe Analiza architektury (70)
Inżynieria oprogramowania II Ogólny opis metody ATAM Prezenta Analiz Testowan Raportowa cja a ie nie Analiza architektury (71)
Inżynieria oprogramowania II Podsumowanie Czynniki biznesowe Prezentacja architektury Identyfikacja podejść architekt. Drzewo użyteczności atrybutów Analiza podejść architekt. Generowanie scenariuszy Powtórna analiza Prezentacja wyników Analiza architektury (72)
Inżynieria oprogramowania II Podsumowanie Czynniki biznesowe Prezentacja architektury Identyfikacja podejść architekt. Drzewo użyteczności atrybutów Analiza podejść architekt. Generowanie scenariuszy Powtórna analiza Prezentacja wyników Analiza architektury (73)
Inżynieria oprogramowania II Podsumowanie Czynniki biznesowe Prezentacja architektury Identyfikacja podejść architekt. Drzewo użyteczności Według atrybutów wymagań Analiza podejść architekt. pozafunkcjonaln Generowanie scenariuszy ych (ISO 9126) Powtórna analiza Jak realizujesz Prezentacja wymaganiewyników. . . Analiza architektury (74)
Inżynieria oprogramowania II Podsumowanie Czynniki biznesowe Prezentacja architektury Identyfikacja podejść architekt. Drzewo użyteczności atrybutów Analiza podejść architekt. Generowanie scenariuszy Powtórna analiza Prezentacja wyników Analiza architektury (75)
Inżynieria oprogramowania II Dziękuję za uwagę Analiza architektury (76)
- Jerzy nawrocki odwołany
- Budowa komputera prezentacja
- Vertikalismus
- Technik renowacji elementów architektury
- Gotick
- Architektura hellenistyczna
- Architektura rokoko
- Kultura renesansu tomaszewska
- Románská architektura znaky
- Architektura klasa 6 prezentacja
- Budowle w stylu romańskim
- Kryzys oprogramowania
- Specyfikacja oprogramowania. inżynieria wymagań
- Halina
- "dobre praktyki tworzenia oprogramowania"
- Konsola gpmc
- Testy oprogramowania rodzaje
- Studio oprogramowania fraktal
- Proces tworzenia oprogramowania
- Inżynieria oprogramowania ian sommerville
- Szacowanie rozmiaru oprogramowania i pracochłonności
- Realizacja przyrostowa
- Jerzy supernat
- Metryka taksówkowa
- Jerzy obolewicz
- Jerzy bartoszek
- Poor and environmental theatre
- Jerzy herberger
- Jerzy supernat
- Jerzy neyman and egon pearson
- Jerzy zamojski
- Jerzy mirgos rodzina
- Jerzy pietraszko
- Jerzy pierog
- Jerzy bekker wikipedia
- Jaxa małachowski
- Inżynieria jerzy sowa
- Jerzy supernat
- Jerzy mierzwiak
- Ks jerzy popiełuszko cytaty
- Jerzy supernat
- Of all the mechanics in the shop, jerzy is surely
- Jerzy witek
- Romuald kotowski
- Jerzy widuchowski
- Jerzy supernat
- Jerzy supernat
- Jerzy dudek z bratem
- Jerzy lackowski
- Jerzy bartoszek
- Jerzy grotowski
- Of all the mechanics in the shop, jerzy is surely
- Jerzy supernat
- Dr jerzy jarosz
- Jerzy pobocha
- Analiza swot a unei cofetarii
- Transakcijska analiza
- Spiralni model
- Analiza posla
- Iz velegradskog podzemlja analiza
- Recenici so atribut
- Analiza knjige
- Fundamentalna analiza knjiga
- Sta je otac dragan lukic analiza pesme
- Cvp analiza
- Rečenice po sastavu
- Horizontalna analiza formula
- Nosac samuel analiza price
- Povratak filipa latinovicza analiza
- Analiza wąskich gardeł
- Narodna balada
- Hlorovodonik
- Swot analiza preduzeca bambi
- Pareto dijagram
- Primjer ankete za učenike
- Analiza finansijskih izvestaja
- Swot analiza fakulteta