Ao projetar sistemas interativos, alternativas de projeto concentram em dois atributos de qualidade principais: usabilidade e modificabilidade.
Usabilidade refere-se à meta de qualidade que visa minimizar o grau de complexidade envolvido no aprendizado e na utilização do sistema. Sistemas são projetados de tal forma que os usuários possam rapidamente tornar-se proficientes no sistema; eles também respondem a solicitações de usuários rapidamente para suportar os requisitos de alta interatividade.
Para maximizar a modificabilidade em sistemas interativos, a interface gráfica de usuário deve ser desacoplada do núcleo do sistema funcional. Ao fazer isso, o núcleo-funcional se torna mais estável uma vez que a interface de usuário é mais propensa à mudança. O padrão de arquitetura iterativo é o MVC – Model-View-Controller, que será apresentado a seguir.