A IMPORTÂNCIA DOS REQUISITOS NÃO FUNCIONAIS NO DESENVOLVIMENTO DE UM SISTEMA ORIENTADA A ASPECTO

José Augusto

Resumo


Durante anos, os engenheiros de softwares lutam quanto à estruturação de códigos, a fim de maximizar sua reutilização e diminuir o risco de defeitos. Enquanto a Programação Orientada a Objeto (POO) fornece uma estrutura sólida para a organização de códigos, acaba apresentando dificuldades para reutilizar características transversais, levando a duplicações desnecessárias de códigos e a um aumento de erros na fase de produção, causando uma diminuição na qualidade e tempo de mercado. O trabalho proposto tem por objetivo apresentar essa nova ideia de Programação Orientada a Aspecto (POA) o qual seu objetivo se define em separar os níveis de preocupação durante o desenvolvimento de software. A metodologia consistiu numa revisão bibliográfica sobre o tema e a programação de um sistema com uso dos conceitos de POO, onde constatou-se que é possível pensar separadamente nos problemas referentes as camadas do sistema. Para facilitar o levantamento destas características transversais, se torna viável basear-se pelos requisitos não funcionais, visto que os mesmos são de impacto em várias camadas do sistema, pois tratam especificamente de particularidades relacionadas ao uso da aplicação em termos de desempenho, usabilidade, confiabilidade, segurança, disponibilidade e manutenibilidade. A refatoração da POA é dividida em 3 fases sendo elas a decomposição, implementação e recomposição. Para demonstrar a eficácia da POA, o trabalho consistiu no desenvolvimento de um sistema de caixa eletrônico, o qual apresenta uma solução em POO, e sua refatoração em POA, facilitando a identificação de pontos fortes na utilização desse novo conceito. Como considerações destaca-se que a POA, não deve ser pensada como um novo padrão de programação, e sim como um complemento para a POO, visto que trata de preocupações diferentes, tendo como seu objetivo facilitar a reutilização de códigos, deixando assim com uma estrutura de fácil manutenção, entendimento e com maior facilidade de evolução devido sua facilidade de reutilização de códigos.

Texto completo:

Sem título