Head_First_Software_Development_Edycja_polska_hfsode.pdf

(5237 KB) Pobierz
Head First Software
Development.
Edycja polska
Autor: Dan Pilone, Russ Miles
T³umaczenie: Tomasz Walczak
ISBN: 978-83-246-1547-6
Tytu³ orygina³u:
Head First
Software Development
Format: 200x230, stron: 472
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!!!
Spis treści (skrócony)
Wprowadzenie
1
2
3
4
5
6
7
8
9
10
11
12
Dodatek A
Dodatek B
Skorowidz
Doskonały rozwój­ oprogramowania.
Zapewnianie zadowolenia klientów
Zbieranie wymagań.
Określanie potrzeb klientów
Planowanie proj­ektu.
Planowanie z myślą o sukcesie
Opowieści użytkownika i zadania.
Przystępowanie do prawdziwej pracy
Wystarczaj­ąco dobry proj­ekt.
Tworzenie oprogramowania
na podstawie doskonałych projektów
Kontrola wersj­i.
Programowanie defensywne
Testy i ciągła integracj­a.
Pojawiają się problemy
Wytwarzanie sterowane testami.
Zapewnianie poprawności kodu
Końcówka iteracj­i.
Wszystkie elementy łączą się ze sobą…
Następna iteracj­a.
Jeśli nie jest zepsute… i tak lepiej to naprawić
Błędy.
Profesjonalne usuwanie błędów
Rzeczywisty świat.
Proces w praktyce
Pozostałości.
Pięć najważniejszych tematów (których nie poruszyliśmy)
Techniki i zasady.
Narzędzia dla doświadczonych programistów
25
37
63
101
139
179
205
263
301
341
371
403
435
449
459
465
Spis treści (szczegółowy)
Wprowadzenie
powiedzieć, że to, czego się uczysz,
nie jest istotne:
„Lepiej umieścić w pamięci ważniejsze informacje,
na przykład o dzikich zwierzętach, których należy unikać, i o tym, że wspinanie się po pionowych
skałach to zły pomysł”. Jak więc możesz przekonać mózg, że Twoje życie naprawdę zależy od
nauczenia się rozwijania doskonałego oprogramowania?
Dla kogo przeznaczona j­est ta książka?
Wiemy, co sobie myślisz
Metapoznanie: myślenie o myśleniu
A oto, co TY możesz zrobić, aby zmusić mózg do posłuszeństwa
Przeczytaj­ koniecznie
Zespół recenzentów technicznych
Podziękowania
26
27
29
31
32
34
35
Twój mózg a rozwój oprogramowania.
Próbujesz
nauczyć się
czegoś, jednak
mózg
próbuje
Spis
treści
1
Doskonały rozwój oprogramowania
Zapewnianie zadowolenia klienta
Jeśli klient jest niezadowolony, wszyscy są nieszczęśliwi!
Rozwój wartościowego oprogramowania zawsze rozpoczyna się od genialnego pomysłu klienta.
Twoim zadaniem — jako specjalisty od rozwoju oprogramowania — jest
realizacja takich
pomysłów.
Jednak przekształcenie nieprecyzyjnej idei w działający kod, który ponadto
zadowala
klienta,
nie jest proste. W tym rozdziale pokazujemy, jak sprostać wyzwaniom w obszarze
rozwoju oprogramowania i udostępniać
potrzebne
programy
na czas
i
po ustalonych
kosztach.
Pora złapać laptopy i rozpocząć naukę dostarczania doskonałego oprogramowania.
Szlakami Maciej­a wchodzi do internetu
W większości proj­ektów trzeba uwzględnić dwa główne zagadnienia
Rozwój­ oprogramowania metodą wielkiego wybuchu
Przenieśmy się w czasie — dwa tygodnie później­
Rozwój­ oprogramowania metodą wielkiego wybuchu kończy się zwykle
WIELKIMI PROBLEMAMI
Doskonały rozwój­ oprogramowania polega na…
Dochodzenie do celu dzięki ITERACJOM
Każda iteracj­a to miniproj­ekt
Każda iteracj­a prowadzi do rozwoj­u oprogramowania
o WYSOKIEJ JAKOŚCI
Klient BĘDZIE zmieniał zdanie
Wprowadzenie poprawek to Twoj­e zadanie
Musisz poradzić sobie z POWAŻNYMI problemami…
38
39
40
41
42
45
46
50
50
56
56
56
58
61
62
Cel
Iteracj­e automatycznie uwzględniaj­ą zmiany
Oprogramowanie j­est gotowe dopiero w momencie j­ego
UDOSTĘPNIENIA
Narzędzia do Twoj­ej­ programistycznej­ skrzynki narzędziowej­
Jesteś w tym miejscu na
drodze do udostępnienia
doskonałego
oprogramowania.
Wyjściowy cel.
Stosowałeś iteracje,
aby dotrzeć do celu…
…jednak obecnie
znajduje się on
gdzie indziej.
10
Spis
treści
2
Tytuł:
Opis:
Zbieranie wymagań
Określanie potrzeb klientów
Nie zawsze można dostać to, czego się chce…
jednak lepiej zapewnić to klientom!
Doskonały proces rozwoju oprogramowania prowadzi do udostępnienia tego,
czego chcą
klienci.
W tym rozdziale opisujemy
komunikowanie się z klientami
w celu określenia ich
wymagań
wobec oprogramowania. Dowiesz się, w jaki sposób
opowieści użytkownika,
burza mózgów
i
gra planistyczna
pomagają w zrozumieniu odbiorców. Dzięki temu do
momentu zakończenia projektu zespół może uzyskać pewność, że stworzył to, czego chcą
klienci, a nie tylko marną namiastkę oczekiwanego produktu.
Orbity Oriona przystępuj­ą do modernizacj­i
Porozmawiaj­ z klientem, aby uzyskać WIĘCEJ informacj­i
W obłokach z klientem
Czasem sesj­e buj­ania w obłokach wyglądaj­ą tak j­ak na rysunku…
Dowiedz się, co użytkownicy NAPRAWDĘ robią
Wymagania muszą być zorientowane na KLIENTA
64
67
68
70
71
73
75
77
81
82
85
88
91
94
97
99
aktualn
Wyświetlanie zamówień
Witryna ma wyświetlać
e zamówienia klientom Orbit Oriona.
Tytuł:
Opis:
Rezerwowanie biletu na prom
Rozwij­aj­ wymagania na podstawie informacj­i zwrotnych od klienta
Opowieści użytkownika opisuj­ą, CO należy zrealizować
w proj­ekcie… a szacunki określaj­ą, KIEDY należy to zrobić
Rozmowa przy stanowisku pracy
Gra w pokera planistycznego
Osądź zasadność założeń
DŁUGIE w realizacj­i opowieści użytkownika to
ZŁE opowieści użytkownika
Celem j­est zbieżność
Cykl przechodzenia od wymagań do szacunków
Na zakończenie można oszacować czas trwania całego proj­ektu
Narzędzia do Twoj­ej­ programistycznej­ skrzynki narzędziowej­
Klient Orbit Oriona będzie mógł
zarezerwować bilet na prom.
Tytuł:
Opis:
Zamawianie pakietu
Tytuł:
Klient Orbit Oriona będzie mógł
ny
zarezerwować przez internet pakiet specjal
z dodatkowymi usługami.
Płatności elektroniczne
Klient Orbit Oriona będzie mógł
Opis:
zapłacić za zamówione usługi przez internet.
Tytuł:
Opis:
Organizowanie podróży
Klient Orbit Oriona będzie
Tytuł:
Opis:
dromu
mógł zorganizować podróż do kosmo
i z powrotem.
Rezerwowanie miejsca w hotelu
Klient Orbit Oriona będzie mógł
zarezerwować miejsce w hotelu.
dni
dni
0
dnia dzień
1/2
1
dni
2
dni
3
dni
5
8
13
dni
20
dni
40
dni
100
dni
?
11
Spis
treści
3
Oto, co programista MÓWI…
Planowanie projektu
Planowanie z myślą o sukcesie
Każde wspaniałe oprogramowanie rozpoczyna się od świetnego planu.
W tym rozdziale pokazujemy, jak stworzyć dobry plan. Dowiesz się, jak współpracować
z klientami w celu określenia
priorytetowych wymagań.
Zobaczysz, jak
planować iteracje,
które zespół może następnie realizować. Ponadto nauczysz się tworzyć realistyczny
plan
rozwoju,
który zespół może rzetelnie
realizować
i
kontrolować.
Dzięki tym umiejętnościom
będziesz umiał łatwo przejść od wymagań do wersji 1.0.
Klienci chcą otrzymać oprogramowanie OD RAZU!
Określanie priorytetów razem z klientem
Wiemy, co znaj­dzie się w wydaniu 1.0 (prawdopodobnie)
Jeśli szacowany czas j­est za długi, zmień priorytety
Im więcej­ osób, tym mniej­ korzyści
Dochodzenie do rozsądnego wydania 1.0
Iteracj­e powinny być krótkie i przyj­emne
Porównywanie planu z rzeczywistością
Szybkość uwzględnia niespodziewane wydarzenia
Programiści myślą w kategoriach dni UTOPIJNYCH
Twórcy oprogramowania myślą w kategoriach dni REALNYCH
Co zrobić, j­eśli iteracj­a j­est za długa?
Uwzględnij­ szybkość PRZED zaplanowaniem iteracj­i
Czas na dokonanie oceny
Radzenie sobie z wkurzonymi klientami
Duża tablica na ścianie
Jak zruj­nować życie osobiste członków zespołu?
Narzędzia do Twoj­ej­ programistycznej­ skrzynki narzędziowej­
102
105
106
107
109
110
117
119
121
122
123
124
125
129
130
132
135
137
Pewnie, nie ma problemu,
zajmie mi to dwa dni.
…a to, co tak naprawdę MYŚLI:
Kupię redbulla w drodze do domu, będę pisał
kod do 15., pogram trochę w Halo, a następnie
popracuję do rana. Prześpię się kilka godzin,
poproszę chłopaków o pomoc i skończę do północy
— jeśli tylko nie wystąpią jakieś problemy… lub mama
nie każe mi odgrzać obiadu.
12
Zgłoś jeśli naruszono regulamin