Key points are not available for this paper at this time.
Compreender os requisitos funcionais e não funcionais de uma aplicação é normalmente considerado essencial para desenvolver um produto robusto adequado às necessidades do cliente. Este artigo descreve nossas experiências em um projeto que, por necessidade, começou muito antes que os requisitos concretos do cliente pudessem ser conhecidos. Após uma primeira versão da aplicação ser lançada com sucesso, requisitos emergentes forçaram uma evolução da arquitetura da aplicação. As principais razões para isso são explicadas, juntamente com as estratégias arquitetônicas e práticas de engenharia de software que foram adotadas. A arquitetura da aplicação resultante é altamente flexível, modificável e escalável, e portanto deve fornecer uma base sólida durante toda a vida útil da aplicação.
Gorton et al. (Sun,) estudaram essa questão.