Department of Computer Engineering
S E M I N A R
Architectural Viewpoints for Global Software Development
Buğra Mehmet Yıldız
Computer Engineering Department
In the last years, trend in software development has moved from single site development to globally distributed development. In this kind of development, which is also called "global" or "distributed", there are a number of teams working on different sites that are distributed geographically across different places in the world. These teams work not only on software implementation but also on different areas of software business, such as business/marketing, maintenance and testing. The whole development may be governed by just one company who has many centers in different countries as well as subcontractors can be hired for sharing work weight. Non-commercial open source development groups and organizations can also be classified as Global Software Development (GSD) teams.
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 meta-model 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.
DATE: 5 September, 2011, Monday @ 14:00