E-book details

Architektura oprogramowania w praktyce. Wydanie IV

Architektura oprogramowania w praktyce. Wydanie IV

Len Bass, Paul Clements, Rick Kazman

Ebook

To kompletny, praktyczny i sprawdzony przewodnik po tworzeniu architektury nowoczesnego oprogramowania, w pełni zaktualizowany o nowe materiały poświęcone rozwiązaniom mobilnym, chmurze, zarządzaniu energią, podejściu DevOps, przetwarzaniu kwantowemu i innym zagadnieniom.

Zaktualizowana o 11 nowych rozdziałów książka Architektura oprogramowania w praktyce, wydanie czwarte dokładnie wyjaśnia, czym jest architektura oprogramowania, dlaczego ma ona znaczenie, a także jak ją projektować, tworzyć, analizować i modyfikować oraz jak nią zarządzać w zdyscyplinowany i skuteczny sposób.

Trzech poważanych architektów oprogramowania omawia cały cykl życia, prezentując praktyczne wskazówki, metody stosowane przez ekspertów i sprawdzone modele przydatne w każdym projekcie niezależnie od poziomu jego złożoności. Dowiesz się, jak za pomocą architektury radzić sobie z coraz większymi wymaganiami i systemami oraz wyższym poziomem abstrakcji, a także jak uzyskiwać emergentne atrybuty jakościowe, gdy systemy są dynamicznie łączone na nowe sposoby.

W tym podręczniku znajdziesz informacje na temat optymalizowania za pomocą architektury najważniejszych atrybutów jakościowych (w tym wydajności, modyfikowalności, zabezpieczeń, dostępności, współdziałania, testowalności, użyteczności, łatwości wdrażania itd.), co pomoże Ci zrozumieć, jak zarządzać istniejącymi architekturami, dopracowywać je, przekształcać w celu rozwiązywania nowych problemów i tworzyć architektury wielokrotnego użytku, które stają się strategicznymi aktywami biznesowymi.

  • Zobacz, jak architektura wpływa na środowisko techniczne, cykle życia projektów, profile biznesowe i Twoją pracę, a także jak te czynniki wpływają na architekturę.
  • Wykorzystaj sprawdzone wzorce, interfejsy i praktyki do optymalizowania jakości za pomocą architektury.
  • Twórz architekturę z myślą o rozwiązaniach mobilnych, chmurze, uczeniu maszynowym i przetwarzaniu kwantowym.
  • Projektuj systemy pod kątem coraz ważniejszych atrybutów takich jak wydajność energetyczna i bezpieczeństwo.
  • Skaluj systemy, odkrywając czynniki istotne architektonicznie, stosując podejście DevOps i potoki wdrażania oraz zarządzając długiem architektonicznym.
  • Poznaj rolę architektury w organizacji, co pozwoli Ci tworzyć bardziej wartościowe rozwiązania.

Przedmowa

Podziękowania

CZĘŚĆ I. Wprowadzenie

  • Rozdział 1. Czym jest architektura oprogramowania?
    • 1.1. Czym jest, a czym nie jest architektura oprogramowania
    • 1.2. Struktury i perspektywy architektury
    • 1.3. Co sprawia, że architektura jest "dobra"?
    • 1.4. Podsumowanie
    • 1.5. Literatura
    • 1.6. Pytania do dyskusji
  • Rozdział 2. Dlaczego architektura oprogramowania jest istotna?
    • 2.1. Utrudnianie albo ułatwianie uzyskania głównych atrybutów jakościowych systemu
    • 2.2. Wnioskowanie na temat zmian i zarządzanie nimi
    • 2.3. Prognozowanie atrybutów jakościowych systemu
    • 2.4. Komunikacja między interesariuszami
    • 2.5. Wczesne decyzje projektowe
    • 2.6. Ograniczenia dotyczące implementacji
    • 2.7. Wpływ na strukturę organizacji
    • 2.8. Umożliwianie stopniowego rozwijania systemu
    • 2.9. Szacowanie kosztów i harmonogramu prac
    • 2.10. Uniwersalny model wielokrotnego użytku
    • 2.11. Architektura umożliwia dodawanie niezależnie rozwijanych elementów
    • 2.12. Ograniczanie listy możliwości w projekcie
    • 2.13. Podstawa do szkoleń
    • 2.14. Podsumowanie
    • 2.15. Literatura
    • 2.16. Pytania do dyskusji

CZĘŚĆ II. Atrybuty jakościowe

  • Rozdział 3. Czym są atrybuty jakościowe
    • 3.1. Funkcjonalność
    • 3.2. Rozważania o atrybutach jakościowych
    • 3.3. Tworzenie specyfikacji wymagań dotyczących atrybutów jakościowych: scenariusze związane z atrybutami jakościowymi
    • 3.4. Osiąganie atrybutów jakościowych za pomocą wzorców i taktyk architektonicznych
    • 3.5. Projektowanie z użyciem taktyk
    • 3.6. Analizowanie decyzji projektowych wpływających na atrybuty jakościowe: kwestionariusze oparte na taktykach
    • 3.7. Podsumowanie
    • 3.8. Literatura
    • 3.9. Pytania do dyskusji
  • Rozdział 4. Dostępność
    • 4.1. Ogólny scenariusz dotyczący dostępności
    • 4.2. Taktyki zapewniania dostępności
    • 4.3. Oparty na taktykach kwestionariusz dostępności
    • 4.4. Wzorce dostępności
    • 4.5. Literatura
    • 4.6. Pytania do dyskusji
  • Rozdział 5. Łatwość wdrażania
    • 5.1. Ciągłe wdrażanie
    • 5.2. Łatwość wdrażania
    • 5.3. Ogólny scenariusz dotyczący łatwości wdrażania
    • 5.4. Taktyki zapewniania łatwości wdrażania
    • 5.5. Oparty na taktykach kwestionariusz łatwości wdrażania
    • 5.6. Wzorce łatwości wdrażania
    • 5.7. Literatura
    • 5.8. Pytania do dyskusji
  • Rozdział 6. Efektywność energetyczna
    • 6.1. Ogólny scenariusz dotyczący efektywności energetycznej
    • 6.2. Taktyki zapewniania efektywności energetycznej
    • 6.3. Oparty na taktykach kwestionariusz efektywności energetycznej
    • 6.4. Wzorce
    • 6.5. Literatura
    • 6.6. Pytania do dyskusji
  • Rozdział 7. Integrowalność
    • 7.1. Ocena integrowalności architektury
    • 7.2. Ogólny scenariusz dotyczący integrowalności
    • 7.3. Taktyki zapewniania integrowalności
    • 7.4. Oparty na taktykach kwestionariusz integrowalności
    • 7.5. Wzorce
    • 7.6. Literatura
    • 7.7. Pytania do dyskusji
  • Rozdział 8. Modyfikowalność
    • 8.1. Ogólny scenariusz dotyczący modyfikowalności
    • 8.2. Taktyki zapewniania modyfikowalności
    • 8.3. Oparty na taktykach kwestionariusz modyfikowalności
    • 8.4. Wzorce
    • 8.5. Literatura
    • 8.6. Pytania do dyskusji
  • Rozdział 9. Wydajność
    • 9.1. Ogólny scenariusz dotyczący wydajności
    • 9.2. Taktyki zapewniania wydajności
    • 9.3. Oparty na taktykach kwestionariusz wydajności
    • 9.4. Wzorce dotyczące wydajności
    • 9.5. Literatura
    • 9.6. Pytania do dyskusji
  • Rozdział 10. Bezpieczeństwo
    • 10.1. Ogólny scenariusz dotyczący bezpieczeństwa
    • 10.2. Taktyki zapewniania bezpieczeństwa
    • 10.3. Oparty na taktykach kwestionariusz na temat bezpieczeństwa
    • 10.4. Wzorce dotyczące bezpieczeństwa
    • 10.5. Literatura
    • 10.6. Pytania do dyskusji
  • Rozdział 11. Zabezpieczenia
    • 11.1. Ogólny scenariusz dotyczący zabezpieczeń
    • 11.2. Taktyki zabezpieczania systemu
    • 11.3. Oparty na taktykach kwestionariusz na temat zabezpieczeń
    • 11.4. Wzorce zabezpieczania systemu
    • 11.5. Literatura
    • 11.6. Pytania do dyskusji
  • Rozdział 12. Testowalność
    • 12.1. Ogólny scenariusz dotyczący testowalności
    • 12.2. Taktyki zapewniania testowalności
    • 12.3. Oparty na taktykach kwestionariusz zapewniania testowalności
    • 12.4. Wzorce dotyczące testowalności
    • 12.5. Literatura
    • 12.6. Pytania do dyskusji
  • Rozdział 13. Użyteczność
    • 13.1. Ogólny scenariusz dotyczący użyteczności
    • 13.2. Taktyki zapewniania użyteczności
    • 13.3. Oparty na taktykach kwestionariusz zapewniania użyteczności
    • 13.4. Wzorce użyteczności
    • 13.5. Literatura
    • 13.6. Pytania do dyskusji
  • Rozdział 14. Praca nad innymi atrybutami jakościowymi
    • 14.1. Inne rodzaje atrybutów jakościowych
    • 14.2. Stosowanie (lub nie) standardowych list atrybutów jakościowych
    • 14.3. Jak radzić sobie z "x-alnością"? Dodawanie nowego AJ do zestawu
    • 14.4. Literatura
    • 14.5. Pytania do dyskusji

CZĘŚĆ III. Rozwiązania architektoniczne

  • Rozdział 15. Interfejsy oprogramowania
    • 15.1. Zagadnienia związane z interfejsami
    • 15.2. Projektowanie interfejsu
    • 15.3. Dokumentowanie interfejsu
    • 15.4. Podsumowanie
    • 15.5. Literatura
    • 15.6. Pytania do dyskusji
  • Rozdział 16. Wirtualizacja
    • 16.1. Współużytkowane zasoby
    • 16.2. Maszyny wirtualne
    • 16.3. Obrazy maszyn wirtualnych
    • 16.4. Kontenery
    • 16.5. Kontenery i maszyny wirtualne
    • 16.6. Przenośność kontenerów
    • 16.7. Pody
    • 16.8. Architektura bezserwerowa
    • 16.9. Podsumowanie
    • 16.10. Literatura
    • 16.11. Pytania do dyskusji
  • Rozdział 17. Chmura i przetwarzanie rozproszone
    • 17.1. Podstawowe informacje o chmurze
    • 17.2. Awarie w chmurze
    • 17.3. Używanie wielu instancji do zwiększania wydajności i dostępności
    • 17.4. Podsumowanie
    • 17.5. Literatura
    • 17.6. Pytania do dyskusji
  • Rozdział 18. Systemy mobilne
    • 18.1. Energia
    • 18.2. Łączność sieciowa
    • 18.3. Czujniki i aktuatory
    • 18.4. Zasoby
    • 18.5. Cykl życia
    • 18.6. Podsumowanie
    • 18.7. Literatura
    • 18.8. Pytania do dyskusji

CZĘŚĆ IV. Praktyki zapewniania skalowalności architektury

  • Rozdział 19. Wymagania o znaczeniu architektonicznym
    • 19.1. Zbieranie wymagań o znaczeniu architektonicznym na podstawie dokumentacji wymagań
    • 19.2. Zbieranie wymagań o znaczeniu architektonicznym na podstawie rozmów z interesariuszami
    • 19.3. Zbieranie wymagań o znaczeniu architektonicznym na podstawie celów biznesowych
    • 19.4. Zapisywanie wymagań o znaczeniu architektonicznym w drzewie użyteczności
    • 19.5. Zmiany się zdarzają
    • 19.6. Podsumowanie
    • 19.7. Literatura
    • 19.8. Pytania do dyskusji
  • Rozdział 20. Projektowanie architektury
    • 20.1. Projektowanie oparte na atrybutach
    • 20.2. Kroki w podejściu ADD
    • 20.3. Jeszcze o podejściu ADD - krok 4., wybór koncepcji projektowych, aby spełnić ustalone czynniki
    • 20.4. Jeszcze o podejściu ADD - krok 5., tworzenie struktur
    • 20.5. Jeszcze o podejściu ADD - krok 6., tworzenie wstępnej dokumentacji w trakcie projektowania
    • 20.6. Jeszcze o podejściu ADD - krok 7., przeprowadzanie analiz obecnego projektu i ocena realizacji celów iteracji oraz celu projektu
    • 20.7. Podsumowanie
    • 20.8. Literatura
    • 20.9. Pytania do dyskusji
  • Rozdział 21. Ewaluacja architektury
    • 21.1. Ewaluacja jako aktywność zmniejszająca ryzyko
    • 21.2. Główne aktywności związane z ewaluacją
    • 21.3. Kto może dokonywać ewaluacji?
    • 21.4. Czynniki kontekstowe
    • 21.5. Metoda analizy kompromisów architektonicznych (ATAM)
    • 21.6. Metoda LAE
    • 21.7. Podsumowanie
    • 21.8. Literatura
    • 21.9. Pytania do dyskusji
  • Rozdział 22. Dokumentowanie architektury
    • 22.1. Zastosowania i odbiorcy dokumentacji architektury
    • 22.2. Notacje
    • 22.3. Perspektywy
    • 22.4. Łączenie perspektyw
    • 22.5. Dokumentowanie zachowań
    • 22.6. Poza perspektywy
    • 22.7. Dokumentowanie uzasadnienia
    • 22.8. Interesariusze architektury
    • 22.9. Uwagi praktyczne
    • 22.10. Podsumowanie
    • 22.11. Literatura
    • 22.12. Pytania do dyskusji
  • Rozdział 23. Zarządzanie długiem architektonicznym
    • 23.1. Ustalanie, czy występuje problem z długiem architektonicznym
    • 23.2. Wykrywanie hotspotów
    • 23.3. Przykład
    • 23.4. Automatyzacja
    • 23.5. Podsumowanie
    • 23.6. Literatura
    • 23.7. Pytania do dyskusji

CZĘŚĆ V. Architektura i organizacja

  • Rozdział 24. Rola architektów w projektach
    • 24.1. Architekt a menedżer projektu
    • 24.2. Przyrostowo rozwijana architektura i jej interesariusze
    • 24.3. Architektura i podejście zwinne
    • 24.4. Architektura a rozproszony rozwój oprogramowania
    • 24.5. Podsumowanie
    • 24.6. Literatura
    • 24.7. Pytania do dyskusji
  • Rozdział 25. Kompetencje architektoniczne
    • 25.1. Kompetencje jednostek: obowiązki, umiejętności i wiedza architektów
    • 25.2. Kompetencje organizacji rozwijającej architekturę oprogramowania
    • 25.3. Jak stać się lepszym architektem?
    • 25.4. Podsumowanie
    • 25.5. Literatura
    • 25.6. Pytania do dyskusji

CZĘŚĆ VI. Wnioski

  • Rozdział 26. Rzut oka w przyszłość: przetwarzanie kwantowe
    • 26.1. Jeden kubit
    • 26.2. Teleportacja kwantowa
    • 26.3. Przetwarzanie kwantowe i szyfrowanie
    • 26.4. Inne algorytmy
    • 26.5. Potencjalne zastosowania
    • 26.6. Uwagi końcowe
    • 26.7. Literatura

O autorach

Literatura

Skorowidz

  • Title: Architektura oprogramowania w praktyce. Wydanie IV
  • Author: Len Bass, Paul Clements, Rick Kazman
  • Original title: Software Architecture in Practice, 4th Edition
  • Translation: Tomasz Walczak
  • ISBN: 978-83-283-9053-9, 9788328390539
  • Date of issue: 2022-10-25
  • Format: Ebook
  • Item ID: aropw4
  • Publisher: Helion