• No results found

Fuzzy Based Good Software Design

N/A
N/A
Protected

Academic year: 2020

Share "Fuzzy Based Good Software Design"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

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 rules—where 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.

(2)

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)

737

II. FUZZY THEORY

In before 60’s there is only one set theory called crisp set or simple set. After the paper of L.A.Zadeh new set theory exist called fuzzy set theory. In simple set theory or crisp set elements are either inside the set or not in the set that means 1 or 0, 1 for exist and 0 for not exist. But in fuzzy theory ever elements are inside the set has their own membership function.

Fuzzy logic is extension of fuzzy set theory. Fuzzy logic

consists of linguistic variable, inference rule,

knowledgebase, defuzzyfication inference.

Characteristics of good software design

1. Scalability

2. Performance

3. Reusability

4. Extensibility

5. Fault tolerance

6. Robustness

Scalability is the ability of a hardware and software system that can handle more amounts of data and member user in software system but in hardware system increase in hardware bodies like hard disk, display device. A system is said to be scalable if it supports more than its basic capacity. In good software designing system must be scalable so that it can be support more hardware and software. I used flexible approach to find not only to decide system is scalable or not but also shows the degree to scalability. This helps to find how much change required building more scalable system. I used three membership functions {not scalable, few scalable, most scalable}. Scalability is vague property this can be easily determined by fuzzy theory.

[image:2.612.75.542.434.603.2]

The range between 0 to 30 % it is not acceptable the range between 20 to 70 % it is marginal acceptable the range between 50 to 100 % it is fully acceptable.

Figure 2.scalability

III. PERFORMANCE

Performance means how much time it takes to response to the user after hitting or executing command by the system. If software takes too long to response say more than 1 second, then its performance is low or slow. Time is not the only one factor for deciding performance.

Network speed, network band width, primary memory space, secondary memory space, network card, number of terminals. They all affect the performance of system.

(3)

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)

738

We can only calculate the degree of performance that’s why I use fuzzy theory to determine performance of a system. In this paper I used three linguistic variables {Good. Better, Best}.

If we calculate overall performance of the system in percentage then good if value lies between 0 to 30% better if value lies between 20 to 70 % best if value lies between greater than 60% Determining

[image:3.612.75.540.211.357.2]

performance is vague this can easily determine by fuzzy theory.

Figure 3 Performance

Reusability

In the field of computer science reusability is like that using same source code again with or without changing the original source code. They may be namespace, modules, and classes for reuse. They are previously tested and used in other module. Adding to the other module they require slight change, no change and major change.

If module require no change then it is feasible even slightly change is ok but major change difficult to accept. Reusability is also a vague thing we only measure the degree of reusability.

If reusability lies between 0 to 20 % then system requires no change. If reusability lies between 10 to 70% then it requires slight change if reusability beyond 60% then it requires major change.

Figure 4. Reusability

Extensibility

Extensibility is the ability of the system by which a module can be added to the system with or without changing in current system.

[image:3.612.75.540.479.641.2]
(4)

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)

739

Therefore system should be designed such a way that it can absorb some future module. It is impossible to measure extensibility. We can only measure the degree of extensibility.

[image:4.612.74.543.194.362.2]

If value lies between 0 to 40 then system is not extensible. If value lies between 25 to 80 then system requires slight change. If value lies above 65 then system requires major change.

Figure 5. Extensibility

Fault tolerance

Fault tolerance is the property of system by which system still runs even after stop working of module or malfunction of module. System also recovers its previous state after stopping to the previous. The two things are important in fault tolerance 1. Running of system event after failure of a particular module 2.

Recover from previous state after sudden failure. In this there are three linguistic variables in fault tolerance {low, medium, high} if value lies between 0 to 20 % then its fault tolerance is low if value lies between 15 to 80 % then its fault tolerance is medium if value lies above 60% then its fault tolerance is high.

Figure 6 fault tolerance

Robustness

It is the ability of the system in which system cope with the errors. Errors are common phenomenon in computer system. The most important thing is that how system handles it.

[image:4.612.76.541.468.635.2]
(5)

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)

740

If value of robustness lies between 0 to 30 then system is low robust if value of robustness lies between 5 to 70 then

[image:5.612.75.541.165.327.2]

system is mild robust if value of robustness lies between 60 and above then it is fully robust.

Figure 7 robustness

[image:5.612.73.542.303.610.2]

Surface curve

(6)

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)

741

Rules

Figure 9 rules

IV. CONCLUSION

This paper helps to decide good software designing technique within various criteria. Fuzzy remove rigid boundary. It gives a flexible software designing technique. All criteria have their own membership function. The result will be not in rigid yes or no, it lies between 0 and 1 or yes or know or in other words degree of belonging. Linguistic variables for out is {not acceptable, few acceptable, fully acceptable}. In previous method we decide only either we take the given designing technique or not. But after this paper a software engineer can decide how much that design is acceptable or not acceptable. It also decides where we have to rectify the designing process.

V. FUTURE SCOPE

I used only six factors which control good software design which are major factors of software designing. There are also many factors which decide good software design. This paper will help not only to the students but also professionals in this field. This gives a flexible decision in choosing right and appropriate software designing techniques.

REFERENCES

[1] Arya, S.P. and Hazarika, D., Functions with closed fuzzy graph, J. Fuzzy Math. 2:593-600, 1994.

[2] Bezdek, J.C. and Harris, J.D., Fuzzy partitions and relations an axiomatic basis for clustering, Fuzzy Sets and Systems 1:111-127, 1978.

[3] Bhattacharya, P., Some remarks on fuzzy graphs, Pattern Recognition Letters 6:297-302, 1987. 62 2. FUZZY GRAPHS [4] Bhutani, K.R., On automorphisms of fuzzy graphs, Pattern

Recognition Letters 9:159-162, 1989.

[5] Cerruti, U., Graphs and fuzzy graphs, Fuzzy Information and Decision Processes 123-131, North-Holland, Amsterdam-New York, 1982.

[6] Chen, Q. J., Matrix representations of fuzzy graphs (Chinese), Math. Practice Theory 1:41-46, 1990.

[7] Delgado, M. and Verdegay, J.L., and Vila, M.A., On fuzzy tree definition, European J. Operational Res. 22:243-249, 1985. [8] Delgado,lbl. and Verdegay, J.L., On valuation and optimization

problems. In fuzzy graphs: A general approach and some particular cases, ORSA J. on Computing 2:74-83, 1990.

[9] Ding, B., A clustering dynamic state method for maximal trees in fuzzy graph theory, J. Numer. Methods Comput. Appl. 13:157-160, 1992.

[10] Dodson, C.T.J., A new generalization of graph theory, Fuzzy Sets and Systems 6:293-308, 1981

[11] Software engineering ,rajeeb mall

[12] software engineering a practitioner’s approach,R.pressman..

Profile

Figure

Figure 2.scalability
Figure 3 Performance
Figure 5. Extensibility
Figure 8 surface curve

References

Related documents

In these countries, the fight against corruption has concentrated on external controls and policed methods that targeted at bribing pub- lic employees (i.e. the signs

speed of both training and testing phases, since swapping the furthest points based on their classes 484. need the same computation of swapping them based on their

We describe the pelagic distribution of the most abundant forage fish species including walleye pollock ( Theragra chalcogramma ), capelin ( Mallotus villosus ), Pacific sandlance

Nonlinear seismic SSI analysis may be needed to model the following behaviors: material nonlinearity (in soil and/or structure), rocking or sliding of the

Individuals over 50 years of age and those with high dietary arginine consumption had increased basal expression of CyclinD1, AXIN2, cMYC and CD133 (p value range 0 · 04 to <0 ·

To identify early indicators for palliative care assessment, patients were classified to those who died within 30 days of diagnosis (short term survivors) and those who survived

Melting peaks from different serial dilutions of the group A reference strain in the PCR for identification of Mc using the 16S rRNA gene.. The T m s of the product were given by