E-book details

Head First Software Development. Edycja polska

Head First Software Development. Edycja polska

Dan Pilone, Russ Miles

Ebook

Opanuj niezwykłą sztukę wytwarzania oprogramowania!

  • W jaki sposób zadowolić klienta?
  • Jak wygląda proces wytwarzania oprogramowania?
  • Jakie pułapki czekają na Ciebie?

Proces wytwarzania oprogramowania -- już sam opis sugeruje trudności. I rzeczywiście -- jest to proces niezwykle złożony. Od samego początku trafiamy na kwestie takie, jak analiza potrzeb klienta i zebranie jego wymagań. Z każdym krokiem wszystko komplikuje się jeszcze bardziej... Konieczna jest implementacja poszczególnych wymagań klienta, testowanie tych rozwiązań, korekta znalezionych błędów. Na to wszystko nakłada się jeszcze konieczność tworzenia różnych wersji rozwiązań i zmienny nastrój klienta. Jak sobie z tym wszystkim poradzić? Jak bezboleśnie i skutecznie przejść przez cały ten proces?

Tylko bez obaw! Oto podręcznik, który dzięki innowacyjnym metodom przekazywania wiedzy sprawi, że szybko zrozumiesz proces wytwarzania oprogramowania i nauczysz się gładko podążać jego wyboistą ścieżką. Autorzy książki "Head First Software Development. Edycja polska" -- Dan i Russ -- pokażą Ci, w jaki sposób zadowolić klienta i zebrać od niego wymagania oraz określić jego potrzeby. Dowiesz się, jak zapanować nad poszczególnymi wersjami Twojego projektu. Nauczysz się prowadzić testy i usuwać błędy. Zdobędziesz informacje dotyczące wytwarzania oprogramowania sterowanego testami, a na koniec zobaczysz, jak taki proces wygląda w rzeczywistości. Wszystkie te informacje przedstawione zostały na licznych ilustracjach, co wydatnie ułatwia przyswajanie wiedzy, dodatkowo przekazanej przystępnym i pełnym humoru językiem. Po lekturze tego podręcznika nawet laik będzie w stanie zarządzać takim procesem!

  • Zbieranie wymagań
  • Planowanie projektu
  • Kontrola wersji
  • Wytwarzanie sterowane testami
  • Testy integracyjne
  • Usuwanie błędów

Tworzenie oprogramowania? Nic prostszego!!!

Wprowadzenie

  • Dla kogo przeznaczona jest ta książka? (26)
  • Wiemy, co sobie myślisz (27)
  • Metapoznanie: myślenie o myśleniu (29)
  • A oto, co TY możesz zrobić, aby zmusić mózg do posłuszeństwa (31)
  • Przeczytaj koniecznie (32)
  • Zespół recenzentów technicznych (34)
  • Podziękowania (35)

Rozdział 1. Zapewnianie zadowolenia klienta

  • Szlakami Macieja wchodzi do internetu (38)
  • W większości projektów trzeba uwzględnić dwa główne zagadnienia (39)
  • Rozwój oprogramowania metodą wielkiego wybuchu (40)
  • Przenieśmy się w czasie - dwa tygodnie później (41)
  • Rozwój oprogramowania metodą wielkiego wybuchu kończy się zwykle WIELKIMI PROBLEMAMI (42)
  • Doskonały rozwój oprogramowania polega na... (45)
  • Dochodzenie do celu dzięki ITERACJOM (46)
  • Każda iteracja to miniprojekt (50)
  • Każda iteracja prowadzi do rozwoju oprogramowania o WYSOKIEJ JAKOŚCI (50)
  • Klient BĘDZIE zmieniał zdanie (56)
  • Wprowadzenie poprawek to Twoje zadanie (56)
  • Musisz poradzić sobie z POWAŻNYMI problemami... (56)
  • Iteracje automatycznie uwzględniają zmiany (58)
  • Oprogramowanie jest gotowe dopiero w momencie jego UDOSTĘPNIENIA (61)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (62)

Rozdział 2. Określanie potrzeb klientów

  • Orbity Oriona przystępują do modernizacji (64)
  • Porozmawiaj z klientem, aby uzyskać WIĘCEJ informacji (67)
  • W obłokach z klientem (68)
  • Czasem sesje bujania w obłokach wyglądają tak jak na rysunku... (70)
  • Dowiedz się, co użytkownicy NAPRAWDĘ robią (71)
  • Wymagania muszą być zorientowane na KLIENTA (73)
  • Rozwijaj wymagania na podstawie informacji zwrotnych od klienta (75)
  • Opowieści użytkownika opisują, CO należy zrealizować w projekcie... a szacunki określają, KIEDY należy to zrobić (77)
  • Rozmowa przy stanowisku pracy (81)
  • Gra w pokera planistycznego (82)
  • Osądź zasadność założeń (85)
  • DŁUGIE w realizacji opowieści użytkownika to ZŁE opowieści użytkownika (88)
  • Celem jest zbieżność (91)
  • Cykl przechodzenia od wymagań do szacunków (94)
  • Na zakończenie można oszacować czas trwania całego projektu (97)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (99)

Rozdział 3. Planowanie z myślą o sukcesie

  • Klienci chcą otrzymać oprogramowanie OD RAZU! (102)
  • Określanie priorytetów razem z klientem (105)
  • Wiemy, co znajdzie się w wydaniu 1.0 (prawdopodobnie) (106)
  • Jeśli szacowany czas jest za długi, zmień priorytety (107)
  • Im więcej osób, tym mniej korzyści (109)
  • Dochodzenie do rozsądnego wydania 1.0 (110)
  • Iteracje powinny być krótkie i przyjemne (117)
  • Porównywanie planu z rzeczywistością (119)
  • Szybkość uwzględnia niespodziewane wydarzenia (121)
  • Programiści myślą w kategoriach dni UTOPIJNYCH (122)
  • Twórcy oprogramowania myślą w kategoriach dni REALNYCH (123)
  • Co zrobić, jeśli iteracja jest za długa? (124)
  • Uwzględnij szybkość PRZED zaplanowaniem iteracji (125)
  • Czas na dokonanie oceny (129)
  • Radzenie sobie z wkurzonymi klientami (130)
  • Duża tablica na ścianie (132)
  • Jak zrujnować życie osobiste członków zespołu? (135)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (137)

Rozdział 4. Przystępowanie do prawdziwej pracy

  • Poznajemy iSwoon (140)
  • Łączny czas realizacji zadań (143)
  • Uwzględniaj tylko niewykonane zadania (145)
  • Umieszczanie zadań na tablicy (146)
  • Rozpoczynanie pracy nad zadaniami (148)
  • Zadanie jest w toku tylko wtedy, kiedy jest W TOKU (149)
  • Co zrobić, jeśli pracuję jednocześnie nad dwoma zadaniami? (150)
  • Pierwsze spotkanie "na stojaka" (153)
  • Zadanie 1: utworzenie klasy Date (154)
  • Krótkie spotkanie robocze: dzień 5, koniec tygodnia 1 (160)
  • Krótkie spotkanie robocze: dzień 2, tydzień 2 (166)
  • Przerywamy ten rozdział... (170)
  • Musisz kontrolować niezaplanowane zadania (171)
  • Nieoczekiwane prace podwyższają poziom zadań do wykonania (173)
  • Szybkość pomaga, ale... (174)
  • Mamy dużo do zrobienia... (176)
  • ...jednak DOKŁADNIE wiemy, na czym stoimy (177)
  • Wszystko o Szybkości (178)

Rozdział 5. Tworzenie oprogramowania na podstawie doskonałych projektów

  • Zespół pracujący nad iSwoon ma poważne problemy (180)
  • Taki projekt narusza zasadę jednego zadania (183)
  • Wykrywanie wielu obowiązków w projekcie (186)
  • Przechodzenie od wielu obowiązków do jednego zadania (189)
  • Projekt powinien być zgodny z SRP, a także z zasadą DRY (190)
  • Krótkie spotkanie robocze po zakończeniu refaktoryzacji (194)
  • Niezaplanowane zadania to wciąż zadania (196)
  • Częścią Twojego zadania jest przeprowadzenie prezentacji (197)
  • Kiedy wszystko jest gotowe, iteracja jest ukończona (200)

Rozdział 6. Programowanie defensywne

  • Podpisałeś nowy kontrakt na aplikację MuzMachina Pro (206)
  • Praca nad interfejsem GUI (210)
  • Demonstracja nowej MuzMachiny klientowi (213)
  • Zacznijmy od KONTROLI WERSJI (216)
  • Najpierw skonfiguruj projekt... (218)
  • ...a następnie prześlij i pobierz kod (219)
  • Większość narzędzi do kontroli wersji próbuje rozwiązywać problemy za Ciebie (220)
  • Serwer próbuje SCALIĆ zmiany (221)
  • Jeśli system nie potrafi scalić zmian, informuje o konflikcie (222)
  • Następne iteracje, następne opowieści (226)
  • Mamy kilka wersji oprogramowania (228)
  • Opisowe komentarze dodane przy przesyłaniu ułatwiają znalezienie starszego oprogramowania (230)
  • Teraz możesz pobrać wersję 1.0 (231)
  • (Awaryjne) krótkie spotkanie robocze (232)
  • Oznaczanie wersji (233)
  • Oznaczenia, gałęzie, pnie - co jeszcze? (235)
  • Poprawianie wersji 1.0 - tym razem na poważnie (236)
  • Teraz mamy DWIE wersje kodu bazowego (237)
  • Kiedy NIE należy tworzyć gałęzi? (240)
  • Zen poprawnego rozgałęziania (240)
  • Co zapewnia system kontroli wersji... (242)
  • System kontroli wersji nie może sprawdzić, czy kod działa (243)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (244)

Rozdział 6.5. Wstaw element a w pole b...

  • Programiści nie potrafią czytać w myślach (248)
  • Budowanie projektu w jednym kroku (249)
  • Ant - narzędzie do budowania projektów w języku Java (250)
  • Projekty, właściwości, cele i zadania (251)
  • Dobre skrypty kompilacji... (256)
  • Dobre skrypty kompilacji wykraczają POZA podstawy (258)
  • Skrypty kompilacji to też kod (260)
  • Nowy, weź dwójkę (261)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (262)

Rozdział 7. Pojawiają się problemy

  • ZAWSZE coś pójdzie źle (264)
  • Są trzy sposoby postrzegania systemu (266)
  • Testy czarnej skrzynki dotyczą przede wszystkim danych WEJŚCIOWYCH i WYJŚCIOWYCH (267)
  • Testy szarej skrzynki ZBLIŻAJĄ Cię do kodu (268)
  • Testy białej skrzynki wymagają wiedzy o wnętrzu systemu (271)
  • Testowanie WSZYSTKIEGO w jednym kroku (276)
  • Automatyzacja testów przy użyciu platformy testowej (278)
  • Używanie platformy do uruchamiania testów (279)
  • Sterowanie CI za pomocą narzędzia CruiseControl (282)
  • Testy gwarantują działanie programu, prawda? (284)
  • Przetestowanie całego kodu wymaga sprawdzenia KAŻDEJ GAŁĘZI (292)
  • Użyj raportu pokrycia, aby zobaczyć, które metody są sprawdzane (293)
  • Uzyskanie wysokiego pokrycia kodu nie zawsze jest proste (295)
  • Krótkie spotkanie robocze (297)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (300)

Rozdział 8. Zapewnianie poprawności kodu

  • Pisz testy NA POCZĄTKU, a nie na końcu (302)
  • NAJPIERW testy (303)
  • Witamy w świecie wytwarzania sterowanego testami (303)
  • Pierwszy test... (304)
  • ...kończy się całkowitym niepowodzeniem (305)
  • Doprowadź testy do koloru ZIELONEGO (306)
  • Czerwone, zielone, refaktoryzacja... (307)
  • W TDD testy STERUJĄ rozwojem kodu (312)
  • Ukończenie zadania oznacza, że napisałeś wszystkie potrzebne testy i kończą się one sukcesem (314)
  • Kiedy kod przejdzie testy, idź dalej! (315)
  • Prostota oznacza unikanie zależności (319)
  • Zawsze pisz kod, który można przetestować (320)
  • Kiedy wystąpią trudności, przyjrzyj się projektowi (321)
  • Wzorzec strategii pozwala tworzyć wiele wersji jednego interfejsu (322)
  • Przechowuj kod testowy razem z testami (325)
  • Testy prowadzą do powstania lepszego kodu (326)
  • Więcej testów zawsze oznacza więcej kodu (328)
  • Wzorce strategii, luźne powiązanie, zastępowanie obiektów (329)
  • Potrzebujemy wielu odmiennych, choć podobnych obiektów (330)
  • A gdyby tak wygenerować obiekty? (330)
  • Obiekty zastępcze zastępują prawdziwe obiekty (331)
  • Obiekty zastępcze to działające zastępniki obiektów (332)
  • Dobre oprogramowanie można przetestować (335)
  • Niełatwo być zielonym (336)
  • Dzień z życia programisty stosującego TDD (338)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (340)

Rozdział 9. Wszystkie elementy łączą się ze sobą...

  • Iteracja jest prawie ukończona... (342)
  • ...jednak możesz zrobić jeszcze wiele rzeczy (343)
  • TRZEBA przeprowadzić testy systemu... (348)
  • ...ale KTO ma to zrobić? (349)
  • Testy systemu wymagają kompletnego oprogramowania (350)
  • Dobre testy systemu wymagają DWÓCH cykli iteracji (351)
  • Więcej iteracji oznacza dodatkowe problemy (352)
  • Życie (i śmierć) błędu (358)
  • Znalazłeś błąd i co dalej? (360)
  • Anatomia raportu o błędzie (361)
  • Jest jeszcze wiele rzeczy, które MÓGŁBYŚ zrobić... (362)
  • Czas na przegląd iteracji (366)
  • Przykładowe pytania z przeglądu iteracji (367)
  • OGÓLNA lista priorytetów zadań DODATKOWYCH (368)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (370)

Rozdział 10. Jeśli nie jest zepsute... i tak lepiej to naprawić

  • Czym jest działające oprogramowanie? (372)
  • Potrzebujesz planu następnej iteracji (374)
  • Szybkość pozwala uwzględnić... RZECZYWISTOŚĆ BIZNESOWĄ (381)
  • Klient NADAL jest najważniejszy (382)
  • Oprogramowanie innych zespołów to NADAL tylko oprogramowanie (384)
  • Akceptacja klienta? Jest! (387)
  • Testowanie kodu (392)
  • Houston, mamy problem... (393)
  • Krótkie spotkanie robocze (394)
  • Nie ufaj NIKOMU (395)
  • Zespół bez procesu (400)
  • Zespół z procesem (401)

Rozdział 11. Profesjonalne usuwanie błędów

  • W poprzednim odcinku (404)
  • Najpierw musisz porozmawiać z klientem (406)
  • Pierwszy priorytet: umożliwienie zbudowania oprogramowania (412)
  • Moglibyśmy naprawić kod... (414)
  • ...ale trzeba naprawić funkcje systemu (415)
  • Określ, które funkcje działają (416)
  • TERAZ wiesz, co (nie) działa (419)
  • Co zrobiłbyś w tej sytuacji? (419)
  • Oszacuj czas pracy przy użyciu testów punktowych (420)
  • O czym informują Cię wyniki testów punktowych? (422)
  • Intuicja członków zespołu ma znaczenie (424)
  • Poinformuj klienta o szacunkowym czasie naprawy błędów (426)
  • Sytuacja wygląda dobrze... (430)
  • ...i kończysz iterację sukcesem! (431)
  • I klient jest zadowolony (432)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (434)

Rozdział 12. Proces w praktyce

  • Definiowanie procesu rozwoju oprogramowania (436)
  • Dobry proces prowadzi do dobrego oprogramowania (437)
  • Wymagany jest strój wieczorowy (442)
  • Wybrane materiały dodatkowe (444)
  • Więcej wiedzy = lepszy proces (445)
  • Narzędzia do Twojej programistycznej skrzynki narzędziowej (446)

Dodatek A Pięć najważniejszych tematów (których nie poruszyliśmy)

  • Numer 1. Diagramy klas w notacji UML (450)
  • Numer 2. Diagramy sekwencji (452)
  • Numer 3. Opowieści użytkownika i przypadki użycia (454)
  • Numer 4. Testy systemu a testy jednostkowe (456)
  • Numer 5. Refaktoryzacja (457)

Dodatek B Narzędzia dla doświadczonych programistów

  • Techniki rozwoju (460)
  • Zasady rozwoju (462)

Skorowidz (465)

  • Title: Head First Software Development. Edycja polska
  • Author: Dan Pilone, Russ Miles
  • Original title: Head First Software Development
  • Translation: Tomasz Walczak
  • ISBN: 978-83-246-6058-2, 9788324660582
  • Date of issue: 2012-10-22
  • Format: Ebook
  • Item ID: hfsode
  • Publisher: Helion