5,044 research outputs found
Analysing the Contribution of Coupling Metrics for the Development and Management of Process Architectures
Currently, the development and modeling of enterprise architectures is an intensively discussed topic in both science and practice. Process architectures represent a core element in recent enterprise architecture frameworks. With process models being a central means for communicating and documenting the process architectures, both their quality and understandability are decisive. However, the concept of process model quality is still not fully understood. The recent development has highlighted the role of coupling in models. Coupling is expected to represent an important dimension of quality for conceptual models. Still, this perspective is hardly understood and its definition vague. Therefore, this work collects diverse coupling interpretations in the field of process modelling and integrates them to a common and precise definition. Once introduced and formally specified, the metrics serve as a basis for a discussion on coupling and on how the future development in respect to coupling could look like. The main findings are that currently metrics evaluate either the documentation of the process architecture regarding its understandability or they contribute to the individual applications of process architectures. These findings support practitioners selecting metrics for a particular task and scientists to identify research gaps for further development
Coordination Implications of Software Coupling in Open Source Projects
The effect of software coupling on the quality of software has been studied quite widely since the seminal paper on software modularity by Parnas [1]. However, the effect of the increase in software coupling on the coordination of the developers has not been researched as much. In commercial software development environments there normally are coordination mechanisms in place to manage the coordination requirements due to software dependencies. But, in the case of Open Source software such coordination mechanisms are harder to implement, as the developers tend to rely solely on electronic means of communication. Hence, an understanding of the changing coordination requirements is essential to the management of an Open Source project. In this paper we study the effect of changes in software coupling on the coordination requirements in a case study of a popular Open Source project called JBoss
Assessing architectural evolution: A case study
This is the post-print version of the Article. The official published can be accessed from the link below - Copyright @ 2011 SpringerThis paper proposes to use a historical perspective on generic laws, principles,
and guidelines, like Lehmanâs software evolution laws and Martinâs design principles, in order to achieve a multi-faceted process and structural assessment of a systemâs architectural evolution. We present a simple structural model with associated historical metrics and
visualizations that could form part of an architectâs dashboard. We perform such an assessment for the Eclipse SDK, as a case study of a large, complex, and long-lived system for which sustained effective architectural evolution is paramount. The twofold aim of checking generic principles on a well-know system is, on the one hand,
to see whether there are certain lessons that could be learned for best practice of architectural evolution, and on the other hand to get more insights about the applicability of such principles. We find that while the Eclipse SDK does follow several of the laws and principles, there are some deviations, and we discuss areas of architectural improvement and limitations of the assessment approach
Microservice Transition and its Granularity Problem: A Systematic Mapping Study
Microservices have gained wide recognition and acceptance in software
industries as an emerging architectural style for autonomic, scalable, and more
reliable computing. The transition to microservices has been highly motivated
by the need for better alignment of technical design decisions with improving
value potentials of architectures. Despite microservices' popularity, research
still lacks disciplined understanding of transition and consensus on the
principles and activities underlying "micro-ing" architectures. In this paper,
we report on a systematic mapping study that consolidates various views,
approaches and activities that commonly assist in the transition to
microservices. The study aims to provide a better understanding of the
transition; it also contributes a working definition of the transition and
technical activities underlying it. We term the transition and technical
activities leading to microservice architectures as microservitization. We then
shed light on a fundamental problem of microservitization: microservice
granularity and reasoning about its adaptation as first-class entities. This
study reviews state-of-the-art and -practice related to reasoning about
microservice granularity; it reviews modelling approaches, aspects considered,
guidelines and processes used to reason about microservice granularity. This
study identifies opportunities for future research and development related to
reasoning about microservice granularity.Comment: 36 pages including references, 6 figures, and 3 table
A goal-oriented approach for the generation and evaluation of alternative architectures
There is a recognized gap between requirements and architectures. There is also evidence that architecture evaluation, when done at the early phases of the development lifecycle, is an effective way to ensure the quality attributes of the final system. As quality attributes may be satisfied at a different extent by different alternative architectural solutions, an exploration and evaluation of alternatives is often needed. In order to address this issue at the requirements level, we propose to model architectures using the i* framework, a goal-oriented modelling language that allows to represent the functional and non-functional requirements of an architecture using actors and dependencies instead of components and connectors. Once the architectures are modelled, we propose guidelines for the generation of alternative architectures based upon existing architectural patterns, and for the definition of structural metrics for the evaluation of the resulting alternative models. The applicability of the approach is shown with the Home Service Robot case study.Peer ReviewedPostprint (author's final draft
Design Performance Measurement in the Construction Sector: A Pilot Study
This paper examines the role and deployment of design performance measurements (DPMs) in the construction industry, focusing on the consulting engineering sector, the design 'heart' of construction. Compared with manufacturing, there has been very little research on the use of DPMs in construction, and firms often struggle to find appropriate performance indicators. Using results from structured questionnaires, the paper shows that the few DPMs which do exist focus mainly on cost. Other measures are needed to address quality, innovative performance and client satisfaction. In contrast to manufacturing, DPMs in construction also need to address the project-based, multi-firm and non-routine nature of construction design, as well as the separation of design from manufacturing, build and operation. Interviews and workshops with industrialists were used to identify recent DPM practices in construction and combine these with lessons from other sectors. The resulting DPM tools provide guidance on how to: (a) integrate design into wider business processes in construction; (b) identify key design indicators, at both project and firm level; and (c) use DPMs to provide a balanced scorecard for design performance.performance indicators, design integration, design indicators, construction industry
Identification of microservices from monolithic applications through topic modelling
Dissertação de mestrado em Informatics EngineeringMicroservices emerged as one of the most popular architectural patterns in the recent
years given the increased need to scale, grow and flexibilize software projects accompanied
by the growth in cloud computing and DevOps. Many software applications are being
submitted to a process of migration from its monolithic architecture to a more modular,
scalable and flexible architecture of microservices. This process is slow and, depending on
the projectâs complexity, it may take months or even years to complete.
This dissertation proposes a new approach on microservices identification by resorting
to topic modelling in order to identify services according to domain terms. This approach
in combination with clustering techniques produces a set of services based on the original
software. The proposed methodology is implemented as an open-source tool for exploration
of monolithic architectures and identification of microservices. An extensive quantitative
analysis using the state of the art metrics on independence of functionality and modularity
of services was conducted on 200 open-source projects collected from GitHub. Cohesion at
message and domain level metrics showed medians of roughly 0.6. Interfaces per service
exhibited a median of 1.5 with a compact interquartile range. Structural and conceptual
modularity revealed medians of 0.2 and 0.4 respectively. Further analysis to understand if
the methodology works better for smaller/larger projects revealed an overall stability and
similar performance across metrics.
Our first results are positive demonstrating beneficial identification of services due to
overall metricsâ results.Os microserviços emergiram como um dos padrĂ”es arquiteturais mais populares na
atualidade dado o aumento da necessidade em escalar, crescer e flexibilizar projetos de
software, acompanhados da crescente da computação na cloud e DevOps. Muitas aplicaçÔes
estĂŁo a ser submetidas a processos de migração de uma arquitetura monolĂtica para uma
arquitetura mais modular, escalåvel e flexivel de microserviços. Este processo de migração é
lento, e dependendo da complexidade do projeto, poderĂĄ levar vĂĄrios meses ou mesmo anos
a completar.
Esta dissertação propÔe uma nova abordagem na identificação de microserviços recorrendo
a modelação de tĂłpicos de forma a identificar serviços de acordo com termos de domĂnio de
um projeto de software. Esta abordagem em combinação com técnicas de clustering produz
um conjunto de serviços baseado no projeto de software original. A metodologia proposta é
implementada como uma ferramenta open-source para exploração de arquiteturas monolĂticas
e identificação de microserviços. Uma anålise quantitativa extensa recorrendo a métricas
de independĂȘncia de funcionalidade e modularidade de serviços foi conduzida em 200
aplicaçÔes open-source recolhidas do GitHub. MĂ©tricas de coesĂŁo ao nĂvel da mensagem
e domĂnio revelaram medianas em torno de 0.6. Interfaces por serviço demonstraram
uma mediana de 1.5 com um intervalo interquartil compacto. MĂ©tricas de modularidade
estrutural e conceptual revelaram medianas de 0.2 e 0.4 respetivamente. Uma anĂĄlise
mais aprofundada para tentar perceber se a metodologia funciona melhor para projetos de
diferentes dimensĂ”es/caracterĂsticas revelaram uma estabilidade geral do funcionamento do
método.
Os primeiros resultados são positivos demonstrando identificaçÔes de serviços benéficos
tendo em conta que os valores das métricas são de uma forma global positivos e promissores
- âŠ