Software and Metrics – Is quality measureable? Recipes to reach bettertechnology quality!
21a4415a-5c2e-4f24-969d-71e3471aa508
|
Presentation |
Abstract:
What is internal quality and why are metrics helpful? A comparison with a cake will
make it easy to understand: Not the optic and not the frosting on top of a cake
guarantee a good taste and a healthy enjoyment. The ingredients, the recipe, the
baking itself, the enjoyment of the cake, the great treat of it to keep in memory and
the comfortable feeling afterwards are part of the total value and quality of the tasty
cake. With the enjoyment of software is it likewise. The inner quality of software is
crucial for your success in software development projects. This talk gives answers
why this kind of quality is so important and how to gain better technical quality using
different metrics based on the usage of the open source software XRadar (and
others).
Outline:
The quality of software can be divided into two parts. The first part is the outer
quality, also known as functional quality. This is the quality seen by the user of the
software. The second part is the internal quality, also known as technical quality. This
is the quality seen by the software engineers. The testing of software is often only
based on functional testing. Because the functional testing is driven by the functional
requirements, the functional quality is easy to test and easy to measure. The
technical part of the software is almost ignored, because the technical quality is
harder to test. But the technical quality directly affects the functional quality.
Sometimes you have non-functional requirements like response time for a certain
function, but other non-functional requirements, like maintainability, are not
measured.
The talk will give the attendees ideas how to “test” or measure the technical quality of
their software. I will give answers concerning basic questions on software quality,
source code, object model, software metrics and their relationship. I will give a short
introduction into basic terms and I will give a short overview on basic metrics and
metrics on a higher, aggregated level. Then I will show some open source tools like
PMD, ckjm, JDepend and will discuss the usage problems. Tools like SonarJ, Sonar
and Xradar have more benefits. They consolidate the basic reports of the basic tools
to create more readable and understandable reports of your software.
The talk will have a focus on practical methods. I will also give examples based on
daily project practice and the usage based on the open source tool XRadar
(xradar.sourceforge.net). XRadar is a toolkit for quality analysis for java based
software project. It is a reporting tool based on many other open source toolkits like
PMD or JDepend.
Motivation (5min)
o Why do we need to control quality?
o What big problems do we face when developing software?
· What is technical Quality? (5min)
o Definition of basic terms
o What is quality, what is technical quality
o What are metrics?
· How to measure Quality! (5 min)
o Introduction of different metrics
o Introduction of methodologies
o Basic to find quality criteria for your project.
o Why it is important to have good tools (Example: XRadar)
· Implementation within project ( 10min )
o How to do measurement within software development process
o Showcase for some basic tools like PMD, ckjm etc. (Examples)
o Why do we need good integrated tools
· Comparison of different integrated tools (15min)
o Comparing XRadar with other tools
o Showing the pro’s and con’ s of different tools
XRadar
SonarJ
Crap4J
Sonar
o Showing the usage of tools
Xradar
SonarJ
· Conclusion (5 min)
o Giving pro’s and con’s for controlling technical quality
o Giving references to further reading, links, tools
o Will give a summary of basic action steps.
Required experience
The attendees “should have” experience what could happen if they have bad
quality within their projects
Expected audience
· Technical project leads, software architects and all people who are in charge
for delivering good quality to your customer.
· The participants will learn why they should monitor the technical quality. The
will get an introduction into the basic methodologies as well as best practices.
They will be able to start increasing their technical quality right after the talk.
-
André FleischerDipl. Ing. André Fleischer is a software architect employed by the otto group located in Hamburg (www.ottogroup.com). Emphases of his work are Java EE technologies and software development processes. In his projects he is responsible as a software architect for the structure of architecture and software. A further emphasis lies in its knowledge of object-oriented proceedings and methodologies, which he introduces as a coach in his projects. His knowledge and his experiences are based on a large number of different projects in diverse contexts within the last 10 years of his professional career. In the last years his interest are focused on the topic of the technical quality of software and how the quality can be achieved with a lasting effect. He is also a committer for the open source quality tool XRadar.



Intermediate
Core Java