RULE-BASED SYSTEMS
Rule-based systems have been used in very few cases of effort prediction. A rule-based system compares facts about the new project that are stored in a knowledge base against a stored set of rules. When a match is made the rule will fire, which can create a chaining effect with one rule enabling another rule to fire. The process continues until there is no more rules to fire and the output is presented to the user.
Figure 7 Diagram of Rule-Based System
A typical rule for the rule-base might look like this:
- IF module_size > 100 AND interface_size > 5 THEN
error_prone_module
- IF error_prone_module AND developer_experience < 2 THEN
redesign_required
If the first rule fires above then this will enable a new fact the error_prone_module. The new fact can then be used as a premise for the second rule. Thus creating a chaining effect.
Assessment of Rule-Based Systems
Rule-based systems are at a disadvantage, compared to fuzzy systems. As there is no degree of truth involved. All input variables must be either true or false.

