2010KTH Publication Database DiVA (KTH Royal Institute of Technology)Open access

A Systematic Way to Develop the Software Architecture based on Architecture Vision

Muhammad Aamir Faried, Mustafa Ilyas

Open full text 0 citations

Abstract

In the software development life cycle, changes are inevitable. Designing the architecture of the software and writing the source code does not end the software life cycle. The software system evolves as changes in the environment and requirements are incorporated in the system. If these changes are not managed properly, the architecture of the software deteriorates and leads to architecture erosion. This study is an effort to address the problem of architecture erosion and to keep the software architecture live and up to date. In this study we propose a method to minimize or avoid architecture erosion. This method provides a systematic way to design the architecture of the software system. It is based on the concept of architecture vision that is the ideal representation of the architecture of the software in hand. This method treats architecture document and architecture design document as two completely different documents. Moreover this study presents an effort to establish a relationship between the implemented architecture of the system, the architecture design document and an architecture vision. The dynamic validation of the devised method shows that this method is suitable for medium to large scale projects that have several releases. All the activities of this method revolve around the efforts to keep the architecture of the software aligned with an architecture vision. The iterative nature of the method and synchronization of the implemented architecture with the architecture vision helps to detect and reduce architecture erosion. This method does not conflict with or replaces any development or management process or method (like RUP, agile, water fall etc), but exists parallel to them.

About this research paper

What this paper is about

In the software development life cycle, changes are inevitable. Designing the architecture of the software and writing the source code does not end the software life cycle. The software system evolves as changes in the environment and requirements are incorporated in the system. If these changes are not managed properly, the architecture of the software deteriorates and leads to architecture erosion. This study is an effort to address the problem of architecture erosion and to keep the software architecture live and up to date. In this study we propose a method to minimize or avoid architecture erosion. This method provides a systematic way to design the architecture of the software system. It is based on the concept of architecture vision that is the ideal representation of the architecture of the software in hand. This method treats architecture document and architecture design document as two completely different documents. Moreover this study presents an effort to establish a relationship between the implemented architecture of the system, the architecture design document and an architecture vision. The dynamic validation of the devised method shows that this method is suitable for medium to large scale projects that have several releases. All the activities of this method revolve around the efforts to keep the architecture of the software aligned with an architecture vision. The iterative nature of the method and synchronization of the implemented architecture with the architecture vision helps to detect and reduce architecture erosion. This method does not conflict with or replaces any development or management process or method (like RUP, agile, water fall etc), but exists parallel to them.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

In the software development life cycle, changes are inevitable. Designing the architecture of the software and writing the source code does not end the software life cycle. The software system evolves as changes in the environment and requirements are incorporated in the system. If these changes are not managed properly, the architecture of the software deteriorates and leads to architecture erosion. This study is an effort to address the problem of architecture erosion and to keep the software architecture live and up to date. In this study we propose a method to minimize or avoid architecture erosion. This method provides a systematic way to design the architecture of the software system. It is based on the concept of architecture vision that is the ideal representation of the architecture of the software in hand. This method treats architecture document and architecture design document as two completely different documents. Moreover this study presents an effort to establish a relationship between the implemented architecture of the system, the architecture design document and an architecture vision. The dynamic validation of the devised method shows that this method is suitable for medium to large scale projects that have several releases. All the activities of this method revolve around the efforts to keep the architecture of the software aligned with an architecture vision. The iterative nature of the method and synchronization of the implemented architecture with the architecture vision helps to detect and reduce architecture erosion. This method does not conflict with or replaces any development or management process or method (like RUP, agile, water fall etc), but exists parallel to them.

Key concepts: Reference architecture, Software architecture description, Resource-oriented architecture, Software architecture, Applications architecture, Space-based architecture, Database-centric architecture, Architecture tradeoff analysis method

Related papers

Back to paper searchBrowse research topicsOriginal source
A Systematic Way to Develop the Software Architecture based on Architecture Vision — Research Paper | ScholarLens