Professional Documents
Culture Documents
Use of Fuzzy Logic in Software Engineering
Use of Fuzzy Logic in Software Engineering
ENGINEERING
Design – partitions the software into conceptual components and specifies their behavior
Testing– checking that the software is defect free and according to requirement
specification
Deployment, Maintenance & Evolution – running the software and perform changes and
enhancements
WHY FUZZY LOGIC & SOFTWARE ENGINEERING?
Topic is an area of current research
“Software engineer needs to decide whether an entity in a requirement speciation is relevant or not ”
However it can be perceived that an entity partially fulfills the relevance criterion, and conclude that
the entity is substantially relevant, which cannot be represented by classical logic.
Classical Formulation
A quantization error occurs which is the difference between the perception of the software engineer
and the quantization levels imposed by the two-valued logic-based rules.
4 conclude that the new program is in the lower end of very large or from 18 to 25 KLOC
• Requires a lot of data
• The estimators must be familiar with the historically developed programs
Limitations • Not useful for new program types
• Not useful for programs much larger or smaller than the historical data
FUZZY LOGIC IN IMPLEMENTATION
Fuzzy Logic could be used to evaluate reusability of Components
A component is a reusable, self contained piece of software with well
specified interface that is independent of any application
To estimate reusability of Components, a relationship of the factors with reusability
needs to be considered, the following are such factors
Customizability
Interface Complexity
Understandability
Commonality
Portability
Fuzzy logic is well suited to a life-cycle approach to software development process with
its ability to represent differing levels of uncertainty for inputs and outputs