+ All Categories
Home > Technology > Úvod do programování 6

Úvod do programování 6

Date post: 22-Apr-2015
Category:
Upload: karel-minarik
View: 2,927 times
Download: 4 times
Share this document with a friend
Description:
Metodiky vývoje sofftware; Agilní vývoj; Projektový management
40
Úvod do programování aneb Do nitra stroje Karel Minařík PŘEDNÁŠKA 6
Transcript
Page 1: Úvod do programování 6

Úvod do programování aneb Do nitra stroje

Karel MinaříkPŘEDNÁŠKA 6

Page 2: Úvod do programování 6

Úvod do programování

Opakování1

Page 3: Úvod do programování 6

Ú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

Ú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

Úvod do programování

Vedení softwarového projektu2

Page 6: Úvod do programování 6
Page 7: Úvod do programování 6

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

Jak fungují projekty v IT?

Page 8: Úvod do programování 6

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

Jak zákazník vysvětlil, co potřebuje...

Page 9: Úvod do programování 6

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

Jak tomu porozuměl obchodník...

Page 10: Úvod do programování 6

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

Jak to navrhnul analytik...

Page 11: Úvod do programování 6

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

Jak to popsal zákazníkovi obchodník...

Page 12: Úvod do programování 6

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

Co dodali programátoři...

Page 13: Úvod do programování 6

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

Jak vypadala dokumentace...

Page 14: Úvod do programování 6

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

Co bylo zákazníkovi vyfakturováno...

Page 15: Úvod do programování 6

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

Kdy byl projekt předán...

Page 16: Úvod do programování 6

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

Co zákazník skutečně potřeboval...

Page 17: Úvod do programování 6

Definovaný proces × Empirický proces

Page 18: Úvod do programování 6

Ú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

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

Vývoj software je empirický proces

Page 20: Úvod do programování 6

Ú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

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

Page 22: Úvod do programování 6

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

Page 23: Úvod do programování 6

„Změna“

Page 24: Úvod do programování 6

„Změna“aneb čeho se programátoři nejvíce bojí...

Page 25: Úvod do programování 6

Ú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

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

Agilní vývojwww.agilemanifesto.org

Page 27: Úvod do programování 6

Ú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

Ú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

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

Návrh

Implementace

Testování/Nasazení

Page 30: Úvod do programování 6

Ú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

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

SCRUM

www.mountaingoatsoftware.com/scrum_a_presentation

Page 32: Úvod do programování 6

Ú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

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

www.agilemodeling.com/artifacts/userStory.htm

„User stories“

Page 34: Úvod do programování 6

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

Page 35: Úvod do programování 6

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

Ganttův diagram (Gantt chart)

Page 36: Úvod do programování 6

Ú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

Ú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

Ú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
Page 40: Úvod do programování 6

Děkuji!


Recommended