You are on page 1of 5

Software Architecture and Requirements: A

Systematic Literature Review


Dur-e-Benish Batool1, Yasir Hafeez Molta2, Amber Sarwar3, Mateen Ahmed Abbasi 4, Javeria Jabeen 5

PMAS-Arid Agriculture University,


Rawalpindi, Pakistan
benimalik@rocketmail.com1, Yasir@uaar.edu.pk2, ambersarwar@hotmail.com3,
Mateenabbasi@msn.com4, javeria.jabeen@yahoo.com

Abstract- Research in software architecture (SA) inconsistent requirements have been recognized as
can be seen in two perspectives: a traditional and the major cause of software errors and failure [19]
modern one. Software architecture is represented [23]. Empirical studies have suggested that to fix
using graphical diagrams (Models, Frameworks) requirements errors early in the development
of the system, Architecture Description process is very cost effective [6]. Similarly,
Languages, Ontology. The main focus of this architecture business cycle proposed by Bass et al.
paper is to know about the software architecture [20] defines different factors which influence
and to find out the strength of evidence in software architecture, i.e. architect’s experience,
empirical work reported within literature. The stakeholders, developing organization and technical
outcome of this systematic literature review will environment. In contract, application architecture
be useful for researchers and practitioners and has considerable effects on the quality factors such
this SLR also includes widely used tools, models, as performance, reliability, maintainability etc. [22].
and techniques used in SA; software architecture
challenges/Issues widely reported; the SA areas This paper is planned as follows. Section II gives the
which are under major consideration; the SA Background and motivation. Section III describe the
areas that require sufficient attention. In the end research methodology (SLR), Section IV illustrate
we also provide information model regarding conclusion. Finally, we summarize the paper and
requirements and architecture, which handles discuss the future work.
portability and contextual issues regarding II. BACKGROUND AND MOTIVATION
platform dependency. Main purpose of
information model is to facilitate practitioners This section provides a brief overview of software
for achieving traceability between requirements requirements and software architecture, which plays
and architecture. the central role in address software evolution
challenge. It also explains the interplay between
Keywords: Systematic literature review; software requirements and architecture, their traceability and
architecture; Ontology; Architecture description synchronization [10]. The IEEE definition of SA is
languages. “The fundamental organization of a system
I. INTRODUCTION embodied in its components, their relationships to
each other, and to the environment, and the
Software architecture is defined as the structure or principles guiding its design and evolution”. The
blueprints of the system, which is made up of purpose of embedding software architectures is as
software components, connectors, and properties of follows:
those components which are extremely visible, and
making relationships among them visible [17][6]. 1. Blue-print which outlines a design for the
The field of software architecture which is software of a system.
considered as a subfield of software engineering is 2. Roadmap which allows to plan ahead the
now about two decades old. In recent years, there has evolution of the software of a system, and
been growing awareness towards the documenting
value of architecture rather than just building 3. Supports a software architect to align the
architecture, but also focus on why and how software with a company’s long-term business
decisions of architecture are taken [22][6][21]. strategy.
Architecture of a software system has to ensure that
4. Communication vehicle which enables
design is able to support all requirements as well as
different stakeholders to communicate about
able to incorporate any changes requested by
customers and stakeholders. Also incomplete or
the major decisions in order to steer and III. RESERCH METHODOLOGY
influence the software of a system.
This paper describes the SLR for software
5. Quality predictor which provides an early architecture in the domain of web applications.
indicator of the quality of a software system. Systematic reviews aim to provide the means for
carrying out literature reviews that are thorough and
Software architecture typically plays an important unbiased, such that their results are of scientific
role and act as a bridge between requirements and value. Initially, SLR is evidence base paradigm.
implementation [14] [20]. Vinay Krishna describe Many steps were defined according to that view
the architecture roles ,configuration of architecture point. B.Kitchenham customized those steps and
and also describe the rate of failure of project design provided guidelines how to use SLR in Software
project and also suggests some activities that are Engineering .Kitchenham defines SLR as: “A
require to be incorporate in the architecture and systematic literature review is a means of
design in order to deal with changes in requirements identifying, evaluating and interpreting all available
related to the business and change of technology to research relevant to a particular research question, or
keep away from such failures [19][3] topic area, or phenomenon of interest.”
According to Weihang Wu et al. Architectural a. Protocol Development
design of the system is very useful and important
activity, but the relation to the requirements is At the start we performed some important activities
limited. [23] It is observe that goal orientation is defined by the Kitchenham. Research questions
progressively known process for gathering, were specified. Search strategy, inclusion/exclusion
modelling, and specifying and analysing criteria, data extraction and data synthesis were
requirements of the software. But how the goal decided. The aim of this review is to answer the
models are related to architectural models are not research questions related to our study.
completely clear yet [15][8]. Architecture
frameworks are the method used in the modelling of b. Research Question
architecture. [4] RQ1. What are the challenges/ issues of software
There are many other recently used architecture architecture in web applications?
frameworks Model driven architecture (Daniel RQ2. What are the models used for software
Perovich et al. 2009), service oriented architecture architecture?
(Mohammad Hadi Valipour et al. 2009), i* frame
work, Viewpoint-based Test Architecture Design RQ3. Role of behavioural characteristics of software
(Yasuharu NISHI, 2012), STREAM-ADD (Diego architecture in web applications?
Dermeval et al 2012) extension of STREAM. [6, 14,
RQ4. How we can deal Requirements and
24, 7, 1] and lot of issues in area of software
architecture with respect to rapidly changes in web
architecture [5, 7]. The field of software architecture
applications?
which is considered as a subfield of software
engineering is now about two decades old. During c. Search Strategy
this period a number of software Architecture
Description Languages (ADLs) emerged and We identified Major/Key Term
vanished. But none of the ADLs became much
x Key search terms were derived from research
popular amongst the practitioners except a few, that
questions by identifying population,
too only in a specific domain. Supporting and
intervention and comparison
understanding the relation between the requirements
and architecture is challenging activity in software x Synonyms and alternative meanings were found
engineering field. [9] Problem is focus on the for key terms; also substitute terms used in
distinction between requirement and architecture literature were considered.
can be arbitrary drawn. [20]
x Then the Boolean AND was used to connect
Software architecture covers a large, discontinuous two key terms in the search strings and Boolean
design space. Currently software architects try to OR to allow synonyms and alternatives.
solve the problem manually, which lead to
suboptimal designs and other issues like time 1. Key Terms
consuming etc. [5]
Software architecture, Issues, Models, Behavioural
Characteristics, Web applications
2. Alternative and synonyms e. Exclusion Criteria

(Software Architecture OR SA OR Architecture of x The articles which are not defined as


software OR Architecture, OR Software architecture reliable (such as web pages) will not
models) (Hurdles OR Issues OR barriers OR included
obstacles OR “risk analysis” OR “critical factors OR
Challenges) (Models OR Framework OR Diagram x Those studies were excluded that were
OR Flow of architecture OR Design OR mock-up based on personal expert opinion.
OR Prototype) (Behavioural Characteristics OR
x Literature surveys and books were
Architecture Behaviour OR web application
excluded.
Behaviour).
f. Selecting Primary Sources
3. Integrating Boolean <AND> and <OR>
Initial selection was based on reading the title and
(Software Architecture OR SA OR Architecture of
abstract of the published paper. Only those studies
software OR Architecture, OR Software architecture
were excluded that are not relevant to our research
models) AND (Issues OR barriers OR barrier OR
question. After removing duplicates
obstacles OR “risk analysis” OR “critical factors OR
inclusion/exclusion criteria were applied. Full texts
hurdle).
of those papers were read carefully that were not
(Software Architecture OR SA OR Architecture of clearly disqualified from inclusion/exclusion
software OR Architecture, OR Software architecture criteria.
models) AND (Models OR Framework OR Diagram
g. Quality Assessment
OR Flow of architecture OR Design OR mock-up
OR Prototype) AND (Behavioural Characteristics Our quality checklist is composed of two parts; first
OR Architecture Behaviour OR web application part contains generic quality criteria that are applied
Behaviour). on all empirical studies. Second part is specific for
each study type.
4. Resources to be searched
h. Data Extraction
Following databases were used for search due to
ease of access in our institution and also authorized We have created two forms: one for gathering
by HEC (Higher Education Commission) Pakistan. general information about second is for data
IEEE Explore, ACM Digital Library, Science Direct extraction for synthesis. This from will be used to
and goggle scholar. extract information like study design methodology,
setting of study, focus on software architecture area,
5. Search Constraints and Validation
frameworks and models for software architecture,
Search is applied on entire range of available SA challenges and some more.
published studies related to our research questions
Table 1 RESULTS AGAINST RESEARCH
and we did not put any range restriction on the
search. Total Related Shortliste
d
d. Study selection criteria OR Inclusion
criteria RQ1 239 20 5
x Studies must have been published in peer RQ2 509 123 11
reviewed journals and conference.
RQ3 107 32 5
x Wikipedia material is not allowed to select.
RQ4 145 20 7
x Read the keywords, title and abstract from
the papers found, exclude those which are
not related to the research questions.

x Multiple studies can be reported in one


paper; if any of them did not stand to our
inclusion criteria then only that study was
excluded.
j. Information Model

Information model will not only help to understand


the whole process from requirements to architecture
but also manage change on system, process and
artefact level. Figure 2 shows the information
model, the model is based on the findings from
literature.

IV. CONCLUSION AND FUTURE WORK

As a result of this SLR we will come to know about


the critical barriers and strength of Software
architecture reported in SA literature and its relation
with the requirements. It also shows the behavioural
characteristics of software architecture in web
Figure 1 FILTRATION STEPS applications. These outputs will be very helpful for
other researchers and practitioners. As software
i. Data synthesis architecture has become very critical field but the
existing SLRs in Software architecture are very
We extract the required data from the studies related
limited and explain the empirical work for some
to our research questions as shown in below table 2.
Specific domain/area. The overall picture is not clear
Table 2 STUDIES AGAINST THE RESEARCH
yet. This step will be very useful for researchers in
RESEARCH REFERENCE knowing the exact empirical work done in areas of
Software architecture and which area is being
QUESTION neglected due to lack of consideration. Web
applications are evolved frequently. The conceptual
RQ1 [R3,R5,R8,R19,R22]
differences are exist between what to do
RQ2 [R1,,R3,R4,R5,R7,R12,R10,R12 (requirements) and how to do it (architecture,
, design, and code) constitutes a gap. This gap has
been often observed and we find that as the
R20,R21,R23, R24,] requirements changed there is need to change
complete architecture because requirements are
RQ3 [R2,R21,R22, R23,]
frozen because almost all existing models are based
RQ4 [R3,R13,R15,R16,R17,R20,R23 on waterfall model. There is a need an architecture
] framework that must be welcome the change, stable,
and adaptable, in the presence of continuously
changing requirements and increases the reusability.

REFERENCES

1. Martens, H. Koziolek, S. Becker, and R.


Reussner, “Automatically improve software
architecture models for performance, reliability,
and cost using evolutionary algorithms,” 2010.

2. Bessam, “Multi-view Meta-modeling of


Software Architecture Behaviour,” 2009.

3. Egyed and M. Del Rey, “Refinement and


Evolution Issues in Bridging Requirements and
Architecture – The CBSP Approach,” 2001.

4. Tang and C. Dsto, “A Comparative Analysis of


Figure 2 Information Model
Architecture Frameworks.”

5. Boehm, “Software Architectures: Critical


Success Factors and Cost Drivers” 2008.
6. Perovich, M. C. Bastarrica, and C. Rojas, 20. S. Management, “Weaving Together
“Model-Driven approach to Software Requirements and Architectures,” March, 2001.
Architecture design,” May 2009.
21. U. van Heesch, P. Avgeriou, and R. Hilliard, “A
7. Dermeval, J. Pimentel, C. Silva, J. Castro, E. documentation framework for architecture
Santos, G. Guedes, M. Lucena, and A. decisions,” Apr. 2012.
Finkelstein, “STREAM-ADD - Supporting the
Documentation of Architectural Design 22. V. Krishna, “Software Architecture for Large
Decisions in an Architecture Derivation Critical Applications,” 2009
Process,” 2012. 23. W. Wu, and T. Kelly “Deriving Safety
8. Garlan, and, D. Perry “Introduction to the Requirements as part of System Architecture
Special Issue on Software Architecture,” 2009. Definition,” 2010.

9. Gorton, I, “Essential software Y. NISHI, “Viewpoint-based Test Architecture


architecture,”2006. Design,” 2012.

10. M. Barnes and D. Garlan, “Challenges in


developing a software architecture evolution
tool as a plug-in,” 2013.

11. R. D. Bastos and J. F. B. Castro, “Integration


between Organizational Requirements and
Architecture,”

12. H. Valipour, B. Amirzafari, K. N. Maleki, and


N. Daneshpour, “A brief survey of software
architecture concepts and service oriented
architecture,” 2009 .

13. M. S, Y. Desphande, S. Hansen, and A. Ginige,


“Web Engineering: A New Discipline for
Development of Web- based Systems,” 2001.

14. Ernst, S. Reges, D. Notkin, R. Mercer, and R.


Boswell, “WEB APP ARCHITECTURES : N-
tier Architectures.”

15. Koch and O. Pastor, “Requirements engineering


for web applications – a comparative study,”
vol. 2, 2004.

16. Bencomo, P. Grace, and P. Sawyer,


“Revisiting the Relationship between Software
Architecture and Requirements : the case of
Dynamically Adaptive Systems.”

17. R. C. de Boer and H. van Vliet, “On the


similarity between requirements and
architecture,” Mar. 2009.

18. R. G. P. IV, “Modeling Behavioural Patterns of


Concurrent Software Architectures Using Petri
Nets,” 2004.

19. S. Anwar, M. Ramzan, A. Rauf, and A. A.


Shahid, “Software Maintenance Prediction
Using Weighted Scenarios: An Architecture
Perspective,” 2010.

You might also like