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.

Fuzzy Logic Based Object-Oriented Methods to Reduce Quantization Error and Contextual Bias Problems in Software Development

MARCELLONI, FRANCESCO;
2004-01-01

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.
2004
Marcelloni, Francesco; Aksit, M.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11568/83887
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 5
  • ???jsp.display-item.citation.isi??? 4
social impact