Software Engineering with Computational Intelligence
It is not an exaggeration to view Professor Lee's book," Software Engineer ing with Computational Intelligence," or SECI for short, as a pioneering contribution to software engineering. Breaking with the tradition of treat ing uncertainty, imprecision, fuzziness and vagueness as issues of peripheral importance, SECI moves them much closer to the center of the stage. It is ob vious, though still not widely accepted, that this is where these issues should be, since the real world is much too complex and much too ill-defined to lend itself to categorical analysis in the Cartesian spirit. As its title suggests, SECI employs the machineries of computational intel ligence (CI) and, more or less equivalently, soft computing (SC), to deal with the foundations and principal issues in software engineering. Basically, CI and SC are consortia of methodologies which collectively provide a body of con cepts and techniques for conception, design, construction and utilization of intelligent systems. The principal constituents of CI and SC are fuzzy logic, neurocomputing, evolutionary computing, probabilistic computing, chaotic computing and machine learning. The leitmotif of CI and SC is that, in general, better performance can be achieved by employing the constituent methodologies of CI and SC in combination rat her than in a stand-alone mode. In what follows, I will take the liberty of focusing my attention on fuzzy logic and fuzzy set theory, and on their roles in software engineering. But first, a couple of points of semantics which are in need of clarification.