Spelling suggestions: "subject:"architectural metrics"" "subject:"aarchitectural metrics""
1 |
Software Architectural Metrics for the Scania Internet of Things Platform : From a Microservice PerspectivUlander, David January 2017 (has links)
There are limited tools to evaluate a microservice architecture and no common definition of how the architecture should be designed. Moreover, developing systems with microservices introduces additional complexity to the software architecture. That, together with the fact the systems are becoming more complex has led to a desire for architecture evaluation methods. In this thesis a set of quality attributes measured by structural metrics are used to evaluate Scania's IoT Offboard platform. By implementing a metrics evaluation program the quality of the software architecture can be improved. Also, metrics can assist developers and architects while they are becoming more efficient since they better understand how performance is measured, i.e. which quality attributes are the most important and how these are measured. For Scania's IoT Offboard platform the studied quality attributes are listed in decreasing importance: flexibility, reusability and understandability. All the microservices are loosely coupled in the platform, which results in a loosely coupled architecture. This indicates a flexible, reusable and understandable system, in terms of coupling. Furthermore, the architecture is decentralized, i.e. the system is unflexible and difficult to change. The other metrics were lacking a reference scale, hence they will act as a point of reference for future measurements as the architecture evolves. To improve the flexibility, reusability and understandability of the architecture the large microservices should be divided into several smaller microservices. Also aggregators should be utilized more to make the system more flexible.
|
2 |
Architectural metrics and evaluation for component based software systemsBhattacharya, Sutirth 21 April 2015 (has links)
Component based software engineering has been perceived to have immense reuse potential. This area has evoked wide interest and has led to considerable investment in research and development efforts. Most of these investigations have explored internal characteristics of software components such as correctness, reliability, modularity, interoperability, understandability, maintainability, readability, portability and generality for promoting reuse. But experience over the past decade and a half has demonstrated that the usefulness of a component depends as much on the context into which it fits as it does on the internal characteristics of the component. Software architecture descriptions that take into account the requirements of the domain can be used to serve as this context. While the Perry, Wolf definition of software architecture has been widely acknowledged, a number of architectural description languages (ADL) have emerged that aim to capture various facets of a software, using varying degrees of formalism. There is currently no agreement towards a standard approach for documenting software architectures which would help define the vocabulary for architectural semantics. In spite of lack of any specification standards for components, Software Product Lines (SPL) and Commercial Off The Shelf (COTS) components do provide a rich supporting base for creating software architectures and promise significant improvements in the quality of software configurations that can be composed from pre-built components. However, further research is needed for evaluation of architectural merits of such component based configurations. In this research, we identify the key aspects of software that need to be specified to enable useful analysis at an architectural level. We also propose a set of metrics that enable objective evaluation of reusability potential. Architectural research has established that software architectural styles provide a way for achieving a desired coherence for component-based architectures. Different architectural styles enforce different quality attributes for a system. Thus, if the architectural style of an emergent system could be predicted, a person playing the role of a system integrator could make necessary changes to ensure that the quality attributes dictated by the system requirements were satisfied before the actual system is built and deployed, thus somewhat mitigating project risks. As part of this research, we propose a model for predicting architectural styles based on use cases that need to be satisfied by a system configuration and demonstrate how our approach can be used to determine stylistic conformance. We also propose objective methods for assessing architectural divergence, erosion and drift during system evolution and maintenance. / text
|
3 |
Uma Abordagem para Recomendação de Módulos para Projetos de Desenvolvimento Distribuído de Linhas de Produto de SoftwarePereira, Thaís Alves Burity 28 February 2011 (has links)
Made available in DSpace on 2015-05-14T12:36:28Z (GMT). No. of bitstreams: 1
arquivototal.pdf: 2198784 bytes, checksum: 572b347cf59107b757a2f48f47d938a2 (MD5)
Previous issue date: 2011-02-28 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Software Product Line (SPL) has been adopted by software industry in recent years, mainly
by promoting software reuse in a systematic and predictable way, and supporting product
development for global markets. Despite the benefits, SPL requires a high initial effort and
the involvement of domain experts, which are not always available in a local team. In such a
scenario, Global Software Development (GSD) approaches would be applied to find domain
experts and more qualified teams for SPL projects. Moreover, such work strategy reinforces
some of the benefits already offered by SPL approach, such as reducing development cost and
increasing product quality. Nonetheless, GSD approaches also present some obstacles, which
are mainly related to communication between dispersed development teams. Assuming that
dependencies between software components greatly influence the need for communication
between their respective development teams, in this work it is presented an approach to
identify candidates for modules to be developed in a (partially) independent manner by
geographically dispersed teams, in which a module is a clustering of components. To do so,
the approach defines: quantitative measures that describe the dependence between software
components in SPL projects; an algorithm based on metaheuristics for clustering components
into modules, dealing with clustering as an optimization problem; and a quantitative measure
that describe the dependencies between modules, which must be employed to guide the
allocation of the development teams to the modules. / Linhas de Produto de Software (LPS) tem ganhado bastante espaço na indústria de software
nos últimos anos, principalmente por promover o reuso de maneira sistemática e previsível, e
oferecer apoio ao desenvolvimento de produtos para mercados globais. No entanto, o
desenvolvimento de LPS exige das organizações grande investimento inicial e a participação
de profissionais qualificados, os quais nem sempre estão disponíveis localmente. Nesse
cenário, o Desenvolvimento Distribuído de Software (DDS) pode ser empregado para
encontrar especialistas do domínio e equipes mais qualificadas para o desenvolvimento de
LPS. Além disso, essa forma de trabalho reforça alguns dos benefícios já oferecidos por LPS,
tais como redução de custo de desenvolvimento e aumento da qualidade dos produtos. Apesar
disso, abordagens de DDS também têm suas limitações, relacionadas principalmente à
comunicação entre as equipes participantes de um mesmo projeto. Partindo da premissa de
que dependências entre componentes de software exercem grande influência sobre a
necessidade de comunicação entre suas respectivas equipes de desenvolvimento, neste
trabalho é apresentada uma abordagem para identificar candidatos à módulos para serem
desenvolvidos de forma (parcialmente) independente por equipes geograficamente dispersas,
sendo um módulo um agrupamento de componentes. Para tanto, a abordagem define: medidas
quantitativas que descrevem a dependência entre componentes de software em projetos de
LPS; um algoritmo baseado em metaheurísticas para agrupar componentes em módulos,
tratando o agrupamento como um problema de otimização; e uma medida quantitativa que
descreve as dependências entre módulos, que deve ser empregada para guiar a alocação das
equipes de desenvolvimento aos módulos.
|
Page generated in 0.0711 seconds