Transcript
  • 1.

2. Ziele der Software-Entwicklung 3. Was istguteSoftware? 4. und was man dafr braucht 5. Das Thema heute ist: 6. 7. Technische Infrastruktur 8. Technische Infrastruktur 9. Technische Infrastruktur 10. Technische Infrastruktur 11. Technische Infrastruktur 12. 13. Leichtgewichtige Architekturen? 14. Leichtgewichtige Architekturen 15. Leichtgewichtige Architekturen 16. Leichtgewichtige Architekturen 17. 18. Beispiel: Das Domnenmodell 19. Beispiel: Komponenten 20. Beispiel: Komponenten 21. Beispiel: Komponenten 22. Beispiel: Komponenten 23. Beispiel: Komponenten 24. Beispiel: Komponenten 25. 26. Exkurs: Maven 27. Exkurs: Maven - Repositories 28. Exkurs: Maven 29. Exkurs: Maven 30. Exkurs: Maven - Abhngigkeiten 4.0.0spring2.jpa.basicspring2-jpa-basic-impl1.0.0-SNAPSHOTorg.springframeworkspring2.5.1 [] [] Artefakt-Beschreibung SNAPSHOT! Abhngigkeit liefertalle bentigtenBibliotheken 31. Exkurs: Maven-PlugIns org.apache.maven.pluginsmaven-surefire-plugin2.4-SNAPSHOTquick-suite.xml PlugIn frTestausfhrung LdtTestsuite 32. 33. Exkurs: Spring [Was ist Spring?] Inversion of Control Ansammlung von API's Programmier- modell 34. Exkurs: Spring [Komponenten] Spring Core AOP Spring AOP AspectJ-Integration DAO Spring JDBC Transaction- Management ORM JPA Hibernate Toplink JDO JEE JMX JMS JCA Remoting EJB's Email WEB Spring MVC Struts WebWork Tapestry JSF PDF Portlets 35. Exkurs: Spring [Features] 36. Exkurs: Spring [Features] 37. Exkurs: Spring [Features] 38. Exkurs: Spring [Features] 39. Exkurs: Spring [Features] 40. 41. Exkurs: Java Persistence API 42. Exkurs: Java Persistence API 43. Exkurs: Java Persistence API 44. 45. Exkurs: Groovy 46. Exkurs: Groovy 47. Exkurs: Groovy The Groovy Truth Runtime type Evaluation criterion required for truth Boolean Booleanwert musstruesein Matcher Der regulre Ausdruck muss mindestens 1 Treffer haben Collection Die Collection darf nicht leer sein Map Die Map darf nicht leer sein String Der String darf ebenfalls nicht leer sein Number Muss ungleich 0 sein Alles andere Die Objektreferenz muss ungleichnullsein 48. Exkurs: Groovy Listen und Ranges def list = [item1, item2, item3] assert list.size() def emptyList = [] assert !emptyList list expAddress}] as IAddressDao ICustomerService customerService =new CustomerService(addressDao: addressDao) def result = customerService .changeAddress(expAddress) assert expAddress == result } Erzeugung einer neuen Instanz mit Constructor- Enhancement Implementierung des IAddressDao Neue Instanz desICustomerService Ausfhren undErgebnis vergleichen 69. 70. Zum Beispiel: Webapp 71. 72. Zum Beispiel: Integration 73. Zum Beispiel: Integration 74. Zum Beispiel: Integration 75. Zum Beispiel: Integration 76. Zum Beispiel: Integration 77. Zum Beispiel: Integration 78. Zum Beispiel: Integration (Selenium) 79.

  • WW

Zum Beispiel: Integration (Testcode) public class SimpleWebtest{ @BeforeClass() @Parameters(["browser"])final void prepareSelenium(String browser){} @BeforeMethod final void startSelenium(){} @AfterMethod final void stopSelenium(){} @Test final void testTheStuff(){} } Parameterisierte Methode wirdeinmal pro Klasseninstanzausgefhrt Wird pro Testmethodeausgefhrt 80. Zum Beispiel: Integration (Testsuite) 81. 82. Fazit 83. Fazit 84. 85. Ressourcen: Links 86. ber den Referenten


Recommended