www.vintage-engagement-rings.info
okladka
Podstawą każdego systemu oprogramowania jest jego architektura, czyli sposób, w jaki oprogramowanie jest tworzone z niezależnie rozwijanych komponentów oraz mechanizmy interakcji i wzajemne zależności pomiędzy nimi. Jeśli system ma być tworzony przez więcej niż jedną osobę, właśnie architektura pozwala im na wzajemną komunikację. Choć architektura jest postrzegana jako jeden z najważniejszych aspektów rozwoju współczesnych systemów, to jej ewaluacja niemal nigdy nie staje się standardową częścią procesu rozwojowego.

Wykorzystując wyraźnie określone związki między decyzjami dotyczącymi architektury projektu a wynikającymi z nich właściwościami oprogramowania, niniejsza książka opisuje metody ewaluacji architektury oraz przypadki ich praktycznego zastosowania. Książka "Architektura oprogramowania. Metody oceny oraz analiza przypadków" prezentuje podstawową wiedzę pojęciową z zakresu metod oceny architektury i stanowi podręcznik opisujący krok po kroku proces takich ewaluacji przeprowadzanych w przypadku wielu organizacji rządowych i przemysłowych.

Architektura oprogramowania to gwałtownie rozwijająca się dziedzina badań i działań praktycznych w zakresie inżynierii oprogramowania. Książka prezentuje w szczególności trzy metody jej ewaluacji:

  • metodę analizy kompromisów architektonicznych (Architecture Tradeoff Analysis Method, ATAM)
  • metodę analizy architektury programowej (Software Architecture Analysis Method, SAAM)
  • czynne przeglądy projektów pośrednich (Active Reviews for Intermediate Designs, ARID)


Wskazówki dla Czytelnika (15)
Wstęp (19)
1 Istota architektury oprogramowania (23)
  • 1.1. Architektura jako medium komunikacyjne pomiędzy głównymi zainteresowanymi (25)
    • 1.1.1. Architektura i jej wpływ na głównych zainteresowanych (25)
    • 1.1.2. Perspektywy architektoniczne (26)
    • 1.1.3. Języki opisu architektury (31)
  • 1.2. Architektura jako forma ukazania najwcześniejszych decyzji projektowych (32)
    • 1.2.1. Style architektur (34)
  • 1.3. Architektura jako możliwa do wielokrotnego wykorzystania i przenoszenia abstrakcja systemu (35)
  • 1.4. Podsumowanie (36)
  • 1.5. Dalsza lektura (36)
  • 1.6. Pytania dyskusyjne (38)
2 Ocena architektury oprogramowania (39)
  • 2.1. Cele dokonywania oceny architektury (43)
  • 2.2. Moment dokonywania oceny architektury (44)
  • 2.3. Zainteresowane strony (46)
  • 2.4. Rezultaty procesu oceny architektury (47)
  • 2.5. Właściwości, pod względem których architektura może podlegać ocenie (50)
  • 2.6. Przyczyny dużej niejasności analiz atrybutów jakościowych (53)
  • 2.7. Wyniki ewaluacji architektury oprogramowania (54)
    • 2.7.1. Wyniki metod ATAM, SAAM oraz ARID (54)
    • 2.7.2. Wyniki związane tylko z metodą ATAM (56)
  • 2.8. Korzyści oraz koszta związane z przeprowadzaniem ewaluacji architektury (57)
  • 2.9. Dalsza lektura (62)
  • 2.10. Pytania dyskusyjne (63)
3 ATAM - metoda ewaluacji architektury (65)
  • 3.1. Ogólny opis etapów metody ATAM (66)
  • 3.2. Szczegółowy opis etapów metody ATAM (67)
    • 3.2.1. Etap 1.: prezentacja metody ATAM (67)
    • 3.2.2. Etap 2.: prezentacja biznesowych czynników motywujących (68)
    • 3.2.3. Etap 3.: prezentacja architektury (68)
    • 3.2.4. Etap 4.: identyfikacja stosowanych podejść architektonicznych (69)
    • 3.2.5. Etap 5.: utworzenie drzewa użyteczności atrybutów jakościowych (71)
    • 3.2.6. Etap 6.: analiza metod architektonicznych (78)
    • 3.2.7. Etap 7.: "burza mózgów" i nadanie scenariuszom priorytetów (81)
    • 3.2.8. Etap 8.: analiza metod architektonicznych (89)
    • 3.2.9. Etap 9.: prezentacja rezultatów (90)
  • 3.3. Fazy metody ATAM (93)
    • 3.3.1. Działania fazy 0. (93)
    • 3.3.2. Działania fazy 1. (97)
    • 3.3.3. Działania fazy 2. (98)
    • 3.3.4. Działania fazy 3. (101)
  • 3.4. Dalsza lektura (105)
  • 3.5. Pytania dyskusyjne (106)
4 System kierowania polem walki - pierwsza analiza przypadku dla metody ATAM (107)
  • 4.1. Czynności przygotowawcze (107)
  • 4.2. Faza 1. (108)
    • 4.2.1. Etap 1.: przedstawienie metody ATAM (108)
    • 4.2.2. Etap 2.: przedstawienie wyznaczników działania (109)
    • 4..2.3. Etap 3.: prezentacja architektury systemu (109)
    • 4.2.4. Etap 4.: identyfikacja rozwiązań strukturalnych (109)
    • 4.2.5. Etap 5.: utworzenie drzewa atrybutów użyteczności (110)
    • 4.2.6. Etap 6.: analiza rozwiązań architektury systemu (112)
  • 4.3. Faza 2. (120)
    • 4.3.1. Etap 7.: "burza mózgów" i określenie priorytetów scenariuszy (120)
    • 4.3.2. Etap 8.: analiza podejść architektonicznych (122)
    • 4.3.3. Etap 9.: prezentacja rezultatów (122)
  • 4.4. Rezultaty procesu ewaluacji systemu BCS (123)
    • 4.4.1. Dokumentacja (123)
    • 4.4.2. Wymagania (126)
    • 4.4.3. Punkty wrażliwości i kompromisowe (126)
    • 4.4.4. Zagrożenia dla architektury (126)
  • 4.5. Podsumowanie (127)
  • 4.6. Pytania dyskusyjne (127)
5 Istota atrybutów jakościowych (129)
  • 5.1. Charakterystyki atrybutów jakościowych (130)
    • 5.1.1. Wydajność (131)
    • 5.1.2. Dostępność (135)
    • 5.1.3. Modyfikowalność (137)
    • 5.1.4. Pytania sugerowane przez charakterystyki (140)
  • 5.2. Wykorzystanie charakterystyk atrybutów jakościowych w metodzie ATAM (141)
  • 5.3. Style architektoniczne oparte na atrybutach (143)
  • 5.4. Podsumowanie (144)
  • 5.5. Dalsza lektura (145)
  • 5.6. Pytania dyskusyjne (145)
6 Analiza przypadku wykorzystania metody ATAM (147)
  • 6.1. Tło ewaluacji (148)
  • 6.2. Faza 0.: kwestie umowy i sprawy przygotowawcze (149)
    • 6.2.1. Faza 0., etap 1.: prezentacja metody ATAM (150)
    • 6.2.2. Faza 0., etap 2.: opis systemu kandydującego (152)
    • 6.2.3. Faza 0., etap 3.: podjęcie decyzji o kontynuowaniu lub zaprzestaniu dalszych prac (154)
    • 6.2.4. Faza 0., etap 4.: wynegocjowanie harmonogramu prac (156)
    • 6.2.5. Faza 0., etap 5.: utworzenie zespołu ewaluacyjnego (158)
    • 6.2.6. Faza 0., etap 6.: przeprowadzenie wstępnego spotkania zespołu ewaluacyjnego (161)
    • 6.2.7. Faza 0., etap 7.: przygotowanie do fazy 1. (164)
    • 6.2.8. Faza 0., etap 8.: dokonanie przeglądu architektury (167)
  • 6.3. Faza 1.: Ewaluacja wstępna (169)
    • 6.3.1. Faza 1., etap 1.: prezentacja metody ATAM (170)
    • 6.3.2. Faza 1., etap 2.: prezentacja wyznaczników działania (173)
    • 6.3.3. Faza 1., etap 3.: prezentacja architektury (178)
    • 6.3.4. Faza 1., etap 4.: identyfikacja podejść architektonicznych (183)
    • 6.3.5. Faza 1., etap 5.: utworzenie drzewa użyteczności atrybutów jakościowych (186)
    • 6.3.6. Faza 1., etap 6.: analiza podejść architektonicznych (193)
  • 6.4. Przerwa między fazą 1. a fazą 2. (204)
  • 6.5. Faza 2.: ewaluacja szczegółowa (204)
    • 6.5.1. Faza 2., etap 0.: przygotowanie do fazy 2. (205)
    • 6.5.2. Faza 2., etapy od 1. do 6. (207)
    • 6.5.3. Faza 2., etap 7.: "burza mózgów" i nadanie scenariuszom priorytetów (208)
    • 6.5.4. Faza 2., etap 8.: analiza podejść architektonicznych (216)
    • 6.5.5. Faza 2., etap 9.: prezentacja rezultatów (220)
  • 6.6. Faza 3.: Działania uzupełniające (223)
    • 6.6.1. Faza 3., etap 1.: utworzenie raportu końcowego (223)
    • 6.6.2. Faza 3., etap 2.: przeprowadzenie spotkania końcowego (224)
    • 6.6.3. Faza 3., etap 3.: utworzenie teczki i aktualizacja repozytoriów danych (227)
  • 6.7. Dalsza lektura (229)
  • 6.8. Pytania dyskusyjne (230)
7 Wykorzystanie metody SAAM w ewaluacji przykładowej architektury (231)
  • 7.1. Przegląd metody SAAM (232)
    • 7.1.1. Dane wejściowe ewaluacji opartej na metodzie SAAM (232)
    • 7.1.2. Dane wyjściowe ewaluacji opartej na metodzie SAAM (233)
  • 7.2. Etapy ewaluacji opartej na metodzie SAAM (234)
    • 7.2.1. Etap 1.: opracowanie scenariuszy (234)
    • 7.2.2. Etap 2.: opisanie architektur(y) (236)
    • 7.2.3. Etap 3.: sklasyfikowanie i nadanie priorytetów scenariuszom (237)
    • 7.2.4. Etap 4.: indywidualna ocena scenariuszy pośrednich (238)
    • 7.2.5. Etap 5.: określenie interakcji scenariuszy (238)
    • 7.2.6. Etap 6.: utworzenie ewaluacji ogólnej (239)
  • 7.3. Przykładowy program dzienny procesu ewaluacji metodą SAAM (240)
  • 7.4. Analiza przypadku zastosowania metody SAAM (241)
    • 7.4.1. Przegląd systemu ATAT (242)
    • 7.4.2. Etap 1.: opracowanie scenariuszy, pierwsze przejście (243)
    • 7.4.3. Etap 2.: opis architektur(y), pierwsze przejście (243)
    • 7.4.4. Etap 1.: opracowanie scenariuszy, drugie przejście (245)
    • 7.4.5. Etap 2.: opis architektur(y), drugie przejście (246)
    • 7.4.6. Etap 3.: sklasyfikowanie i nadanie priorytetów scenariuszom (248)
    • 7.4.7. Etap 4.: indywidualna ewaluacja scenariuszy pośrednich (249)
    • 7.4.8. Etap 5.: określenie interakcji scenariuszy (249)
    • 7.4.9. Etap 6.: utworzenie ewaluacji ogólnej - rezultaty i zalecenia (253)
  • 7.5. Podsumowanie (256)
  • 7.6. Dalsza lektura (256)
  • 7.7. Pytania dyskusyjne (256)
8 ARID - metoda ewaluacji architektur częściowych (259)
  • 8.1. Czynne przeglądy projektów (260)
  • 8.2. ARID: Hybryda metod ADR i ATAM (262)
  • 8.3. Etapy metody ARID (263)
    • 8.3.1. Faza 1.: próba (263)
    • 8.3.2. Faza 2.: przegląd (264)
  • 8.4. Analiza przypadku zastosowania metody ARID (266)
    • 8.4.1. Przeprowadzenie działań poszczególnych etapów (267)
    • 8.4.2. Rezultaty działań (269)
  • 8.5. Podsumowanie (270)
  • 8.6. Dalsza lektura (270)
  • 8.7. Pytania dyskusyjne (271)
9 Porównanie metod ewaluacji architektur oprogramowania (273)
  • 9.1. Techniki pytające (274)
    • 9.1.1. Kwestionariusze i listy kontrolne (275)
    • 9.1.2. Scenariusze i metody oparte na scenariuszach (278)
  • 9.2. Techniki pomiarowe (280)
    • 9.2.1. Miary (281)
    • 9.2.2. Symulacje, prototypy i eksperymenty (282)
    • 9.2.3. Analiza o stałym tempie (283)
    • 9.2.4. Zautomatyzowane narzędzia i języki opisu architektur (283)
  • 9.3. Techniki hybrydowe (284)
    • 9.3.1. Inżynieria wydajności oprogramowania (284)
    • 9.3.2. Metoda ATAM (285)
  • 9.4. Podsumowanie (285)
  • 9.5. Dalsza lektura (290)
  • 9.6. Pytania dyskusyjne (290)
10 Rozwijanie możliwości dokonywania ewaluacji architektur we własnym przedsiębiorstwie (291)
  • 10.1. Budowanie organizacyjnego zaangażowania (291)
  • 10.2. Zwiększanie grona oceniających (292)
  • 10.3. Tworzenie zasobów zbiorczych (293)
    • 10.3.1. Dane o kosztach i korzyściach (294)
    • 10.3.2. Wskazówki dotyczące metod (295)
    • 10.3.3. Elementy możliwe do wielokrotnego wykorzystania (299)
  • 10.4. Podsumowanie (300)
  • 10.5. Pytania dyskusyjne (301)
11 Wnioski (303)
  • 11.1. Można zaczynać! (303)
  • 11.2. Poznane metody (304)
  • 11.3. Zasadność dokonywania ewaluacji architektur (305)
  • 11.4. Przyczyny skuteczności metody ATAM (306)
  • 11.5. Uwagi końcowe (312)
A Przykład stylu architektonicznego opartego na atrybutach (313)
  • A.1. Opis problemu (313)
  • A.2. Bodziec-odpowiedź (314)
  • A.3. Styl architektoniczny (314)
  • A.4. Analiza (314)
    • A.4.1. Rozumowanie (315)
    • A.4.2. Przypisanie priorytetów (316)
    • A.4.3. Inwersja priorytetów (316)
    • A.4.4. Czas blokowania (317)
  • A.5. Dalsza lektura (318)
Bibliografia (319)
Skorowidz (323)