A Case Study on Improving Maintainability and Evolvability using Architectural Constraints - Silva, Leonardo Humberto Guimarães; Terra, Ricardo; Valente, Marco Túlio (Anais do Simpósio Brasileiro de Qualidade de Software (SBQS), 2011)
Os desenvolvedores geralmente contam com padrões e práticas recomendadas para aumentar a qualidade de seus projetos. No entanto, conforme os projetos evoluem, é comum observar desvios no uso dos padrões e melhores práticas definidas durante o projeto de um sistema. Este artigo tem como objetivo ilustrar a aplicação de um modelo estático, linguagem de restrição de dependência declarativa e específica de domínio, chamada DCL, para expressar padrões arquitetônicos e princípios de design que contribuem para o capacidade de manutenção e evolução - e, portanto, para a qualidade interna - de um software de sistema. Apresentamos no artigo várias restrições arquitetônicas que demonstrar os benefícios alcançados pela DCL em um sistema de motivação e em cinco aplicativos orientados a objetos de código-fonte aberto do mundo real.