Date post: | 22-Apr-2015 |
Category: |
Technology |
Upload: | karel-minarik |
View: | 2,927 times |
Download: | 4 times |
Úvod do programování aneb Do nitra stroje
Karel MinaříkPŘEDNÁŠKA 6
Úvod do programování
Opakování1
Ú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
Ú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
Úvod do programování
Vedení softwarového projektu2
Úvod do programování Přednáška 6
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...
Definovaný proces × Empirický proces
Ú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
Úvod do programování Přednáška 6
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, 2004www.infoq.com/articles/chaos-1998-failure-stats
Ú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í...
Ú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
˚
Úvod do programování Přednáška 6
Agilní vývojwww.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í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
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
Návrh
Implementace
Testování/Nasazení
Ú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
Úvod do programování Přednáška 6
SCRUM
www.mountaingoatsoftware.com/scrum_a_presentation
Ú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
Úvod do programování Přednáška 6
www.agilemodeling.com/artifacts/userStory.htm
„User stories“
Úvod do programování Přednáška 6
Ú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 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
Děkuji!