zwinne metodyki programowania n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Zwinne metodyki programowania PowerPoint Presentation
Download Presentation
Zwinne metodyki programowania

Loading in 2 Seconds...

play fullscreen
1 / 52

Zwinne metodyki programowania - PowerPoint PPT Presentation


  • 168 Views
  • Uploaded on

Inżynieria oprogramowania II Wykład 11. Zwinne metodyki programowania. Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/io. Syndrom LOOP. Loop. ate ( późno ). L O O P. ver budget ( przekroczony budżet ). vertime ( nadgodziny ). oor quality ( kiepska jakość ).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Zwinne metodyki programowania' - elu


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
zwinne metodyki programowania

Inżynieria oprogramowania II

Wykład 11

Zwinne metodyki programowania

Jerzy.Nawrocki@put.poznan.pl

www.cs.put.poznan.pl/jnawrocki/io

syndrom loop
Syndrom LOOP

Loop

ate (późno)

L

O

O

P

ver budget (przekroczony budżet)

vertime (nadgodziny)

oor quality (kiepska jakość)

Crazy is my life!

J.Nawrocki, Zwinne metodyki programowania

plan wyk ad w
Plan wykładów
  • Kontrola jakości oprogramowania
  • Szacowanie rozmiaru i pracochłonności
  • Standardy serii ISO 9000
  • Modele CMM/CMMI
  • Inżynieria wymagań i IEEE 830
  • Zarządzanie projektami i PRINCE 2
  • Personal Software Process
  • Team Software Process
  • Rational Unified Process
  • Zwinne metodyki programowania
  • Projekty dyplomowe
  • Kontrola jakości
  • Szacowanie rozmiaru i
  • Standardy serii ISO 9000
  • Modele CMM/CMMI
  • Inżynieria wymagań
  • Zarządzanie projektami
  • Personal Software Process
  • Team Software Process
  • Zwinne metodyki
  • Rational Unified Process
  • Projekty dyplomowe

J.Nawrocki, Zwinne metodyki programowania

plan wyk adu
Plan wykładu
  • Wstęp
  • Manifest zwinności
  • Programowanie Ekstremalne
  • Gra Extreme 89
  • Matryca projektów
  • Wstęp
  • Organizacja zespołu
  • Cykl życia projektu
  • Wybrane praktyki i narzędzia
  • XPrince a ISO 9001:2000
  • XPrince a CMMI
  • Oferta dla Polsoftu

J.Nawrocki, Zwinne metodyki programowania

manifest zwinno ci agile manifesto
Manifest zwinności (Agile Manifesto)

Luty 2001, Snowbird, Utah, 17 osób

Kent Beck (karty CRC, xUnit, XP)

Alistair Cockburn (przypadki użycia, Crystal)

Marin Fowler (refaktoryzacja, UML Distilled)

Jim Highsmith (Adaptive Software Development)

J.Nawrocki, Zwinne metodyki programowania

manifest zwinno ci
Manifest zwinności

Ważniejsze:

  • Jednostki i interakcje niż procesy i narzędzia

J.Nawrocki, Zwinne metodyki programowania

g wne cz ci normy iso 9001 2000
Główne części normy ISO 9001:2000

4 System zarządzania jakością (dokumentacja)

5 Odpowiedzialność kierownictwa

6 Zarządzanie zasobami

7 Realizacja wyrobu

8 Pomiary, analiza i doskonalenie

ISO 9001:2000

J.Nawrocki, Zwinne metodyki programowania

problemy z iso 9001
Problemy z ISO 9001

ISO

Brak elastyczności działania

Zbyt dużo dokumentacji

Udokumentowane

= lepsze

J.Nawrocki, Zwinne metodyki programowania

manifest zwinno ci1
Manifest zwinności

Ważniejsze:

  • Jednostki i interakcje niż procesy i narzędzia
  • Działające oprogramowanie niż obszerna dokumentacja
  • Współpraca klienta niż negocjacja kontraktu
  • Nadążanie za zmianami niż trzymanie się planu

J.Nawrocki, Zwinne metodyki programowania

plan wyk adu1
Plan wykładu
  • Wstęp
  • Manifest zwinności
  • Programowanie Ekstremalne
  • Gra Extreme 89
  • Matryca projektów
  • Wstęp
  • Organizacja zespołu
  • Cykl życia projektu
  • Wybrane praktyki i narzędzia
  • XPrince a ISO 9001:2000
  • XPrince a CMMI
  • Oferta dla Polsoftu

J.Nawrocki, Zwinne metodyki programowania

zwinne metodyki programowania1
Zwinne metodyki programowania

Programowanie Ekstremalne (XP) =

lekka (zwinna)

metodyka tworzenia oprogramowania

Tom DeMarco

„XP jest dzisiaj najważniejszym ruchem w IO."

J.Nawrocki, Zwinne metodyki programowania

wprowadzenie
Wprowadzenie
  • Wybrane praktyki XP:
  • Klient na miejscu

J.Nawrocki, Zwinne metodyki programowania

wprowadzenie1
Wprowadzenie
  • Wybrane praktyki XP:
  • Klient na miejscu
  • Krótkie przyrosty i wydania

Termin

Koszty

Niezawodność

Zakres

Defekty

Niekompletność

J.Nawrocki, Zwinne metodyki programowania

termodynamiczny model projektu
Termodynamiczny model projektu

Termin

Koszt

Defekty

Niekomplet-ność

J.Nawrocki, Zwinne metodyki programowania

termodynamiczny model projektu1
Termodynamiczny model projektu

Termin

Koszt

Defekty

Niekomplet-ność

J.Nawrocki, Zwinne metodyki programowania

termodynamiczny model projektu2
Termodynamiczny model projektu

Termin

Koszt

Defekty

Niekomplet-ność

J.Nawrocki, Zwinne metodyki programowania

wprowadzenie2
Wprowadzenie
  • Wybrane praktyki XP:
  • Klient na miejscu
  • Krótkie przyrosty i wydania
  • Najpierw przypadki testowe potem kod

J.Nawrocki, Zwinne metodyki programowania

wprowadzenie3
Wprowadzenie
  • Wybrane praktyki XP:
  • Klient na miejscu
  • Krótkie przyrosty i wydania
  • Najpierw przypadki testowe potem kod
  • Automatyzacja wykonywania testów

J.Nawrocki, Zwinne metodyki programowania

wprowadzenie4
Wprowadzenie
  • Wybrane praktyki XP:
  • Klient na miejscu
  • Krótkie przyrosty i wydania
  • Najpierw przypadki testowe potem kod
  • Automatyzacja wykonywania testów
  • Dokumentacja = Przypadki testowe + kod

J.Nawrocki, Zwinne metodyki programowania

dokumentacja
Dokumentacja

Zmieniłem zdanie.

Chodźmy tędy!

Documen

-tation

Documen

-tation

Informatyk

Klient

Podróżuj z lekkim bagażem.

J.Nawrocki, Zwinne metodyki programowania

dokumentacja1
Dokumentacja

Zmieniłem zdanie.

No problem.

code +

tests

Klient

Podróżuj z lekkim bagażem.

To czego potrzebujesz to tylko kod i testy.

IEEE

Standard 830

UML

J.Nawrocki, Zwinne metodyki programowania

wprowadzenie5
Wprowadzenie
  • Wybrane praktyki XP:
  • Klient na miejscu
  • Krótkie przyrosty i wydania
  • Najpierw przypadki testowe potem kod
  • Automatyzacja wykonywania testów
  • Dokumentacja = Przypadki testowe + kod
  • Programowanie parami

J.Nawrocki, Zwinne metodyki programowania

wprowadzenie6
Wprowadzenie
  • Wybrane praktyki XP:
  • Klient na miejscu
  • Krótkie przyrosty i wydania
  • Najpierw przypadki testowe potem kod
  • Automatyzacja wykonywania testów
  • Dokumentacja = Przypadki testowe + kod
  • Programowanie parami
  • Małe zespoły

J.Nawrocki, Zwinne metodyki programowania

frederick p brooks
Frederick P. Brooks

OS/360 Manager (IBM), 1964-65

350 mln USD ($1’63 = $6’01)

J.Nawrocki, Zwinne metodyki programowania

mityczny osobomiesi c
Mityczny osobomiesiąc

1. wydanie: 1975

Jubileuszowe wydanie: 1995

Polskie wydanie: Mityczny osobomiesiąc. Eseje o inżynierii oprogramowania, WNT, Warszawa, 2000.

J.Nawrocki, Zwinne metodyki programowania

raport sackmana eriksona i granta
Raport Sackmana, Eriksona i Granta

25 kierowników

. . .

175 programistów

Error

Error

Error

Error

. . .

Sackman, Erikson, Grant, Exploratory experimental studies ..., CACM, 1/68, 3-11.

10:1

Różnice w wydajności programowania jak

Różnice w rozmiarze programu jak

5:1

J.Nawrocki, Zwinne metodyki programowania

raport sackmana eriksona i granta1
Raport Sackmana, Eriksona i Granta

OK

OK

OK

Sackman, Erikson, Grant, Exploratory experimental studies ..., CACM, 1/68, 3-11.

10:1

Różnice w wydajności programowania jak

Różnice w rozmiarze programu jak

5:1

25 kierowników

programistów

. . .

175 programistów

. . .

J.Nawrocki, Zwinne metodyki programowania

s abe strony xp
Słabe strony XP
  • Brak dokumentacji
  • Jeden klient (na miejscu)
  • Zbyt krótka perspektywa planu

Jak zwinnie uporać

się z tymi problemami?

J.Nawrocki, Zwinne metodyki programowania

plan wyk adu2
Plan wykładu
  • Wstęp
  • Manifest zwinności
  • Programowanie Ekstremalne
  • Gra Extreme 89
  • Matryca projektów
  • Wstęp
  • Organizacja zespołu
  • Cykl życia projektu
  • Wybrane praktyki i narzędzia
  • XPrince a ISO 9001:2000
  • XPrince a CMMI
  • Oferta dla Polsoftu

J.Nawrocki, Zwinne metodyki programowania

gra symulacyjna
Gra symulacyjna
  • Gra dydaktyczna ukierunkowana na rozwiązanie problemu
  • Model rzeczywistości
  • Jasno określone role
  • Gry symulacyjne są często stosowane w kształceniu specjalistów z innych branż(np. ekonomistów)

J.Nawrocki, Zwinne metodyki programowania

nauka poprzez gr symulacyjn
Nauka poprzez grę symulacyjną
  • „Miniatura” rzeczywistego procesu
  • Emocjonalne zaangażowanie a pamięć
  • Znikome konsekwencje porażki (nauka na błędach)
  • Niski koszt

J.Nawrocki, Zwinne metodyki programowania

miniatury procesu xp
Miniatury procesu XP
  • Extreme Hour (Peter Merel)
    • 60 minut
    • Praca koncepcyjna (pułapka na myszy)
    • Brak zróżnicowania wiedzy klienta i programistów
    • Brak odpowiednika testów akceptacyjnych
    • Brak zmian (charakterystycznych dla metodyk zwinnych)

J.Nawrocki, Zwinne metodyki programowania

miniatury procesu xp1
Miniatury procesu XP
  • Extreme Hour (Peter Merel)
    • 60 minut
    • Praca koncepcyjna (pułapka na myszy++)
    • Brak zróżnicowania wiedzy klienta i programistów
    • Brak odpowiednika testów akceptacyjnych
    • Brak zmian (charakterystycznych dla metodyk zwinnych)
  • Wprowadzenie do XP (Alistair Cockburn)
    • Praca programistyczna (licznik dostępny przez WWW)
    • Dwa 40 min. wydania, czas gry - 90 min.
    • Brak zróżnicowania wiedzy klienta i programistów
    • Trudna w realizacji Gra Planistyczna
    • Brak możliwości porównania wyników różnych zespołów

J.Nawrocki, Zwinne metodyki programowania

extreme89
Extreme89
  • Prezentacja głównychpraktyk XPbez konieczności programowania
  • Zróżnicowanie wiedzy klienta i programistów– potrzeba komunikacji w zespole
  • Możliwość przeprowadzenia gry w czasie zajęć akademickich
  • Możliwość współzawodnictwa
  • Możliwość wielokrotnego uczestnictwa w grze

J.Nawrocki, Zwinne metodyki programowania

uczestnicy gry extreme89
Uczestnicy gry Extreme89

Moderator

Programiści

Klient

J.Nawrocki, Zwinne metodyki programowania

akcesoria do gry extreme89
Akcesoria do gry Extreme89

J.Nawrocki, Zwinne metodyki programowania

scenariusz gry
Scenariusz gry

Czas gry

0 min.

5 min.

10 min.

15 min.

27 min.

32 min.

44 min.

47 min.

52 min.

57 min.

69 min.

74 min.

86 min.

89 min.

Opis czynności

Klient i programiści poznają swoją wiedzę dziedz.

Planowanie wydania I

Planowanie przyrostu I.1

Praca

Planowanie przyrostu I.2

Praca

Przekazanie wydania do użytkownika - weryfikacja

Planowanie wydania II

Planowanie przyrostu II.1

Praca

Planowanie przyrostu II.2

Praca

Przekazanie wydania do użytkownika - weryfikacja

Podsumowanie gry

J.Nawrocki, Zwinne metodyki programowania

wiedza klienta
Wiedza klienta

komputer

procesor

pióro

drukarka

oprawa

wkład

sterowanie

arytmometr

laser

toner

Wartość rynkowa

ParametrPunkty

Oprawa 4

Wkład 3

Pióro 24

... ...

Komputer 100

Testy akceptacyjne

ParametrPrzedział

Oprawa 170..190

Wkład 150..450

Pióro 12500..12800

... ...

Komputer 5400..5700

J.Nawrocki, Zwinne metodyki programowania

wiedza programist w
Wiedza programistów

F(a, b, 1)= a

F(a, b, 2)= b

F(a, b, n)= F(a, b, n-2) + F(a, b, n-1) div 2 dla n>2

G(a, b, 1)= a

G(a, b, 2)= b

G(a, b, n)= G(a, b, n-2) + G(a, b, n-1) div 10 dla n>2

Formuły

wkład= F(x3,x4, 18)

oprawa= F(x5, x6, 18)

pióro= wkład + F(x5, x6, 35)

...

toner= F(x13, x14, 18)

drukarka= laser + F(x13, ..., 35)

Zestaw wartości xi

x1 = 2 x26 = ...

x2 = 3 x27 = 2

x3 = 2 x28 = 16

x4 = 4 x29 = ...

... X30 = 2

J.Nawrocki, Zwinne metodyki programowania

przebieg gry extreme89
Przebieg gry Extreme89

Zaczynamy

J.Nawrocki, Zwinne metodyki programowania

przebieg gry extreme891
Przebieg gry Extreme89

Czy pióro jest komponentem innego obiektu?

Planowanie

Brakuje

danych!!!

Za pióro dają 24

J.Nawrocki, Zwinne metodyki programowania

przebieg gry extreme892
Przebieg gry Extreme89

Kończymy przyrost I.1

J.Nawrocki, Zwinne metodyki programowania

przebieg gry extreme893
Przebieg gry Extreme89

Zmiany...

J.Nawrocki, Zwinne metodyki programowania

przebieg gry extreme894
Przebieg gry Extreme89

Użytkownik końcowy

J.Nawrocki, Zwinne metodyki programowania

przebieg gry extreme895
Przebieg gry Extreme89

oprawa 170 

wkład 400 

laser 565 

J.Nawrocki, Zwinne metodyki programowania

pierwsze do wiadczenia
Pierwsze doświadczenia
  • Politechnika Poznańska, marzec 2003
    • 120 studentów III, IV i V roku Informatyki
    • Wysoka ocena ponad 90% studentów
  • Mocne strony Extreme89 w ocenie studentów
    • Intensywny kurs XP
    • Obserwacja znaczenia komunikacji w zespole
    • Świetna zabawa

J.Nawrocki, Zwinne metodyki programowania

plan wyk adu3
Plan wykładu
  • Wstęp
  • Manifest zwinności
  • Programowanie Ekstremalne
  • Gra Extreme 89
  • Matryca projektów
  • Wstęp
  • Organizacja zespołu
  • Cykl życia projektu
  • Wybrane praktyki i narzędzia
  • XPrince a ISO 9001:2000
  • XPrince a CMMI
  • Oferta dla Polsoftu

J.Nawrocki, Zwinne metodyki programowania

matryca projekt w
Matryca projektów

Krytyczność

Defekty skutkują utratą

Życia (L)

Dużych pieniędzy (E)

Małych pieniędzy (D)

Komfortu (C)

Liczba zaangażowanych osób

J.Nawrocki, Zwinne metodyki programowania

rodzina metodyk cristal
Rodzina metodyk Cristal

Alistair Cockburn

J.Nawrocki, Zwinne metodyki programowania

podsumowanie
Podsumowanie

Koniec!

  • Manifest zwinności
  • Termodynamiczny model projektu
  • Gra Extreme 89
  • Matryca projektów

J.Nawrocki, Zwinne metodyki programowania

ocena wyk adu
Ocena wykładu
  • 1. Wrażenie ogólne (1 - 6)
  • 2. Za szybko czy za wolno?
  • 3. Czy dowiedziałeś się czegoś ważnego?
  • 4. Co i jak poprawić?

J.Nawrocki, Zwinne metodyki programowania

plan wyk adu4
Plan wykładu
  • Wstęp
  • Procesy TSP
  • TSP a PSP
  • Role w TSP
  • Wstęp
  • Organizacja zespołu
  • Cykl życia projektu
  • Wybrane praktyki i narzędzia
  • XPrince a ISO 9001:2000
  • XPrince a CMMI
  • Oferta dla Polsoftu

J.Nawrocki, Zwinne metodyki programowania