Podstawy architektury oprogramowania dla inżynierów. Wydanie II Szadek

Architektura oprogramowania to dziś nie tylko kwestia doświadczenia czy intuicji - staje się pełnoprawną dziedziną inżynieryjną, która zakłada powtarzalność, rygor i skuteczną analizę. Ta książka pokazuje, jak projektować systemy w sposób świadomy, oparty na sprawdzonych zasadach i analizie …

od 77,40 Najbliżej: 34 km

Liczba ofert: 2

Oferta sklepu

Opis

Architektura oprogramowania to dziś nie tylko kwestia doświadczenia czy intuicji - staje się pełnoprawną dziedziną inżynieryjną, która zakłada powtarzalność, rygor i skuteczną analizę. Ta książka pokazuje, jak projektować systemy w sposób świadomy, oparty na sprawdzonych zasadach i analizie kompromisów. Zawiera rozdziały poświęcone najnowszym spostrzeżeniom związanym z tą dziedziną. Obejmuje zarówno klasyczne tematy (na przykład wzorce architektoniczne, wyodrębnianie komponentów, dokumentowanie architektury), jak i nowe zagadnienia, takie jak architektura ewolucyjna, wpływ AI na projektowanie systemów czy organizacja zespołów developerskich. Dokładnie wyjaśnia zasady, które mogą być zastosowane do wszystkich zestawów rozwiązań technologicznych. W książce duży nacisk położono na analizę kompromisów, która pozwala na obiektywną ocenę rozwiązań technologicznych. Architektura oprogramowania została tu ujęta jako dziedzina inżynieryjna - z całym dorobkiem ostatniej dekady. Najważniejsze zagadnienia: style i wzorce architektoniczne kluczowe składniki i cechy nowoczesnych projektów umiejętności miękkie pomocne w pracy architekta nowoczesne praktyki inżynierii oprogramowania architektura jako dziedzina inżynieryjna W książce znajdziesz niezbędne źródło wiedzy pozwalające zgłębić nowoczesną architekturę oprogramowania z perspektywy współczesnych realiów. Raju Gandhi, autor Head First Git i współautor Architektury oprogramowania. Rusz głową! 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 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 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 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 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 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 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 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 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 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 A. Kwestie do omówienia

Specyfikacja

Podstawowe informacje

Autor
  • Neal Ford
Wybrane wydawnictwa
  • Helion
Okładka
  • Miękka
Format
  • 16,5 x 23,5 cm
Rok wydania
  • 2025
Ilość stron
  • 488
Tematyka
  • Programowanie
ISBN
  • 9788328929968