Nowoczesna inżynieria oprogramowania Szamocin

Inżynieria oprogramowania polega na stosowaniu empirycznego podejścia do szukania wydajnych i ekonomicznie uzasadnionych rozwiązań podczas tworzenia oprogramowania. Dziedzina ta ma na celu organizowanie optymalnego procesu tworzenia aplikacji ? od koncepcji, poprzez kodowanie, wdrażanie, …

od 45 Najbliżej: 34 km

Liczba ofert: 1

Oferta sklepu

Opis

Inżynieria oprogramowania polega na stosowaniu empirycznego podejścia do szukania wydajnych i ekonomicznie uzasadnionych rozwiązań podczas tworzenia oprogramowania. Dziedzina ta ma na celu organizowanie optymalnego procesu tworzenia aplikacji ? od koncepcji, poprzez kodowanie, wdrażanie, utrzymywanie, po wycofywanie. Uzyskanie biegłości w tym obszarze nie jest łatwe: rozwój oprogramowania wymaga zrozumienia filozofii inżynierii i stosowania określonych zasad. Tę książkę docenią programiści, menedżerowie, inżynierowie i liderzy techniczni. Znajdziesz w niej cenne informacje o filozofii inżynierii oprogramowania, jak również o postępach w sposobie myślenia na jej temat. Na tej bazie oparto zestaw zasad ułatwiających skuteczne radzenie sobie z dwoma podstawowymi procesami inżynierii oprogramowania: uczenia się i eksploracji oraz radzenia sobie ze złożonością. W ten sposób dowiesz się, jak usprawnić wszystkie aspekty swojej pracy, a także jak stosować sprawdzone podejścia prowadzące do sukcesu z uwzględnieniem uwarunkowań ekonomicznych. Dzięki tej przełomowej publikacji nauczysz się technik rozwiązywania problemów z wykorzystaniem zarówno obecnych, jak i przyszłych technologii. W efekcie będziesz szybciej tworzyć lepsze oprogramowanie, i to w bardziej przyjemny i satysfakcjonujący sposób. Poznaj i stosuj zasady nowoczesnej inżynierii oprogramowania: określaj jasne cele i sensownie wybieraj narzędzia organizuj pracę i systemy tak, aby móc oceniać ciągłe postępy zachowuj kontrolę nawet po zwiększeniu złożoności systemu utrzymuj dyscyplinę z zachowaniem właściwej elastyczności ucz się z historii i doświadczenia naucz się oceniać nowe idee rozwoju oprogramowania Przekonaj się, jak dzisiaj najlepsi praktycy projektują oprogramowanie! Spis treści: Spis treściPrzedmowa Wstęp Podziękowania O autorze Część I. Czym jest inżynieria oprogramowania? Rozdział 1. WprowadzenieInżynieria - praktyczne zastosowanie nauki Czym jest inżynieria oprogramowania? Przywracanie "inżynierii" w "inżynierii oprogramowania" Jak robić postępy? Narodziny inżynierii oprogramowania Zmiana paradygmatu Podsumowanie Rozdział 2. Czym jest inżynieria?To nie produkcja jest naszym problemem Inżynieria projektowa zamiast inżynierii produkcyjnej Robocza definicja inżynierii Inżynieria != kod Dlaczego inżynieria jest ważna? Ograniczenia rzemiosła Precyzja i skalowalność Radzenie sobie ze złożonością Powtarzalność i precyzja pomiarów Inżynieria, kreatywność i rzemiosło Dlaczego to, co robimy, nie jest inżynierią oprogramowania Kompromisy Iluzja postępu Droga od rzemiosła do inżynierii Rzemiosło to za mało Czas na zmianę perspektywy? Podsumowanie Rozdział 3. Podstawy podejścia inżynieryjnegoBranża zmian? Znaczenie pomiarów Wprowadzanie stabilności i wydajności Podstawy inżynierii oprogramowania Eksperci od uczenia się Eksperci od radzenia sobie ze złożonością Podsumowanie Część II. Optymalizacja z myślą o uczeniu się Rozdział 4. Praca w modelu iteracyjnymPraktyczne zalety podejścia iteracyjnego Podejście iteracyjne jako strategia projektowania defensywnego Pokusa tworzenia planu Praktyczne aspekty podejścia iteracyjnego Podsumowanie Rozdział 5. Informacje zwrotnePraktyczny przykład ilustrujący znaczenie informacji zwrotnych Informacje zwrotne w czasie pisania kodu Informacje zwrotne na etapie integracji Informacje zwrotne na etapie projektowania Informacje zwrotne w architekturze Preferuj szybkie informacje zwrotne Informacje zwrotne w kontekście projektu produktu Informacje zwrotne w organizacji i kulturze Podsumowanie Rozdział 6. Podejście przyrostoweZnaczenie modułowości Podejście przyrostowe w organizacjach Narzędzia ułatwiające przyrostową pracę Ograniczanie zakresu wpływu zmian Projektowanie przyrostowe Podsumowanie Rozdział 7. Podejście empiryczneZakorzenienie w rzeczywistości Oddzielenie podejścia empirycznego od eksperymentów "Znam ten błąd!" Unikanie oszukiwania samego siebie Wymyślanie rzeczywistości pasującej do argumentów Kierowanie się rzeczywistością Podsumowanie Rozdział 8. Nastawienie na eksperymentowanieCzym jest "nastawienie na eksperymentowanie"? Informacje zwrotne Hipotezy Pomiary Kontrolowanie zmiennych Zautomatyzowane testy jako eksperymenty Zapewnianie kontekstu dla wyników testów przeprowadzanych w ramach eksperymentów Zakres eksperymentów Podsumowanie Część III. Optymalizowanie z myślą o radzeniu sobie ze złożonością Rozdział 9. ModułowośćCechy charakterystyczne modułowości Niedocenianie znaczenia dobrego projektu Znaczenie testowalności Projektowanie z myślą o łatwości testowania poprawia modułowość Usługi i modułowość Łatwość wdrażania a modułowość Modułowość w różnych skalach Modułowość w systemach ludzkich Podsumowanie Rozdział 10. SpójnośćModułowość i spójność - podstawy projektowania Prosty przykład niskiej spójności Kontekst ma znaczenie Wysoce wydajne oprogramowanie Związki z powiązaniami Zapewnianie wysokiej spójności za pomocą programowania sterowanego testami Jak uzyskać spójne oprogramowanie? Koszty niskiej spójności Spójność w systemach ludzkich Podsumowanie Rozdział 11. Podział zadańWstrzykiwanie zależności Oddzielanie złożoności zasadniczej od złożoności przypadkowej Znaczenie podejścia DDD Testowalność Porty i adaptery Kiedy stosować wzorzec porty i adaptery? Czym jest API? Stosowanie programowania sterowanego testami do wprowadzania podziału zadań Podsumowanie Rozdział 12. Ukrywanie informacji i abstrakcjaAbstrakcja lub ukrywanie informacji Co jest powodem powstawania "wielkiej błotnej bryły"? Problemy organizacyjne i kulturowe Problemy techniczne i problemy projektowe Obawy przed "nadinżynierią" Tworzenie bardziej abstrakcyjnego kodu za pomocą testów Wartość abstrakcji "Dziurawe" abstrakcje Wybór odpowiednich abstrakcji Abstrakcje z dziedziny problemu Wyodrębnianie złożoności przypadkowej za pomocą abstrakcji Izolowanie zewnętrznych systemów i zewnętrznego kodu Zawsze preferuj ukrywanie informacji Podsumowanie Rozdział 13. Radzenie sobie z powiązaniamiKoszty powiązań Skalowanie Mikrousługi Wyeliminowanie powiązań może prowadzić do większej ilości kodu Luźne powiązanie nie jest jedynym, które ma znaczenie Preferuj luźne powiązania W czym powiązania różnią się od podziału zadań? Zasada DRY jest zbyt uproszczona Asynchroniczność jako narzędzie do uzyskiwania luźnych powiązań Projektowanie z myślą o luźnych powiązaniach Luźne powiązania w systemach ludzkich Podsumowanie Część IV. Narzędzia ułatwiające inżynierię w branży oprogramowania Rozdział 14. Narzędzia w dziedzinie inżynieriiCzym jest rozwój oprogramowania? Testowalność jako narzędzie Punkty pomiaru Problemy z osiąganiem testowalności Jak zwiększyć testowalność? Łatwość wdrażania Szybkość Kontrolowanie zmiennych Ciągłe dostarczanie Ogólne narzędzia wspomagające inżynierię Podsumowanie Rozdział 15. Współczesny inżynier oprogramowaniaInżynieria jako proces ludzki Organizacje dokonujące przełomu w świecie cyfrowym Skutki a mechanizmy Trwałe i uniwersalne Podstawy inżynierii Podsumowanie O autorze: David Farley uczestniczy w budowie London Multi-Asset Exchange, wielostronnej platformy obrotu instrumentami finansowymi . Ma 20-letnie doświadczenie w dziedzinie wielkoskalowych systemów rozproszonych, był pionierem zastosowania technik zwinnych oraz dyrektorem technicznych części najbardziej wymagających projektów realizowanych przez ThoughtWorks.

Specyfikacja

Podstawowe informacje

Autor
  • Farley David
Wybrane wydawnictwa
  • Helion
Okładka
  • Broszura
Rok wydania
  • 2023
Ilość stron
  • 224
Tematyka
  • Biznes
  • Programowanie
ISBN
  • 9788383225944