Use este identificador para citar ou linkar para este item: https://repositorio.ufrn.br/jspui/handle/123456789/22488
Título: Um estudo de avaliação e documentação de arquiteturas de software na indústria
Autor(es): Silva, Júlio César Leôncio da
Palavras-chave: Arquitetura de software;Avaliação arquitetural;Desempenho;Documentação arquitetural;Requisitos não-funcionais
Data do documento: 25-Ago-2016
Citação: SILVA, Júlio César Leôncio da. Um estudo de avaliação e documentação de arquiteturas de software na indústria. 2016. 75f. Dissertação (Mestrado Profissional em Engenharia de Software) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2016.
Resumo: Usually, the software architect responsible for the software architecture definition and evaluation cannot prioritize which non-functional requirements must be prioritized during the development of their systems. Because of that, failures may happen during the system execution requiring more time and resources to fix them. In many cases, due to the inexperience of architects or the need for rapid deployment of a system, the non-functional requirements are not considered in the software architecture definition phase and its documentation is absent or incomplete, making the software architecture difficult to be understood, modified and envolved by other team members. This work investigates the main strategies and techniques used to document software architectures and to evaluate non-functional requirements by existing software development companies. Our study had the participation of 17 software architects to answer the survey. Our work identified that performance and reliability non-functional requirements are the most important to be addressed by the architecture and even with the existence of some approaches to evaluate architectures, they do not seem to be disseminated and used among architects. The architects judged that in a performance analysis of a software system the most important information to be displayed should be the response time of the system scenarios. Regarding architecture documentation, most interviewees stated that they used some kind of documentation. The use of class diagrams and component diagrams are the most common forms of documentation used by architects. Besides that, we propose a guide to help software architects in the task of achieving such non-functional requirements during the evolution of software systems. The proposed guide prioritizes the non-functional requirement of performance. The logs analysis approach to identify priority scenarios in a performance assessment was pointed out as one of the key contributions of the guide and could facilitate the identification and comparison of the versions of their systems.
metadata.dc.description.resumo: Muitas vezes o arquiteto de software responsável pela definição e avaliação da arquitetura de software não consegue estabelecer quais requisitos não-funcionais devem ser priorizados no desenvolvimento de seus sistemas. Com isso, falhas podem ocorrer durante a execução do sistema demandando mais tempo e recursos para que seja corrigido. Em muitos casos, com a inexperiência dos arquitetos ou a necessidade de disponibilização rápida de um sistema, os requisitos não-funcionais não são considerados durante a definição da arquitetura de software e também não é feita a devida documentação da arquitetura, tornando difícil o acesso e entendimento da arquitetura pelos demais integrantes da equipe e dificultando a manutenção de componentes/módulos da arquitetura e respectivos relacionamentos. Este trabalho buscou levantar junto às empresas de software, públicas e privadas, quais as principais estratégias utilizadas na definição e avaliação da arquitetura, principalmente na obtenção e cumprimento dos requisitos não-funcionais, e documentação arquitetural. Nosso estudo contou com a participação de 17 arquitetos de software para responder o questionário proposto. Com a realização do questionário identificamos que os requisitos não-funcionais de desempenho e confiabilidade são os mais importantes a serem atendidos pela arquitetura e que mesmo com a existência de algumas abordagens para a avaliação de arquiteturas, elas não parecem estar bem difundidas e/ou utilizadas entre os arquitetos. Ao tratar especificamente o requisito de desempenho, os arquitetos julgaram que em uma análise de desempenho de um sistema de software a informação mais importante a ser exibida deve ser o tempo de resposta das requisições a um determinado cenário, acompanhado do tempo de execução dos métodos que fazem parte desse cenário. Em relação à documentação arquitetural, a maioria dos entrevistados afirmaram utilizar, no mínimo, algum tipo de documentação no momento de criação de um sistema de software, destacando-se a utilização de diagramas de classe e de componentes como as formas mais comuns de documentação utilizadas pelos arquitetos. Além disso, o trabalho propõe a utilização de um guia que busca auxiliar arquitetos de software na atividade de avaliação do cumprimento dos requisitos não-funcionais pela arquitetura durante a evolução do sistema, priorizando o requisito não-funcional de desempenho. Ao avaliar a aplicação do guia, os entrevistados apontaram a abordagem de análise de logs para identificar os cenários prioritários numa avaliação de desempenho como uma das principais contribuições do guia e que poderia facilitar na identificação e comparação das versões dos seus sistemas.
URI: https://repositorio.ufrn.br/jspui/handle/123456789/22488
Aparece nas coleções:MPES - Mestrado Profissional em Engenharia de Software

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
JulioCesarLeoncioDaSilva_DISSERT.pdf1,39 MBAdobe PDFThumbnail
Visualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.