Browsing by Subject "Software architecture."
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Open Access Architectural viewpoints for global software development(2011) Yıldız, Buğra MehmetCurrent 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.Item Open Access Model-driven engineering of software architecture viewpoints(2012) Demirli, ElifA common practice in software architecture design is to apply so-called architectural views to design software architecture for the various stakeholder concerns. Architectural views are usually developed based on architectural viewpoints which define the conventions for constructing, interpreting and analyzing views. So far most architectural viewpoints seem to have been primarily used either to support the communication among stakeholders, or at the best to provide a blueprint for the detailed design. In this thesis, we provide a software language engineering approach to define viewpoints as domain specific languages. This enhances the formal precision of architectural viewpoints and leads to executable views that can be interpreted and analyzed by tools. We illustrate our approach for defining domain specific languages for the viewpoints of the Views and Beyond framework. The approach is implemented as an Eclipse plug-in, SAVE-Bench tool, which can be used to define different views based on the predefined software architecture viewpoints. The tool also supports automatic generation of architecture documentation from view models.