SlideShare una empresa de Scribd logo
1 de 19
Vývoj clearingového systému CARDS EXCHANGE  a  aplikované nástroje  softwarového inženýra ,[object Object],2.12.2009
Něco o mě ,[object Object]
14 let vyvíjím software
Posledních 7 let v SVT
V SVT jsem se hodně zaměřil na kvalitu kódu Něco o SVT ,[object Object]
Více než 25 let zkušeností s AMS
Od roku 2006 držitelem ISO 9001:2000
Clearingový systém CARDS EXCHANGE ,[object Object]
Nyní ,[object Object]
53 subjektů
Clearing CARDS – princip ,[object Object]
Používá ji u různých subjektů (včetně A)
Jedná se o platby (el. peněženka) i o kupóny
Za měsíc vytvoříme závěrku
Započteme toky peněz
Zajistíme převod peněz
Clearing CARDS - architektura ,[object Object]
Webová aplikace
Žádné EJB

Más contenido relacionado

Destacado

Jak jsme zaváděli scrum
Jak jsme zaváděli scrumJak jsme zaváděli scrum
Jak jsme zaváděli scrumMartin Staník
 
JIRA Agile
JIRA AgileJIRA Agile
JIRA AgileOnlio
 
JIRA 6.4 novinky
JIRA 6.4 novinkyJIRA 6.4 novinky
JIRA 6.4 novinkyOnlio
 
Atlassian produkty
Atlassian produktyAtlassian produkty
Atlassian produktyOnlio
 
JIRA Tempo Timesheets
JIRA Tempo TimesheetsJIRA Tempo Timesheets
JIRA Tempo TimesheetsOnlio
 
JIRA Tempo Planner
JIRA Tempo PlannerJIRA Tempo Planner
JIRA Tempo PlannerOnlio
 
JIRA Structure - The Issue Organizer
JIRA Structure - The Issue OrganizerJIRA Structure - The Issue Organizer
JIRA Structure - The Issue OrganizerOnlio
 
JIRA Zephyr - Test Management
JIRA Zephyr - Test ManagementJIRA Zephyr - Test Management
JIRA Zephyr - Test ManagementOnlio
 
Atlassian JIRA Core
Atlassian JIRA CoreAtlassian JIRA Core
Atlassian JIRA CoreOnlio
 

Destacado (10)

Jak jsme zaváděli scrum
Jak jsme zaváděli scrumJak jsme zaváděli scrum
Jak jsme zaváděli scrum
 
JIRA Agile
JIRA AgileJIRA Agile
JIRA Agile
 
JIRA 6.4 novinky
JIRA 6.4 novinkyJIRA 6.4 novinky
JIRA 6.4 novinky
 
Atlassian produkty
Atlassian produktyAtlassian produkty
Atlassian produkty
 
JIRA Tempo Timesheets
JIRA Tempo TimesheetsJIRA Tempo Timesheets
JIRA Tempo Timesheets
 
JIRA Tempo Planner
JIRA Tempo PlannerJIRA Tempo Planner
JIRA Tempo Planner
 
JIRA Structure - The Issue Organizer
JIRA Structure - The Issue OrganizerJIRA Structure - The Issue Organizer
JIRA Structure - The Issue Organizer
 
JIRA Zephyr - Test Management
JIRA Zephyr - Test ManagementJIRA Zephyr - Test Management
JIRA Zephyr - Test Management
 
Atlassian JIRA Core
Atlassian JIRA CoreAtlassian JIRA Core
Atlassian JIRA Core
 
JIRA Basics 1.5.3
JIRA Basics 1.5.3JIRA Basics 1.5.3
JIRA Basics 1.5.3
 

Similar a 20091202 Aplikované nástroje SW inženýra

Odborná snídaně: Datový sklad jako Perpetuum Mobile
Odborná snídaně: Datový sklad jako Perpetuum MobileOdborná snídaně: Datový sklad jako Perpetuum Mobile
Odborná snídaně: Datový sklad jako Perpetuum MobileProfinit
 
ITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
ITSM - Jira Service Desk a spřátelené aplikace z rodiny AtlassianITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
ITSM - Jira Service Desk a spřátelené aplikace z rodiny AtlassianOnlio
 
Přechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchPřechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchMarketingArrowECS_CZ
 
2019 09-23-snidane qa-public
2019 09-23-snidane qa-public2019 09-23-snidane qa-public
2019 09-23-snidane qa-publicProfinit
 
Jak úspěšně zavést do firmy webovou analytiku
Jak úspěšně zavést do firmy webovou analytikuJak úspěšně zavést do firmy webovou analytiku
Jak úspěšně zavést do firmy webovou analytikuAkce Dobrého webu
 
Jak vypadá ideální bankovní API?
Jak vypadá ideální bankovní API? Jak vypadá ideální bankovní API?
Jak vypadá ideální bankovní API? Petr Dvorak
 
Migrace do Data Centra
Migrace do Data CentraMigrace do Data Centra
Migrace do Data CentraOnlio
 
2018 11-28 snidane-serie-kuchyne
2018 11-28 snidane-serie-kuchyne2018 11-28 snidane-serie-kuchyne
2018 11-28 snidane-serie-kuchyneProfinit
 
Trendy a nové možnosti test automation
Trendy a nové možnosti test automationTrendy a nové možnosti test automation
Trendy a nové možnosti test automationOndřej Machulda
 
McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí MarketingArrowECS_CZ
 
Profinit: Prezentace snídaně integrace aplikací 2016
Profinit: Prezentace snídaně integrace aplikací 2016Profinit: Prezentace snídaně integrace aplikací 2016
Profinit: Prezentace snídaně integrace aplikací 2016Profinit
 
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015Sun Marketing
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částProfinit
 
Semináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datSemináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datJaroslav Prodelal
 
Automatizace search term optimalizace
Automatizace search term optimalizaceAutomatizace search term optimalizace
Automatizace search term optimalizaceTaste Medio
 

Similar a 20091202 Aplikované nástroje SW inženýra (20)

Odborná snídaně: Datový sklad jako Perpetuum Mobile
Odborná snídaně: Datový sklad jako Perpetuum MobileOdborná snídaně: Datový sklad jako Perpetuum Mobile
Odborná snídaně: Datový sklad jako Perpetuum Mobile
 
ITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
ITSM - Jira Service Desk a spřátelené aplikace z rodiny AtlassianITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
ITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
 
Přechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchPřechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítích
 
Progress Is
Progress IsProgress Is
Progress Is
 
QualysGuard InfoDay 2014 - WAS
QualysGuard InfoDay 2014 - WASQualysGuard InfoDay 2014 - WAS
QualysGuard InfoDay 2014 - WAS
 
2019 09-23-snidane qa-public
2019 09-23-snidane qa-public2019 09-23-snidane qa-public
2019 09-23-snidane qa-public
 
Jak úspěšně zavést do firmy webovou analytiku
Jak úspěšně zavést do firmy webovou analytikuJak úspěšně zavést do firmy webovou analytiku
Jak úspěšně zavést do firmy webovou analytiku
 
Jak vypadá ideální bankovní API?
Jak vypadá ideální bankovní API? Jak vypadá ideální bankovní API?
Jak vypadá ideální bankovní API?
 
Migrace do Data Centra
Migrace do Data CentraMigrace do Data Centra
Migrace do Data Centra
 
2018 11-28 snidane-serie-kuchyne
2018 11-28 snidane-serie-kuchyne2018 11-28 snidane-serie-kuchyne
2018 11-28 snidane-serie-kuchyne
 
Policy Compliance Testing (2011)
Policy Compliance Testing (2011)Policy Compliance Testing (2011)
Policy Compliance Testing (2011)
 
Smact a průmysl 4.0
Smact a průmysl 4.0Smact a průmysl 4.0
Smact a průmysl 4.0
 
Trendy a nové možnosti test automation
Trendy a nové možnosti test automationTrendy a nové možnosti test automation
Trendy a nové možnosti test automation
 
McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí
 
Profinit: Prezentace snídaně integrace aplikací 2016
Profinit: Prezentace snídaně integrace aplikací 2016Profinit: Prezentace snídaně integrace aplikací 2016
Profinit: Prezentace snídaně integrace aplikací 2016
 
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
 
2009 CA Wily Introscope
2009  CA  Wily  Introscope2009  CA  Wily  Introscope
2009 CA Wily Introscope
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. část
 
Semináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datSemináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních dat
 
Automatizace search term optimalizace
Automatizace search term optimalizaceAutomatizace search term optimalizace
Automatizace search term optimalizace
 

20091202 Aplikované nástroje SW inženýra

Notas del editor

  1. Na škole jsem se o vývoji moc nedozvěděl, naučil jsem se programovat Začínal jsem hekticky Dneska už máme řadu věcí pod plnou kontrolou
  2. Dneska: děláme generování dokladů, jejich započtení a finanční vyrovnání Web pro vlastníky karet Statistická data na základě linek a spojů A chystají se dokonce znalost linek a rekonstrukce cesty jednotlivých cestujících
  3. Peněženky jsou jednoduché, ale hlídají se (zajímavé je přehazování pořadí transakcí díky špatnému času v zařízeních) Zařízení jsou offline – možná ztráta dat Různé aplikace, kupón – různé algoritmy rozúčtování Uzávěrka, bilance, faktury, grafy - ukázka
  4. SaaS – pokud stačí webové rozhraní, pak je to ideální přístup - jednoduchá distribuce nových verzí, všichni používají nejposlednější verzi - v dnešní době Google a Amazon cloudu je vše ještě jednodušší Co nejjednodušší architektura – největším problémem velkých dlouhotrvajících projektů – overengineering Failover – DB máme - aplikační server - bude
  5. Existuje již druhá revize, tj. Přepsání kódu, pomalu se chystáme na třetí, to už bude spíš evoluce než revoluce V 1614 java souborech je 342932 řádků kódu V 988 xml souborech je 188210 řádků V 180 jsp souborech je 14080 řádků Ošklivé slovo, ale používáme Javu, groovy, shellové skripty, XSLT, XSL-FO, Javascript … Testování má poměrně vysokou prioritu, navíc se jedná o výkladní skříň společnosti na spolehlivost klademe velkou váhu
  6. Podstatné je, že se spustí triviální aplikace a nabaluje se funkcionalita, testy, průběžně se vytváří uživatelská dokumentace … Ve scrumu jde o zatáhnutí vývojářů do dění – jsou spoluzodpovědní, sami se rozhodují, sami určují co budou dělat, jak Navíc pokud je zákazník otevřený, pak se nechá domluvit, že kdykoliv bude mít pocit, že má vše co potřebuje, může projekt stopnout a dostat 70% neutracených peněz
  7. Číslo je důležité, neseme jej napříč celým procesem vývoje Plánování je velmi jednoduché – každý vývojář má přehled co má řešit, co může řešit, co má jakou prioritu Reportování Ukázky 003 - 007
  8. Podporuje distribuované buildy Automatizovaný build ant, gradle (i maven) - gradle – super jako maven, ale více deterministický - build script je v groovy, tj. Méně ukecaný než mavení XML Hudson – 008 - 013
  9. Okamžitý přístup ke zdojákům, jak pro ostatní vývojáře, tak pro CI server – samozřejmostí je vzdálený přístup Historie změn – hodně důležité, víte kdy se co, jak změnilo a kdo změnu udělal Větvení – zkoušení nových věcí, opravy chyb do starších verzí Tagování – dokážete se jednoznačně odkázat na stav projektu v určitou dobu
  10. Test – co nejjednodušší Refactoring – bez testu nemozny (jak refactorovat když nejsou testy) Ukázat použití DI – transaction DAO Guice je hezčí, protože není řízem XML, ale kódem … Junit 3 měl problém s pamětí -> přechod k TestNG - data provider DisjointIntervalComparatorTest – postaru … VatTest .. realVat_scale .. data provider Jde jednoduse kombinovat vice komparatoru Mock objekt – easy mock podporuje refactoring - DeviceFacadeTest
  11. - testy se naklikat dají, ale musí se opravit, protože změna UI vyžaduje změnu testu, vhodné správně volit výběr elementů stránky, opět se musí stránka vyvíjet s ohledem na testovatelnost - pouštíme testy oproti VMWARE serveru, automatizovaně - IE má problém s XPath (pomalé)
  12. Vše to běží na Hudsonu, tj. Automaticky - ukázat coverage CardsExchange
  13. Proč? Něco jako pair programming, 2 lidé přemýšlejí nad každým řádkem Ukázka jak děláme review 015-019
  14. 020 – ukázka Contract4j PMD pracuje na zdrojákem, duplicitni kod Checkstyle opet pracuje nad zdrojakem Máme vrstvit (Model, DAO, Facade, UI) - ne, není to objektové, ale funkcionální programování - objektové je – metoda tam kde jsou data - problém je s DAO vrstvou – různé implementace a model nezajímá, která je použitá??
  15. Ukázka javadoc v Utilu UML ukázka Ukázka DB Ukázka unit testu, který říká jak věc použít
  16. - multilingual – zvětšuje přehled a vylepšuje kódování, protože dobré prvky z jednoho jazyka zanášíme do druhého