Abstract
During the last several years, a considerable number of software development methods have been introduced to produce robust, reusable and adaptable software systems. Methods create software artifacts through the application of a large number of heuristic rules. These rules are generally expressed in two-valued logic. In object-oriented methods, for instance, candidate classes are identified by applying the following intuitive rule: “If an entity in a requirement specification is relevant and can exist autonomously in the application domain, then select it as a class”. In this paper, we identify and define two major problems regarding how rules are defined and applied in current methods. First, two-valued logic cannot effectively express the approximate and inexact nature of a typical software development process. Although software engineers can perceive partial relevance of an entity and possibly select the entity as a partial candidate class, they are constrained by two-valued logic to quantize relevance into relevant and irrelevant. Second, the influence of contextual factors on rules is generally not modelled explicitly. We term these problems as quantization error and contextual bias problems, respectively. To reduce these problems, we propose to express heuristic rules using fuzzy logic. We illustrate formally how fuzzy logic-based methodological rules can help in lowering the effects of quantization error and contextual bias problems.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have