Sie sind auf Seite 1von 9

ISSN: 2312-7694

Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)

Quality Assurance in Software Design Patterns


Rabbia Tariq
Department of Software Engineering
Fatima Jinnah Women University
Rawalpindi, Pakistan
rabbiatariq96@gmail.com

Hannan Sajjad
Department of Software Engineering
Fatima Jinnah Women University
Rawalpindi, Pakistan

Mehreen Sirshar
Department of Software Engineering
Fatima Jinnah Women University
Rawalpindi, Pakistan
msirshar@gmail.com

Abstract--Design patterns are widely used to make the process of


development easier as they greatly help the developers to develop
the software. Different design patterns have been introduced till
now but the behavior of same design pattern may differ in
different domains that can lead to the wrong selection of the
design pattern. The paper aims to discover the design patterns
that suits best with respect to their domain thereby helping the
developers to choose an effective design pattern. It presents the
comprehensive analysis of design patterns based on different
methodologies that include simulation, case study and
comparison of various algorithms. Due to the difference of the
domain the methodology used in one domain may be inapplicable
to the other domain. The paper draws a conclusion based on
strength and limitation of each design pattern in their respective
domain.
Keywords: design patterns, evaluation, methodologies, software
domains and quality assurance

I.

INTRODUCTION

To make the development of complex and large systems


easier, computer scientists introduced design patterns and their
frameworks. Design patterns are reusable solution to the
commonly occurring problems in a software design. In
general, design pattern consist of four sessions pattern name,
its intent, solution and consequence. It is not just a class or any
library that can be simply plug into the system. It is a template
which can be use in many problems about the way to solve a
particular problem. The use of design
patterns are increasing day by day as they greatly reduces the
development time, development effort and budget of the
developing software.

2014, IJCCSE All Rights Reserved

Initially Design Patterns were introduced by Alexander et al.


As a common design practice in engineering design patterns
have been widely applied in many software applications and
they have proved to be an important design guidance which
can provide us better generic solutions to recurring problems.
Design patterns generally document the design decisions and
tradeoffs as well as different possible ways for future
evolutions. Thus, reusing the design patterns applied in a
software system can assist to tackle with the complexity of
large systems. In this regard, the quality evaluation of design
patterns becomes very important.
The aim of the paper is to evaluate different design patterns to
ensure their quality. Instead of taking a single domain and
evaluate related design patterns, we have studied evaluation of
different design patterns from different domains and
categorized accordingly. Different methodologies were being
used to evaluate the patterns. In some cases a good quality
pattern should conform to the specific standard while in other
metrics based techniques are used to evaluate design patterns.
Other techniques include simulations such as Monte Carlo
simulation for ensuring safety of design patterns. We have
conducted survey to assess different design patterns through
different methods to study their effect on performance,
evolution, maintainability, efficiency, safety and reliability.
II.

DESIGN PATTERNS EVALUATION TECHNIQUES

Due to different behavior of design patterns in different


domains. We have conducted a comprehensive survey of
twenty research papers from different backgrounds and
compare their techniques to find the better one.

Vol. 02 No.01 February 2015

30 | P a g e
www.ijccse.com

ISSN: 2312-7694
Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
A.

A STUDY AND PERFORMANCE EVALUATION OF


THE MULTI-TENANT DATA TIER DESIGN PATTERNS
FOR SOC [8]

Service-oriented computing (SOC) aims to provide loosely


coupled services to support rapid development in diverse
environments. Multi-tenancy plays an important role in SOC
as it has to deal with number of tenants. So there is a need of
an appropriate design pattern for multi-tenancy. We evaluated
different design patterns such as Resource Isolation, Security,
Customization and Scalability Patterns through a number of
simulation tests. Resource isolation includes three models i-e
totally isolated, partially shared and totally shared. Security
patterns further address the two patterns Filter-based in
application level and Permission-based in DBMS level.
Customization patterns include Reservation field, Extension
sub-table and XML extension field pattern. Scalability patterns
include two types of scaling i-e scale up and scale out.
A.1 Isolation Patterns Evaluation
The evaluation results of the three models of data tier isolation
say that dedicate database pattern is appropriate for large
tenants whereas for small tenants share table pattern is
suitable.
A.2 Security Patterns Evaluation
The comparison of two security pattern i-e application level
filter based pattern and DBMS level permission based pattern
says that in the dedicated database pattern, DMBS level
pattern, will not contribute in noticeable performance.
B.

IMPROVING SOFTWARE
DESIGN PATTERNS

QUALITY

THROUGH

A CASE STUDY OF ADAPTIVE GAMES AND AUTO


DYNAMIC DIFFICULTY [10]
Games have been playing for years for entertainment but 90%
of players never finish their game. Its because they get bored
due to level of difficulty or level of ease. Here we discussed
the advantages of design patterns in building an ADD (Auto
dynamic difficulty) framework to set a suitable level of
difficulty in a video game. We have discussed four design
patterns for enabling ADD in video games. Through case
study it has proved that by using design patterns we can
increase the software quality by increasing reusability,
integration, portability and maintainability. Moreover, these
patterns can be used whenever a game is adaptive.
C.

PERFORMANCE EVALUATION OF MULTI-PATTERN


MATCHING ALGORITHMS ON SMARTPHONE [5]

The usage of smartphones is increasing day by day but at the


same time smartphones malware are serious threats that arouse

2014, IJCCSE All Rights Reserved

the need of some malware detection tool. We used different


algorithms that should meet the specific requirements such as
efficient memory requirement, efficient and stable
performance and scalability. The results are compared. It
shows more the number of malware variants signatures more
will be memory budget. Among the four algorithms Set
Backward Oracle Matching Algorithm SBOM showed the best
performance in terms of memory whereas Wu-Manber
Algorithm WM shows the least performance. But overall the
current memory is insufficient to cover all the signatures.
Therefore, new security architecture for smartphones should
be introduced to handle the security issues.
D. SAFETY ASSESSMENT OF DESIGN PATTERNS FOR
SAFETY-CRITICAL EMBEDDED SYSTEMS [2]
In safety critical systems, we cannot compromise on system
safety. Till now there are many methods for evaluating system
safety of safety-critical systems but there is not much research
on evaluation of their design patterns. We have proposed a
method compute the relative safety improvement (RSI) of a
design pattern. We have used a Monte Carlo based simulation
to demonstrate the outcome of the proposed metric by
evaluating the four design pattern and their effect on safety.
From the results we came to know that AV patterns show the
highest safety. So the percentage reduction of dangerous
failures can be obtained when using the design pattern under
consideration. However, factors other than safety such as
reliability, cost and maintainability should also be considered.
E. STUDY ON SOFTWARE RELIABILITY DESIGN
CRITERIA BASED ON DEFECT PATTERNS [4]
Software Reliability is the likelihood of failure-free software
for a particular period of time in a specific environment. To
ensure software reliability, there should be some reliability
design criteria. The paper provides the idea of software
reliability design criteria to avoid the software defects that lead
to the failure of software. We have listed the defect patterns in
every stage of SDLC such as requirement analysis, design and
coding and explain the reliability design criteria in theses
phases. Moreover, the mapping of defect patterns to reliability
design criteria is proposed. The reliability design criteria are
practical and can be used in many applications.
F. TOWARDS AN ASSESSMENT OF THE QUALITY OF
REFACTORING PATTERNS [9]
Refactoring refers to changing a software system such that it
does not change the external behavior of the code but
improves its maintainability. Many refactoring patterns have
been introduced so far but which one to prefer is the question.
We introduced the two quality characteristics of RP (refactory
pattern). One is number of ROs (refactoring opportunity) and
other is ease of refactoring. We described a case study for
assessment of those characteristics. In this way we can devise

Vol. 02 No.01 February 2015

31 | P a g e
www.ijccse.com

ISSN: 2312-7694
Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
ways

to

reduce

the

maintenance

cost

of

software.

G. AN APPROACH FOR EVALUATING THE


EFFECTIVENESS OF DESIGN PATTERNS IN
SOFTWARE EVOLUTION [3]
Design patterns have greatly contributed to the software
quality but we need to know that which design patterns are
useful and which are useless in the evolution (maintainability)
and scalability of system. Pattern Application Context (PAC)
and Pattern Application Model (PAM) are the methods to
evaluate the effectiveness of design patterns. PAC describes
the context of application in a design whereas PAM describes
the expected application context in a software evolution.
Result shows that majority of the patterns are effective in the
later stage thereby helping the software designers in the later
stages but there are also some instances in nearly all the design
patterns whose span is very short and are considered to be
effective-less in the process of software evolution.
H. TOWARDS A BENCHMARK FOR EVALUATING
DESIGN PATTERN MINER TOOLS [1]
Design patterns are very helpful in solving the recurring
problems and there are several design patterns tools that work
very well but there is not much work in evaluation of these
tools. The paper aims for evaluating such tools by creating a
benchmark that can store pattern instances. We choose Trac as
the basis of benchmark due to its extendibility. We evaluated
the benchmark on the basis of accessibility, affordability,
relevance, solvability, portability and scalability. Moreover,
the benchmark can be extended to consider the customers
opinion through their feedback. It can be accessible from the
home page of Institute of Informatics at the University of
Szeged.
I.

participants distinctly, capability to identify the structure


distinctly, capability to formalize OO patterns, textual notation
provided by the language, graphical notation provided by the
language, original formalism, supported views and other
features. Due to this framework software architects can easily
choose the required DPSL.
J.

A QUALITY VERIFICATION MODEL FOR DESIGN


PATTERN [13]
This approach is basically based on a generic object-oriented
quality model. A design pattern is composed of an intent
description and a solution model. With the help of this model
we can verify consistency between intent and structure of the
design pattern. So a design is quality improver if its quality
intent is consistent with structure. With this approach the
developer can check if his design pattern is well designed or
not. And the model can be used to measure the effectiveness of
pattern for improving quality of design. Many techniques are
used in these models. There is also scope for developing new
tools for verification. This technique is easy but not very
effective.
K. A MATRIX-BASED APPROACH TO RECOVERING
DESIGN PATTERNS [17]
Matrix based approach for recovering the design patterns is a
very effective technique. It includes structural, behavioral and
semantic analysis. The methods specified in this paper encode
both system and design patterns in matrices and weight by
using prime numbers. XMI is used as intermediate
representation because it allows the pattern detection
techniques to easily integrate with other techniques. And then
to evaluate this approach some experiments are performed on
large system using a tool called DP miner. These techniques
can help in discovering new patterns.

A FRAMEWORK FOR EVALUATING SOFTWARE


DESIGN PATTERN SPECIFICATION LANGUAGES [6]

Design patterns can speed up the software development


process by providing the reusable solutions to the frequent
problems but their evaluation is also important. The paper
aims to evaluate the specific design pattern language to ensure
the quality and to improve the maintainability and reusability
of software. A framework is proposed to evaluate different
DPSLs to help the developers to decide on the suitable
language for the software design pattern. We divided the
DPSLs into four categories. The framework comprises of two
parts. The first part deals with the general properties of the
languages while the second one includes core properties.
General properties include basis, Integratable in IDEs,
Platform independence, Template support, UML support,
graphical support, Learning curve for programmers and target.
Core properties include ability to address object-oriented (OO)
paradigm, ability to handle multiple entities, capability to
identify collaborations distinctly, capability to identify

2014, IJCCSE All Rights Reserved

L.

A CLOUD SERVICE DESIGN FOR QUALITY


EVALUATION OF DESIGN PATTERNS [11]
Cloud service is an approach for effectiveness evaluation of
design patterns as it has ability to process large amount of
data. Design pattern is effective when PAC (pattern
application context) conform to PAE (Pattern application
evolution). Experiments have been performed on some open
source softwares like hadoop platform. Maximum efficiency
can be achieved by using five hadoop nodes. It performs well
for the larger project file size. Its benefit is that it can help
designer to measure the effectiveness of design in real time.
But it can only be used for the patterns written in java not on
C++.

Vol. 02 No.01 February 2015

32 | P a g e
www.ijccse.com

ISSN: 2312-7694
Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
M. AN EMPIRICAL ANALYSIS OF SOFTWARE SYSTEMS
FOR MEASUREMENT OF DESIGN QUALITY LEVEL
BASED ON DESIGN PATTERNS [12]
An empirical study carried out on Object oriented systems
quality and proposed an approach which is based on design
patterns. Experiments were conducted on some GOF design
patterns to ensure that design patterns ensure software quality.
Some open source projects are selected, then a tool is selected
to count number of design patterns in project, and three
metrics were selected for comparison. Then quality is
measured according to the proposed pattern approach. The
results were compared with methods. This makes the
standardization of source code which removes the
dissimilarities between small and large projects, and also this
approach is good compromise between design patterns and
software quality which can be very useful and efficient. This
experiment can be very useful for quality assurance managers
and programmers. But it could not identify all the GOF
patterns and experiments results are not 100% precise.

This was just a literature comparison so it can be made more


effective.

N. EVALUATING QUALITY OF SOFTWARE SYSTEMS BY


DESIGN PATTERNS DETECTION [16]
Design patterns are very important in every phase from design
phase to maintenance. Different GOF design patterns
structural, behavioral and creational are studied and analyzed.
Metric based study is proposed by using the metrics for the
suitable patterns. A framework of metrics is proposed for
analyzing design patterns. Since the reflection of design
patterns are its attributes, so attributes are proposed for the
quality of patterns.eg Patterns with higher value of MRFP and
ARFP provides higher reusability thus higher quality.
Similarly size pattern hierarchy and number of layers also
determine the quality. This metric suit is very helpful in
quantities measurement for calculating the quality of software
pattern. Also this framework can be used for newly developed
patterns to analyze the imperfections. But for this we need to
detect the particular pattern.

Q.

O. A COMPARATIVE LITERATURE SURVEY OF DESIGN


PATTERNS IMPACT ON SOFTWARE QUALITY [20]
A comparative literature survey has been performed to
understand the impact of GOF design patterns on software
quality. The second objective of the survey is to evaluate the
coverage of empirical evidence on the impact of GOF design
pattern on software quality attributes. Primary studies on
impact of design patterns have been analyzed and compared
and it is concluded that the results are not homogenous. Some
have neutral, some have positive while some have negative
impacts. Most of the patterns have negative impact on
maintenance, evolution and change proneness. Not all the
design patterns were analyzed against all the attributes. More
attributes should be considered and patterns should be studied
with great attention. Still it can help the designer in taking the
right decision regarding the application of design patterns.

2014, IJCCSE All Rights Reserved

P.

MODEL CHECKING SOFTWARE ARCHITECTURE


DESIGN [18]
An automated approach was proposed to the modelling and
verification of software architecture designs by using the PAT
(Process Analysis toolkit) framework. A new software
architecture description language #Wright is proposed by
combining different languages. Its syntax is defined. An
architectural library is build to facilitate the reuse of
architectural design patterns, which contains some common
styles because large systems are often complex and modelled
with multistyled approach. This approach is demonstrated with
real world case study of TRMCS (Teleservices and Remote
Medical Care System) Performance evaluation is also
presented for scalability of the approach. Users can easily
reuse them in designing their system. It can be made better
with the GUI for visual designs.
USING GQM FOR TESTING DESIGN PATTERNS IN
REAL-TIME AND EMBEDDED SYSTEMS ON A
SOFTWARE PRODUCTION LINE [14]
A methodology named CAR (casual analysis and resolution)
that is based on GQM principles ( Goals, Questions and
metrics) is indeed a good technique because it not only
evaluate quality but also removes error . An information
system model is created that removes defects and errors in
design patterns during test phase using CAR in real time
embedded systems.
R. METRICS-BASED RULES FOR DETECTING DESIGN
FLAWS [19]
A novel mechanism called detection strategies for detecting
the design flaws is a better technique because it is on abstract
level. Its main goal is to provide engineers with such
mechanisms that allow them to work with metrics on more
abstract level. Metrics is based on filtering and composition
mechanism. It is a generic mechanism to analyze the source
code. Detection strategy can be used by anyone without
knowing all the metrics. Each strategy should be given a name
based on the particular aspect detected, this way it can help
engineers to have reasoning about the design problem along
with finding the critical design fragment. Still there are some
design problems that cannot be solved by the detection
strategies. Accuracy of the detection strategy is still not 100%
because of threshold value issue.
S.

ON THE DESIGN OF EMPIRICAL STUDIES TO


EVALUATE SOFTWARE PATTERNS: A SURVEY [7]
Design patterns make successful designs by reusability and
provide proven techniques to developers of new systems but
there is also the need of evaluating these patterns. In this paper
we evaluated theses design patterns by conducting a survey
that includes some relevant research papers to check efficiency

Vol. 02 No.01 February 2015

33 | P a g e
www.ijccse.com

ISSN: 2312-7694
Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
and effectiveness of design patterns. We identified 17
independent variables in three different categories (5 related to
participants demographics; 3 related to pattern presentation; 9
related to problem presentation). We also extracted 10
different evaluation criteria with 23 associated observable
measures. Researchers and developers can use this survey to
evaluate design patterns for efficiency and effectiveness.
T.

DO DESIGN PATTERNS IMPACT SOFTWARE


QUALITY POSITIVELY? [15]
Design pattern should be use with caution because they
impede evolution and maintenance .Design pattern not always
affect the quality positively. For this purpose empirical study
is carried out using the questioners against some design
patterns and quality attributes. Then the verifiable data is
collected and processed. There were mixed answers from the
engineers. And null hypothesis is used to quantify the impact.
After the qualitative and quantitative analysis it is found from
the results that design pattern not always impact quality
attributes positively. Then they were studied from object
oriented software practices. Although it helps in understanding
the design patterns impacts but as study is carried out on some
particular patterns and engineers so this is not generalize.
III.

ANALYSIS

Table 1 has the parameters that are discover in the twenty


research papers. The research papers are evaluated on the basis
of 15 parameters listed in the table 1. Table 2 and table 3
provide the result of analysis
C.H Chang et al [3], Z.H Wang et al[8], R.Ferenc et al [1] ,
N.Hsueh et al [11], J.Dong et al [17] , N.Hsueh et al [13],
R.Marinescu [18], Khaer et al [12] and J.Zhang [19] consider
extensibility in their papers ,there is scope for adding more
features and tools can be used for enhancement. N.Hsueh et al
[11], J.Dong et al[17], R.Marinescu[18], Khaer et al[12],
P.Sandhu et al[16], J.Zhang[19] , Bernardo et al [14] discuss
Generalization to apply design to any software. Logical
engineering model mapping is observed in J.Dong et al [17]
because they did semantic analysis of the approach described
in the paper.Tool support have been used by C.H.Chag et al
[3], A.Amama et al[5], M.I Chowdhury et al[10], R.Ference et
al[1], M.Riaz et al[7], M.Yoshida et al[9], J.Dong et al[17],
N.Hsueh et al[13], P.Sandhu et al[16] and Bernardo et al[14].
Theses papers uses tool support like Rational Rose and tool
pattern. Language interoperability has been observed in
J.Dong et al[17] in which XMI is discussed as the
intermediate representation format to represent the UML
diagram whereas in J.Zhang [19] Model Checking Software
Architecture Design is discussed. They propose formal syntax
of the Wright# architecture description language together with
its operational semantics in Labeled Transition System (LTS).
M.I Chowdhury et al [10], M.Yoshida et al [9], J.Dhong et
al[17], F.Khomh et al[15], R.Marinescu [18], Khaer et al[12] ,
M.Ali et al[20] , J.Zhang[19] , Bernardo et al [14] evaluate
parameters with the help of case study. J.Zhang [19] is based

2014, IJCCSE All Rights Reserved

on case study of the Teleservices and Remote Medical Care


System (TRMCS) modeling and verification is presented to
evaluate the effectiveness and scalability of approach and
M.Ali et al[20] discussed a comparative literature survey to
understand the impact of the GoF design patterns. C.H.Chang
et al [3], M.I.Chow-dhuy et al [10], M. Riaz et al [7],
M.Yoshida et al [9], N.Hsueh et al [11], J.Dong et al [17],
R.Marinescu [18], Khaer et al [12], M.Ali et al [20] talk about
the maintainability of the design patterns. In M.Yoshida et al
[9] they propose two quality characteristics of refactoring
pattern and describe a case study on assessing those quality
characteristics to improve the maintainability of object
oriented pattern.
C.H.Chang et al [3], A.Amama et al [5], M.I.Chow-dhuy et al
[10], Z.H Wang et al [8], R.Ferenc et al [1], M.Riaz et al [7],
F.ZENG et al [4], J.Dong et al [17], R.Marinescu [18], Khaer
et al [12], J.Zhang [19], Bernardo et al [14] evaluate the
performance of the design patterns. R.Ference et al [1]
focussed on creating a benchmark called DEEBEE (DEsign
pattern Evaluation Benchmark Environment) to evaluate and
compare design pattern miner tools. C.H.Chang et al [3], Z.H
Wang et al [8], M.Riaz et al [7], A.Armouh et al [2], F.ZENG
et al [4], N.Hsueh et al [11], J.Dong et al [17], N.Hsueh et al
[13], R.Marinescu [18], Khaer et al [12], P.Sandhu et al [16],
J.Zhang [19] and Bernardo et al[14] consider effectiveness of
the design patterns. In C.H.Chang et al [3] PAC (pattern
application context) and PAM (pattern application model) are
discussed to evaluate the effectiveness of the design patterns.
A.Amama et al [5], M.I.Chow-dhuy et al [10], M.Riaz et al
[7], F.ZENG et al [4], N.Hsueh et al [11], N.Hsueh et al [13],
R.Marinescu [18], Khaer et al [12], P.Sandhu et al [16],
J.Zhang [19], Bernardo et al[14] consider efficiency. In
A.Amama et al [5] different algorithms are proposed and
classified on their efficiency of memory usage in
Smartphones. A.Amama et al [5], Z.H Wang et al [8],
A.Armouh et al [2], N.Hsueh et al [11], J.Dong et al [17],
M.Ali et al [20], J.Zhang [19], Bernardo et al[14] consider
security. A.Armouh et al [2] proposed safety metric based on
the computation of the relative safety. A Monte Carlo based
simulation method is also used to proposed assessment
method. Two security patterns are described i-e the application
level filter based pattern and DBMS level permission based
pattern to enhance the security of the system. S.Khwaja et al
[6], M.I.Chow-dhuy et al [10], R.Ferenc et al [1], A.Armouh
et al [2], N.Hsueh et al [13], Khaer et al [12], J.Zhang [19]
consider portability of the system. In M.I.Chow-dhuy et al [10]
design patterns were derived from the self adaptive system
literature in the context of ADD (Auto dynamic difficulty) in
videogames which shows the portability of these design
patterns across domains. They also managed to port them from
one game to another within the platform (Java).
S.Khwaja et al [6], M.Riaz et al [7], N.Hsueh et al [11],
J.Dong et al [17], F.Khomh et al [15], R.Marinescu [18],
Khaer et al [12], P.Sandhu et al [16], J.Zhang [19], Bernardo

Vol. 02 No.01 February 2015

34 | P a g e
www.ijccse.com

ISSN: 2312-7694
Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
et al[14] discuss usability of the system. In M.Riaz et al[7]
they conducted a literature survey and identify 17 independent
variables in three different categories (participants
demographics; pattern presentation; problem presentation).
M.I.Chow-dhuy et al [10], Z.H Wang et al [8], A.Armouh et al
[2], F.ZENG et al [4], P.Sandhu et al [16], J.Zhang [19], and

Bernardo et al [14] focussed on reliability. In F.ZENG et al [4]


the idea of software reliability design criteria is given on the
basis of analysis of the software defects to avoid the
occurrence of similar defects and improve software quality.
Research method has been proposed to convert the defects into
design criteria.

Table 1: Evaluation parameters for design patterns


Sr#

Evaluation Parameters

Usability

Efficiency

Effectiveness

Maintainability

Reliability

Portability

Security

8
9

Case study
Tool sport

10

Language interoperability

11

Generalised

12

Extensibility

13

Simplicity

14

Performance

15

Logical engineering model


mapping

Definition

Possible values

Usability is a measure of how easy it is to use


a product to perform prescribed tasks.
A level of performance that describes a
process that uses the lowest amount of inputs
(time, cost etc) to create the greatest amount of
outputs.
The degree to which something is successful
in producing a desired result.
Maintainability is defined as the ease with
which necessary changes can be made to a
software system.
Software Reliability is the probability of
failure-free software operation for a specified
period of time in a specified environment.
How easily the software can be transported
and run in different environments.

Yes/No

How secured the software is in terms of access


authorization and personal data like
passwords.
Support of examples.

Yes/No

Tool developed for proposed design.


Translation into other languages for real time
implementation
Design is generalised eNough to be
customised or Not.
adding features, and carry-forward of
customizations at next major version upgrade
The degree to which the design of a system
can be understood easily.
Low utilization of resource, low response
time and mtf (mean time to failure) and
recovery

Yes/No

Yes/No
Yes/No

Yes/No

Yes/No

Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No

Yes/No

Formal semantics applied or not.

Table 2: Analysis of evaluation techniques of design patterns

S
#

Techniques

Maintainabili
ty

2014, IJCCSE All Rights Reserved

Performan
ce

Effectivene
ss

Efficienc
y

Vol. 02 No.01 February 2015

Portabilit
y

Usabilit
y

Reliabilit
y

35 | P a g e
www.ijccse.com

ISSN: 2312-7694
Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)

No

No

No

No

Yes

Yes

No

Yes

Yes

Yes

No

No

No

No

No

Yes

No

Yes

No

No

No

Yes

Yes

No

Yes

Yes

No

Yes

No

Yes

Yes

No

No

No

Yes

S.Khwaja et al,
2013
C.H.Chang et al,
2011
A.Amama
et al, 2012
M.I.Chow-dhuy et
al, 2012
Z.H Wang et al,
2008
R.Ferenc et al, 2008

No

Yes

No

No

Yes

No

No

M. Riaz et al, 2012

Yes

Yes

Yes

Yes

No

Yes

No

A.Armouh et al,
2009
F. ZENG et al, 2009

No

No

Yes

No

Yes

No

Yes

No

Yes

Yes

Yes

No

No

Yes

1
0
1
1
1
2
1
3
1
4

M.Yoshida et al,
2008
N.Hsueh et al, 2007.

Yes

No

No

No

No

No

No

Yes

No

Yes

Yes

No

Yes

No

J.Dong et al, 2009.

Yes

Yes

Yes

No

No

Yes

No

N.Hsueh et al, 2012.

No

Yes

Yes

Yes

Yes

No

No

F.Khomh et al,
2008.

No

No

No

No

No

Yes

No

1
5
1
6
1
7

R.Marinescu, 2008.

Yes

Yes

Yes

Yes

No

Yes

No

Khaer et al, 2007.

Yes

Yes

Yes

Yes

Yes

Yes

No

P.Sandhu et al,
2008.

No

No

Yes

Yes

No

Yes

Yes

1
8
1
9
2
0

M.Ali et al, 2013.

Yes

No

No

No

No

No

No

J.Zhang, 2012.

No

Yes

Yes

Yes

Yes

Yes

Yes

Bernardo, 2009.

No

Yes

Yes

Yes

No

Yes

Yes

2
3
4
5

2014, IJCCSE All Rights Reserved

Vol. 02 No.01 February 2015

36 | P a g e
www.ijccse.com

ISSN: 2312-7694
Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
Table 3: Analysis of evalution techniques of design patterns
S#

simplicity

toolsport

Language
interoperability

Security

Case
study

No

Logical
engineering
model
mapping
No

Yes

No

No

No

No

Yes

No

No

Yes

Yes

No

No

No

No

No

No

No

Yes

No

Yes

No

No

No

No

No

Yes

No

No

Yes

Yes

No

No

No

No

No

Yes

No

Yes

No

No

No

Yes

No

No

No

No

No

No

Yes

Yes

No

No

No

A.Armoush et al,
2009
F. ZENG et al,
2009
M. Yoshida et al,
2008
N.Hsueh et al,
2007.

No

No

No

No

No

No

Yes

No

No

No

No

Yes

No

No

No

No

No

No

No

No

Yes

No

No

Yes

Yes

Yes

No

Yes

No

No

No

No

12

J.Dong et al, 2009.

Yes

Yes

Yes

No

Yes

Yes

Yes

Yes

13

N.Hsueh et al,
2012.

Yes

Yes

No

No

Yes

No

No

No

14

F.Khomh et al,
2008.

No

No

No

Yes

No

No

No

Yes

15

R.Marinescu, 2008.

Yes

Yes

No

Yes

No

No

No

Yes

16

Khaer et al, 2007.

Yes

Yes

No

Yes

No

No

No

Yes

17

P.Sandhu et al,
2008.

No

Yes

No

No

Yes

No

No

No

18

M.Ali et al, 2013.

No

No

No

Yes

No

No

Yes

Yes

19

J.Zhang, 2012.

Yes

Yes

Yes

No

No

Yes

Yes

Yes

20

Bernardo, 2009.

No

Yes

No

No

Yes

No

Yes

Yes

1
2
3
4
5
6
7
8
9
10
11

Techniques

Extensability

Generalise

S.Khwaja et al,
2013
C.H.Chag et al,
2011
A.Amama
et al, 2012
M.I.Chow-dhury et
al, 2012
Z.H.Wang et al,
2008
R.Ferenc et al,
2008
M. Riaz et al, 2012

No

2014, IJCCSE All Rights Reserved

Vol. 02 No.01 February 2015

37 | P a g e
www.ijccse.com

ISSN: 2312-7694
Rabbia et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
IV.

CONCLUSION

[8]

In this paper we have presented the best chosen techniques for


quality evaluation of design patterns and proposed an approach
to analyze and verify design patterns .Our approach uses the
case study of different research papers and analyzing the
techniques and strategies used to evaluate quality of the design
patterns. Many effective techniques have been applied but still
accuracy cannot be up to 100%. No design pattern can be
considered best overall because of their change behaviour in
different domains. Another important fact derived from the
research says that design patterns may not always improve
quality of the software systems. There are design patterns
which are general while some are specific. Similarly, some
design patterns are more effective than the others.

[9]

[10]

[11]

In future we can improve our results by using more advance


and strong tools. Generalize patterns should be given more
importance as they are more frequently used as compare to
specific patterns. Already proposed mechanisms can be
extended using more patterns and projects and possibilities of
applying some new techniques can be explored.

[12]

[13]

REFERENCES
Fulop L J, Ferenc R, Gyimothy T. Towards a
Benchmark
for Evaluating Design Pattern
Miner Tools , Software
Maintenance and Reengineering, 2008. CSMR 2008. 12th
European Conference on DOI: 10.1109/CSMR.2008.4493309,
2008, pp. 143-152.
[2] Ashraf Armoush, Eva Beckschulze and Stefan Kowalewski
Safety Assessment of Design Patterns for Safety-Critical
Embedded Systems , 35th Euromicro Conference on Software
Engineering and Advanced Application, 2009
[3] Nien-Lin Hsueh, Lin-Chieh Wen, Der-Hong Ting, Chu W, ChihHung Chang, Chorng-Shiuh Koong . An Approach for
Evaluating the Effectiveness of Design Patterns in Software
Evolution ",Computer Software and Applications Conference
Workshops (COMPSACW), 2011 IEEE 35th Annual,
DOI:10.1109/COMPSACW.2011.59, 2011, pp.315-320.
[1]

Fuping ZENG, Aizhen CHEN, Xin TAO Study on Software


Reliability Design Criteria Based on Defect Patterns ",
Department of System Engineering Beihang University Beijing,
100191, 2009
[5] Amamra A, Talhi C, Robert J. Performance Evaluation of
Multi-pattern Matching Algorithms on Smartphone ",Broadband,
Wireless Computing, Communication and Applications
(BWCCA), 2012 Seventh International Conference on DOI:
10.1109/BWCCA.2012.61, 2012, pp.329-334
[6] Khwaja S, Alshayeb M.A framework for evaluating software
design pattern specification languages ", Computer and
Information Science (ICIS), 2013 IEEE/ACIS 12th International
Conference on DOI: 10.1109/ICIS.2013.6607814, 2013, pp.4145.
[7] Maria Riaz, Laurie Williams, Jianwei Niu, Travis Breaux. On
the Design of Empirical Studies to Evaluate Software Patterns:
A Survey, North Carolina State University Dept. of Computer
Science Raleigh, NC, USA, 2012.

[14]

[15]

[16]

[4]

2014, IJCCSE All Rights Reserved

[17]

[18]

[19]

[20]

Zhi Hu Wang, Chang Jie Guo, Bo Gao, Wei Sun, Zhen Zhang,
Wen Hao.A Study and Performance Evaluation of the MultiTenant Data Tier Design Patterns for Service Oriented
Computing , An e-Business Engineering, 2008.ICEBE 08.
IEEE
International
Conference
on
DOI: 10.1109/ICEBE.2008.60, 2008, pp.94-101.
Norihiro Yoshida, Masatomo Yoshida, Katsuro Inoue Towards
an Assessment of the Quality of Refactoring Patterns, Graduate
School of Information Science and Technorogy, Osaka
University, 2008
Muhammad Iftekher Chowdhury and Michael Katchabaw.
Improving software quality through design patterns, A case
study of adaptive games and auto dynamic difficulty,
Department of Computer Science, University of Western Ontario
London, Ontario, Canada, 2012
Nien-Lin Hsueh, Ju-Yun Wang,Der-Hong Ting. A Cloud
Service Design for Quality Evaluation of Design Patterns.
Genetic and Evolutionary Computing (ICGEC), 2012 Sixth
International Conference on. 25-28 Aug. 2012.
Khaer, Hashem, Masud. An empirical analysis of software
systems for measurement of design quality level based on design
patterns. Computer and information technology, 2007. iccit
2007. 10th international conference on . 27-29 Dec. 2007.
Nien-Lin Hsueh ,Peng-Hua Chu, Lee J ,Chu W. A Quality
Verification Model for Design Pattern . Computer Software and
Applications Conference, 2007. COMPSAC 2007. 31st Annual
International (Volume:1 ) . 24-27 July 2007.
Bernardo, Fernandes, Dias, Luiz Alberto Vieira ,Montini.
Using GQM for Testing Design Patterns in Real-Time and
Embedded Systems on a Software Production Line
.Information Technology: New Generations, 2009. ITNG '09.
Sixth International Conference .27-29 April 2009
FoutseKhomh, Yann-GaelGueheneuc. Do Design Patterns
Impact Software Quality Positively? Software Maintenance and
Reengineering, 2008. CSMR 2008. 12th European Conference
on. 1-4 April 2008.

Parvinder Singh Sandhu, Parwinder Pal Singh, Anil


Kumar Verma. Evaluating Quality of Software Systems
by Design Patterns Detection . Advanced Computer
Theory and Engineering, 2008. ICACTE '08. International
Conference on . 20-22 Dec. 2008.
Jing Dong, Senior Member, Yajing Zhao, Yongtao Sun.
A Matrix-Based Approach to Recovering Design
Patterns Systems, Man and Cybernetics, Part A: Systems
and Humans, IEEE Transactions on, Vol39 .Nov. 2009.
JiexinZhang , Yang Liu, Jing Sun , Jin Song Dong .
Model Checking Software Architecture Design . HighAssurance Systems Engineering (HASE), 2012 IEEE 14th
International Symposium on . 25-27 Oct. 2012
Radu Marinescu Metrics-Based Rules for Detecting
Design Flaws Proceedings of the 20th IEEE
International Conference on Software Maintenance.
Mawal Ali, Mahmoud O. Elish. A Comparative
Literature Survey of Design Patterns Impact on Software
Quality. Information Science and Applications (ICISA),
2013 International Conference . 24-26 June 2013.

Vol. 02 No.01 February 2015

38 | P a g e
www.ijccse.com

Das könnte Ihnen auch gefallen