CASTOR: uma técnica de verificação de conformidade para arquiteturas de software baseada em componentes.
Ano de defesa: | 2006 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de Campina Grande
Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8590 |
Resumo: | Cada vez mais o software está presente em todos os aspectos do cotidiano das pessoas. Existe uma forte tendência para o crescimento da complexidade, tamanho, e domínios de aplicação dos programas desenvolvidos. Com efeito, o desenvolvimento de software não pode ser mais concebido como uma atividade individual, e sim como um processo essencialmente coletivo. Além disso, são grandes as pressões para que empresas de software sacrifiquem a qualidade de seus produtos para que estes cheguem mais rapidamente ao mercado consumidor. Neste cenário, dois problemas são recorrentes: a deterioração de software e a ausência de integridade conceitual. O primeiro decorre da natural evolução do software diante do surgimento de novos requisitos e restrições. Sem o devido cuidado, as constantes mudanças no projeto podem desfigurá-lo a tal ponto que se torne extremamente dispendioso compreendê-lo. Isso acaba por acarretar na baixa qualidade do código, na alta taxa de erros e no aumento dos custos do projeto. O segundo problema refere-se à dificuldade em se manter, entre a própria equipe de desenvolvimento, a uniformidade dos conceitos e abstrações utilizados ao longo do projeto. Nesse caso, o produto final normalmente é caracterizado por um conjunto não coeso de funcionalidades e aspectos divergentes. Este trabalho aborda tais problemas através do papel que a arquitetura de software pode exercer como um referencial para a evolução do código (desde sua concepção inicial até ser retirado de uso). Mais especificamente, ela serve como base para avaliar se o código se desviou do que fora projetado. Dessa forma é possível detectar sinais da deterioração do software, bem como qualquer tentativa, por parte de algum desenvolvedor, de violar a integridade resumida na arquitetura consensualmente estabelecida. Diante do exposto, o objetivo deste trabalho é a formulação de uma técnica capaz de automaticamente fornecer as evidências de que certa implementação não está em conformidade com seu modelo arquitetural. Dessa forma, esperamos contribuir na melhoria da qualidade do software no que tange aos problemas levantados. |