Jakość oprogramowania. Podręcznik dla profesjonalistów - Helion
ISBN: 978-83-283-6102-7
stron: 208, Format: 158x235, okładka: miękka
Data wydania: 2020-04-21
Księgarnia: Helion
Cena książki: 49,00 zł
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!
Osoby które kupowały "Jakość oprogramowania. Podręcznik dla profesjonalistów", wybierały także:
- Zosta 149,00 zł, (44,70 zł -70%)
- Metoda dziel i zwyci 89,00 zł, (26,70 zł -70%)
- Matematyka. Kurs video. Teoria dla programisty i data science 399,00 zł, (119,70 zł -70%)
- Design Thinking. Kurs video. My 129,00 zł, (38,70 zł -70%)
- Konwolucyjne sieci neuronowe. Kurs video. Tensorflow i Keras w rozpoznawaniu obraz 149,00 zł, (44,70 zł -70%)
Spis treści
Jakość oprogramowania. Podręcznik dla profesjonalistów -- 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