Úvod do programování 6
DESCRIPTION
Metodiky vývoje sofftware; Agilní vývoj; Projektový managementTRANSCRIPT
![Page 1: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/1.jpg)
Úvod do programování aneb Do nitra stroje
Karel MinaříkPŘEDNÁŠKA 6
![Page 2: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/2.jpg)
Úvod do programování
Opakování1
![Page 3: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/3.jpg)
Úvod do programování Přednáška 6
DOMÁCÍ ÚKOL
Navrhněte a naprogramujte třídu TextAnalyzer
TextAnalyzer:• text• characters• words• pages• unique_words• most_frequent_words• most_frequent_word
![Page 4: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/4.jpg)
Úvod do programování Přednáška 6
DULEŽITÉ SOUČÁSTI VÝVOJE SOFTWARE
1. Dokumentace
2. Testování funkčnosti Unit testing, functional testing, ...
3. Testování výkonu Benchmarking
˚
# = 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
require 'test/unit'class TestTextAnalyzer < Test::Unit::TestCase def test_num_characters assert_equal( 0, TextAnalyzer.new("").characters ) endend
require 'benchmark'b = Benchmark.measure do 100.times do Person.create( :name => 'John', :surname => 'Smith', :email => '[email protected]' ) endend
![Page 5: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/5.jpg)
Úvod do programování
Vedení softwarového projektu2
![Page 6: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/6.jpg)
![Page 7: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/7.jpg)
Úvod do programování Přednáška 6
Jak fungují projekty v IT?
![Page 8: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/8.jpg)
Úvod do programování Přednáška 6
Jak zákazník vysvětlil, co potřebuje...
![Page 9: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/9.jpg)
Úvod do programování Přednáška 6
Jak tomu porozuměl obchodník...
![Page 10: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/10.jpg)
Úvod do programování Přednáška 6
Jak to navrhnul analytik...
![Page 11: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/11.jpg)
Úvod do programování Přednáška 6
Jak to popsal zákazníkovi obchodník...
![Page 12: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/12.jpg)
Úvod do programování Přednáška 6
Co dodali programátoři...
![Page 13: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/13.jpg)
Úvod do programování Přednáška 6
Jak vypadala dokumentace...
![Page 14: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/14.jpg)
Úvod do programování Přednáška 6
Co bylo zákazníkovi vyfakturováno...
![Page 15: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/15.jpg)
Úvod do programování Přednáška 6
Kdy byl projekt předán...
![Page 16: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/16.jpg)
Úvod do programování Přednáška 6
Co zákazník skutečně potřeboval...
![Page 17: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/17.jpg)
Definovaný proces × Empirický proces
![Page 18: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/18.jpg)
Úvod do programování Přednáška 6
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
![Page 19: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/19.jpg)
Úvod do programování Přednáška 6
Vývoj software je empirický proces
![Page 20: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/20.jpg)
Ú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, 2004www.infoq.com/articles/chaos-1998-failure-stats
![Page 21: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/21.jpg)
Úvod do programování Přednáška 6
![Page 22: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/22.jpg)
Úvod do programování Přednáška 6
![Page 23: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/23.jpg)
„Změna“
![Page 24: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/24.jpg)
„Změna“aneb čeho se programátoři nejvíce bojí...
![Page 25: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/25.jpg)
Úvod do programování Přednáška 6
METODIKY VEDENÍ PROJEKTU
„Vodopádový“ model Waterfall
„Spirálový“ model Spiral
Iterativní a inkrementální model Iterative
Agilní vývoj Agile development
˚
![Page 26: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/26.jpg)
Úvod do programování Přednáška 6
Agilní vývojwww.agilemanifesto.org
![Page 27: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/27.jpg)
Ú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íkem místo smlouvání a vyjednávání
Vyrovnávání se se změnami místo dodržování plánu
![Page 28: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/28.jpg)
Úvod do programování Přednáška 6
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.
…
![Page 29: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/29.jpg)
Úvod do programování Přednáška 6
Návrh
Implementace
Testování/Nasazení
![Page 30: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/30.jpg)
Úvod do programování Přednáška 6
Návrh
Implementace
Testování/Nasazení
FÁZE 1
Návrh
Implementace
Testování/Nasazení
FÁZE 2
Návrh
Implementace
Testování/Nasazení
FÁZE 3
• Katalog produktů
• Košík• Objednávka
• Historie objednávek• Platební brána
![Page 31: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/31.jpg)
Úvod do programování Přednáška 6
SCRUM
www.mountaingoatsoftware.com/scrum_a_presentation
![Page 32: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/32.jpg)
Úvod do programování Přednáška 6
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
![Page 33: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/33.jpg)
Úvod do programování Přednáška 6
www.agilemodeling.com/artifacts/userStory.htm
„User stories“
![Page 34: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/34.jpg)
Úvod do programování Přednáška 6
![Page 35: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/35.jpg)
Úvod do programování Přednáška 6
Ganttův diagram (Gantt chart)
![Page 36: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/36.jpg)
Úvod do programování Přednáška 6
Plánování je důležité zejména v krizi
![Page 37: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/37.jpg)
Úvod do programování Přednáška 6
Úspěch projektu je týmová záležitost
Role jednotlivce je velmi omezená
![Page 38: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/38.jpg)
Úvod do programování Přednáška 6
Ale… cokoliv projektový manažer přinese do týmu — dobrého nebo
zlého — „nakazí“ zbytek týmu
![Page 39: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/39.jpg)
![Page 40: Úvod do programování 6](https://reader031.vdocuments.mx/reader031/viewer/2022013121/55383ceb5503469f338b4783/html5/thumbnails/40.jpg)
Děkuji!