Úvod do programování aneb Do nitra stroje
PŘEDNÁŠKA                       Karel Minařík
            6
1   Opakování




                Úvod do programování
DOMÁCÍ ÚKOL

Navrhněte a naprogramujte třídu TextAnalyzer

TextAnalyzer:
  text
•
• characters
• words
• pages
• unique_wo...
˚
DULEŽITÉ SOUČÁSTI VÝVOJE SOFTWARE

1. Dokumentace
  # = Obecna trida pro definici zvirat
  # Od teto tridy jsou odvozena...
2   Vedení softwarového projektu




                                   Úvod do programování
Jak fungují projekty v IT?




                       Úvod do programování Přednáška 6
Jak zákazník vysvětlil, co potřebuje...




                                          Úvod do programování Přednáška 6
Jak tomu porozuměl obchodník...




                                  Úvod do programování Přednáška 6
Jak to navrhnul analytik...




                              Úvod do programování Přednáška 6
Jak to popsal zákazníkovi obchodník...




                                         Úvod do programování Přednáška 6
Co dodali programátoři...




                            Úvod do programování Přednáška 6
Jak vypadala dokumentace...




                              Úvod do programování Přednáška 6
Co bylo zákazníkovi vyfakturováno...




                                       Úvod do programování Přednáška 6
Kdy byl projekt předán...




                            Úvod do programování Přednáška 6
Co zákazník skutečně potřeboval...

                            Úvod do programování Přednáška 6
Definovaný proces × Empirický proces
Definovaný proces přináší stále tytéž
   výsledky při dodržení týchž postupů
Empirický proces se musí neustále adaptovat
 ...
Vývoj software je empirický proces




                          Úvod do programování Přednáška 6
FAKT: Průměrný projekt zabere
až dvakrát tolik času, než bylo
     původně plánováno
  — The Standish Group CHAOS Database...
Úvod do programování Přednáška 6
Úvod do programování Přednáška 6
„Změna“
„Změna“
aneb čeho se programátoři nejvíce bojí...
˚
METODIKY VEDENÍ PROJEKTU

„Vodopádový“ model Waterfall
„Spirálový“ model Spiral
Iterativní a inkrementální model Iterati...
Agilní vývoj
www.agilemanifesto.org




                         Úvod do programování Přednáška 6
Osobnosti a komunikace místo procesů a nástrojů
     Fungující software místo rozsáhlé dokumentace
Spolupráce se zákazníke...
Principy Manifestu agilního vývoje


            Sledujeme tyto principy:
Naší nejvyšší prioritou je uspokojit zákazníka t...
Návrh

  Implementace

Testování/Nasazení


                 Úvod do programování Přednáška 6
Návrh

FÁZE 1                        • Katalog produktů
           Implementace

         Testování/Nasazení



          ...
SCRUM




www.mountaingoatsoftware.com/scrum_a_presentation




                                            Úvod do progra...
PRINCIPY METODIKY SCRUM

1. Krátké vývojové cykly — sprints

2. Denní schůzky „vestoje“ — stand-up meetings

3. Revize cyk...
„User stories“




www.agilemodeling.com/artifacts/userStory.htm



                                            Úvod do pr...
Úvod do programování Přednáška 6
Ganttův diagram (Gantt chart)

                                Úvod do programování Přednáška 6
Plánování je důležité zejména v krizi




                             Úvod do programování Přednáška 6
Úspěch projektu je týmová záležitost
 Role jednotlivce je velmi omezená




                                Úvod do progra...
Ale… cokoliv projektový manažer
přinese do týmu — dobrého nebo
 zlého — „nakazí“ zbytek týmu




                         ...
Děkuji!
 
Úvod do programování 6
Úvod do programování 6
Upcoming SlideShare
Loading in...5
×

Úvod do programování 6

1,843

Published on

Metodiky vývoje sofftware; Agilní vývoj; Projektový management

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,843
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Úvod do programování 6

  1. 1. Úvod do programování aneb Do nitra stroje PŘEDNÁŠKA Karel Minařík 6
  2. 2. 1 Opakování Úvod do programování
  3. 3. DOMÁCÍ ÚKOL Navrhněte a naprogramujte třídu TextAnalyzer TextAnalyzer: text • • characters • words • pages • unique_words • most_frequent_words • most_frequent_word Úvod do programování Přednáška 6
  4. 4. ˚ DULEŽITÉ SOUČÁSTI VÝVOJE SOFTWARE 1. Dokumentace # = Obecna trida pro definici zvirat # Od teto tridy jsou odvozena dalsi zvrata jako je Dog, Sheep, atd. class Animal ... # Nakrmi zvire --zvysi hodnotu +stuff_in_belly+. Pokud je hodnota vyssi nez 3 zavola metodu Animal.poop def feed ... end % doc animals.rb --main Animal 2. Testování funkčnosti Unit testing, functional testing, ... require 'test/unit' class TestTextAnalyzer < Test::Unit::TestCase def test_num_characters assert_equal( 0, TextAnalyzer.new(quot;quot;).characters ) end end 3. Testování výkonu Benchmarking require 'benchmark' b = Benchmark.measure do 100.times do Person.create( :name => 'John', :surname => 'Smith', :email => 'smith@hotmail.com' ) end end Úvod do programování Přednáška 6
  5. 5. 2 Vedení softwarového projektu Úvod do programování
  6. 6. Jak fungují projekty v IT? Úvod do programování Přednáška 6
  7. 7. Jak zákazník vysvětlil, co potřebuje... Úvod do programování Přednáška 6
  8. 8. Jak tomu porozuměl obchodník... Úvod do programování Přednáška 6
  9. 9. Jak to navrhnul analytik... Úvod do programování Přednáška 6
  10. 10. Jak to popsal zákazníkovi obchodník... Úvod do programování Přednáška 6
  11. 11. Co dodali programátoři... Úvod do programování Přednáška 6
  12. 12. Jak vypadala dokumentace... Úvod do programování Přednáška 6
  13. 13. Co bylo zákazníkovi vyfakturováno... Úvod do programování Přednáška 6
  14. 14. Kdy byl projekt předán... Úvod do programování Přednáška 6
  15. 15. Co zákazník skutečně potřeboval... Úvod do programování Přednáška 6
  16. 16. Definovaný proces × Empirický proces
  17. 17. Definovaný proces přináší stále tytéž výsledky při dodržení týchž postupů Empirický proces se musí neustále adaptovat na měnící se podmínky Úvod do programování Přednáška 6
  18. 18. Vývoj software je empirický proces Úvod do programování Přednáška 6
  19. 19. FAKT: Průměrný projekt zabere až dvakrát tolik času, než bylo původně plánováno — The Standish Group CHAOS Database, 2004 www.infoq.com/articles/chaos-1998-failure-stats Úvod do programování Přednáška 6
  20. 20. Úvod do programování Přednáška 6
  21. 21. Úvod do programování Přednáška 6
  22. 22. „Změna“
  23. 23. „Změna“ aneb čeho se programátoři nejvíce bojí...
  24. 24. ˚ METODIKY VEDENÍ PROJEKTU „Vodopádový“ model Waterfall „Spirálový“ model Spiral Iterativní a inkrementální model Iterative Agilní vývoj Agile development Úvod do programování Přednáška 6
  25. 25. Agilní vývoj www.agilemanifesto.org Úvod do programování Přednáška 6
  26. 26. Osobnosti a komunikace místo procesů a nástrojů Fungující software místo rozsáhlé dokumentace Spolupráce se zákazníkem místo smlouvání a vyjednávání Vyrovnávání se se změnami místo dodržování plánu Úvod do programování Přednáška 6
  27. 27. Principy Manifestu agilního vývoje Sledujeme tyto principy: Naší nejvyšší prioritou je uspokojit zákazníka tím, že mu dodáváme hodnotný software co nejčastěji a nepřetržitě. Vítáme požadavky na změny, i když přicházejí ke konci vývoje. Agilní procesy využívají změnu ke zvýšení konkurenceschopnosti zákazníka. Dodáváme fungující software co nejčastěji, jednou za pár týdnů či měsíců. Čím dříve, tím lépe. Lidé z obchodu a vývojáři se musí setkávat a pracovat spolu denně v průběhu celého projektu. … Úvod do programování Přednáška 6
  28. 28. Návrh Implementace Testování/Nasazení Úvod do programování Přednáška 6
  29. 29. Návrh FÁZE 1 • Katalog produktů Implementace Testování/Nasazení Návrh • Košík FÁZE 2 Implementace • Objednávka Testování/Nasazení Návrh • Historie objednávek FÁZE 3 Implementace • Platební brána Testování/Nasazení Úvod do programování Přednáška 6
  30. 30. SCRUM www.mountaingoatsoftware.com/scrum_a_presentation Úvod do programování Přednáška 6
  31. 31. PRINCIPY METODIKY SCRUM 1. Krátké vývojové cykly — sprints 2. Denní schůzky „vestoje“ — stand-up meetings 3. Revize cyklu — sprint review 4. Stručný seznam funkcí k implementaci — sprint back-log Úvod do programování Přednáška 6
  32. 32. „User stories“ www.agilemodeling.com/artifacts/userStory.htm Úvod do programování Přednáška 6
  33. 33. Úvod do programování Přednáška 6
  34. 34. Ganttův diagram (Gantt chart) Úvod do programování Přednáška 6
  35. 35. Plánování je důležité zejména v krizi Úvod do programování Přednáška 6
  36. 36. Úspěch projektu je týmová záležitost Role jednotlivce je velmi omezená Úvod do programování Přednáška 6
  37. 37. Ale… cokoliv projektový manažer přinese do týmu — dobrého nebo zlého — „nakazí“ zbytek týmu Úvod do programování Přednáška 6
  38. 38. Děkuji! 
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×