reklama - zainteresowany?

Jakość oprogramowania. Podręcznik dla profesjonalistów - Helion

Jakość oprogramowania. Podręcznik dla profesjonalistów
ebook
Autor: Michał Sobczak
ISBN: 978-83-283-6951-1
stron: 208, Format: ebook
Data wydania: 2020-04-21
Księgarnia: Helion

Cena książki: 26,95 zł (poprzednio: 49,00 zł)
Oszczędzasz: 45% (-22,05 zł)

Dodaj do koszyka Jakość oprogramowania. Podręcznik dla profesjonalistów

Tagi: Inne - Programowanie

Wszystko, co musisz wiedzieć o jakości oprogramowania, w jednym miejscu!

  • Poznaj rodzaje bÅ‚Ä™dów
  • Zapewnij wysokÄ… jakość kodu
  • Dowiedz siÄ™, jak należycie testować
  • Twórz niezawodne oprogramowanie

Czym jest jakość oprogramowania? Czy to wyÅ‚Ä…cznie miara technicznej doskonaÅ‚oÅ›ci kodu? A może jakość to coÅ› znacznie wiÄ™cej? Czy niezawodne dziaÅ‚anie i brak bÅ‚Ä™dów Å›wiadczÄ… o wysokiej jakoÅ›ci programu? Co charakteryzuje kod, który można uznać za dobry? Jak mierzy siÄ™ jakość w projektach informatycznych? Co robić, aby zapewnić wysokÄ… jakość tworzonego oprogramowania? Jakie techniki i rozwiÄ…zania mogÄ… w tym pomóc?

Odpowiedzi na te i wiele innych pytaÅ„ znajdziesz w książce Jakość oprogramowania. PodrÄ™cznik dla profesjonalistów. To pierwsze tego rodzaju wydawnictwo na polskim rynku szybko wprowadzi CiÄ™ w zyskujÄ…cÄ… coraz wiÄ™ksze znaczenie tematykÄ™ jakoÅ›ci oprogramowania komputerowego. DziÄ™ki lekturze dowiesz siÄ™ nie tylko, jak uzyskać i utrzymać odpowiedniÄ… jakość w projekcie informatycznym oraz jakie narzÄ™dzia sÄ… w tym pomocne, lecz również co robić, aby ograniczyć szkody spowodowane przez ewentualne bÅ‚Ä™dy.

  • Zapewnianie jakoÅ›ci kodu źródÅ‚owego
  • Sposoby testowania programów
  • Architektura, wzorce projektowe, metodyki
  • CiÄ…gÅ‚e dostarczanie i ciÄ…gÅ‚a integracja
  • Monitoring produkcji i obsÅ‚uga awarii
  • Najczęściej popeÅ‚niane bÅ‚Ä™dy i typowe przypadki

Lektura obowiązkowa dla każdego, kto jest zaangażowany w proces wytwarzania oprogramowania!

Dodaj do koszyka Jakość oprogramowania. Podręcznik dla profesjonalistów

 

Osoby które kupowały "Jakość oprogramowania. Podręcznik dla profesjonalistów", wybierały także:

  • DevOps w praktyce. Kurs video. Jenkins, Ansible, Terraform i Docker
  • Wyrażenia regularne od podstaw
  • Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usÅ‚ug
  • Zrozum struktury danych. Algorytmy i praca na danych w Javie
  • Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa

Dodaj do koszyka Jakość oprogramowania. Podręcznik dla profesjonalistów

Spis treści

Jakość oprogramowania. Podręcznik dla profesjonalistów eBook -- spis treści


Wprowadzenie 13

Rozdział 1. Praca u podstaw 23

  • Klasyfikacja usterek, bÅ‚Ä™dów i awarii 23
    • Terminologia niezawodnoÅ›ci 24
    • BÅ‚Ä™dy 27
    • Zapobieganie defektom 28
  • Standaryzacja i organizacja kodu 28
    • Standaryzacja 28
    • Organizacja 28
  • Jakość danych 29
  • Wzorce projektowe, dowodzenie poprawnoÅ›ci 30
    • Kryteria wzorców projektowych 31
    • Jakość poszczególnych wzorców projektowych 31
    • Uzasadnienie dla wzorców projektowych 31
    • KorzyÅ›ci ze stosowania wzorców projektowych 32
    • TrudnoÅ›ci 33
    • Wzorce oprogramowania nie sÄ…... 33
    • Wzorce oprogramowania sÄ…... 33
    • Rodzaje wzorców projektowych 33
    • Konwencja ponad konfiguracjÄ™ 59
  • Niezawodność 59
    • Weryfikacja, walidacja i testowanie 59
    • Odporność na bÅ‚Ä™dy 60
  • PrzeglÄ…dy jakoÅ›ci kodu 62
    • PrzeglÄ…d konwencjonalny 62
    • PrzeglÄ…d jako proces 63
    • Inspekcja oprogramowania krytycznego 63
  • Poziomy pokrycia kodu testami 64
  • WÅ‚aÅ›ciwy wybór architektury (DDD) i projektowanie 64
    • Prostota i minimalizm 65
    • ZÅ‚ożoność 65
    • Architektura 66
    • Projektowanie 66
    • Programowanie 69
    • JÄ™zyk programowania 71
    • Maksymy programistyczne 71
  • Metodyki (TDD, BDD, TIP) 72
    • TDD 72
    • BDD 73
    • TIP 74
  • Aplikacje mikrousÅ‚ugowe a monolityczne 74
    • Aplikacje monolityczne 74
    • Aplikacje mikrousÅ‚ugowe 75
  • Zasady testowania 75
    • PojÄ™cia 75
    • Styl testowania 76
    • Cel 76
    • Testowanie specyfikacji 76
    • Retrospekcja 76
    • Sytuacje 76
    • Filozofie testowania 77
    • Dane testowe 77
    • Kierunki testowania 77
    • Minimum 77
    • Aksjomaty testowania 78
    • Aksjomaty programistyczne 78
  • Pragmatyczny programista 79
    • Entropia oprogramowania 79
    • DRY 79
  • Inne aspekty 79
    • BÅ‚Ä™dotwórstwo 79
    • Dowodzenie poprawnoÅ›ci programów 79
    • Przewidywanie zmian 80
    • Dyspozycyjność systemu 80
    • Uszkodzenia i powrót ze stanu bÅ‚Ä™du 81
    • Metodologia programowania 82
    • Kolejność celów 83
    • Wykonalność 83
    • Starzenie 84
  • Defekty w grach 84
    • Room bounds, problemy systemu optymalizacji 84
    • Problemy z teksturami 87
    • BrakujÄ…ce elementy otoczenia 89
    • BÅ‚Ä™dna lokalizacja elementów otoczenia 90

Rozdział 2. CI/CD 93

  • SkÅ‚adnia, kompilacja i budowanie artefaktów 93
    • SkÅ‚adnia 93
    • Kompilacja 94
    • Budowanie 94
  • Automatyczne testy programistyczne 95
    • minitest 95
    • busted 98
  • PozostaÅ‚e przykÅ‚ady testów 100
    • Integracyjne 100
    • UI 103
    • Specyfikacja, konfiguracja, Å›rodowisko 104
  • CI/CD w praktyce 105
    • Git branching 106
    • .gitlab-ci.yml 106

Rozdział 3. Produkcja 109

  • WspóÅ‚praca pierwszej i drugiej linii wsparcia 109
  • Monitoring 109
    • APM 110
    • Baza danych 114
    • BÅ‚Ä™dy 117
    • Logi 122
  • ObsÅ‚uga awarii 124
    • Hotfixing 124
    • Monkey-patching 124

Rozdział 4. Błędy i komunikaty 125

  • Zestawienie bÅ‚Ä™dów popeÅ‚nianych przez programistów 125
    • Typowe bÅ‚Ä™dy 125
    • BÅ‚Ä™dy poczÄ…tkujÄ…cych 126
  • Kategoryzacja bÅ‚Ä™dów 127
    • Kompozycja programu 127
    • PÄ™tle 128
    • Dane 128
    • Zmienne 128
    • Tablice 128
    • Operacje arytmetyczne 128
    • Podprogramy 128
    • Inne 129

Rozdział 5. Przypadki 131

  • W zasiÄ™gu wzroku 131
    • Monitoring 131
    • Planowanie 131
    • Spotkanie 131
  • Potrzeba 132
    • Å»ycie 132
    • Konsumpcja 132
    • Rozrywka 132
    • Finanse 132
    • Nauka 133
  • SiÅ‚y na zamiary 133
  • Odbiorca 133
    • ZamawiajÄ…cy 133
    • Beneficjent 133
    • Wykonawca 134
    • Operator 134
    • Użytkownik koÅ„cowy 134
  • NiedoskonaÅ‚ość 134
    • CzÅ‚owiek 134
    • Organizacja 135
  • Czas 135
    • Ważność 135
    • Pilność 135
    • MikrozarzÄ…dzanie 135
  • Zadania cykliczne 136
    • Zmiana czÄ™stotliwoÅ›ci 136
    • Racjonalizacja operacji 137
    • Uruchamianie w Dockerfile 138
  • NieporzÄ…dek w harmonogramie zadaÅ„ 138
    • PrzykÅ‚ad 138
    • RozwiÄ…zania 139
    • Skutki i dziaÅ‚ania 140
  • Martwy kod 140
  • WspóÅ‚dzielenie kodu 141
    • RozwiÄ…zanie 141
    • Rails 141
    • Java 143
  • PorzÄ…dkowanie struktury aplikacji 143
  • Timeout 144
    • PrzykÅ‚ad 144
    • RozwiÄ…zanie 145
  • Racjonalizacja serwera bazy danych 145
    • PrzykÅ‚ad 146
    • Replikacja czasu rzeczywistego 146
    • Aplikacje 146
    • Monitoring 147
  • NieprawidÅ‚owe rekordy 148
  • Typy danych jako klucze 148
  • Nadmiarowe przypisania 149
  • Agregacja danych 149
  • Dzielenie zapytaÅ„ SQL 150
  • Testy inwazyjne 151
  • Cargo cult 152
  • Prokrastynacja 153
  • Obustronna weryfikacja 154
  • ZewnÄ™trzne dane 154
  • Klucze obce a projekt bazy 155
  • Korekty danych 156
  • Spójność Å›rodowisk 157
  • NULL 157
  • ZmÄ™czenie 159
  • Brak testów 160
  • Nemawashi 160
  • "Geniusz zÅ‚a" 161
  • Paradoks hazardzisty 162
  • Czytelność kodu 162
    • Rozmiar 162
    • Dobre praktyki 165
  • Standardy, czyli XYZ-way 166
  • Kosztowne bÅ‚Ä™dy 166
    • NASA Mars Climate Orbiter 167
    • Ariane 5 Flight 501 167
    • EDS Child Support System 167
    • Heathrow Terminal 5 Opening 168
    • The Mariner 1 Spacecraft 168
    • Patriot Missile Error 168
    • Pentium FDIV Bug 168
  • Ciekawe przypadki 169
  • Proxy 169
  • Planowanie 170
  • Macierz pokrycia zmianami 170
  • IDE a edytor tekstowy 171
  • Architektura systemowa 172
    • Systemy wsadowe o zdalnym dostÄ™pie 172
    • Systemy zbierania danych 173
    • System prosty (Simplex) 173
    • System prosty z wysuniÄ™tÄ… transmisjÄ… 173
    • System prosty z oddzielnymi maszynami do obsÅ‚ugi transmisji i do zarzÄ…dzania bazÄ… danych 175
    • System nadrzÄ™dny - podlegÅ‚y 175
    • System o wspólnej pamiÄ™ci zbiorów 176
    • Systemy zdwojone i dualne 177
    • Systemy wieloprocesorowe 177
  • ZÅ‚ożoność 178
  • Predyspozycje osobowe 179
  • Auto DB reconnect 180
  • ESB non-block 180
  • DB Deadlock 181
  • Liczba zgÅ‚oszeÅ„ 183
  • Konteneryzacja 183
  • Koncentracja i poÅ›piech 184
  • System transakcyjny a system wsadowy 184
  • Pair programming 184
  • Integracja 185
  • Estymaty 185
  • Kompatybilność API 185
  • Retro computing 187
  • Oprogramowanie samodostosowujÄ…ce siÄ™ 187

Rozdział 6. Podsumowanie 189

  • Nieuchronne 189
  • Organizacja 189
  • Post factum 189
  • Spokój 190
  • Co dalej? 190
  • Refleksja 190
  • Na koniec 191

Dodatek A. Metodyka prewencji i szybkiego reagowania 193

  • Prewencja 193
    • 1. Zasada ograniczonego zaufania 193
    • 2. Statyczne typowanie 193
    • 3. Analiza skÅ‚adniowa 195
    • 4. Dane w relacyjnej bazie 195
    • 5. Aspekty projektowe 197
  • Reagowanie 197
    • 1. Przechwytywanie wyjÄ…tków 197
    • 2. Service Discovery 198
    • 3. Używajmy wÅ‚asnych produktów 198

Bibliografia 199

Skorowidz 203

Dodaj do koszyka Jakość oprogramowania. Podręcznik dla profesjonalistów

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.