International Journal of Emerging Technology and Advanced Engineering Website: www.ijetae.com (ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 4, Issue 6, June 2014) 736 Fuzzy Based Good Software Design Vishal Chandra Affiliated to SGVU, Jaipur, Rajasthan Abstract--Fuzzy was introduced by prof. L.A. Zadeh. It is mainly branch of mathematics especially discrete mathematics. It is also the part of artificial intelligence. In fuzzy theory there are no rigid boundaries like 0 or 1. Fuzzy lies between 0 and 1. Fuzzy logic is a logic theory; it uses mainly two types of methods for fuzzy inference mamdani and sugeno. Due to flexible nature of fuzzy theory it can be applied in any field of our life like engineering, science, farming, management, decision making. This paper used matlab for solving problem of good software design. One of the most important phases in software development life cycle is designing phase. In which we decide which type of design is use to develop the software. By The definition of “a good software design” we are depending upon the applications being designed. For example, the size of memory used by a program in any device can be an important issue to full fill a good solution for embedded system software development embedded applications are often required to implementing using memory of which have limited size due to cost, space, or power consumption considerations. For embedded applications, one may sacrifice design comprehensibility to achieve code compactness. In embedded applications, many factors such as design comprehensibility can take a back seat while judging the betterment of design. Therefore, many criteria used to judge how good a given particular design solution is can vary depending upon the application. Not only is the betterment of design depended on the targeted applications, but also the notion of betterment of a designing itself varies widely across academicians and software engineers. However, most software engineers and researchers agreed on a few desirable features that any good software design for general Application must possess. The characteristics are listed below:- Efficiency: It should be efficient Understandability: A good design is easily understandable. Correctness: A good design should correctly implement all the Functionalities identified in the SRS document. Maintainability: It should be easily amenable to change. Keywords--Matlab, fuzzy, good software design, membership function, fuzzy logic, efficiency, maintainability, understandability, correctness. I. INTRODUCTION Software design What is it? Design is what almost every engineer wants to do. It is the place where creativity ruleswhere stakeholder requirements, business needs, and technical considerations all come together in the formulation of a product or system. Design creates a representation or model of the software, but unlike the requirements model (that focuses on describing required data, function, and behavior), the design model provides detail about software architecture, data structures, interfaces, and components that are necessary to implement the system. Who does it? Software engineers conduct each of the design tasks. Why is it important? Design allows you to model the system or product that is to be built. This model can be assessed for quality and improved before code is generated, tests are conducted, and end users become involved in large numbers. Design is the place where software quality is established. What are the steps? Design depicts the software in a number of different ways. First, the architecture of the system or product must be represented. Then, the interfaces that connect the software to end users, to other systems and devices, and to its own constituent components are modeled. Finally, the software components that are used to construct the system are designed. Each of these views represents a different design action, but all must conform to a set of basic design concepts that guide software design work .What is the work product? A design model that encompasses architectural, interface, component level, and deployment representations is the primary work product that is produced during software design. How do I ensure that I’ve done it right? The design model is assessed by the software team in an effort to determine whether it contains errors, inconsistencies, or omissions; whether better alternatives exist; and whether the model can be implemented within the constraints, schedule, and cost that have been established. One of the most important phases in software development life cycle is designing phase. In designing phase we decide which type of designing methodology we use to develop the given software. A design has to be correct so that it is acceptable. Understandability of a design is the most important issue to be considered while judging the best choice of a design. A design which is easy to understand is a easy to develop, is also easy to maintain and change. Thus, if a design is not easily understandable, then it would require tremendous effort to implement and maintain it.