Architectural viewpoints for global software development
Author
Yıldız, Buğra Mehmet
Advisor
Tekinerdoğan, Bedir
Date
2011Publisher
Bilkent University
Language
English
Type
ThesisItem Usage Stats
123
views
views
91
downloads
downloads
Abstract
Current trends in software engineering show that large software projects have
to operate with teams that are working in different locations. The reason behind
this globalization of software development stems from clear business goals such
as reducing cost of development, solving local IT skills shortage, and supporting
outsourcing and offshoring. There is ample reason that these factors will be even
stronger in the future, and as such we will face a further globalization of
software development. To cope with these problems, the concept of Global
Software Development (GSD) is introduced. GSD is a relatively new concept in
software development that can be considered as the coordinated activity of
software development that is not localized and central but geographically
distributed.
Designing a proper architecture of GSD is important to meet the requirements
for the communication, coordination and control of distributed GSD teams.
However, an analysis of the literature on GSD shows that research in this area
has been generally focused on social issues focusing on some concerns such as
intercultural communication problems and coordination. It is generally accepted
that software architecture design plays a fundamental role in coping with the
inherent difficulties of the development of large-scale and complex software.
Unfortunately, in both GSD and software architecture design communities, the
architecture design of GSD systems has not been explicitly addressed. This study aims to provide a contribution in this context by explicitly
focusing on the architecture design of GSD. A common practice is to model and
document different architectural views for describing the architecture according
to the stakeholders’ concerns. Having multiple views helps to separate the
concerns and as such support the modeling, understanding, communication and
analysis of the software architecture for different stakeholders. Architectural
views conform to viewpoints that represent the conventions for constructing and
using a view. In this study, we propose seven architectural viewpoints which
have been specifically defined for modeling GSD architecture. To define
architecture viewpoints, we first describe a general GSD meta-model. The metamodel
has been derived after a thorough analysis of the related GSD literature.
The meta-model consists of six different parts which form the abstract syntax of
the architectural viewpoints. After the meta-model derivation, we also suggest
textual and visual concrete syntaxes for the meta-model in order to complete
viewpoint definition.
Supporting the architect in deriving architectural views based on the
corresponding architectural viewpoints, we present a question framework. The
question framework consists of six sets of questions related to the key concerns
of a GSD project. Based on the answers given to the questions in this
framework, the GSD application architecture can be derived by applying
predefined design actions in the question framework. We have developed the
tool called Global Architect which implements the question framework. Global
Architect takes as input the answers to the provided questions and subsequently
generates the textual architecture description of the required viewpoint. On its
turn, the textual description is used to generate the visual presentation of the
application architecture for the GSD project.
Keywords
Global Software DevelopmentArchitecture Modeling
Architectural Viewpoint
Question Framework
Model-Driven Development