Software quality model: Difference between revisions

Content deleted Content added
Undid revision 261103108 by 91.32.110.247 (talk)
added a link to testability
Line 5:
The first step in this direction is to decide the goals and their definitions, for example the following are some of the common goals of any software development / maintenance project.
 
'''[[Software testability|Testability]]''': Ease of testing.
'''Maintainability''': The ease of change.
 
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, we can call these factors as predicates 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''': Let's take the goal "Testability" for instance. 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 CC(Cyclomatic Complexity) increase as the number of conditional constructs in a function increases, which actually mean that more testing effort is needed. So, we can consider Cyclomatic Complexity as a predicate for the goal "Testability", and as CC increases Testability becomes tougher (decreases).
 
'''Predicate Contribution''': There can be many factors which can influence the quality goal "Testability". Swat4J provides a normalized framework to include as many predicate as we see fit. Predicate contribution to the goal can vary; Swat4J allows tagging weight to each predicate to prioritize their contribution. Simply, by setting weights we can control which predicates contribute more to the goal of concern. Now, that might seem a lot of "do it yourself", to overcome this Swat4J comes with prepackaged configuration which are widely used in the industry, it can be customized to fit specific needs.