Resumo:
A maioria dos sistemas computacionais comerciais utilizam algum tipo de banco de dados para o armazenamento persistente de informações. Esses sistemas geralmente possuem operações de inserção, leitura, edição e remoção dessas informações, e são conhecidos como sistemas CRUD. A codificação dessas operações demanda tempo, e, consequentemente, recursos. Scaffolding é uma técnica que utiliza a camada de modelo do padrão MVC para gerar automaticamente as camadas de visão e controle de um sistema CRUD. Isso aumenta a produtividade do desenvolvedor de softwares. Este trabalho propõe a implementação de um sistema que utiliza-se da técnica de scaffolding para automatizar o processo de criação de sistemas CRUD. O sistema Metaffolder foi desenvolvido para cumprir esta proposta e adicionou a técnica de scaffolding ao framework Play. O Metaffolder possui um mecanismo que utiliza reflexão e anotações para extrair os metadados de todas
as classes de modelo. Os templates das classes de visão e controle foram criados visando maior usabilidade do sistema CRUD gerado. A combinação dos metadados extraídos e dos templates predefinidos resultaram na geração dos códigos-fonte das camadas de visão e controle. Foram realizados experimentos que compararam o aumento de produtividade ao se utilizar a técnica de scaffolding dos softwares Metaffolder e Rails. Também foram comparados os níveis de usabilidade desses softwares em relação à técnica de scaffolding, e dos sistemas CRUD gerados pelo uso dela. Os resultados comprovaram o aumento de produtividade ao se utilizar scaffolding, assim como bons níveis de usabilidade do software Metaffolder e do sistema CRUD gerado pela técnica.