Podstawy architektury oprogramowania dla in - Helion

Autor: Mark Richards, Neal Ford
Tytuł oryginału: Fundamentals of Software Architecture: A Modern Engineering Approach, 2nd Edition
Tłumaczenie: Piotr Pilch, Leszek Sagalara
ISBN: 978-83-289-2996-8
stron: 511, Format: 165x235, okładka: mi
Data wydania: 2025-08-01
Księgarnia: Helion
Cena książki: 103,20 zł (poprzednio: 129,00 zł)
Oszczędzasz: 20% (-25,80 zł)
Tytuł oryginału: Fundamentals of Software Architecture: A Modern Engineering Approach, 2nd Edition
Tłumaczenie: Piotr Pilch, Leszek Sagalara
ISBN: 978-83-289-2996-8
stron: 511, Format: 165x235, okładka: mi
Data wydania: 2025-08-01
Księgarnia: Helion
Cena książki: 103,20 zł (poprzednio: 129,00 zł)
Oszczędzasz: 20% (-25,80 zł)
Nakład wyczerpany
Architektura oprogramowania to dzi
Spis treści
Podstawy architektury oprogramowania dla inżynierów. Wydanie II -- spis treści
Przedmowa
1. Wprowadzenie
- Zdefiniowanie architektury oprogramowania
- Prawa architektury oprogramowania
- Oczekiwania wobec architekta
- Podejmowanie decyzji architektonicznych
- Ciągłe analizowanie architektury
- Śledzenie najnowszych trendów
- Zapewnienie zgodności z decyzjami
- Różnorodne technologie
- Wiedza z zakresu biznesu
- Umiejętności interpersonalne
- Znajomość i umiejętność stosowania polityki firmy
- Plan książki
Część I. Podstawy
- 2. Myślenie architektoniczne
- Architektura a projekt
- Porównanie decyzji strategicznych z taktycznymi
- Poziom podejmowanych działań
- Znaczenie kompromisów
- Rozpiętość techniczna
- Zasada 20 minut
- Opracowanie osobistego radaru
- Analiza kompromisów
- Czynniki biznesowe
- Zachowanie równowagi między architekturą a kodowaniem
- Myślenie architektoniczne to coś więcej
- Architektura a projekt
- 3. Modułowość
- Modułowość i ziarnistość
- Definiowanie modułowości
- Pomiar modułowości
- Spójność
- Sprzężenie
- Podstawowe wskaźniki
- Odległość od ciągu głównego
- Splątanie
- Od modułów do składników
- 4. Definiowanie parametrów architektury
- Parametry architektury i projekt systemu
- (Niepełna) lista parametrów architektury
- Operacyjne parametry architektury
- Strukturalne parametry architektury
- Parametry dostawcy technologii chmury
- Przekrojowe parametry architektury
- Kompromisy i najmniej niekorzystna architektura
- 5. Identyfikacja parametrów architektury
- Określanie parametrów architektury na podstawie zagadnień domenowych
- Złożone parametry architektury
- Określanie parametrów architektury
- Wykonywanie ćwiczeń kata
- Kata: Krzemowe Kanapki
- Parametry sprecyzowane
- Parametry dorozumiane
- Ograniczanie parametrów architektury i określanie ich priorytetu
- 6. Pomiar parametrów architektury i zarządzanie nimi
- Pomiar parametrów architektury
- Pomiary operacyjne
- Pomiary strukturalne
- Pomiary procesowe
- Funkcje zarządzania i dopasowania
- Zarządzanie parametrami architektury
- Funkcje dopasowania
- Pomiar parametrów architektury
- 7. Zakres parametrów architektury
- Kwanty architektury i ziarnistość
- Liczba mnoga technicznych terminów pochodzenia łacińskiego
- Ograniczony kontekst w projektowaniu zorientowanym na domenę
- Komunikacja synchroniczna
- Wpływ określania zakresu
- Zakres i styl architektoniczny
- Kata: W Stronę Zieleni
- Określanie zakresu i technologia chmury
- Kwanty architektury i ziarnistość
- 8. Myślenie w oparciu o składniki
- Definicja składników logicznych
- Porównanie architektury logicznej z fizyczną
- Tworzenie architektury logicznej
- Identyfikowanie głównych składników
- Przypisywanie historyjek użytkownika do składników
- Analiza ról i zakresu odpowiedzialności
- Analiza parametrów architektury
- Restrukturyzacja składników
- Sprzężenie składników
- Sprzężenie statyczne
- Sprzężenie przejściowe
- Prawo Demeter
- Studium przypadku: "Po raz pierwszy, po raz drugi, sprzedane!" - odkrywanie składników
Część II. Style architektoniczne
- 9. Podstawy
- Porównanie stylów ze wzorcami
- Skąd się biorą style architektoniczne?
- Podstawowe wzorce
- Bryła błotna
- Architektura unitarna
- Klient-serwer
- Podział architektury
- Kata: Krzemowe Kanapki - podział
- Architektury monolityczne a rozproszone
- Mit 1. Sieć jest niezawodna
- Mit 2. Opóźnienie jest zerowe
- Mit 3. Przepustowość jest nieskończona
- Mit 4. Sieć jest bezpieczna
- Mit 5. Topologia nigdy się nie zmienia
- Mit 6. Jest tylko jeden administrator
- Mit 7. Koszt transportu jest zerowy
- Mit 8. Sieć jest homogeniczna
- Inne mity
- Topologie zespołów i architektura
- Zaznajomienie się z konkretnymi stylami
- Porównanie stylów ze wzorcami
- 10. Styl architektury warstwowej
- Topologia
- Szczegóły dotyczące stylu
- Warstwy izolacji
- Dodawanie warstw
- Topologie danych
- Uwagi dotyczące technologii chmury
- Typowe ryzyka
- Nadzór
- Uwagi dotyczące topologii zespołów
- Parametry stylu
- Kiedy stosować?
- Kiedy nie stosować?
- Przykłady i przypadki użycia
- 11. Styl architektoniczny monolitu modułowego
- Topologia
- Szczegóły stylu
- Struktura monolityczna
- Struktura modułowa
- Komunikacja między modułami
- Topologie danych
- Kwestie dotyczące technologii chmury
- Typowe zagrożenia
- Nadzór
- Kwestie dotyczące topologii zespołów
- Parametry stylu
- Kiedy stosować?
- Kiedy nie stosować?
- Przykłady i przypadki użycia
- 12. Styl architektury potokowej
- Topologia
- Szczegóły dotyczące stylu
- Filtry
- Potoki
- Topologie danych
- Uwagi dotyczące technologii chmury
- Typowe ryzyka
- Nadzór
- Uwagi dotyczące topologii zespołów
- Parametry stylu
- Kiedy stosować?
- Kiedy nie stosować?
- Przykłady i przypadki użycia
- 13. Styl architektury mikrojądra
- Topologia
- Szczegóły dotyczące stylu
- Podstawowy system
- Dołączane składniki
- Spektrum "mikrojądrowości"
- Rejestr
- Kontrakty
- Topologie danych
- Uwagi dotyczące technologii chmury
- Typowe ryzyka
- Zmienny podstawowy system
- Zależności między wtyczkami
- Nadzór
- Uwagi dotyczące topologii zespołów
- Ocena parametrów architektury
- Przykłady i przypadki użycia
- 14. Styl architektury bazującej na usługach
- Topologia
- Szczegóły dotyczące stylu
- Projekt usług i szczegółowość
- Opcje interfejsu użytkownika
- Opcje bramy interfejsów API
- Topologie danych
- Uwagi dotyczące technologii chmury
- Typowe ryzyka
- Nadzór
- Uwagi dotyczące topologii zespołów
- Parametry architektury
- Przykłady i przypadki użycia
- 15. Styl architektury sterowanej zdarzeniami
- Topologia
- Szczegóły dotyczące stylu
- Porównanie zdarzeń z komunikatami
- Zdarzenia pochodne
- Generowanie zdarzeń rozszerzalnych
- Komunikacja asynchroniczna
- Możliwości rozgłaszania
- Ładunek zdarzenia
- Antywzorzec roju komarów
- Obsługa błędów
- Zapobieganie utracie danych
- Żądanie-odpowiedź
- Architektura sterowana zdarzeniami z mediacją
- Topologie danych
- Topologia monolitycznej bazy danych
- Topologia domenowej bazy danych
- Topologia specjalnej bazy danych
- Uwagi dotyczące technologii chmury
- Typowe ryzyka
- Nadzór
- Uwagi dotyczące topologii zespołów
- Parametry stylu
- Wybór między modelem opartym na żądaniach a modelem opartym na zdarzeniach
- Przykłady i przypadki użycia
- 16. Styl architektury przestrzennej
- Topologia
- Szczegóły dotyczące stylu
- Jednostka przetwarzająca
- Zwirtualizowane oprogramowanie pośredniczące
- Klaster przesyłania komunikatów
- Klaster danych
- Klaster przetwarzania
- Menedżer wdrażania
- Pompy danych
- Jednostki zapisu danych
- Jednostki odczytu danych
- Topologie danych
- Uwagi dotyczące technologii chmury
- Typowe ryzyka
- Częste odczyty bazy danych
- Synchronizacja danych i ich spójność
- Duże ilości danych
- Kolizje danych
- Nadzór
- Uwagi dotyczące topologii zespołów
- Parametry stylu
- Przykłady i przypadki użycia
- System sprzedaży biletów na koncerty
- System aukcji internetowych
- 17. Architektura zorientowana na usługi sterowana orkiestracją
- Topologia
- Szczegóły dotyczące stylu
- Taksonomia
- Wykorzystuj ponownie. i sprzęgaj
- Topologie danych
- Uwagi dotyczące technologii chmury
- Typowe ryzyka
- Nadzór
- Uwagi dotyczące topologii zespołów
- Parametry stylu
- Przykłady i przypadki użycia
- 18. Architektura mikrousług
- Topologia
- Szczegóły dotyczące stylu
- Ograniczony kontekst
- Poziom szczegółowości
- Izolacja danych
- Warstwa API
- Wieloużywalność operacyjna
- Interfejsy
- Komunikacja
- Choreografia i orkiestracja
- Transakcje i sagi
- Topologie danych
- Uwagi dotyczące technologii chmury
- Typowe ryzyka
- Nadzór
- Uwagi dotyczące topologii zespołów
- Parametry stylu
- Przykłady i przypadki użycia
- 19. Wybór odpowiedniego stylu architektonicznego
- Zmiana "mody" w architekturze
- Kryteria decyzyjne
- Studium przypadku architektury monolitycznej: Krzemowe Kanapki
- Monolit modułowy
- Mikrojądro
- Studium przypadku architektury rozproszonej: "Po raz pierwszy, po raz drugi, sprzedane!"
- 20. Wzorce architektoniczne
- Ponowne użycie
- Rozdzielenie sprzężenia domenowego i operacyjnego
- Komunikacja
- Porównanie orkiestracji i choreografii
- Wzorzec CQRS
- Infrastruktura
- Wzorzec broker-domena
- Ponowne użycie
Część III. Techniki i umiejętności miękkie
- 21. Decyzje architektoniczne
- Antywzorce w decyzjach architektonicznych
- Antywzorzec Obrona Swojego Stanowiska
- Antywzorzec Dzień Świstaka
- Antywzorzec Architektura Sterowana Wiadomościami E-mail
- Istotność architektoniczna
- Rejestr decyzji architektonicznych
- Podstawowa struktura
- Przykład
- Przechowywanie dokumentów ADR
- ADR jako dokumentacja
- Wykorzystanie dokumentów ADR do standaryzacji
- Wykorzystanie dokumentów ADR w istniejących systemach
- Wykorzystanie generatywnej sztucznej inteligencji i dużych modeli językowych przy podejmowaniu decyzji architektonicznych
- Antywzorce w decyzjach architektonicznych
- 22. Analiza ryzyka w architekturze
- Macierz ryzyka
- Ocena ryzyka
- Risk storming
- Pierwsza faza: identyfikacja
- Druga faza: konsensus
- Trzecia faza: ograniczanie
- Analizy ryzyka historyjek użytkownika
- Przypadek użycia risk stormingu
- Dostępność
- Elastyczność
- Bezpieczeństwo
- Podsumowanie
- 23. Tworzenie diagramów architektury
- Diagramy
- Narzędzia
- Standardy tworzenia diagramów: UML, C4 i ArchiMate
- Wskazówki dotyczące sporządzania diagramów
- Podsumowanie
- Diagramy
- 24. Zwiększanie efektywności zespołów
- Współpraca
- Ograniczenia i granice
- Osobowości architektów
- Architekt będący maniakiem kontroli
- Architekt fotelowy
- Skuteczny architekt
- Jaki poziom zaangażowania?
- Znaki ostrzegawcze w zespole
- Strata procesowa
- Pluralistyczna ignorancja
- Wykorzystanie list kontrolnych
- Lista kontrolna gotowości kodu
- Lista kontrolna testów jednostkowych i funkcjonalnych
- Lista kontrolna wydania oprogramowania
- Udzielanie wskazówek
- Podsumowanie
- 25. Umiejętności negocjacyjne i zdolności przywódcze
- Negocjacje i koordynowanie
- Negocjacje z interesariuszami biznesowymi
- Negocjacje z innymi architektami
- Negocjacje z programistami
- Architekt oprogramowania jako lider
- Cztery aspekty architektury
- Bądź pragmatyczny, ale zarazem wizjonerski
- Przewodzenie zespołom poprzez dawanie przykładu
- Integracja z zespołem projektowym
- Podsumowanie
- Negocjacje i koordynowanie
- 26. Punkty przecięcia architektur
- Architektura i implementacja
- Zagadnienia operacyjne
- Integralność strukturalna
- Ograniczenia architektoniczne
- Architektura i infrastruktura
- Architektura i topologie danych
- Topologia bazy danych
- Parametry architektury
- Struktura danych
- Priorytet odczytu/zapisu
- Architektura i praktyki inżynierii
- Architektura i topologie zespołów
- Architektura i integracja systemów
- Architektura i przedsiębiorstwo
- Architektura i środowisko biznesowe
- Architektura i generatywna sztuczna inteligencja
- Integracja generatywnej sztucznej inteligencji z architekturą
- Generatywna sztuczna inteligencja jako asystent architekta
- Podsumowanie
- Architektura i implementacja
- 27. Prawa architektury oprogramowania - aktualizacja
- Pierwsze prawo: w architekturze oprogramowania wszystko jest kompromisem
- Porównanie wspólnej biblioteki z usługą współużytkowaną
- Porównanie synchronicznego i asynchronicznego przesyłania komunikatów
- Pierwszy wniosek: pominięte kompromisy
- Drugi wniosek: nie da się zrobić tego tylko raz
- Drugie prawo: dlaczego jest ważniejsze niż jak
- Antywzorzec bez kontekstu
- Spektrum między skrajnościami
- Rada na zakończenie
- Pierwsze prawo: w architekturze oprogramowania wszystko jest kompromisem
A. Kwestie do omówienia