www.ksiegarnia-fachowa.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

JAKOŚĆ OPROGRAMOWANIA PODRĘCZNIK DLA PROFESJONALISTÓW


SOBCZAK M.

wydawnictwo: HELION , rok wydania 2020, wydanie I

cena netto: 49.90 Twoja cena  47,41 zł + 5% vat - dodaj do koszyka

Jakość oprogramowania

Podręcznik dla profesjonalistów

  • 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

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

208 stron, Format: 16.0x23.0cm, oprawa miękka

Księgarnia nie działa. Nie odpowiadamy na pytania i nie realizujemy zamówien. Do odwolania !.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2026