1 April 05 Prof. Ismael H. F. Santos - [email protected]1 Modulo II Qualidade de Software com Maven Professor Ismael H F Santos – [email protected]Julho 06 Prof. Ismael H. F. Santos 2 Linguagem de Programação JAVA Ismael H. F. Santos, Apostila UniverCidade, 2002 The Java Tutorial: A practical guide for programmers Tutorial on-line: http://java.sun.com/docs/books/tutorial Java in a Nutshell David Flanagan, O´Reilly & Associates Just Java 2 Mark C. Chan, Steven W. Griffith e Anthony F. Iasi, Makron Books. Java 1.2 Laura Lemay & Rogers Cadenhead, Editora Campos Bibliografia
18
Embed
Modulo II Qualidade de Software com Maven - PUC-Rioismael/Cursos/Senac_MTSW/... · Modulo II Qualidade de Software com Maven ... Ismael H. F. Santos, Apostila UniverCidade, 2002 ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Java: Como Programar, Deitel & DeitelThinking in Patterns with JAVA, Bruce Eckel
Gratuito. http://www.mindview.net/Books/TIJ/
Julho 06 Prof. Ismael H. F. Santos 4
Ementa
Visão geral do MAVENEntendendo o POM (Project Object Model)Executando um buildMAVEN x ANT
3
Julho 06 Prof. Ismael H. F. Santos 5
Apache Maven
POO-Java
Julho 06 Prof. Ismael H. F. Santos 6
Agenda
Active Quality vs Passive QualityReview of Quality-related pluginsCoding conventions with CheckstyleBinary compatibility with ClirrAutomated functional tests with CargoTest coverage with CloverProject documentation with a wiki (Demo of XWiki)
4
Julho 06 Prof. Ismael H. F. Santos 7
Agenda
Active Quality vs Passive QualityReview of Quality-related pluginsCoding conventions with CheckstyleBinary compatibility with ClirrAutomated functional tests with CargoTest coverage with CloverProject documentation with a wiki (Demo of XWiki)
Julho 06 Prof. Ismael H. F. Santos 8
Active quality = before the fact
5
Julho 06 Prof. Ismael H. F. Santos 9
Passive quality = after the fact
Julho 06 Prof. Ismael H. F. Santos 10
Active and Passive quality checks are both required…
… but moving to active is the direction to take
6
Julho 06 Prof. Ismael H. F. Santos 11
Agenda
Active Quality vs Passive QualityReview of Quality-related pluginsCoding conventions with CheckstyleBinary compatibility with ClirrAutomated functional tests with CargoTest coverage with CloverProject documentation with a wiki (Demo of XWiki)
Active Quality vs Passive QualityReview of Quality-related pluginsCoding conventions with CheckstyleBinary compatibility with ClirrAutomated functional tests with CargoTest coverage with CloverProject documentation with a wiki (Demo of XWiki)
Julho 06 Prof. Ismael H. F. Santos 14
Local Maven Repo
Local Maven Repo
Build ToolsModule
Build ToolsModule
Module to be checkedModule to be checked
build-tools.jar
Depends onbuild-tools.jar
Coding conventions with Checkstyle
8
Julho 06 Prof. Ismael H. F. Santos 15
Coding conventions with Checkstyle
Julho 06 Prof. Ismael H. F. Santos 16
Agenda
Active Quality vs Passive QualityReview of Quality-related pluginsCoding conventions with CheckstyleBinary compatibility with ClirrAutomated functional tests with CargoTest coverage with CloverProject documentation with a wiki (Demo of XWiki)
9
Julho 06 Prof. Ismael H. F. Santos 17
Binary compatibility with ClirrAutomatically compares previous version API withcurrent sourcesTo try it quickly: mvn clirr:check
Can generate reports too:
Strategy: Exclude files that have voluntaryviolations
Julho 06 Prof. Ismael H. F. Santos 18
Binary compatibility with Clirr
10
Julho 06 Prof. Ismael H. F. Santos 19
Agenda
Active Quality vs Passive QualityReview of Quality-related pluginsCoding conventions with CheckstyleBinary compatibility with ClirrAutomated functional tests with CargoTest coverage with CloverProject documentation with a wiki (Demo of XWiki)
Julho 06 Prof. Ismael H. F. Santos 20
Automated functional tests with CargoCargo: A Java API to manipulate containers (install, configure, start, stop, deploy)Has extensions for Ant, Maven1, Maven2, IntelliJIDEA*, Netbeans*Currently support J2EE containers
Applications buildApplications buildGenerate fully working applications (includes both containers and databasesbuild outputs)
Unit tests
Functionaltests
Integrationtests
Julho 06 Prof. Ismael H. F. Santos 24
Agenda
Active Quality vs Passive QualityReview of Quality-related pluginsCoding conventions with CheckstyleBinary compatibility with ClirrAutomated functional tests with CargoTest coverage with CloverProject documentation with a wiki (Demo of XWiki)
13
Julho 06 Prof. Ismael H. F. Santos 25
Test coverage with Clover
Module 1Module 1
Module 2Module 2
Module 3Module 3
Depends on
Local Repository
module1-clover.jarmodule1-clover.jar
module2-clover.jarmodule2-clover.jar
module3-clover.jarmodule3-clover.jar
Build
Dependency
Depends on
Build
Build
Julho 06 Prof. Ismael H. F. Santos 26
Test coverage with CloverReporting Verification
14
Julho 06 Prof. Ismael H. F. Santos 27
Agenda
Active Quality vs Passive QualityReview of Quality-related pluginsCoding conventions with CheckstyleBinary compatibility with ClirrAutomated functional tests with CargoTest coverage with CloverProject documentation with a wiki (Demo of XWiki)
Julho 06 Prof. Ismael H. F. Santos 28
Project documentation with a wikiPros
Easier participation and collaboration of everyoneEven non-committers
Always published; WYSIWYGDynamic pages
Get code snippets from SVNMini-Applications like on the fly charts for developmentmetrics, etc
ConsVersioned separately from the sourcesMore complex to packageDifficult to send patches/diffsCannot work offline