Você está na página 1de 5

2016 Second International Conference on Computational Intelligence & Communication Technology

Analysis of Programming Tool for the Development


of Software Tool to Improve the Quality of Software
Product using Fuzzy Quality Function Deployment
Swati M. Bhatia

Ashish K. Sharma

Department of Computer Science


Manoharbhai Patel Institute of Engineering and
Technology Nagpur University
Gondia, India.
bhatiaswati57@gmail.com

Department of Computer Science


Manoharbhai Patel Institute of Engineering and
Technology Nagpur University
Gondia, India.
ash5000@rediffmail.com

Abstract- The tremendous growth in IT companies is


due to bringing high-quality software products in the
market. Quality plays a very important role for the
success of any software company. The inappropriate
extraction of requirements causes failure of the software
product. Thus to gain superior quality software product
the primary goal is to excavate correct requirements.
Researchers suggested Quality Function Deployment
(QFD) as one of the methods that offers accurate
requirements of the product. It involves customers and
designers to improve the quality of software product.
Though QFD helps in picking up the product quality,
traditional crisp approach ignoring linguistic nature
escorts the need of fuzzy integration. The fuzzy nature of
linguistic correlation terms offers a great help to
accomplish appropriate result. Thus development of the
software tool using Fuzzy Quality Function Deployment
(FQFD) can improve the quality of software product. The
development of the proposed software system can be
carried out by choosing appropriate tools so as to obtain
good quality software. The broad variety of accessibility
in programming tools led the need to choose appropriate
language. This paper helps in analyzing the suitable tool
for the proposed software system by comparing features
of the programming languages with each other. This
paper focuses on the comparison of programming
languages by their decisive factors and features to analyze
the power of these languages in developing the proposed
system. Different languages such as C, C++ and java are
compared to show why VB.net is best suited to this
software by comparing their design aspect as well as
functions, events and methods in context with VB.net.

been developed quickly by modern systems and languages


[2]. High-level languages help in writing computer programs
in a faster manner. It has been extended in many areas in
modern life. Programming tools plays a key role in writing
software which is growing in a rapid way. They are used by
the software developers to create, debug and maintain the
applications. When it comes to the pros and cons of various
programming languages, programmers and computer
scientists alike usually hold strong opinions [3].
Software development is one of the trickiest works that
software developers need to perform. It involves number of
interrelated factors which has its effect on development and
productivity of the software project [4]. Developing software
is not at all an easy task; it has to go through many phases of
software engineering (SE). Many software engineering
organizations today have the desire to improve their software
development process as a way of improving product quality
[5]. Due to the lack of information during the early stages of
software development, the quality of software becomes poor
and thus software tends to fail. Thus quality of software has
to be maintained in order to achieve reliable software. Quality
must be designed into the product, not inspected into it.
Quality can be defined as meeting customer needs and
providing superior value [6]. Many methods were applied to
develop software such as Agile, Rational Unified Process,
etc. But these were found to be failed due to some drawbacks.
This led researchers to search for new method. Researchers
suggested many methods one of them was Quality Function
Deployment (QFD). Since quality of the product can be
improved by meeting customer needs so QFD will help in
gathering those needs as it is a customer driven process. QFD
is a quality tool that helps to translate the customer
requirements into new products that truly satisfy their needs.
It converts the customer wants into design requirements and
thus offers a link between customer and design engineers. It
provides an insight into the whole design and manufacturing
operation (from concept to manufacture) and it can
dramatically improve the efficiency as production problems
are resolved early in the design phase [7]. Although it is
customer driven but conventional QFD exercises have some
problems such as use of linguistic expressions and crisp
values. These crisp values cannot reflect the imprecision or
vagueness and yields inconsistency in the results. In QFD the
requirements gathered from the customers are usual

Keywords: - Software; Quality Function Deployment; Fuzzy;


Fuzzy Quality Function Deployment; Programming tools; VB.net.

I. INTRODUCTION
Software has been emerged as a powerful technologies
and services to solve the complex technical problems easily.
During the last several years, a considerable number of
software development methods have been introduced to
produce robust, reusable and adaptable software systems [1].
The computer systems along with their applications have
978-1-5090-0210-8/16 $31.00 2016 IEEE
DOI 10.1109/CICT.2016.11

design process. Fuzzy QFD can prove highly productive in


software development.

languages which have uncertainty. This needs to be resolve in


a prior manner. Thus integrating QFD with Fuzzy helps in
obtaining the accurate results. Fuzzy Quality Function
Deployment (FQFD) can correctly translate the customers
requirements in engineering characteristics and express
linguistic vagueness which is ill-defined. Thus development
of software tool to improve the quality of software product
using FQFD will be of great help. There are series of
languages in which this software can be written. Choosing
appropriate language for this software requires much practice.
This software has been developed using VB.net due to certain
reasons which are discussed in the following paper.
The main purpose of this paper is to present the idea of
using VB.net for the development of FQFD software tool.
This paper offers the brief study of QFD and FQFD following
the description of the proposed software. Different languages
such as C, C++ and java are compared to show why VB.net is
best suited to this software by comparing their design aspect
as well as functions, events and methods in context with
VB.net, finally the conclusion is made.

IV. SOFTWARE DESCRIPTION:


The following section offers a basic idea of the proposed
software system which will encourage in understanding the
functionality, formation and usability of software. Software
assembles all the instructions required to interact with the
computer and are developed by an effective approach known
as SE. SE is the study and application of engineering to
design, development and maintenance of software and is a
systematic and widely used approach for the development of
software. The software products are more likely to succeed
when the software which has been developed is of good
quality. Quality is the key factor in the development of
software. The best way to get good quality software is to
gather the software requirements directly from the customers.
This will stipulate what must be consummated, altered,
twisted or provided. But it is not at all easy for any software
company to fulfill all the customer requirements
simultaneously, thus they need to be filtered out. QFD is one
of the methods that deal with customer as it is a customer
driven process and helps in prioritizing customer
requirements. But these things become very complicated due
to traditional crisp approach. Thus the results obtained are not
accurate. In order to acquire the more precised results
integrating fuzzy with QFD will be of great help. FQFD will
translate the crisp values into fuzzy numbers, which can be
used to test the implication of the coefficients. The proposed
FQFD model reflects the certainty level of an evaluation
term, which is designated for each correlation of customer
requirements and technical requirements considered in
design.
As QFD is a very lengthy process containing large
amount of data and whose calculations are very complicated
it is very tedious to deal manually with these data. Thus this
software not only helps in dealing with these data but also in
evaluating customer requirements that will improve the
quality of software product. This software is divided into two
sections.

II. QUALITY FUNCTION DEPLOYMENT


QFD was conceived by Yoji Akao in Japan, in the late
1960s. QFD is a useful method for optimizing products. It is
a never-ending development technique. QFD was originally
developed and implemented in Japan at the Kobe Shipyards
of Mitsubishi Heavy Industries in 1972. It is an integrated
product design process involving all members of designers
and customers. It is a method for mapping and prioritizing
customer requirements into functional features and technical
modules to optimize market performance [8]. QFD in general
is a concept that provides a way of converting customer
requirements into the suitable design requirements at every
stage of product development and production. The customer
requirements obtained are in simple language as they only
express what they want. But designers need to figure them
out how to satisfy those wants. Thus they need to translate
those customer requirements into design specifications. Since
QFD is customer driven process thus it is used essentially in
order to design product according to customer favorites [9].

A. First section is Quality Function Deployment:

III. FUZZY QUALITY FUNCTION DEVELOPMENT


Fuzzy logic was established by Professor L.A.Zadeh in
1965. Human are unable to predict quantitative judgments
that increases the uncertainty. Fuzzy logic lends a hand to
dissolve the problem related with imprecise, vague and
incomplete data. Fuzzy set theory deals with the vagueness in
the data by expressing them mathematically. It uses human
linguistics (word or sentences) understanding to express the
knowledge of a system. This knowledge consists of facts,
concepts, theories, procedures, and relationships and is
expressed in the form of IF-THEN rules. Linguistic variables
are exemplified by vagueness and diversity of meaning [10].
Fuzzy logic system solves under defined or ill defined
problems so that accurate solutions can be obtain. It is also
used in decision making problems.
Integrating QFD with fuzzy will assist in dealing with
the imprecise data. FQFD has become a widely used tool in
the development of products and services. It helps design
teams in gathering customer requirements and organizes
these requirements. By paying attention to the customers
voice it manages and improves the quality of the product

With the help of QFD all the requirements gathered


from the customers undergo several phases in order to get
prioritized. This also assists in identifying the strength of the
company and the current performance of the product as
compared to their competitor producing same product. This
sets the benchmark for owns product and to know where do
they stand in the market. The company can improve the
product by setting the goal after evaluating competitors
product and can dogged to ensure which attribute of the
product can gain the competitive advantage to place the sales
point. These factors give the top priority requirement that
need to be fulfilled in an urgent basis. The design
requirements customer requirements are correlated that helps
in prioritizing design requirements. But according to this
approach there are chances that it is not difficult for some
people to make decision and to have knowledge of certain
judgments. Due to which the results drawn are sometimes not
appropriate. This led to integrate QFD with Fuzzy.
B. Second section is Fuzzy Quality Function Deployment:

In FQFD approach, crisp values are translated into fuzzy


numbers. A symmetrical triangular fuzzy number (STFN) is
defined by the interval. Individual values of both crisp and
fuzzy are calculated using which normalized ratings are
acquired. This helps in comparing crisp and fuzzy ratings. In
this way the results of both the approaches are compared.

objects. It includes a base class library in which there is a


very important part called ActiveX Data Objects (ADO.net).
It helps the programmer in accessing data and data services
based on disconnected DataSets and XML [19]. This is one
of the advantages of VB.net. It also has a feature called
Assemblies which is Dynamic-link library (.DLL) that forms
a part of an application. DLL is Microsofts implementation
of the shared library concept in Microsoft Windows and OS/2
Operating system [20]. One can create owns functions in
VB.net and can place them for use. VB.net consists of
readymade functions that can be use by just clicking on the
function or by dragging and dropping them in the form. This
makes designing of user interface easy and fast as discussed
below:

V. COMPARISON WITH PREVIOUS WORK:


Some comparison work has been done before; however no
specific work has been done to evaluate tools for the
proposed software tool.
Prechelt [11] compared 7
programming languages on a single task in 80 solutions
written by studentsand other volunteers. It includes the size of
the program, what time it requires to execute, consumption of
the memory and the time required for its development. He
concluded that C and C++ are faster than Java. Szafron and
Schaeffer [12] acknowledged a message-passing library
which is to some extent better to higher-level parallel
programming. Pankratius et al. [13] compared Scala and Java
concluding that the functional style of Scala leads to more
dense code and analogous presentation. Neamtiu [14] studied
4 projects in C and C++ to understand the impact on software
quality, trying to find an advantage in C++. Okur and Dig
[15] analyzed open-source applications with parallel
programming so that they can identify the acceptance
inclination and custom problems. Harrison et al. [16]
compared the code quality of C++ against the functional
language SMLs. Though much of work has been done to
compare the programming languages, but no work has been
carried out for the proposed software tool.

1. Designing:
The importance of designing a good interface is well
known and it removes the boring console applications.
Designing user interface for the software is mainly carried
out by focusing more or less on user experiences. The goal of
designing user interface is to make the user interaction as
simple and as efficient as possible [21]. If the design of the
user interface is better, thus more users are willing to use the
software and it is easy to train people to use the software.
VB.net has been emerged and seeks great attention as it
provides easy interface design. Its interface is an influential
notion tool that prevents post accomplishment changes to
design from breaking down application codes. VB.net has a
control called DataGridView which is easy and useful feature
that enables database software development a breeze. This is
widely used in this project. It is a readymade feature in
VB.net that does most of the tasks in a fraction of seconds.

VI. EVALUATION OF TOOLS:


Software is growing rapidly and has become very
common in our everyday life which is written by the
programming tools. The latest generation of programming
tools is aimed to make the computer solve a given problem
without the programmers [17]. Thus, for a project to be
successful evaluating these programming tools plays a vital
role. It gives a clear cut idea on whether or not the aim and
objective of the project met from the outset. Analyzing tools
so as to know which tool fitted best to our project will be
very much helpful in decision making. Comparing tools with
each other allows knowing the advantages and disadvantages
of the programming tools that helps in the development of
proposed software tool. This section of the paper offers the
comparison of various programming tools such as C, C++,
Java and VB.net along with their brief study and from
different point of view such as designing, Functions, events
and methods.

2. DataGridView
This control provides an interface to show information
graphically. The appearance of DataGridView is similar to
that of excel spreadsheet which can be used by the users for a
specific purpose. It is basically consists of rows and columns
having header in every column in which the text can be
changed. DataGridView contains multiple pages information
that can be viewed using scrollbars which appears
automatically when needed. It can add data manually as well
as from the database also. QFD contains large amount of data
which requires being stored in database. The calculations of
QFD can be viewed using DataGridView that can use data
from database also and from user input too. As it is
readymade feature and easily available in this tool therefore it
reduces the code and thus saves time and thus is very much
helpful for QFD whose process is very lengthy.
DataGridView has several useful properties that save
development time and efforts notably. According to the need
the properties can be set in design time or in the code. One of
the properties is MultiSelect which is Boolean and is used to
get and set the value that indicates user can select multiple
cell, column or row. If in our project we want to change the
displayed data at run time then it can be done using one
method i.e. to alter the query of the DataSource. To build
DataGridView feature in this software is also because it uses
Combo Box that will handle linked field in a database. This
feature of VB.net not just a dropdown Combo Box but also
gives ability to immediately update dropdown values with
simple user interface by clicking on combo button dropdown

A. VB.net:
Visual Basic was first released by Microsoft in 1987. It
was the first visual development tool from Microsoft in order
to compete with C, C++, Pascal and other well-known
programming languages [8]. Visual basic is generally called
as VB.net which is an object oriented programming language
implemented on Microsoft .NET framework. It is an
integrated development environment (IDE) from Microsoft
used to develop console and graphical user interface
applications. It enables the rapid application development
(RAD), access to databases and creation of controls and

multiple columns grid of its list values appears to select from


one of them.
Vb.net also consists of several functions that are used in
this project such as checkbox, button, radio button, textbox
and many more. Let us consider checkbox as an example,
checkbox control allows the users to set true/false or yes/no
type options. When the checkbox is selected then it has the
value true, and when cleared it holds the value false. As it is
a readymade function in vb.net only by dragging and
dropping the function it can be created. This makes the
designing faster.

Functions, events and methods:


CellPainting event: This event is not prepared in java and
thus the rows and column cannot be merged during runtime.
ReDim and Preserve: Java also supports dynamic array
allocation using different library function but it is difficult to
preserve the existing value in java.
Focus (): Focus function is used to move the cursor or focus
to the element wherever they want to during the runtime. It
returns true if the control successfully received input focus. It
is available in java too.

3. Functions, events and methods:


A function procedure includes number of Visual Basic
statements that are enclosed by the Functions and
EndFunctions statements. Whenever the procedure is called
its statement runs and can be defining in a class. There are
various functions in VB.net some of them are discussed here:

C. C:
C is a general purpose programming language which was
developed by Dennis Ritchie at Bell Labs in the 1972. C
features were derived from an earlier language called B
(Basic Combined Programming Language- BCPL). C has
proved itself as a powerful and flexible programming
language that can be used for variety of applications [22]. It
was first invented for implementing UNIX operating system
but the American National Standards Institute (ANSI)
provided a modern comprehensive definition of C. Various
features of C programming language are reliability,
portability, flexibility, interactivity and so on. It supports a
large number of library routines for input/output operations,
string manipulations etc. It also uses header file to share
declaration of variable. Though C is very old language the
use of C in this project is not as effective as VB.net which is
compared below in context of designing, functions, events
and methods.

CellPainting event: This event is used to merge two rows or


two columns in a DataGridView during run time. Using two
methods called Graphics.DrawLine and Graphics.DrawString
that will draw the effect in DataGridView.CellPainting event.
ReDim and Preserve: The ReDim Preserve statement
allows redefining an already existing array with an option to
preserve the already existing values in it.
Focus (): Focus function is used to move the cursor or focus
to the element wherever they want to during the runtime. It
returns true if the control successfully received input focus.
B. Java:
Java is a computing platform which was first released by
Sun Microsystems in 1995. Its Plug-in software is a
component of the Java Runtime Environment (JRE). JRE
allows applets which are written in java language to run
inside various browsers. Java consists of a language
specification, a bytecode compiler, a virtual machine that
interprets the bytecode at runtime, a set of class library APIs,
a runtime environment in which the interpreter, bytecode
verifier, class loader, etc. run, also specific to the target
machine. There is also a web browser written in Java called
HotJava (java.pdf). Java API that enables java programs to
execute SQL statements is Open Database Connectivity
(ODBC). Using ODBC statements files can be accessed in
number of different databases. It also consists of Java
Database Connectivity technology (JDBC) for querying and
updating data in the database. Though java is very old and
enhanced language the utility of java in this project is not as
effective as VB.net which is compared below in context of
designing, functions, events and methods.

1. Designing:
Designing user interface in C is very complicated. As C is
a console application it does not include a standard library for
creating a window and buttons. Thus designing in C is not as
interactive as in VB.net.
Functions, events and methods:
CellPainting event: This event is not available in C and thus it
is not possible to merge rows and column during runtime.
ReDim and Preserve: C is also dynamic array allocation but it
is difficult to preserve the existing value in C.
Focus (): Focus function is not available in C
D. C++:
C++ is a general-purpose programming language. It was
developed by Bjarne Stroustrup at Bell lab and it adds objectoriented features to its predecessor C. C++ are one of the
most programming languages. It is considered as an
intermediate language as it encapsulates both low and high
level language features. It contains a collection of predefined
classes which are data types that can be instantiated multiple
times. It includes the concepts of polymorphism, virtual and
friend functions, templates and pointers. C++ is standardized
by the International Organization for Standardization (ISO),
with the latest standard version ratified and published by ISO
in December 2014. A related programming language such as
java is based on C++. Though many languages are based on

1. Designing:
Designing user interface in java is somewhat difficult than
VB.net because it does not have readymade functions in it.
Due to this we need to write more codes for any control
which is being used. As in this project there is a wide use of
DataGridView control which is not available in java. This led
to write lengthy code to create data grid in java which is very
much easy in vb.net just by dragging and dropping the
control. Creating checkbox in java also includes lengthy
codes which are not required in vb.net. Thus designing in
vb.net is easier and faster than java and helpful in this project.

Journal of Innovative Research in Computer and Communication


Engineering, vol. 2, no. 1, March 2014.

C++, it is tough to learn C++ as compared to others. The use


of C++ in this project is not as effective as VB.net which is
compared below in context of designing, functions, events
and methods.
1. Designing:
Creating custom controls in VB.net is far easier than in C++.
C++ needs QT to design user interface which requires special
preprocessor. Thus designing user interface in VB.net is
easier and faster than in C++.
Functions, events and methods:
CellPainting event: This event is not made in C++ and thus
the rows and column can never be merged during runtime.
ReDim and Preserve: C++ is also dynamic array allocation
but it is difficult to preserve the existing value in C++.

K. Aldrawiesh, A. Al-Ajlan, Y. Al-Saawy and A. Bajahzar, A


Comparative Study between Computer Programming Languages for
Developing Distributed Systems in Web Environment, in Proc
ICIS09 Proceedings of the 2nd International Conference on Interaction
Sciences Information Technology, Culture and Human, pp. 457-461,
2009.

[3]

L. Prechelt, An Empirical Comparison of Seven Programming


Languages, Univ. of Karlsruhe, Rep. 0018-9162, IEEE, 2000.

[4]

R Akalya and K. Meera, A Comparative Study of Software Effort


Estimation Using Fuzzy Logic Membership Function, International

K. Crow, Customer-Focused Development with QFD, DRM


Associates, 2002.

[7]

E. S. Jaiswal, A Case Study on Quality Function Deployment (QFD),


IOSR Journal of Mechanical and Civil Engineering (IOSR-JMCE), vol.
3, no. 6, pp. 27-35, 2012.

[8]

M. C. Lin, C. Y. Tsai and C. C. Cheng, Using Fuzzy QFD for Design


of Low-End Digital Camera, International Journal of Applied Science
and Engineering, no. 2, vol. 3, pp. 22233, 2004.

[9]

M. Abdolshah and M. Moradi, Fuzzy Quality Function Deployment:


An Analytical Literature Review, Hindawi Publishing Corporation
Journal of Industrial Engineering, 2013.

[12] D. Szafron and J. Schaeffer, An Experiment to Measure the usability


of Parallel Programming Systems, Concurrency: Practice and
Experience, no. 2, vol. 8, pp. 147166, 1996.
[13] V. Pankratius, F. Schmidt, and G. Garreton, Combining Functional
and Imperative Programming for Multicore Software: An Empirical
Study Evaluating Scala and Java, in Proceedings of the 2012
International Conference on Software Engineering, ser. ICSE 12.
IEEE, 2012, pp. 123133.
[14] P. Bhattacharya and I. Neamtiu, Assessing Programming Language
Impact on Development and Maintenance: A Study on C and C++, in
Proceedings of the 33rd International Conference on Software
Engineering, ser. ICSE 11. New York, NY, USA: ACM, 2011, pp.
171180.
[15] S. Okur and D. Dig, How do Developers use Parallel Libraries? in
Proceedings of the ACM SIGSOFT 20th International Symposium on
the Foundations of Software Engineering, ser. FSE 12. New York,
NY, USA: ACM, 2012, pp. 54:154:11.
[16] R. Harrison, L. G. Samaraweera, M. R. Dobie, and P. H. Lewis,
Comparing Programming Paradigms: an Evaluation of Functional and
Object-Oriented Programs, Software Engineering Journal, no. 4, vol.
11, pp. 247254, July 1996.

REFERENCES

[2]

[6]

[11] L. Prechelt, An Empirical Comparison of Seven Programming


Languages, IEEE Computer, no. 10, vol. 33, pp. 2329, Oct. 2000.

VII.
CONCLUSIONS
With the rapid development of software there is a high
need of learning different languages. But it is very difficult to
choose proper language for the development of the software.
Software is developed using many methods one of them is
FQFD. As FQFD is a lengthy process and consists of
complex calculations there is a strong need to select the
appropriate language so as to handle those matrices. Since
VB.net provides readymade functions, interactive user
interface, this offers to carry FQFD easily. The designing of
VB.net is much more interactive and contains DataGridView
which is highly required for this project and is available in
VB.net to make the interface of the software easy and fast.
This DataGridView event is not available in java, C and C++.
VB.net also contains events demandable by this project
which is not present in java, C and C++. Thus VB.net is best
suited language for this project as compared to other
languages like java, C and C++.

F. Marcelloni and M. Aksit, Fuzzy Logic-Based Object-Oriented


Methods To Reduce Quantization Error And Contextual Bias Problems
In Software Development, Fuzzy Sets and Systems, Elsevier, pp. 57
80, 2004.

R. Austin and D. Paulish, A Survey of Commonly Applied Methods


for Software Process Improvement, TECHNICAL REPORT
CMU/SEI-93-TR-027, 1993.

[10] S. Zaim and M. Sevkli, The Methodology of Quality Function


Deployment with Crisp and Fuzzy Approaches and an Application in
the Turkish Shampoo Industry, Journal of Economic and Social
Research, no. 4, vol. 1, pp. 27-53, 2002.

Focus (): Focus function is not available in C++.

[1]

[5]

[17] H. Chen, Comparative Study of C, C++, C# and Java Programming


Languages, Univ. of Applied Sciences Degree Program of Information
Technology, 2010.
[18] Retrieved on 4 June 2015, from www.ustudy.in/node/1063.
[19] Retrieved
on
6
June
http://en.m.wikipedia.org/wiki/ADO.net.

2015,

from

[20] Retrieved
on
10
June
2015,
http://en.m.wikipedia.org/wiki/dynamic-link_library.

from

[21] Retrieved
on
11
June
2015,
http://en.m.wikipedia.org/wiki/User_interface_design#.

from

[22] Retrieved
on
11
June
www.webopedia.com/TERM/C/C.html.

from

2015,

Você também pode gostar