Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
6Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Selection of Architecture Styles using Analytic Network Process for the Optimization of Software Architecture

Selection of Architecture Styles using Analytic Network Process for the Optimization of Software Architecture

Ratings: (0)|Views: 329|Likes:
Published by ijcsis
The continuing process of software systems enlargement in size and complexity becomes system design extremely important for software production. In this way, the role of software architecture is significantly important in software development. It serves as an evaluation and implementation plan for software development and software evaluation. Consequently, choosing the correct architecture is a critical issue in software engineering domain. Moreover,software architecture selection is a multicriteria decision-making problem in which different goals and objectives must be taken into consideration. In this paper, more precise and suitable decisions in selection of architecture styles have been presented by using ANP inference to support decisions of software architects in order to exploit properties of styles in the best way to optimize the design of software architecture.
The continuing process of software systems enlargement in size and complexity becomes system design extremely important for software production. In this way, the role of software architecture is significantly important in software development. It serves as an evaluation and implementation plan for software development and software evaluation. Consequently, choosing the correct architecture is a critical issue in software engineering domain. Moreover,software architecture selection is a multicriteria decision-making problem in which different goals and objectives must be taken into consideration. In this paper, more precise and suitable decisions in selection of architecture styles have been presented by using ANP inference to support decisions of software architects in order to exploit properties of styles in the best way to optimize the design of software architecture.

More info:

Published by: ijcsis on Jun 30, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See More
See less

02/29/2012

pdf

text

original

 
 1
Selection of Architecture Styles using Analytic Network Process for the Optimization of Software Architecture
Mr. K. Delhi Babu
S.V. University, Tirupati
Dr. P. Govinda Rajulu
S.V. University, Tirupati
 
Dr. A. RamamohanaReddy
S.V. University, Tirupati
 
Ms. A.N. Aruna Kumari
Sree Vidyanikethan Engg.College, Tirupati
 
ABSTRACT
The continuing process of software systemsenlargement in size and complexity becomes systemdesign extremely important for software production. In this way, the role of software architecture issignificantly important in software development. It serves as an evaluation and implementation plan for software development and software evaluation.Consequently, choosing the correct architecture is acritical issue in software engineering domain. Moreover,software architecture selection is amulticriteria decision-making problem in whichdifferent goals and objectives must be taken intoconsideration. In this paper, more precise and suitable decisions in selection of architecture styleshave been presented by using ANP inference tosupport decisions of software architects in order toexploit properties of styles in the best way to optimizethe design of software architecture.
 
1
 .
INTRODUCTION
 In general the software developmentorganizations face the problem of selecting the bestdesign from a group of design alternatives such asvarious architecture styles. Architecting the systemslike distributed software is a complex design activity.It involves making decisions about a number of interdependent design choices that relate to a range of design concerns. Each decision requires selectingamong a number of alternatives; each of whichimpacts differently on various quality attributes.Additionally there are usually a number stakeholders participating in the decision making process withdifferent, often conflicting, quality goals, and projectconstraints, such as cost and schedule[1]..Consistent with the view of Mohanty (1992), thefield in general has progressed from the applicationof linear weighting, via linear programming andinteger programming, to multicriteria decisionmaking (MCDM) models. The AHP and analyticnetwork process (ANP) are two analytical tools for MCDM. The AHP is employed to break down largeunstructured decision problems into manageable andmeasurable components. The ANP as the generalform of AHP is powerful to deal with complexdecisions where interdependence exists in a decisionmodel. Despite the growing number of applicationsof AHP in various fields that involve decision-making, ANP has started to be employed inarchitecture style selection in software engineeringfields. However, there is still a lack of papers presenting the use of ANP in typical architecturestyle selection from the client’s perspective. This paper is intended to apply the ANP process to select anumber of styles that are Plausibly undertaken.
2. SOFTWARE ARCHITECTURE
Software architecture represents the earliestsoftware design decisions which are the most criticalto get right and the most difficult to change downstream in the system development cycle [2]. Makinguse of architecture styles is one of the ways to designsoftware systems and guarantee the satisfaction of their quality attributes [4].Selecting suitablearchitecture for the system and its homogeneoussubsystems is an essential parameter in softwaresystems development [3]. Many factors affect thearchitecture styles selection which makes it amulticriteria decision-making problem. There aresome quality attributes for each architecture style thatmay cause different effects on different domains. Inspite of having some attributes which are listed for each style in different texts, we cannot understand theextent to what advantages and disadvantages of quality and quantity attributes of architecture areconsidered [5].Therefore, comparing capabilities and benefits of software architectures is somehowdifficult. Moreover, capabilities of softwarearchitecture styles may have been listed with respectto a special domain. It means that softwarearchitectures should be refined and completed inaccordance with architects' experiments.Consequently, deciding about the architecture style(s)that should be selected depends directly on therealization/intuition of the system architect.
2.1 Architecture Styles
An architecture style provides us with aglossary of component and connector types and alsoa setof rules about the way of their combination [6].One (or more) semantic model(s) may exist tospecify the general properties of a system regarding
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 1, April 2010281http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
 2
the specifications of its elements. Therefore, thesystem can be described as a style or a compositionof styles [7]. Styles can loosely be seen as ways togroup components, where the components are relatedto each other through structure. It provides us withexploitation of suitable structural and evolution patterns and facilitates component, connector, and process reuse [7]. Therefore, we can take advantageof reusability of these patterns. Architecture stylesclassified by Shaw and Garlan in 1994 and have beenapplied in many projects till now.Therefore, a set of proved qualitative and quantitative properties are defined for these reusable structuresthat lead to simplicity and trustworthiness inchoosing and using them in new projects and specialdomains [7, 8]. In accordance with specified rulesand frameworks of architecture styles, use of them issimple and prevents architecture users from beinginvolved in processes and complexities of an ad-hocarchitecture design. We should mention the point thatsome changes should be performed in architecturestyles or a combination of them should be used togain better adaptation with problem domain andincrease the architecture performance.
2.2 Selecting Architecture Style
One of the important parts in softwaredesign process is the selection of softwarearchitecture style to design good softwarearchitecture. Choosing the most suitable architecturestyle(s) among existing ones can help us in satisfyingfunctional and especially non-functionalrequirements correctly and precisely [8].As we should consider different goals andobjectives in architecture styles selection, such asfunctional and non-functional requirements,architect’s priorities and domain commitments,selecting architecture styles is categorized in multi-criteria decision-making problems. The architectshould select architecture styles in way that theysatisfy all criteria related to the problem in the bestway. Calculating the effectiveness and importance of each requirement and aggregating them are someimportant issues that turn the architecture styleselection into a complex problem So, we need a powerful and precise decision support system to helpand support system architects. For selectingarchitecture styles, evaluation methods andtechniques [9] are usually used; but these methods donot pay attention to the abilities and capabilities of styles.
CriteriaAlternativesFig 1.Frame work for architecture style selection
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 1, April 2010282http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
 3
The above fig1 represents the frame work for architecture style selection where it contains“Criteria” cluster and “alternatives” cluster. There isa feedback between alternatives to criteria cluster which makes in comparison of criteria cluster withrespect to alternatives, and also loop in criteria cluster indicates that the nodes in it are compared withthemselves. These nodes in the criteria andalternatives clusters are referred from variousresearch papers[10 11]. ANP model is best suitable toselect the appropriate architecture style for the bestimplementation of architecture which satisfies therequirements.
3. ALGORITHM
The ANP incorporates both qualitative andquantitative approaches to a decision problem.
3.1 Qualitative approach
The four major steps for the qualitative componentare described below:1. Identify the architects problem. Suppose aclient would like to select the highest scored stylesfrom a number of potential alternative styles, thedecision problem will be to “select the highest scoredarchitecture style.”2. Ensure that the decision problem of selecting architecture style can be solved by ANP.The ANP is appropriate to solve decision problemswith a network structure. Problems with a simplehierarchical model can be solved by AHP.3. Decompose the unstructured problem of selecting the architecture style in to a set of manageableand measurable levels. The topmost level is the prioritization of styles, while the lowest level is usuallythe scenario or architecture styles (Saaty 1980).4. Determine who should be responsible for making the prioritization of architecture style.Usually, various stake holders(users, domainexperts) are involved for this operationalmanagement.
3.2 Quantitative Approach
The following describes the five major steps for thequantitative component:1. Set up a quantitative questionnaire for collecting priorities of various stake holders (Users, Architects,Domain Experts, Programmers etc.). Saaty (1980)suggested the use of a nine-point priority scale and pair-wise comparison.2. Estimate the relative importance between twoelements criteria of selection and alternativearchitecture styles. Use pair-wise comparison of theelements in each matrix and calculate the eigenvector of each of the developed matrices. Refer to the existingliterature having suggested the necessary algorithms for calculating the eigenvector of each matrix, such as Saaty(1980) and Cheng and Li (2001).3. Measure the inconsistency of each of the matrices(when pairwise comparison is used) by employingthe consistency ratio (CR). Refer to the existingliterature having suggested the necessary algorithmsto calculate CR, such as Saaty (1980) and Cheng andLi (2001). Alternatively, commercial software packages that compute eigenvectors and CRs areavailable (e.g.,
 Expert Choice for Windows
, 2003).Saaty (1994) set three acceptable levels for CR (i.e.,0.05 for 3 by 3 matrix, 0.08 for 4 by 4 matrix, and 0.1for other matrices). Matrices that are inconsistentshould be excluded or rerated by the raters.4. Place the eigenvectors of the individual matrices(also known as sub-matrices) to form the super matrix(Saaty 1996). Refer to the later illustrative example(KWIC) of how to construct the supermatrix.5. Ensure the supermatrix is column stochastic andraise the supermatrix to high power until the weightshave been converged and remain stable (Sarkis1999). For the purpose of mathematical computationof matrices, the authors Eddie W.L Cheng and LiangLi [12] created a program in the popular 
 Microsoft  Excel
. Alternatively, a commercial software tool,
SuperDecisions
, developed by William J. Adams of Embry Riddle Aeronautical University and RozannW. Saaty is appropriate to solve decision problemswith a network model (Saaty 2003). Despite theavailability of user-friendly software, users must havea thorough understanding of the ANP concepts beforeattempting to use the software. This will reduceunnecessary mistakes that hamper the making of good decisions of selecting best architecture style. Ina later section, we reveal a paper exhibiting wrongresults from using ANP.
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 1, April 2010283http://sites.google.com/site/ijcsis/ISSN 1947-5500

Activity (6)

You've already reviewed this. Edit your review.
1 hundred reads
nileshsaw liked this
ReeeReee liked this
martin_simon liked this
pjnote liked this
mehmoodazia liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->