Software quality model: Difference between revisions

Content deleted Content added
m Removed a see also link that rebounds here ...
Line 1:
'''Software quality''' can be defined as 'conformance to requirements' and/or 'fitness of use'. Quality achievements start with a clear definition of what "quality of source code" means to the organization or project. In simple terms all the [[Project stakeholder|stakeholder]]s must be well informed of what is expected, what the [[goal]]sgoals to be achieved are, what the evaluation criteria will be and how they can contribute to achieve the goal.
 
==Procedure==
Line 9:
This solves the first level of ambiguity, but the job of defining software quality has just begun. The very next step is to determine what predicates a quality goal. There can be several factors which can influence a particular goal positively or negatively, these factors can be [[predicate (mathematical logic)|predicate]]s of a goal and these predicates can be as simple as a naming convention to be followed or as complex as a desired "useful" comments percentage per class. In general these predicates are nothing but the "[[best practices]]" to be followed and standard "[[software metrics]]" which are collected to determine different quality aspects of the software solution.
 
===Goal -oriented measurement===
The software metric "[[cyclomatic complexity]]" has considerable influence on the [[software testability|testability]] of a function, module and eventually the software as a whole. In simple terms cyclomatic complexity increases as the number of [[conditional construct]]s in a [[Function (computer science)|function]] increases, which actually mean that more testing effort is needed. So, cyclomatic complexity is a predicate for the goal "testability", and as CC increases, testability becomes tougher (decreases).
 
Line 17:
==See also==
{{Portal|Java}}
* [[Software Qualityquality Assuranceassurance]]
* [[Squale (Software Quality)]] A open-source project that offers advanced quality models
 
==External links==