Applying Fuzzy Logic Techniques in Object-Oriented Software Development

In the last several years, a considerable number of object-oriented methods have been introduced to create robust, reusable and adaptable software systems [1], [2], [3], [4]. Object-oriented methods define a considerable number of rules which are generally expressed by using two-valued logic. For instance, an entity in a requirement specification is either accepted or rejected as a class. We consider two major problems in the way how rules are defined and applied in current object-oriented methods. The first problem, termed quantization problem, is a natural result of the incapacity of two-valued logic to express the approximate and inexact nature of a typical software development process. The second problem, termed contextual bias problem, arises because most of methods are not able to model the effects of the context on the validity of the method. To reduce these problems, we propose a new fuzzy logic-based object-oriented software development technique. This technique is not specific to a particular object-oriented method, but can be used to evaluate and enhance current methods. In addition, the application of fuzzy logic-based reasoning opens new perspectives to software development, such as fuzzy artifacts and accumulative software life-cycle.