SlideShare a Scribd company logo
1 of 16
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
1
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
2
ROZGRZEWKA
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
3
Jako twórca budżetu chcę mieć ekran "Planowanie miesiąca" zawierający tabelę
z kolumnami "Kategoria", "Cel wydatku", "Priorytet" i "Kwota", do której będę mógł
dodawać dowolną ilość wierszy.
• Pole “Kategoria” będzie umożliwiało wybór wartości z poprzednio wpisanych,
oraz podanie całkowicie nowej wartości.
• Po przekroczeniu dostępnego w danym miesiącu budżetu, wiersze o
najniższym wskaźniku pierwszeństwa powinny zostać podświetlone na
czerwono.
• Wskaźnik pierwszeństwa oblicza się według wzoru: w = priorytet*priorytet/kwota
Wymaganie
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
4
“Projektując” w głowie rozwiązanie powyższego problemu, myślałeś przede
wszystkim o:
Ankieta
• Bazie danych
• Logice biznesowej
• Interfejsie użytkownika
Krzysztof ‘Szabl’ Szabelski
PROGRAMOWANIE OD SERCA
2015-01-10 | Gliwice
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
6
Programowanie od
SERCA
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
7
Programowanie od
?? SERCA ??
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
8
Programowanie od
SERCA
Najważniejszy lub środkowy punkt czegoś.
Słownik Języka Polskiego, PWN
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
9
Co jest sercem pisanych przez Ciebie aplikacji?
Ankieta
• Baza danych
• Logika biznesowa
• Interfejs użytkownika
Programowanie od serca
Krzysztof Szabelski
Heart Driven Development
2015-01-10 | Gliwice
10
HDD > FDD
Programowanie od serca
Krzysztof Szabelski
Heart Driven Development
2015-01-10 | Gliwice
11
• Zacznij implementację wymagania
od jego logiki
• Napisz testy akceptacyjne
• Z niego wynikną pola klas
• Zdefiniuj zachowanie
– Napisz test
– Napisz implementację
• Przypnij stworzoną funkcję do GUI
• Odwzoruj powstały model danych w źródle.
o Stwórz model obiektowy
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
12
Co dostajemy
o Czysty kod
o Testowalny i przetestowany
o Realną wartość biznesową
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
13
• A czy ktos tak w ogóle robi?!?
o Uncle Bob
• FitNesse
o Ja
• Case Study: Example Sprint
o Domain Driven Design
• Tackling Complexity in the Heart of Software
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
14
• O czym była ta prelekcja?
o O tym, żeby pisać oprogramowanie zaczynając od bebechów (logiki
biznesowej).
o Następnie dorobić do tego bazę danych i interfejs użytkownika.
• Dlaczego?
o Bo tam mieszkają smoki!
o Przy implementacji tych bebechów powstaje najwięcej niejasności i
wątpliwości.
Programowanie od serca
Krzysztof Szabelski2015-01-10 | Gliwice
15
FUTURE PROCESSING SP. Z O.O.
44-100 Gliwice,
Bojkowska 37 A
Tel: +48 32 461 23 00
www.future-processing.com
2015-01-10 | Gliwice

More Related Content

Similar to Programowanie od serca - Krzysztof Szabelski

Modele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erpModele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erpJaroslaw Zelinski
 
Goyello company details no date
Goyello company details no dateGoyello company details no date
Goyello company details no dateGoyello
 
Dobre praktyki w optymalizacji stron docelowych
Dobre praktyki w optymalizacji stron docelowychDobre praktyki w optymalizacji stron docelowych
Dobre praktyki w optymalizacji stron docelowychSilesia SEM
 
Myśląc o Lean IT - Jarosław Kozak @ 7. Kongres itSMF Polska 2014
Myśląc o Lean IT - Jarosław Kozak  @ 7. Kongres itSMF Polska 2014Myśląc o Lean IT - Jarosław Kozak  @ 7. Kongres itSMF Polska 2014
Myśląc o Lean IT - Jarosław Kozak @ 7. Kongres itSMF Polska 2014Fundacja Governica
 
[33rd] x driven-y niczego nie zmienią
[33rd] x driven-y niczego nie zmienią[33rd] x driven-y niczego nie zmienią
[33rd] x driven-y niczego nie zmieniąMichał Bartyzel
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówTomasz Dziuda
 
Metoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanieMetoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanieJaroslaw Zelinski
 
Sprzedaż zagraniczna usług IT w Divante
Sprzedaż zagraniczna usług IT w DivanteSprzedaż zagraniczna usług IT w Divante
Sprzedaż zagraniczna usług IT w DivanteDivante
 
Zautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSISZautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSISBartosz Ratajczyk
 
Podstawy zarządzania - wykład 10
Podstawy zarządzania - wykład 10Podstawy zarządzania - wykład 10
Podstawy zarządzania - wykład 10Krzysztof Klincewicz
 
Podstawy zarządzania - wykład 10 (2021)
Podstawy zarządzania - wykład 10 (2021)Podstawy zarządzania - wykład 10 (2021)
Podstawy zarządzania - wykład 10 (2021)Krzysztof Klincewicz
 
MS Project 2002. Zarządzanie projektami
MS Project 2002. Zarządzanie projektamiMS Project 2002. Zarządzanie projektami
MS Project 2002. Zarządzanie projektamiWydawnictwo Helion
 
Forum Controllingu i Windykacji - Dzień z życia działu controllingu - nowa g...
Forum Controllingu i Windykacji  - Dzień z życia działu controllingu - nowa g...Forum Controllingu i Windykacji  - Dzień z życia działu controllingu - nowa g...
Forum Controllingu i Windykacji - Dzień z życia działu controllingu - nowa g...Cogit
 
semKRK #13 - Aneta i Dawid Krystosik
semKRK #13 - Aneta i Dawid KrystosiksemKRK #13 - Aneta i Dawid Krystosik
semKRK #13 - Aneta i Dawid KrystosiksemKRK
 
20160316 techstolica - cloudanalytics -tidk
20160316  techstolica - cloudanalytics -tidk20160316  techstolica - cloudanalytics -tidk
20160316 techstolica - cloudanalytics -tidkŁukasz Grala
 
Paulina Rzymska, Marcin Piotrowski "Playmobile pl case study Polish IA Summit"
Paulina Rzymska, Marcin Piotrowski "Playmobile pl case study Polish IA Summit"Paulina Rzymska, Marcin Piotrowski "Playmobile pl case study Polish IA Summit"
Paulina Rzymska, Marcin Piotrowski "Playmobile pl case study Polish IA Summit"UseLab
 
Redesign Playmobile.pl - Polish IA Summit 2011
Redesign Playmobile.pl - Polish IA Summit 2011Redesign Playmobile.pl - Polish IA Summit 2011
Redesign Playmobile.pl - Polish IA Summit 2011Paulina Rzymska
 
ProductTank warsztat OKR - Objectives & Key Results
ProductTank warsztat OKR - Objectives & Key ResultsProductTank warsztat OKR - Objectives & Key Results
ProductTank warsztat OKR - Objectives & Key ResultsProductTank Warsaw
 
Platforma bi catalyst libra-logic business intelligence dashboard
Platforma bi catalyst   libra-logic business intelligence dashboardPlatforma bi catalyst   libra-logic business intelligence dashboard
Platforma bi catalyst libra-logic business intelligence dashboardguest64e0fe1
 

Similar to Programowanie od serca - Krzysztof Szabelski (20)

Modele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erpModele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erp
 
Goyello company details no date
Goyello company details no dateGoyello company details no date
Goyello company details no date
 
Dobre praktyki w optymalizacji stron docelowych
Dobre praktyki w optymalizacji stron docelowychDobre praktyki w optymalizacji stron docelowych
Dobre praktyki w optymalizacji stron docelowych
 
Projekt eBiznes
Projekt eBiznesProjekt eBiznes
Projekt eBiznes
 
Myśląc o Lean IT - Jarosław Kozak @ 7. Kongres itSMF Polska 2014
Myśląc o Lean IT - Jarosław Kozak  @ 7. Kongres itSMF Polska 2014Myśląc o Lean IT - Jarosław Kozak  @ 7. Kongres itSMF Polska 2014
Myśląc o Lean IT - Jarosław Kozak @ 7. Kongres itSMF Polska 2014
 
[33rd] x driven-y niczego nie zmienią
[33rd] x driven-y niczego nie zmienią[33rd] x driven-y niczego nie zmienią
[33rd] x driven-y niczego nie zmienią
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
 
Metoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanieMetoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanie
 
Sprzedaż zagraniczna usług IT w Divante
Sprzedaż zagraniczna usług IT w DivanteSprzedaż zagraniczna usług IT w Divante
Sprzedaż zagraniczna usług IT w Divante
 
Zautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSISZautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSIS
 
Podstawy zarządzania - wykład 10
Podstawy zarządzania - wykład 10Podstawy zarządzania - wykład 10
Podstawy zarządzania - wykład 10
 
Podstawy zarządzania - wykład 10 (2021)
Podstawy zarządzania - wykład 10 (2021)Podstawy zarządzania - wykład 10 (2021)
Podstawy zarządzania - wykład 10 (2021)
 
MS Project 2002. Zarządzanie projektami
MS Project 2002. Zarządzanie projektamiMS Project 2002. Zarządzanie projektami
MS Project 2002. Zarządzanie projektami
 
Forum Controllingu i Windykacji - Dzień z życia działu controllingu - nowa g...
Forum Controllingu i Windykacji  - Dzień z życia działu controllingu - nowa g...Forum Controllingu i Windykacji  - Dzień z życia działu controllingu - nowa g...
Forum Controllingu i Windykacji - Dzień z życia działu controllingu - nowa g...
 
semKRK #13 - Aneta i Dawid Krystosik
semKRK #13 - Aneta i Dawid KrystosiksemKRK #13 - Aneta i Dawid Krystosik
semKRK #13 - Aneta i Dawid Krystosik
 
20160316 techstolica - cloudanalytics -tidk
20160316  techstolica - cloudanalytics -tidk20160316  techstolica - cloudanalytics -tidk
20160316 techstolica - cloudanalytics -tidk
 
Paulina Rzymska, Marcin Piotrowski "Playmobile pl case study Polish IA Summit"
Paulina Rzymska, Marcin Piotrowski "Playmobile pl case study Polish IA Summit"Paulina Rzymska, Marcin Piotrowski "Playmobile pl case study Polish IA Summit"
Paulina Rzymska, Marcin Piotrowski "Playmobile pl case study Polish IA Summit"
 
Redesign Playmobile.pl - Polish IA Summit 2011
Redesign Playmobile.pl - Polish IA Summit 2011Redesign Playmobile.pl - Polish IA Summit 2011
Redesign Playmobile.pl - Polish IA Summit 2011
 
ProductTank warsztat OKR - Objectives & Key Results
ProductTank warsztat OKR - Objectives & Key ResultsProductTank warsztat OKR - Objectives & Key Results
ProductTank warsztat OKR - Objectives & Key Results
 
Platforma bi catalyst libra-logic business intelligence dashboard
Platforma bi catalyst   libra-logic business intelligence dashboardPlatforma bi catalyst   libra-logic business intelligence dashboard
Platforma bi catalyst libra-logic business intelligence dashboard
 

Programowanie od serca - Krzysztof Szabelski

  • 1. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 1
  • 2. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 2 ROZGRZEWKA
  • 3. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 3 Jako twórca budżetu chcę mieć ekran "Planowanie miesiąca" zawierający tabelę z kolumnami "Kategoria", "Cel wydatku", "Priorytet" i "Kwota", do której będę mógł dodawać dowolną ilość wierszy. • Pole “Kategoria” będzie umożliwiało wybór wartości z poprzednio wpisanych, oraz podanie całkowicie nowej wartości. • Po przekroczeniu dostępnego w danym miesiącu budżetu, wiersze o najniższym wskaźniku pierwszeństwa powinny zostać podświetlone na czerwono. • Wskaźnik pierwszeństwa oblicza się według wzoru: w = priorytet*priorytet/kwota Wymaganie
  • 4. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 4 “Projektując” w głowie rozwiązanie powyższego problemu, myślałeś przede wszystkim o: Ankieta • Bazie danych • Logice biznesowej • Interfejsie użytkownika
  • 5. Krzysztof ‘Szabl’ Szabelski PROGRAMOWANIE OD SERCA 2015-01-10 | Gliwice
  • 6. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 6 Programowanie od SERCA
  • 7. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 7 Programowanie od ?? SERCA ??
  • 8. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 8 Programowanie od SERCA Najważniejszy lub środkowy punkt czegoś. Słownik Języka Polskiego, PWN
  • 9. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 9 Co jest sercem pisanych przez Ciebie aplikacji? Ankieta • Baza danych • Logika biznesowa • Interfejs użytkownika
  • 10. Programowanie od serca Krzysztof Szabelski Heart Driven Development 2015-01-10 | Gliwice 10 HDD > FDD
  • 11. Programowanie od serca Krzysztof Szabelski Heart Driven Development 2015-01-10 | Gliwice 11 • Zacznij implementację wymagania od jego logiki • Napisz testy akceptacyjne • Z niego wynikną pola klas • Zdefiniuj zachowanie – Napisz test – Napisz implementację • Przypnij stworzoną funkcję do GUI • Odwzoruj powstały model danych w źródle. o Stwórz model obiektowy
  • 12. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 12 Co dostajemy o Czysty kod o Testowalny i przetestowany o Realną wartość biznesową
  • 13. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 13 • A czy ktos tak w ogóle robi?!? o Uncle Bob • FitNesse o Ja • Case Study: Example Sprint o Domain Driven Design • Tackling Complexity in the Heart of Software
  • 14. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 14 • O czym była ta prelekcja? o O tym, żeby pisać oprogramowanie zaczynając od bebechów (logiki biznesowej). o Następnie dorobić do tego bazę danych i interfejs użytkownika. • Dlaczego? o Bo tam mieszkają smoki! o Przy implementacji tych bebechów powstaje najwięcej niejasności i wątpliwości.
  • 15. Programowanie od serca Krzysztof Szabelski2015-01-10 | Gliwice 15
  • 16. FUTURE PROCESSING SP. Z O.O. 44-100 Gliwice, Bojkowska 37 A Tel: +48 32 461 23 00 www.future-processing.com 2015-01-10 | Gliwice