Úvod do programování 6

2,122 views
2,041 views

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
2,122
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
15
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! 

×