SlideShare a Scribd company logo
1 of 12
Download to read offline
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
DOI : 10.5121/ijcsea.2011.1501 1
MINIMIZING THE RISK OF ARCHITECTURAL DECAY
BY USING ARCHITECTURE-CENTRIC
EVOLUTION PROCESS
Humaira Farid, Farooque Azam and *M. Aqeel Iqbal
Department of Computer Engineering
College of Electrical & Mechanical Engineering
National University of Sciences and Technology (NUST), Islamabad, Pakistan
*[Employed at Faculty of E & IT, FUIEMS, Rawalpindi, Pakistan]
humaira.farid@gmail.com, farooque.azam@gmail.com
maqeeliqbal@hotmail.com
ABSTRACT
Software systems endure many noteworthy changes throughout their life-cycle in order to follow the
evolution of the problem domains. Generally, the software system architecture cannot follow the rapid
evolution of a problem domain which results in the discrepancies between the implemented and designed
architecture. Software architecture illustrates a system’s structure and global properties and consequently
determines not only how the system should be constructed but also leads its evolution. Architecture plays
an important role to ensure that a system satisfies its business and mission goals during implementation
and evolution. However, the capabilities of the designed architecture may possibly be lost when the
implementation does not conform to the designed architecture. Such a loss of consistency causes the risk of
architectural decay. The architectural decay can be avoided if architectural changes are made as early as
possible. The paper presents the Process Model for Architecture-Centric Evolution which improves the
quality of software systems through maintaining consistency between designed architecture and
implementation. It also increases architecture awareness of developers which assists in minimizing the risk
of architectural decay. In the proposed approach consistency checks are performed before and after the
change implementation.
KEYWORDS
Software Architecture, Software Evolution, Architectural Decay, Architecture Versioning, Architecture
Assessment
1. INTRODUCTION
Software systems are usually designed to provide a solution to a particular problem domain and
for a particular business case. As the business world is frequently changing and the problem
domains evolve the software systems have to be constantly tailored to new business needs, i.e.
they need to evolve [1].
International Journal of Computer Science, Engineering and Applications (IJ
Software evolution activities can be
(corrective), to adapt it for a new platform
new functionality or other non-functional characteristics
Software architecture illustrates a system’s structure and global properties and consequently
determines not only how the system should be constructed but also leads its
stability is an important criterion for evaluating the architecture. The stability of the architecture
is a measure of how well it accommodates the evolution of the system without requiring changes
to the architecture. Consider the Figure
Figure
Architectural stability is more vulnerable
requirements [2]. Figure-2 shows that the architecture plays an important role to ensure that a
system satisfies its business and mission goals during implementat
Figure-2: Architecture
However, the capabilities of the designed architecture
implementation does not conform to the designed architecture
the risk of architectural decay. The paper describes that architecture plays an important role in
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
can be classified as to correct errors that are found in operation
, to adapt it for a new platform (adaptive) and to improve its performance
functional characteristics (perfective).
Software architecture illustrates a system’s structure and global properties and consequently
determines not only how the system should be constructed but also leads its evolution. The
stability is an important criterion for evaluating the architecture. The stability of the architecture
is a measure of how well it accommodates the evolution of the system without requiring changes
Consider the Figure-1 which shows the distribution of evolution effort.
Figure-1: Distribution of Evolution Effort
vulnerable by changes in non-functional rather than in functional
2 shows that the architecture plays an important role to ensure that a
system satisfies its business and mission goals during implementation and evolution.
: Architecture-Centric Development & Evolution
However, the capabilities of the designed architecture may possibly be lost
implementation does not conform to the designed architecture. Such a loss of consistency causes
The paper describes that architecture plays an important role in
CSEA) Vol.1, No.5, October 2011
2
to correct errors that are found in operation
and to improve its performance by adding
Software architecture illustrates a system’s structure and global properties and consequently
evolution. The
stability is an important criterion for evaluating the architecture. The stability of the architecture
is a measure of how well it accommodates the evolution of the system without requiring changes
which shows the distribution of evolution effort.
functional rather than in functional
2 shows that the architecture plays an important role to ensure that a
ion and evolution.
be lost when the
. Such a loss of consistency causes
The paper describes that architecture plays an important role in
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
3
improving software quality and provides a solid basis for software evolution. The paper
emphasizes on the importance of early and rapid architecture evolution for minimizing the risk of
architectural decay.
The paper presents the Process Model for Architecture-Centric Evolution which improves the
quality of software systems through maintaining consistency between designed architecture and
implementation. It also increases architecture awareness of developers which assists in
minimizing the risk of Architectural Decay. In the proposed approach consistency checks are
performed before and after the change implementation. It evaluates the implemented architecture
for identifying the risk of architecture’s quality decay and inconsistencies between the
architecture and the implementation. The rest of this paper is organized as follows. Section II
describes the problem description. Section III presents the proposed architecture-centric evolution
process model and also defines every process and its sub-activities in detail. Section IV illustrates
application areas and Section V defines potential research areas. Finally, Section VI concludes
the paper.
2. SCOPE OF RESEARCH
Software systems endure many noteworthy changes throughout their life-cycle in order to follow
the evolution of the problem domains. Generally, the software system architecture cannot follow
the rapid evolution of a problem domain which results in the discrepancies between the
implemented and designed architecture [3]. The preferred way of working is to add new system
features in an ad-hoc manner without changing the architectural description which results in
architectural decay and degrades the overall software quality.
Architecture refactoring is required to avoid this problem. Generally, Architecture refactoring is
deferred until the very last moment when it becomes extremely essential. Delays in performing
small refactoring activities turn into need for architecture reengineering which is more risky and
expensive. The effectiveness of reengineering is also generally not as high as anticipated [1].
Usually maintenance pays attention on comparatively small changes due to time and budget
limitations without considering structural changes, which can lead to imperfect changes and
consequent errors.
As a countermeasure it is good practice to maintain the consistency between the architecture and
the implementation. Consistency checking can be done by deducing information from
implementation, design documents, and model transformations [4]. Design decisions made at the
architectural level directly affect system maintenance and evolution. Hence, a considerable effort
is spent on designing architecture to assist future evolution. However, this effort may possibly be
lost, if the implementation deviates from the designed architecture. Such divergence between the
design and implementation results in Architectural Decay which makes further maintenance tasks
more complex and expensive [5].
3. PROPOSED APPROACH
The architectural decay can be avoided if architectural changes are made as early as possible.
This paper introduces the Architecture-Centric Evolution Process Model, which supports keeping
system architecture up-to-date with the problem domain and thus minimizing the risk of
architectural decay and quality degradation. The model introduces the evolution life cycle in
which it integrates the Architecture evolution with code evolution. It supports maintaining
consistency between architecture and implementation and thus offering the solid basis for
effective evolution.
The process model includes the four fundamental activities (see figure-3); Evolution Analysis and
Validation, Architecture Evolution, Change Implementation and Architecture Assessment.
International Journal of Computer Science, Engineering and Applications (IJ
Figure-3: Architecture
The Evolution Analysis and Validation stage of this model
checks its consistency in architecture
requirements that reflect the system change
risk severity and urgency of proposed changes will be analyzed.
the architecture description according to requested changes.
evolution process considers the proposed evolution as being part of a new architecture version.
Change Implementation modifies the system specification and
implementation environment to reflect the changes
the implemented architecture for identifying the risk of architectural decay and inconsistencies
between the architecture and the implementa
Every process takes some input for performing its task. After the completion of task, it gives
some output which assists next process for achieving its task.
outputs of every process in evolution life cycle.
Figure-4: Architecture-Centric Evolution Process Model with Key inputs & outputs
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
3: Architecture-Centric Evolution Process Model
and Validation stage of this model examines the impact of change and
checks its consistency in architecture description. It also analyses and validates the new
requirements that reflect the system changes. If changes cause the risk of architectural decay, the
risk severity and urgency of proposed changes will be analyzed. Architecture Evolution modifies
itecture description according to requested changes. If inconsistencies are detected, the
evolution process considers the proposed evolution as being part of a new architecture version.
modifies the system specification and implements it in the
to reflect the changes. The Architecture Assessment stage evaluates
for identifying the risk of architectural decay and inconsistencies
between the architecture and the implementation.
Every process takes some input for performing its task. After the completion of task, it gives
some output which assists next process for achieving its task. Figure-4 shows the key inputs and
outputs of every process in evolution life cycle.
Centric Evolution Process Model with Key inputs & outputs
CSEA) Vol.1, No.5, October 2011
4
examines the impact of change and
It also analyses and validates the new
If changes cause the risk of architectural decay, the
Architecture Evolution modifies
If inconsistencies are detected, the
evolution process considers the proposed evolution as being part of a new architecture version.
implements it in the
The Architecture Assessment stage evaluates
for identifying the risk of architectural decay and inconsistencies
Every process takes some input for performing its task. After the completion of task, it gives
4 shows the key inputs and
Centric Evolution Process Model with Key inputs & outputs
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
5
Every process in evolution life cycle has some sub-activities. Each sub-activity performs a
particular task and provides output for assisting other activities. Table-1 illustrates the sub-
activities of every process along with key inputs and outputs.
Table-1: Evolution Processes with Sub-Activities and Key inputs & outputs
Process Sub-Activities Key Inputs Key Outputs
Evolution Analysis
& Validation
Change Impact Analysis Change Requests
Change Plan
Analysis Report
Requirement Validation
System
Specifications
Consistency Checking
Architecture
Descriptions
Architecture
Evolution
Architecture
Modification
Current
Architecture
Description
Updated
Architecture
DescriptionsArchitecture Versioning
Change
Implementation
System Specification
Updating
Current System
Specifications Updated System
Specifications &
Implementation
Source Code
Modification
Current System
Implementation
Architecture
Assessment
Architecture Assessment
Updated
Architecture
Descriptions
Updated System
Specifications &
Implementation
Evaluation Report
The rest of the section is organized to explain every process along with its sub-activities in detail.
3.1 Evolution Analysis and Validation
Evolution Analysis and Validation examines the impact of change and checks its consistency in
architecture description. It also analyses and validates the new requirements that reflect the
system changes. It includes three sub-activities.
Change Impact Analysis
Requirement Validation
Consistency Checking
International Journal of Computer Science, Engineering and Applications (IJ
Figure-5: Evolution Analysis & Validation Process
Change Impact Analysis takes the input of requested changes
evaluated to see how much of the system is affected by the change and how much it might cost to
implement the change. If the proposed changes are accepted, a new releas
planned. The outcome of this activity is the release of Change Plan
where changes are required in Architecture descriptions, system specifications and
implementation. New requirements that reflect the system changes are proposed, analyzed and
validated in Requirement Validation activity. The req
whether these requirements satisfy the business goals. The proposed changes are only accepted if
they do not contradict the business goals.
After Requirement Validation, architectural consistency will be ensured.
uses change plan and current architect
will contradict one another after implementing the proposed changes
aims to predict whether changes
maintain consistency, the proposed
unacceptable or trigger the derivation of a new architecture version for which consistency will be
guaranteed. The outcome of this activity is the Analysis Report.
If changes cause the risk of architectural
changes will be analyzed. For this assessment
matrix which illustrates the different categories.
Table-2: Analysis Matrix for the assessment of the Risk of Architectural Decay along with the
Urgency of
Change Minor
A
1-Routine 1A
2-Urgent 2A
3-Most Urgent 3A
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
5: Evolution Analysis & Validation Process
Change Impact Analysis takes the input of requested changes. The impact of these changes is
evaluated to see how much of the system is affected by the change and how much it might cost to
If the proposed changes are accepted, a new release of the
planned. The outcome of this activity is the release of Change Plan which highlights the places
where changes are required in Architecture descriptions, system specifications and
New requirements that reflect the system changes are proposed, analyzed and
validated in Requirement Validation activity. The requirements are analyzed in detail to check
whether these requirements satisfy the business goals. The proposed changes are only accepted if
they do not contradict the business goals.
After Requirement Validation, architectural consistency will be ensured. Consistency C
uses change plan and current architecture descriptions to check whether architectural
after implementing the proposed changes. The consistency checking
to predict whether changes persuade inconsistencies in current architecture. If changes
proposed evolution will be permitted. If not, it will either be
or trigger the derivation of a new architecture version for which consistency will be
ome of this activity is the Analysis Report.
the risk of architectural decay, the risk severity and urgency of
this assessment Analysis Matrix is introduced. Table
different categories.
2: Analysis Matrix for the assessment of the Risk of Architectural Decay along with the
urgency of requested changes.
Severity of the Risk of Architectural Decay
Minor Moderate
B
Critical
C
Catastrophic
1B 1C 1D
2B 2C 2D
3B 3C 3D
CSEA) Vol.1, No.5, October 2011
6
impact of these changes is
evaluated to see how much of the system is affected by the change and how much it might cost to
of the system is
which highlights the places
where changes are required in Architecture descriptions, system specifications and
New requirements that reflect the system changes are proposed, analyzed and
uirements are analyzed in detail to check
whether these requirements satisfy the business goals. The proposed changes are only accepted if
Consistency Checking
whether architectural elements
consistency checking
architecture. If changes
evolution will be permitted. If not, it will either be
or trigger the derivation of a new architecture version for which consistency will be
of the proposed
Table-2 shows the
2: Analysis Matrix for the assessment of the Risk of Architectural Decay along with the
of the Risk of Architectural Decay
Catastrophic
D
1D
2D
3D
International Journal of Computer Science, Engineering and Applications (IJ
After assessment of the risk of architectural decay and urgency of the proposed changes
require to perform some necessary measures
the required measures against every category.
Table-3: Assessment index and corresponding required measures for maintaining consistency and
The details of the above assessment along with their corresponding required measures will be
included in the Analysis Report.
3.2 Architecture Evolution
Architecture Evolution modifies the architecture description according to requested changes.
It includes two sub-Activities:
Architecture Modification
Architecture Versioning
Figure
Architecture descriptions will be
This activity takes input of current architecture description to make changes. Architecture
modification is used to modify the architectural description according to the required changes
introduced in the analysis report. It assists in
architecture and implementation.
activity.
Assessment Index
1A, 1B, 1C, 1D, 2C, 2D, 3D
3C
2A, 2B, 3A, 3B
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
After assessment of the risk of architectural decay and urgency of the proposed changes
to perform some necessary measures for ensuring quality and consistency. Table
the required measures against every category.
3: Assessment index and corresponding required measures for maintaining consistency and
improving quality.
The details of the above assessment along with their corresponding required measures will be
modifies the architecture description according to requested changes.
Modification
Figure-6: Architecture Evolution Process
will be modified according to the Change Plan and the Analysis report
current architecture description to make changes. Architecture
modify the architectural description according to the required changes
introduced in the analysis report. It assists in maintaining consistency between system
re and implementation. The updated architecture description is a major outcome of this
Measures
First Architecture will be updated and afterwards the
implementation will be modified.
A decision will be taken according to Business &
missions goals.
First Implementation will modify and immediately
afterwards Architecture evolution will take place.
CSEA) Vol.1, No.5, October 2011
7
After assessment of the risk of architectural decay and urgency of the proposed changes, it will
consistency. Table-3 shows
3: Assessment index and corresponding required measures for maintaining consistency and
The details of the above assessment along with their corresponding required measures will be
modifies the architecture description according to requested changes.
according to the Change Plan and the Analysis report.
current architecture description to make changes. Architecture
modify the architectural description according to the required changes
consistency between system
The updated architecture description is a major outcome of this
First Architecture will be updated and afterwards the
to Business &
First Implementation will modify and immediately
afterwards Architecture evolution will take place.
International Journal of Computer Science, Engineering and Applications (IJ
If inconsistencies are detected, the evolution process considers
part of a new architecture version
consistency with the proposed change and maintains all previous versions. It also records all
important change operations performed in the previous architecture version
3.3 Change Implementation
Change Implementation modifies the system specification and implements it in the
implementation environment to reflect the changes. It
System Specification Updating
Source Code Modification
Figure
System Specification Updating takes
system specification is modified according to new requirements
updated System Specification is a key outcome of this
In Source code modification proposed changes are
environment to reflect the changes
according to updated system specification and architecture
3.4 Architecture Assessment
Architecture Assessment aims to evaluate architecture after it has been implemented. Assessment
of an implemented architecture assists in identifying
inconsistencies between the architecture and the implementation
Architecture Assessment takes inputs of updated architecture descriptions, system specifications
and implementation for checking consistency. The outcome of this phase is an evaluation
containing the results of the assessment and specific actions for adjustment in case of any
discrepancies between the architecture and implementation.
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
If inconsistencies are detected, the evolution process considers the proposed evolution as being
w architecture version. Architecture Versioning derives new architecture version for
consistency with the proposed change and maintains all previous versions. It also records all
performed in the previous architecture version.
Change Implementation
Change Implementation modifies the system specification and implements it in the
implementation environment to reflect the changes. It includes two sub-activities:
System Specification Updating
Source Code Modification
Figure-7: Change Implementation Process
System Specification Updating takes input of current system specification for updating.
is modified according to new requirements mentioned in change plan
updated System Specification is a key outcome of this activity.
In Source code modification proposed changes are implemented in the implementation
environment to reflect the changes. It takes the input of current implementation and updates it
according to updated system specification and architecture description.
Architecture Assessment
Architecture Assessment aims to evaluate architecture after it has been implemented. Assessment
of an implemented architecture assists in identifying the risk of architecture’s quality
inconsistencies between the architecture and the implementation.
Architecture Assessment takes inputs of updated architecture descriptions, system specifications
and implementation for checking consistency. The outcome of this phase is an evaluation
containing the results of the assessment and specific actions for adjustment in case of any
discrepancies between the architecture and implementation.
CSEA) Vol.1, No.5, October 2011
8
evolution as being
derives new architecture version for
consistency with the proposed change and maintains all previous versions. It also records all
Change Implementation modifies the system specification and implements it in the
of current system specification for updating. The
mentioned in change plan. The
implemented in the implementation
It takes the input of current implementation and updates it
Architecture Assessment aims to evaluate architecture after it has been implemented. Assessment
architecture’s quality decay and
Architecture Assessment takes inputs of updated architecture descriptions, system specifications
and implementation for checking consistency. The outcome of this phase is an evaluation report
containing the results of the assessment and specific actions for adjustment in case of any
International Journal of Computer Science, Engineering and Applications (IJ
Figure
Figure-8 shows the key inputs Architecture
also shows a key outcome of this activity i.e. an Evaluation Report.
4. APPLICATION AREAS
4.1 Evolution in product lines and
Software product families are a
variable functionalities. Software product lines have received
software companies. A wide variety of companies has significantly reduced the cost of software
development and maintenance and improved the quality of their software products. The product
line approach can be applied to an existing line of products or the organization can also use a new
system or product family to expand its market
architecture and components need to evolve with the requirements posed by new product line
members. Architecture-centric evolution process assists in evolving the software product line
architecture. It keeps architecture consistent a
4.2 Evolution of legacy software through its architecture
The legacy software systems are described as old software systems which are usually designed
and documented inadequately, but still perform a
application. The business value of legacy systems has
consistency and evolution support
as some of their functions are too
reconstruct. Organizations have to make a pragmatic assessment of legacy systems to choose the
most suitable approach for evolving these systems. Architecture
systems improves their business value by providing consistency and improving overall quality.
4.3 Evolution of EAI services
Information systems are now based on integration of existing components that have to cooperate
in a precise manner in order to build a s
Application Integration) domain provides integration models and techniques for assembling
various software applications in a realistic way. EAI architecture defines the elements that
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
Figure-8: Architecture Assessment Process
8 shows the key inputs Architecture Assessment activity is taking for achieving its task. It
also shows a key outcome of this activity i.e. an Evaluation Report.
tion in product lines and families
a set of independent programs that have several
Software product lines have received extensive adoption in many
A wide variety of companies has significantly reduced the cost of software
d maintenance and improved the quality of their software products. The product
line approach can be applied to an existing line of products or the organization can also use a new
system or product family to expand its market. In case of adding new products, product line
architecture and components need to evolve with the requirements posed by new product line
centric evolution process assists in evolving the software product line
architecture. It keeps architecture consistent and improves overall quality.
Evolution of legacy software through its architecture
The legacy software systems are described as old software systems which are usually designed
and documented inadequately, but still perform an important job for the bus
value of legacy systems has become feeble due to the lack of
evolution support. But the importance of legacy systems cannot be undermined
as some of their functions are too important to be scrapped completely and too costly to
Organizations have to make a pragmatic assessment of legacy systems to choose the
most suitable approach for evolving these systems. Architecture-centric evolution
usiness value by providing consistency and improving overall quality.
Evolution of EAI services-oriented architecture
Information systems are now based on integration of existing components that have to cooperate
in a precise manner in order to build a services-based application. The EAI (Enterprise
Application Integration) domain provides integration models and techniques for assembling
various software applications in a realistic way. EAI architecture defines the elements that
CSEA) Vol.1, No.5, October 2011
9
Assessment activity is taking for achieving its task. It
common and
adoption in many
A wide variety of companies has significantly reduced the cost of software
d maintenance and improved the quality of their software products. The product
line approach can be applied to an existing line of products or the organization can also use a new
products, product line
architecture and components need to evolve with the requirements posed by new product line
centric evolution process assists in evolving the software product line
The legacy software systems are described as old software systems which are usually designed
job for the business critical
become feeble due to the lack of
But the importance of legacy systems cannot be undermined
to be scrapped completely and too costly to
Organizations have to make a pragmatic assessment of legacy systems to choose the
centric evolution of legacy
usiness value by providing consistency and improving overall quality.
Information systems are now based on integration of existing components that have to cooperate
based application. The EAI (Enterprise
Application Integration) domain provides integration models and techniques for assembling
various software applications in a realistic way. EAI architecture defines the elements that
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
10
compose the system and their interaction. The evolution support and the inconsistency between
design and implementation are the major issues addressed by designing and building COTS-based
systems [6]. To maintain the consistency between the architecture and the implementation,
architecture-centric evolution approach is used.
4.4 Architecture-centric evolution process for component-based software
Component-based software engineering (CBSE) emerged as a reuse-based approach to software
development. It promotes an approach to define, implement and integrate or compose loosely
coupled independent components into systems [7]. A new component role can be required to add
to cope with new requirements. The specification of software architecture will also be required to
evolve to meet new requirements. Architecture-centric evolution process provides a controlled
support for component-based software evolution that prevents architecture drift and erosion [8].
5. POTENTIAL RESEARCH AREAS
5.1 Architecture-centric evolution process for modern development methodologies:
RAD, Agile and Extreme Programming
Rapid Application Development (RAD) is a modern software development methodology that
uses nominal planning in support of rapid prototyping. There can be real difficulties with this
approach. Without a specification it may be difficult to validate the system.
Frequent changes have a tendency to corrupt software structure and it makes it more expensive to
change for meeting new requirements. The integration of Agile approaches and software
architecture is possible but it requires that professionals from both fields work together to
overcome evident challenges in this field and should emphasize on the need of research on
integrating these two paradigms. [9]
5.2 Developing new metrics and approaches supporting Architecture-centric
evolution process
Different metrics and patterns can be applied for the software evolution management. New
metrics and approaches could be used in the architecture-centric evolution process for assuring
the quality of a software system not only in the software design phase but also throughout the
software development life cycle. This could be done by calculating a variety of design metrics
from the system architecture and reporting prospective quality harms to the designers and
developers. This could assist in improving the software quality and minimizing the risk of
architectural decay.
5.3 Tools that maintain and impose Architecture-centric evolution process
The automatic tool support for Architecture-centric evolution process could make it more
effective and less time consuming. Consistency checking and architecture assessment could be
done effectively and easily by using efficient tools. The tool support could be provided for
automatically detecting the architectural changes and apply them in the implementation
environment. This could minimize the time and effort for software evolution.
6. CONCLUSION
This paper has described that architecture plays an important role in improving software quality
and provides a solid basis for software evolution. The paper has emphasized on the importance of
early and rapid architecture evolution for minimizing the risk of architectural decay. This paper
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
11
has defined that how software architecture illustrates a system’s structure and global properties
and leads the system evolution. This paper has proposed the Process Model for Architecture-
Centric Evolution for improving the quality of software systems through maintaining consistency
between the architecture and implementation. The paper has argued that the proposed approach
increases architecture awareness of developers which assists in minimizing the risk of
Architectural Decay. In the proposed approach consistency check has been performed before and
after the change implementation. The proposed process model includes the four fundamental
activities; Evolution Analysis and Validation, Architecture Evolution, Change Implementation
and Architecture Assessment. The Evolution Analysis and Validation stage of this model
examines the impact of change and checks its consistency in architecture description. It also
analyses and validates the new requirements that reflect the system changes. Architecture
Evolution modifies the architecture description according to requested changes. Change
Implementation modifies the system specification and implements it in the implementation
environment to reflect the changes. Finally, the Architecture Assessment stage evaluates the
implemented architecture which assists in identifying the risk of architecture’s quality decay and
inconsistencies between the architecture and the implementation.
REFERENCES
[1]. Ilian Pashov, “Feature-Based Methodology for Supporting Architecture Refactoring and Maintenance
of Long-Life Software Systems”, PhD thesis, TU Ilmenau.
[2]. Rami Bahsoon and Wolfgang Emmerich, “Architectural Stability and Middleware: An Architecture-
Centric Evolution Perspective”, workshop on Architecture-Centric Evolution 2006.
[3]. “Architecture-Centric Evolution: New Issues and Trends”, Report on the Workshop ACE at ECOOP-
2006
[4]. Matthias Biehl and Welf Löwe, “Automated Architecture Consistency Checking for Model Driven
Software Development”, Proceedings of the 5th International Conference on the Quality of Software
Architectures: Architectures for Adaptive Software Systems, 2009.
[5]. Jacek Rosik, Jim Buckley, Muhammad Ali Babar, “Design Requirements for an Architecture
Consistency Tool”, in Proceedings of the 21st Annual Psychology of Programming Interest Group
Conference, June 2009.
[6]. Frédéric Pourraz, Hervé Verjus, “An architecture-centric approach for managing the evolution of EAI
services-oriented Architecture”, in Proceedings of the Eighth International Conference on Enterprise
Information Systems Databases and Information Systems Integration, 2006.
[7]. I. Sommerville, “Software Engineering”, 8th ed. Addison Wesley, 2006.
[8]. HY Zhang, Christelle Urtado, Sylvain Vauttier, “Architecture-centric development and evolution
processes for component-based software”, in Proceedings of SEKE'2010.
[9]. Babar Ali M., and A. Pekka, “Architecture-Centric method and agile approaches”, 10th international
conference on agile processes, Dec, 2009.
International Journal of Computer Science, Engineering and Applications (IJ
Authors
Humaira Farid
Humaira Farid is a student of M.S
Engineering, College of Electrical and Mechanical Engineering, National University of Sciences and
Technology (NUST), Pakistan.
Dr. Farooque Azam
Dr. Farooque Azam is an Associate Professor
Engineering, College of Electrical and Mechanical Engineering, National University of
Sciences and Technology (NUST), Pakistan.
from BUAA, Beijing, China. He did his
College of Signals, National University of Sciences and Technology
M. Aqeel Iqbal
M. Aqeel Iqbal Is An Assistant Professor In The
Faculty Of Engineering And Information Technology, Foundation University, Institute Of
Engineering And Management Sciences, Rawalpindi, Pakistan. As A Researcher He Has
A Deep Affiliation With The College of E & ME, Nati
Technology (NUST), Pakistan.
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011
Humaira Farid is a student of M.S (Computer Software Engineering) in the department of Computer
Engineering, College of Electrical and Mechanical Engineering, National University of Sciences and
Associate Professor in the Department of Computer
Engineering, College of Electrical and Mechanical Engineering, National University of
Sciences and Technology (NUST), Pakistan. He did his PhD in Software Engineering
. He did his MS in Software Engineering from Military
National University of Sciences and Technology (NUST), Pakistan.
M. Aqeel Iqbal Is An Assistant Professor In The Department Of Software Engineering,
Faculty Of Engineering And Information Technology, Foundation University, Institute Of
Engineering And Management Sciences, Rawalpindi, Pakistan. As A Researcher He Has
A Deep Affiliation With The College of E & ME, National University Of Sciences And
CSEA) Vol.1, No.5, October 2011
12
in the department of Computer
Engineering, College of Electrical and Mechanical Engineering, National University of Sciences and

More Related Content

What's hot

Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...IJCSEA Journal
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Kuwait10
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11Siddharth Ayer
 
David vernon software_engineering_notes
David vernon software_engineering_notesDavid vernon software_engineering_notes
David vernon software_engineering_notesmitthudwivedi
 
RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVE
RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVERELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVE
RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVEcscpconf
 
Design concepts
Design conceptsDesign concepts
Design conceptsJoshuaU1
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8Siddharth Ayer
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notesAmmar Shafiq
 

What's hot (17)

Software Engineering
Software Engineering Software Engineering
Software Engineering
 
1841 1843
1841 18431841 1843
1841 1843
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
 
Sda 2
Sda   2Sda   2
Sda 2
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
1
11
1
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11
 
David vernon software_engineering_notes
David vernon software_engineering_notesDavid vernon software_engineering_notes
David vernon software_engineering_notes
 
RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVE
RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVERELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVE
RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVE
 
Software engg unit 3
Software engg unit 3 Software engg unit 3
Software engg unit 3
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
SE UNIT-3.pdf
SE UNIT-3.pdfSE UNIT-3.pdf
SE UNIT-3.pdf
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
 
Ch03
Ch03Ch03
Ch03
 
Ch10
Ch10Ch10
Ch10
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 

Similar to MINIMIZING THE RISK OF ARCHITECTURAL DECAY BY USING ARCHITECTURE-CENTRIC EVOLUTION PROCESS

ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...IJCSEA Journal
 
The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...Alexander Decker
 
The development of_the_lifecycle_function_model_by_idef0_for_construction_pro...
The development of_the_lifecycle_function_model_by_idef0_for_construction_pro...The development of_the_lifecycle_function_model_by_idef0_for_construction_pro...
The development of_the_lifecycle_function_model_by_idef0_for_construction_pro...Mandar Trivedi
 
Different Approaches using Change Impact Analysis of UML Based Design for Sof...
Different Approaches using Change Impact Analysis of UML Based Design for Sof...Different Approaches using Change Impact Analysis of UML Based Design for Sof...
Different Approaches using Change Impact Analysis of UML Based Design for Sof...zillesubhan
 
Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0iasaglobal
 
Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0iasaglobal
 
Agbaje7survey of softwar process
Agbaje7survey of softwar processAgbaje7survey of softwar process
Agbaje7survey of softwar processDr. Michael Agbaje
 
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...journalBEEI
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software constructionBanduChalise
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesijfcstjournal
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTijseajournal
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyZainab Nayyar
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
SERVICE ORIENTED CONFIGURATION MANAGEMENT OF SOFTWARE ARCHITECTURE
SERVICE ORIENTED CONFIGURATION MANAGEMENT OF SOFTWARE ARCHITECTURESERVICE ORIENTED CONFIGURATION MANAGEMENT OF SOFTWARE ARCHITECTURE
SERVICE ORIENTED CONFIGURATION MANAGEMENT OF SOFTWARE ARCHITECTUREIJNSA Journal
 
Service oriented configuration management of ‎software ‎architecture
Service oriented configuration management of ‎software ‎architectureService oriented configuration management of ‎software ‎architecture
Service oriented configuration management of ‎software ‎architectureIJNSA Journal
 
Software Architecture Erosion: Impacts, Causes, and Management
Software Architecture Erosion: Impacts, Causes, and ManagementSoftware Architecture Erosion: Impacts, Causes, and Management
Software Architecture Erosion: Impacts, Causes, and ManagementCSCJournals
 
VTrace-A Tool for Visualizing Traceability Links among Software Artefacts for...
VTrace-A Tool for Visualizing Traceability Links among Software Artefacts for...VTrace-A Tool for Visualizing Traceability Links among Software Artefacts for...
VTrace-A Tool for Visualizing Traceability Links among Software Artefacts for...journalBEEI
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...NNfamily
 
Performance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwarePerformance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwareMr. Chanuwan
 

Similar to MINIMIZING THE RISK OF ARCHITECTURAL DECAY BY USING ARCHITECTURE-CENTRIC EVOLUTION PROCESS (20)

ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
 
The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...
 
The development of_the_lifecycle_function_model_by_idef0_for_construction_pro...
The development of_the_lifecycle_function_model_by_idef0_for_construction_pro...The development of_the_lifecycle_function_model_by_idef0_for_construction_pro...
The development of_the_lifecycle_function_model_by_idef0_for_construction_pro...
 
Different Approaches using Change Impact Analysis of UML Based Design for Sof...
Different Approaches using Change Impact Analysis of UML Based Design for Sof...Different Approaches using Change Impact Analysis of UML Based Design for Sof...
Different Approaches using Change Impact Analysis of UML Based Design for Sof...
 
Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0
 
Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0
 
Agbaje7survey of softwar process
Agbaje7survey of softwar processAgbaje7survey of softwar process
Agbaje7survey of softwar process
 
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural styles
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
SERVICE ORIENTED CONFIGURATION MANAGEMENT OF SOFTWARE ARCHITECTURE
SERVICE ORIENTED CONFIGURATION MANAGEMENT OF SOFTWARE ARCHITECTURESERVICE ORIENTED CONFIGURATION MANAGEMENT OF SOFTWARE ARCHITECTURE
SERVICE ORIENTED CONFIGURATION MANAGEMENT OF SOFTWARE ARCHITECTURE
 
Service oriented configuration management of ‎software ‎architecture
Service oriented configuration management of ‎software ‎architectureService oriented configuration management of ‎software ‎architecture
Service oriented configuration management of ‎software ‎architecture
 
Software Architecture Erosion: Impacts, Causes, and Management
Software Architecture Erosion: Impacts, Causes, and ManagementSoftware Architecture Erosion: Impacts, Causes, and Management
Software Architecture Erosion: Impacts, Causes, and Management
 
VTrace-A Tool for Visualizing Traceability Links among Software Artefacts for...
VTrace-A Tool for Visualizing Traceability Links among Software Artefacts for...VTrace-A Tool for Visualizing Traceability Links among Software Artefacts for...
VTrace-A Tool for Visualizing Traceability Links among Software Artefacts for...
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
Performancetestingbasedontimecomplexityanalysisforembeddedsoftware 1008150404...
 
Performance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded softwarePerformance testing based on time complexity analysis for embedded software
Performance testing based on time complexity analysis for embedded software
 

Recently uploaded

Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture designssuser87fa0c1
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage examplePragyanshuParadkar1
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 

Recently uploaded (20)

Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture design
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage example
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 

MINIMIZING THE RISK OF ARCHITECTURAL DECAY BY USING ARCHITECTURE-CENTRIC EVOLUTION PROCESS

  • 1. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 DOI : 10.5121/ijcsea.2011.1501 1 MINIMIZING THE RISK OF ARCHITECTURAL DECAY BY USING ARCHITECTURE-CENTRIC EVOLUTION PROCESS Humaira Farid, Farooque Azam and *M. Aqeel Iqbal Department of Computer Engineering College of Electrical & Mechanical Engineering National University of Sciences and Technology (NUST), Islamabad, Pakistan *[Employed at Faculty of E & IT, FUIEMS, Rawalpindi, Pakistan] humaira.farid@gmail.com, farooque.azam@gmail.com maqeeliqbal@hotmail.com ABSTRACT Software systems endure many noteworthy changes throughout their life-cycle in order to follow the evolution of the problem domains. Generally, the software system architecture cannot follow the rapid evolution of a problem domain which results in the discrepancies between the implemented and designed architecture. Software architecture illustrates a system’s structure and global properties and consequently determines not only how the system should be constructed but also leads its evolution. Architecture plays an important role to ensure that a system satisfies its business and mission goals during implementation and evolution. However, the capabilities of the designed architecture may possibly be lost when the implementation does not conform to the designed architecture. Such a loss of consistency causes the risk of architectural decay. The architectural decay can be avoided if architectural changes are made as early as possible. The paper presents the Process Model for Architecture-Centric Evolution which improves the quality of software systems through maintaining consistency between designed architecture and implementation. It also increases architecture awareness of developers which assists in minimizing the risk of architectural decay. In the proposed approach consistency checks are performed before and after the change implementation. KEYWORDS Software Architecture, Software Evolution, Architectural Decay, Architecture Versioning, Architecture Assessment 1. INTRODUCTION Software systems are usually designed to provide a solution to a particular problem domain and for a particular business case. As the business world is frequently changing and the problem domains evolve the software systems have to be constantly tailored to new business needs, i.e. they need to evolve [1].
  • 2. International Journal of Computer Science, Engineering and Applications (IJ Software evolution activities can be (corrective), to adapt it for a new platform new functionality or other non-functional characteristics Software architecture illustrates a system’s structure and global properties and consequently determines not only how the system should be constructed but also leads its stability is an important criterion for evaluating the architecture. The stability of the architecture is a measure of how well it accommodates the evolution of the system without requiring changes to the architecture. Consider the Figure Figure Architectural stability is more vulnerable requirements [2]. Figure-2 shows that the architecture plays an important role to ensure that a system satisfies its business and mission goals during implementat Figure-2: Architecture However, the capabilities of the designed architecture implementation does not conform to the designed architecture the risk of architectural decay. The paper describes that architecture plays an important role in International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 can be classified as to correct errors that are found in operation , to adapt it for a new platform (adaptive) and to improve its performance functional characteristics (perfective). Software architecture illustrates a system’s structure and global properties and consequently determines not only how the system should be constructed but also leads its evolution. The stability is an important criterion for evaluating the architecture. The stability of the architecture is a measure of how well it accommodates the evolution of the system without requiring changes Consider the Figure-1 which shows the distribution of evolution effort. Figure-1: Distribution of Evolution Effort vulnerable by changes in non-functional rather than in functional 2 shows that the architecture plays an important role to ensure that a system satisfies its business and mission goals during implementation and evolution. : Architecture-Centric Development & Evolution However, the capabilities of the designed architecture may possibly be lost implementation does not conform to the designed architecture. Such a loss of consistency causes The paper describes that architecture plays an important role in CSEA) Vol.1, No.5, October 2011 2 to correct errors that are found in operation and to improve its performance by adding Software architecture illustrates a system’s structure and global properties and consequently evolution. The stability is an important criterion for evaluating the architecture. The stability of the architecture is a measure of how well it accommodates the evolution of the system without requiring changes which shows the distribution of evolution effort. functional rather than in functional 2 shows that the architecture plays an important role to ensure that a ion and evolution. be lost when the . Such a loss of consistency causes The paper describes that architecture plays an important role in
  • 3. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 3 improving software quality and provides a solid basis for software evolution. The paper emphasizes on the importance of early and rapid architecture evolution for minimizing the risk of architectural decay. The paper presents the Process Model for Architecture-Centric Evolution which improves the quality of software systems through maintaining consistency between designed architecture and implementation. It also increases architecture awareness of developers which assists in minimizing the risk of Architectural Decay. In the proposed approach consistency checks are performed before and after the change implementation. It evaluates the implemented architecture for identifying the risk of architecture’s quality decay and inconsistencies between the architecture and the implementation. The rest of this paper is organized as follows. Section II describes the problem description. Section III presents the proposed architecture-centric evolution process model and also defines every process and its sub-activities in detail. Section IV illustrates application areas and Section V defines potential research areas. Finally, Section VI concludes the paper. 2. SCOPE OF RESEARCH Software systems endure many noteworthy changes throughout their life-cycle in order to follow the evolution of the problem domains. Generally, the software system architecture cannot follow the rapid evolution of a problem domain which results in the discrepancies between the implemented and designed architecture [3]. The preferred way of working is to add new system features in an ad-hoc manner without changing the architectural description which results in architectural decay and degrades the overall software quality. Architecture refactoring is required to avoid this problem. Generally, Architecture refactoring is deferred until the very last moment when it becomes extremely essential. Delays in performing small refactoring activities turn into need for architecture reengineering which is more risky and expensive. The effectiveness of reengineering is also generally not as high as anticipated [1]. Usually maintenance pays attention on comparatively small changes due to time and budget limitations without considering structural changes, which can lead to imperfect changes and consequent errors. As a countermeasure it is good practice to maintain the consistency between the architecture and the implementation. Consistency checking can be done by deducing information from implementation, design documents, and model transformations [4]. Design decisions made at the architectural level directly affect system maintenance and evolution. Hence, a considerable effort is spent on designing architecture to assist future evolution. However, this effort may possibly be lost, if the implementation deviates from the designed architecture. Such divergence between the design and implementation results in Architectural Decay which makes further maintenance tasks more complex and expensive [5]. 3. PROPOSED APPROACH The architectural decay can be avoided if architectural changes are made as early as possible. This paper introduces the Architecture-Centric Evolution Process Model, which supports keeping system architecture up-to-date with the problem domain and thus minimizing the risk of architectural decay and quality degradation. The model introduces the evolution life cycle in which it integrates the Architecture evolution with code evolution. It supports maintaining consistency between architecture and implementation and thus offering the solid basis for effective evolution. The process model includes the four fundamental activities (see figure-3); Evolution Analysis and Validation, Architecture Evolution, Change Implementation and Architecture Assessment.
  • 4. International Journal of Computer Science, Engineering and Applications (IJ Figure-3: Architecture The Evolution Analysis and Validation stage of this model checks its consistency in architecture requirements that reflect the system change risk severity and urgency of proposed changes will be analyzed. the architecture description according to requested changes. evolution process considers the proposed evolution as being part of a new architecture version. Change Implementation modifies the system specification and implementation environment to reflect the changes the implemented architecture for identifying the risk of architectural decay and inconsistencies between the architecture and the implementa Every process takes some input for performing its task. After the completion of task, it gives some output which assists next process for achieving its task. outputs of every process in evolution life cycle. Figure-4: Architecture-Centric Evolution Process Model with Key inputs & outputs International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 3: Architecture-Centric Evolution Process Model and Validation stage of this model examines the impact of change and checks its consistency in architecture description. It also analyses and validates the new requirements that reflect the system changes. If changes cause the risk of architectural decay, the risk severity and urgency of proposed changes will be analyzed. Architecture Evolution modifies itecture description according to requested changes. If inconsistencies are detected, the evolution process considers the proposed evolution as being part of a new architecture version. modifies the system specification and implements it in the to reflect the changes. The Architecture Assessment stage evaluates for identifying the risk of architectural decay and inconsistencies between the architecture and the implementation. Every process takes some input for performing its task. After the completion of task, it gives some output which assists next process for achieving its task. Figure-4 shows the key inputs and outputs of every process in evolution life cycle. Centric Evolution Process Model with Key inputs & outputs CSEA) Vol.1, No.5, October 2011 4 examines the impact of change and It also analyses and validates the new If changes cause the risk of architectural decay, the Architecture Evolution modifies If inconsistencies are detected, the evolution process considers the proposed evolution as being part of a new architecture version. implements it in the The Architecture Assessment stage evaluates for identifying the risk of architectural decay and inconsistencies Every process takes some input for performing its task. After the completion of task, it gives 4 shows the key inputs and Centric Evolution Process Model with Key inputs & outputs
  • 5. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 5 Every process in evolution life cycle has some sub-activities. Each sub-activity performs a particular task and provides output for assisting other activities. Table-1 illustrates the sub- activities of every process along with key inputs and outputs. Table-1: Evolution Processes with Sub-Activities and Key inputs & outputs Process Sub-Activities Key Inputs Key Outputs Evolution Analysis & Validation Change Impact Analysis Change Requests Change Plan Analysis Report Requirement Validation System Specifications Consistency Checking Architecture Descriptions Architecture Evolution Architecture Modification Current Architecture Description Updated Architecture DescriptionsArchitecture Versioning Change Implementation System Specification Updating Current System Specifications Updated System Specifications & Implementation Source Code Modification Current System Implementation Architecture Assessment Architecture Assessment Updated Architecture Descriptions Updated System Specifications & Implementation Evaluation Report The rest of the section is organized to explain every process along with its sub-activities in detail. 3.1 Evolution Analysis and Validation Evolution Analysis and Validation examines the impact of change and checks its consistency in architecture description. It also analyses and validates the new requirements that reflect the system changes. It includes three sub-activities. Change Impact Analysis Requirement Validation Consistency Checking
  • 6. International Journal of Computer Science, Engineering and Applications (IJ Figure-5: Evolution Analysis & Validation Process Change Impact Analysis takes the input of requested changes evaluated to see how much of the system is affected by the change and how much it might cost to implement the change. If the proposed changes are accepted, a new releas planned. The outcome of this activity is the release of Change Plan where changes are required in Architecture descriptions, system specifications and implementation. New requirements that reflect the system changes are proposed, analyzed and validated in Requirement Validation activity. The req whether these requirements satisfy the business goals. The proposed changes are only accepted if they do not contradict the business goals. After Requirement Validation, architectural consistency will be ensured. uses change plan and current architect will contradict one another after implementing the proposed changes aims to predict whether changes maintain consistency, the proposed unacceptable or trigger the derivation of a new architecture version for which consistency will be guaranteed. The outcome of this activity is the Analysis Report. If changes cause the risk of architectural changes will be analyzed. For this assessment matrix which illustrates the different categories. Table-2: Analysis Matrix for the assessment of the Risk of Architectural Decay along with the Urgency of Change Minor A 1-Routine 1A 2-Urgent 2A 3-Most Urgent 3A International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 5: Evolution Analysis & Validation Process Change Impact Analysis takes the input of requested changes. The impact of these changes is evaluated to see how much of the system is affected by the change and how much it might cost to If the proposed changes are accepted, a new release of the planned. The outcome of this activity is the release of Change Plan which highlights the places where changes are required in Architecture descriptions, system specifications and New requirements that reflect the system changes are proposed, analyzed and validated in Requirement Validation activity. The requirements are analyzed in detail to check whether these requirements satisfy the business goals. The proposed changes are only accepted if they do not contradict the business goals. After Requirement Validation, architectural consistency will be ensured. Consistency C uses change plan and current architecture descriptions to check whether architectural after implementing the proposed changes. The consistency checking to predict whether changes persuade inconsistencies in current architecture. If changes proposed evolution will be permitted. If not, it will either be or trigger the derivation of a new architecture version for which consistency will be ome of this activity is the Analysis Report. the risk of architectural decay, the risk severity and urgency of this assessment Analysis Matrix is introduced. Table different categories. 2: Analysis Matrix for the assessment of the Risk of Architectural Decay along with the urgency of requested changes. Severity of the Risk of Architectural Decay Minor Moderate B Critical C Catastrophic 1B 1C 1D 2B 2C 2D 3B 3C 3D CSEA) Vol.1, No.5, October 2011 6 impact of these changes is evaluated to see how much of the system is affected by the change and how much it might cost to of the system is which highlights the places where changes are required in Architecture descriptions, system specifications and New requirements that reflect the system changes are proposed, analyzed and uirements are analyzed in detail to check whether these requirements satisfy the business goals. The proposed changes are only accepted if Consistency Checking whether architectural elements consistency checking architecture. If changes evolution will be permitted. If not, it will either be or trigger the derivation of a new architecture version for which consistency will be of the proposed Table-2 shows the 2: Analysis Matrix for the assessment of the Risk of Architectural Decay along with the of the Risk of Architectural Decay Catastrophic D 1D 2D 3D
  • 7. International Journal of Computer Science, Engineering and Applications (IJ After assessment of the risk of architectural decay and urgency of the proposed changes require to perform some necessary measures the required measures against every category. Table-3: Assessment index and corresponding required measures for maintaining consistency and The details of the above assessment along with their corresponding required measures will be included in the Analysis Report. 3.2 Architecture Evolution Architecture Evolution modifies the architecture description according to requested changes. It includes two sub-Activities: Architecture Modification Architecture Versioning Figure Architecture descriptions will be This activity takes input of current architecture description to make changes. Architecture modification is used to modify the architectural description according to the required changes introduced in the analysis report. It assists in architecture and implementation. activity. Assessment Index 1A, 1B, 1C, 1D, 2C, 2D, 3D 3C 2A, 2B, 3A, 3B International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 After assessment of the risk of architectural decay and urgency of the proposed changes to perform some necessary measures for ensuring quality and consistency. Table the required measures against every category. 3: Assessment index and corresponding required measures for maintaining consistency and improving quality. The details of the above assessment along with their corresponding required measures will be modifies the architecture description according to requested changes. Modification Figure-6: Architecture Evolution Process will be modified according to the Change Plan and the Analysis report current architecture description to make changes. Architecture modify the architectural description according to the required changes introduced in the analysis report. It assists in maintaining consistency between system re and implementation. The updated architecture description is a major outcome of this Measures First Architecture will be updated and afterwards the implementation will be modified. A decision will be taken according to Business & missions goals. First Implementation will modify and immediately afterwards Architecture evolution will take place. CSEA) Vol.1, No.5, October 2011 7 After assessment of the risk of architectural decay and urgency of the proposed changes, it will consistency. Table-3 shows 3: Assessment index and corresponding required measures for maintaining consistency and The details of the above assessment along with their corresponding required measures will be modifies the architecture description according to requested changes. according to the Change Plan and the Analysis report. current architecture description to make changes. Architecture modify the architectural description according to the required changes consistency between system The updated architecture description is a major outcome of this First Architecture will be updated and afterwards the to Business & First Implementation will modify and immediately afterwards Architecture evolution will take place.
  • 8. International Journal of Computer Science, Engineering and Applications (IJ If inconsistencies are detected, the evolution process considers part of a new architecture version consistency with the proposed change and maintains all previous versions. It also records all important change operations performed in the previous architecture version 3.3 Change Implementation Change Implementation modifies the system specification and implements it in the implementation environment to reflect the changes. It System Specification Updating Source Code Modification Figure System Specification Updating takes system specification is modified according to new requirements updated System Specification is a key outcome of this In Source code modification proposed changes are environment to reflect the changes according to updated system specification and architecture 3.4 Architecture Assessment Architecture Assessment aims to evaluate architecture after it has been implemented. Assessment of an implemented architecture assists in identifying inconsistencies between the architecture and the implementation Architecture Assessment takes inputs of updated architecture descriptions, system specifications and implementation for checking consistency. The outcome of this phase is an evaluation containing the results of the assessment and specific actions for adjustment in case of any discrepancies between the architecture and implementation. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 If inconsistencies are detected, the evolution process considers the proposed evolution as being w architecture version. Architecture Versioning derives new architecture version for consistency with the proposed change and maintains all previous versions. It also records all performed in the previous architecture version. Change Implementation Change Implementation modifies the system specification and implements it in the implementation environment to reflect the changes. It includes two sub-activities: System Specification Updating Source Code Modification Figure-7: Change Implementation Process System Specification Updating takes input of current system specification for updating. is modified according to new requirements mentioned in change plan updated System Specification is a key outcome of this activity. In Source code modification proposed changes are implemented in the implementation environment to reflect the changes. It takes the input of current implementation and updates it according to updated system specification and architecture description. Architecture Assessment Architecture Assessment aims to evaluate architecture after it has been implemented. Assessment of an implemented architecture assists in identifying the risk of architecture’s quality inconsistencies between the architecture and the implementation. Architecture Assessment takes inputs of updated architecture descriptions, system specifications and implementation for checking consistency. The outcome of this phase is an evaluation containing the results of the assessment and specific actions for adjustment in case of any discrepancies between the architecture and implementation. CSEA) Vol.1, No.5, October 2011 8 evolution as being derives new architecture version for consistency with the proposed change and maintains all previous versions. It also records all Change Implementation modifies the system specification and implements it in the of current system specification for updating. The mentioned in change plan. The implemented in the implementation It takes the input of current implementation and updates it Architecture Assessment aims to evaluate architecture after it has been implemented. Assessment architecture’s quality decay and Architecture Assessment takes inputs of updated architecture descriptions, system specifications and implementation for checking consistency. The outcome of this phase is an evaluation report containing the results of the assessment and specific actions for adjustment in case of any
  • 9. International Journal of Computer Science, Engineering and Applications (IJ Figure Figure-8 shows the key inputs Architecture also shows a key outcome of this activity i.e. an Evaluation Report. 4. APPLICATION AREAS 4.1 Evolution in product lines and Software product families are a variable functionalities. Software product lines have received software companies. A wide variety of companies has significantly reduced the cost of software development and maintenance and improved the quality of their software products. The product line approach can be applied to an existing line of products or the organization can also use a new system or product family to expand its market architecture and components need to evolve with the requirements posed by new product line members. Architecture-centric evolution process assists in evolving the software product line architecture. It keeps architecture consistent a 4.2 Evolution of legacy software through its architecture The legacy software systems are described as old software systems which are usually designed and documented inadequately, but still perform a application. The business value of legacy systems has consistency and evolution support as some of their functions are too reconstruct. Organizations have to make a pragmatic assessment of legacy systems to choose the most suitable approach for evolving these systems. Architecture systems improves their business value by providing consistency and improving overall quality. 4.3 Evolution of EAI services Information systems are now based on integration of existing components that have to cooperate in a precise manner in order to build a s Application Integration) domain provides integration models and techniques for assembling various software applications in a realistic way. EAI architecture defines the elements that International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 Figure-8: Architecture Assessment Process 8 shows the key inputs Architecture Assessment activity is taking for achieving its task. It also shows a key outcome of this activity i.e. an Evaluation Report. tion in product lines and families a set of independent programs that have several Software product lines have received extensive adoption in many A wide variety of companies has significantly reduced the cost of software d maintenance and improved the quality of their software products. The product line approach can be applied to an existing line of products or the organization can also use a new system or product family to expand its market. In case of adding new products, product line architecture and components need to evolve with the requirements posed by new product line centric evolution process assists in evolving the software product line architecture. It keeps architecture consistent and improves overall quality. Evolution of legacy software through its architecture The legacy software systems are described as old software systems which are usually designed and documented inadequately, but still perform an important job for the bus value of legacy systems has become feeble due to the lack of evolution support. But the importance of legacy systems cannot be undermined as some of their functions are too important to be scrapped completely and too costly to Organizations have to make a pragmatic assessment of legacy systems to choose the most suitable approach for evolving these systems. Architecture-centric evolution usiness value by providing consistency and improving overall quality. Evolution of EAI services-oriented architecture Information systems are now based on integration of existing components that have to cooperate in a precise manner in order to build a services-based application. The EAI (Enterprise Application Integration) domain provides integration models and techniques for assembling various software applications in a realistic way. EAI architecture defines the elements that CSEA) Vol.1, No.5, October 2011 9 Assessment activity is taking for achieving its task. It common and adoption in many A wide variety of companies has significantly reduced the cost of software d maintenance and improved the quality of their software products. The product line approach can be applied to an existing line of products or the organization can also use a new products, product line architecture and components need to evolve with the requirements posed by new product line centric evolution process assists in evolving the software product line The legacy software systems are described as old software systems which are usually designed job for the business critical become feeble due to the lack of But the importance of legacy systems cannot be undermined to be scrapped completely and too costly to Organizations have to make a pragmatic assessment of legacy systems to choose the centric evolution of legacy usiness value by providing consistency and improving overall quality. Information systems are now based on integration of existing components that have to cooperate based application. The EAI (Enterprise Application Integration) domain provides integration models and techniques for assembling various software applications in a realistic way. EAI architecture defines the elements that
  • 10. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 10 compose the system and their interaction. The evolution support and the inconsistency between design and implementation are the major issues addressed by designing and building COTS-based systems [6]. To maintain the consistency between the architecture and the implementation, architecture-centric evolution approach is used. 4.4 Architecture-centric evolution process for component-based software Component-based software engineering (CBSE) emerged as a reuse-based approach to software development. It promotes an approach to define, implement and integrate or compose loosely coupled independent components into systems [7]. A new component role can be required to add to cope with new requirements. The specification of software architecture will also be required to evolve to meet new requirements. Architecture-centric evolution process provides a controlled support for component-based software evolution that prevents architecture drift and erosion [8]. 5. POTENTIAL RESEARCH AREAS 5.1 Architecture-centric evolution process for modern development methodologies: RAD, Agile and Extreme Programming Rapid Application Development (RAD) is a modern software development methodology that uses nominal planning in support of rapid prototyping. There can be real difficulties with this approach. Without a specification it may be difficult to validate the system. Frequent changes have a tendency to corrupt software structure and it makes it more expensive to change for meeting new requirements. The integration of Agile approaches and software architecture is possible but it requires that professionals from both fields work together to overcome evident challenges in this field and should emphasize on the need of research on integrating these two paradigms. [9] 5.2 Developing new metrics and approaches supporting Architecture-centric evolution process Different metrics and patterns can be applied for the software evolution management. New metrics and approaches could be used in the architecture-centric evolution process for assuring the quality of a software system not only in the software design phase but also throughout the software development life cycle. This could be done by calculating a variety of design metrics from the system architecture and reporting prospective quality harms to the designers and developers. This could assist in improving the software quality and minimizing the risk of architectural decay. 5.3 Tools that maintain and impose Architecture-centric evolution process The automatic tool support for Architecture-centric evolution process could make it more effective and less time consuming. Consistency checking and architecture assessment could be done effectively and easily by using efficient tools. The tool support could be provided for automatically detecting the architectural changes and apply them in the implementation environment. This could minimize the time and effort for software evolution. 6. CONCLUSION This paper has described that architecture plays an important role in improving software quality and provides a solid basis for software evolution. The paper has emphasized on the importance of early and rapid architecture evolution for minimizing the risk of architectural decay. This paper
  • 11. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 11 has defined that how software architecture illustrates a system’s structure and global properties and leads the system evolution. This paper has proposed the Process Model for Architecture- Centric Evolution for improving the quality of software systems through maintaining consistency between the architecture and implementation. The paper has argued that the proposed approach increases architecture awareness of developers which assists in minimizing the risk of Architectural Decay. In the proposed approach consistency check has been performed before and after the change implementation. The proposed process model includes the four fundamental activities; Evolution Analysis and Validation, Architecture Evolution, Change Implementation and Architecture Assessment. The Evolution Analysis and Validation stage of this model examines the impact of change and checks its consistency in architecture description. It also analyses and validates the new requirements that reflect the system changes. Architecture Evolution modifies the architecture description according to requested changes. Change Implementation modifies the system specification and implements it in the implementation environment to reflect the changes. Finally, the Architecture Assessment stage evaluates the implemented architecture which assists in identifying the risk of architecture’s quality decay and inconsistencies between the architecture and the implementation. REFERENCES [1]. Ilian Pashov, “Feature-Based Methodology for Supporting Architecture Refactoring and Maintenance of Long-Life Software Systems”, PhD thesis, TU Ilmenau. [2]. Rami Bahsoon and Wolfgang Emmerich, “Architectural Stability and Middleware: An Architecture- Centric Evolution Perspective”, workshop on Architecture-Centric Evolution 2006. [3]. “Architecture-Centric Evolution: New Issues and Trends”, Report on the Workshop ACE at ECOOP- 2006 [4]. Matthias Biehl and Welf Löwe, “Automated Architecture Consistency Checking for Model Driven Software Development”, Proceedings of the 5th International Conference on the Quality of Software Architectures: Architectures for Adaptive Software Systems, 2009. [5]. Jacek Rosik, Jim Buckley, Muhammad Ali Babar, “Design Requirements for an Architecture Consistency Tool”, in Proceedings of the 21st Annual Psychology of Programming Interest Group Conference, June 2009. [6]. Frédéric Pourraz, Hervé Verjus, “An architecture-centric approach for managing the evolution of EAI services-oriented Architecture”, in Proceedings of the Eighth International Conference on Enterprise Information Systems Databases and Information Systems Integration, 2006. [7]. I. Sommerville, “Software Engineering”, 8th ed. Addison Wesley, 2006. [8]. HY Zhang, Christelle Urtado, Sylvain Vauttier, “Architecture-centric development and evolution processes for component-based software”, in Proceedings of SEKE'2010. [9]. Babar Ali M., and A. Pekka, “Architecture-Centric method and agile approaches”, 10th international conference on agile processes, Dec, 2009.
  • 12. International Journal of Computer Science, Engineering and Applications (IJ Authors Humaira Farid Humaira Farid is a student of M.S Engineering, College of Electrical and Mechanical Engineering, National University of Sciences and Technology (NUST), Pakistan. Dr. Farooque Azam Dr. Farooque Azam is an Associate Professor Engineering, College of Electrical and Mechanical Engineering, National University of Sciences and Technology (NUST), Pakistan. from BUAA, Beijing, China. He did his College of Signals, National University of Sciences and Technology M. Aqeel Iqbal M. Aqeel Iqbal Is An Assistant Professor In The Faculty Of Engineering And Information Technology, Foundation University, Institute Of Engineering And Management Sciences, Rawalpindi, Pakistan. As A Researcher He Has A Deep Affiliation With The College of E & ME, Nati Technology (NUST), Pakistan. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.5, October 2011 Humaira Farid is a student of M.S (Computer Software Engineering) in the department of Computer Engineering, College of Electrical and Mechanical Engineering, National University of Sciences and Associate Professor in the Department of Computer Engineering, College of Electrical and Mechanical Engineering, National University of Sciences and Technology (NUST), Pakistan. He did his PhD in Software Engineering . He did his MS in Software Engineering from Military National University of Sciences and Technology (NUST), Pakistan. M. Aqeel Iqbal Is An Assistant Professor In The Department Of Software Engineering, Faculty Of Engineering And Information Technology, Foundation University, Institute Of Engineering And Management Sciences, Rawalpindi, Pakistan. As A Researcher He Has A Deep Affiliation With The College of E & ME, National University Of Sciences And CSEA) Vol.1, No.5, October 2011 12 in the department of Computer Engineering, College of Electrical and Mechanical Engineering, National University of Sciences and