Um estudo de avaliação e documentação de arquiteturas de software na indústria

Detalhes bibliográficos
Autor(a) principal: Silva, Júlio César Leôncio da
Data de Publicação: 2016
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/jspui/handle/123456789/22488
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.
id UFRN_1e7a39ec2b0b14ba429147c0267f1068
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/22488
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Silva, Júlio César Leôncio dahttp://lattes.cnpq.br/6687140805305537http://lattes.cnpq.br/0189095897739979Pinto, Felipe Alves Pereirahttp://lattes.cnpq.br/6163607072712192Guerra, Eduardo Martinshttp://lattes.cnpq.br/3413978291577451Figueira Filho, Fernando Marqueshttp://lattes.cnpq.br/6874649375434646Kulesza, Uira2017-03-27T21:23:41Z2017-03-27T21:23:41Z2016-08-25SILVA, 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.https://repositorio.ufrn.br/jspui/handle/123456789/22488Muitas 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.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.porCNPQ::ENGENHARIAS: ENGENHARIA DE SOFTWAREArquitetura de softwareAvaliação arquiteturalDesempenhoDocumentação arquiteturalRequisitos não-funcionaisUm estudo de avaliação e documentação de arquiteturas de software na indústriainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisPROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWAREUFRNBrasilinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALJulioCesarLeoncioDaSilva_DISSERT.pdfJulioCesarLeoncioDaSilva_DISSERT.pdfapplication/pdf1423503https://repositorio.ufrn.br/bitstream/123456789/22488/1/JulioCesarLeoncioDaSilva_DISSERT.pdf2e2272cf3303d662e8c1db6e1b06e94eMD51TEXTJulioCesarLeoncioDaSilva_DISSERT.pdf.txtJulioCesarLeoncioDaSilva_DISSERT.pdf.txtExtracted texttext/plain134701https://repositorio.ufrn.br/bitstream/123456789/22488/4/JulioCesarLeoncioDaSilva_DISSERT.pdf.txtfdc74b7041f7d77f60444e748960c29aMD54THUMBNAILJulioCesarLeoncioDaSilva_DISSERT.pdf.jpgJulioCesarLeoncioDaSilva_DISSERT.pdf.jpgIM Thumbnailimage/jpeg5498https://repositorio.ufrn.br/bitstream/123456789/22488/5/JulioCesarLeoncioDaSilva_DISSERT.pdf.jpgbd4545f7e5931c1017d0683d8d01a3e4MD55123456789/224882017-11-02 17:53:48.433oai:https://repositorio.ufrn.br:123456789/22488Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2017-11-02T20:53:48Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Um estudo de avaliação e documentação de arquiteturas de software na indústria
title Um estudo de avaliação e documentação de arquiteturas de software na indústria
spellingShingle Um estudo de avaliação e documentação de arquiteturas de software na indústria
Silva, Júlio César Leôncio da
CNPQ::ENGENHARIAS: ENGENHARIA DE SOFTWARE
Arquitetura de software
Avaliação arquitetural
Desempenho
Documentação arquitetural
Requisitos não-funcionais
title_short Um estudo de avaliação e documentação de arquiteturas de software na indústria
title_full Um estudo de avaliação e documentação de arquiteturas de software na indústria
title_fullStr Um estudo de avaliação e documentação de arquiteturas de software na indústria
title_full_unstemmed Um estudo de avaliação e documentação de arquiteturas de software na indústria
title_sort Um estudo de avaliação e documentação de arquiteturas de software na indústria
author Silva, Júlio César Leôncio da
author_facet Silva, Júlio César Leôncio da
author_role author
dc.contributor.authorID.pt_BR.fl_str_mv
dc.contributor.authorLattes.none.fl_str_mv http://lattes.cnpq.br/6687140805305537
dc.contributor.advisorID.pt_BR.fl_str_mv
dc.contributor.advisorLattes.none.fl_str_mv http://lattes.cnpq.br/0189095897739979
dc.contributor.advisor-co1ID.pt_BR.fl_str_mv
dc.contributor.referees1.none.fl_str_mv Guerra, Eduardo Martins
dc.contributor.referees1ID.pt_BR.fl_str_mv
dc.contributor.referees1Lattes.none.fl_str_mv http://lattes.cnpq.br/3413978291577451
dc.contributor.referees2.none.fl_str_mv Figueira Filho, Fernando Marques
dc.contributor.referees2ID.pt_BR.fl_str_mv
dc.contributor.referees2Lattes.none.fl_str_mv http://lattes.cnpq.br/6874649375434646
dc.contributor.author.fl_str_mv Silva, Júlio César Leôncio da
dc.contributor.advisor-co1.fl_str_mv Pinto, Felipe Alves Pereira
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/6163607072712192
dc.contributor.advisor1.fl_str_mv Kulesza, Uira
contributor_str_mv Pinto, Felipe Alves Pereira
Kulesza, Uira
dc.subject.cnpq.fl_str_mv CNPQ::ENGENHARIAS: ENGENHARIA DE SOFTWARE
topic CNPQ::ENGENHARIAS: ENGENHARIA DE SOFTWARE
Arquitetura de software
Avaliação arquitetural
Desempenho
Documentação arquitetural
Requisitos não-funcionais
dc.subject.por.fl_str_mv Arquitetura de software
Avaliação arquitetural
Desempenho
Documentação arquitetural
Requisitos não-funcionais
description 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.
publishDate 2016
dc.date.issued.fl_str_mv 2016-08-25
dc.date.accessioned.fl_str_mv 2017-03-27T21:23:41Z
dc.date.available.fl_str_mv 2017-03-27T21:23:41Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/jspui/handle/123456789/22488
identifier_str_mv 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.
url https://repositorio.ufrn.br/jspui/handle/123456789/22488
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.program.fl_str_mv PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/22488/1/JulioCesarLeoncioDaSilva_DISSERT.pdf
https://repositorio.ufrn.br/bitstream/123456789/22488/4/JulioCesarLeoncioDaSilva_DISSERT.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/22488/5/JulioCesarLeoncioDaSilva_DISSERT.pdf.jpg
bitstream.checksum.fl_str_mv 2e2272cf3303d662e8c1db6e1b06e94e
fdc74b7041f7d77f60444e748960c29a
bd4545f7e5931c1017d0683d8d01a3e4
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1802117700859723776