A UTILIZAÇÃO DA ARQUITETURA MVC NA EDUCAÇÃO EM DESENVOLVIMENTO WEB

THE USE OF MVC ARCHITECTURE IN WEB DEVELOPMENT EDUCATION

REGISTRO DOI: 10.69849/revistaft/ra10202511201234


Caio Josef Held Asam¹
José Eduardo Ribeiro²
Fabiana Florian³


Resumo: Este artigo analisa o papel da arquitetura Model-View-Controller (MVC) na organização de sistemas web e na formação de estudantes dos cursos da área de Tecnologia da Informação. O objetivo é investigar como a separação de responsabilidades proposta pelo padrão contribui para maior clareza estrutural, organização do código e compreensão dos fluxos lógicos em contextos educacionais diversos, incluindo disciplinas de programação, engenharia de software e desenvolvimento de sistemas. A pesquisa utiliza abordagem qualitativa, composta por revisão bibliográfica sobre padrões arquiteturais e por um estudo aplicado, no qual foi desenvolvido um módulo CRUD estruturado integralmente em MVC. A revisão permitiu identificar características, benefícios e limitações do padrão, enquanto o estudo de caso possibilitou observar sua aplicação prática em ambiente formativo. Os resultados indicam que o uso disciplinado do MVC favorece a manutenibilidade, reduz o acoplamento entre camadas e apoia o desenvolvimento de competências essenciais em cursos de TI, como raciocínio lógico, modularidade e pensamento sistêmico. O trabalho contribui ao relacionar fundamentos teóricos a uma implementação prática e ao evidenciar o potencial pedagógico do MVC como base introdutória para padrões arquiteturais empregados no mercado contemporâneo.

Palavras-chave: Arquitetura MVC. Arquiteturas de software. Desenvolvimento de sistemas. Engenharia de software. Ensino em TI. Padrões arquiteturais.

Abstract: This article analyzes the role of the Model-View-Controller (MVC) architecture in the organization of web systems and in the training of students in Information Technology programs. The objective is to investigate how the separation of responsibilities proposed by the pattern contributes to greater structural clarity, code organization, and understanding of logical flows in diverse educational contexts, including programming, software engineering, and systems development courses. The research adopts a qualitative approach, combining a literature review on software architectural patterns with an applied study in which a CRUD module was developed fully following the MVC structure. The review allowed the identification of characteristics, benefits, and limitations of the pattern, while the practical implementation enabled the observation of its effects in a learning environment. The results indicate that disciplined use of MVC supports maintainability, reduces coupling between layers, and strengthens essential competencies in IT education, such as logical reasoning, modularity, and systemic thinking. The study contributes by connecting theoretical foundations with a practical implementation and by highlighting the pedagogical potential of MVC as an introductory basis for architectural patterns used in contemporary software development.

Keywords: MVC Architecture. Software Architecture. Information Technology Education. Web Development. Software Engineering. Architectural Patterns

1 INTRODUÇÃO

A evolução dos sistemas de informação e o aumento da complexidade das aplicações web exigem o uso de padrões arquiteturais capazes de promover organização, clareza estrutural e manutenção eficiente. Entre esses padrões, a arquitetura Model-View-Controller (MVC) destaca-se por separar a aplicação em camadas independentes, permitindo evolução modular, redução de acoplamento e maior previsibilidade no desenvolvimento de software. Essa característica torna o MVC amplamente utilizado em frameworks modernos e em projetos acadêmicos destinados à formação de profissionais da área de Tecnologia da Informação.

No contexto educacional, a adoção de padrões arquiteturais representa um desafio recorrente para estudantes iniciantes, que frequentemente desenvolvem soluções com baixa organização interna e forte dependência entre componentes. Esse problema resulta em dificuldades para manutenção, ampliação e compreensão do fluxo lógico do sistema. A hipótese deste trabalho é que a aplicação disciplinada do MVC favorece o desenvolvimento de competências essenciais para estudantes de TI, como raciocínio lógico, modularidade, separação de responsabilidades e pensamento sistêmico.

O objetivo deste artigo é analisar o papel do MVC tanto na estruturação de sistemas web quanto no processo de ensino-aprendizagem em cursos da área de TI. Para isso, adota-se abordagem qualitativa composta por duas etapas: (i) revisão bibliográfica sobre padrões arquiteturais e fundamentos de engenharia de software e (ii) estudo aplicado, desenvolvido por meio da implementação de um módulo CRUD estruturado integralmente em MVC. Essa abordagem permite relacionar fundamentos teóricos com observações práticas, oferecendo evidências quanto ao potencial didático do padrão.

O artigo está organizado da seguinte forma: a Seção 2 apresenta a revisão bibliográfica sobre arquitetura de software e o padrão MVC; a Seção 3 discute a aplicação do MVC no ensino e descreve a prova de conceito implementada; a Seção 4 apresenta os resultados observados; e a Seção 5 traz as considerações finais.

2 REVISÃO BIBLIOGRÁFICA

A arquitetura de software desempenha papel central na organização, evolução e manutenção de sistemas computacionais. Em cursos da área de Tecnologia da Informação, o estudo de padrões arquiteturais constitui elemento fundamental para o desenvolvimento de competências relacionadas à modularidade, clareza estrutural e separação de responsabilidades. Entre esses padrões, o Model-View-Controller (MVC) consolidou-se como referência tanto no meio acadêmico quanto no profissional, devido à sua capacidade de estruturar aplicações de forma coesa e previsível (SOMMERVILLE, 2011; PRESSMAN, 2016).

2.1 Arquitetura de Software no Desenvolvimento de Sistemas 

A arquitetura de software define a organização fundamental de um sistema, seus componentes e a forma como eles interagem. No contexto do desenvolvimento de sistemas em TI, incluindo aplicações web, APIs e soluções orientadas a serviços, essa definição influencia diretamente fatores como manutenibilidade, reuso e escalabilidade. Abordagens arquiteturais bem definidas permitem que equipes compreendam o fluxo interno do sistema, reduzam acoplamento e facilitem o trabalho colaborativo, elementos essenciais tanto no mercado quanto no ambiente de ensino.

2.2 Arquitetura MVC: Componentes e Funcionamento

Proposto inicialmente na década de 1970 e amplamente difundido com a popularização das interfaces gráficas e da web, o padrão Model–View–Controller estrutura aplicações em três camadas independentes. O Model é responsável pelos dados e pelas regras de negócio; a View encarrega-se da apresentação e da interação com o usuário; e o Controller atua como intermediário, recebendo requisições, processando entradas e coordenando a comunicação entre View e Model.

A principal contribuição do padrão MVC é a separação de preocupações, permitindo evolução da interface sem impacto direto na lógica de negócio e facilitando testes, manutenção e paralelismo de desenvolvimento. Por esses motivos, o MVC é amplamente utilizado em frameworks modernos como Laravel, Django, Rails e ASP.NET MVC.

2.3 Vantagens e Desvantagens da Arquitetura MVC

A literatura destaca vantagens como organização do código, redução de acoplamento, escalabilidade e testabilidade aprimorada. Em ambientes colaborativos, o padrão permite que equipes trabalhem simultaneamente em camadas distintas, aumentando produtividade e previsibilidade. No ensino, a estrutura clara favorece a compreensão modular do sistema e o raciocínio lógico.

Entretanto, o padrão apresenta desafios, especialmente para iniciantes, que podem ter dificuldade em compreender a interação entre camadas e a abstração das responsabilidades. Shah (2018) aponta que a curva de aprendizado pode ser um obstáculo inicial, exigindo mediação pedagógica e exemplos práticos para evitar confusões conceituais. Apesar disso, o MVC permanece amplamente recomendado para projetos de médio e grande porte, bem como para atividades didáticas que visem introduzir fundamentos arquiteturais.

2.4 Padrões Arquiteturais Relacionados

Embora o MVC seja amplamente utilizado no desenvolvimento de sistemas e no ensino de Tecnologia da Informação, ele integra um conjunto maior de padrões arquiteturais que abordam separação de responsabilidades sob diferentes perspectivas. Entre os modelos relacionados, destacam-se MVP, MVVM e Clean Architecture, cada um oferecendo abordagens específicas para modularidade e interação entre componentes.

O padrão Model–View–Presenter (MVP) organiza a aplicação em Model, View e Presenter, sendo este último responsável por intermediar toda a lógica de interface. Diferentemente do MVC tradicional, no MVP a View não se comunica diretamente com o Model, e o Presenter assume papel central na coordenação do fluxo. Essa característica torna o padrão particularmente útil em ambientes que exigem alto controle da interface, como aplicações desktop e versões clássicas do Android.

O padrão Model–View–ViewModel (MVVM), por sua vez, introduz o conceito de data binding, no qual alterações na interface e no estado interno do sistema são sincronizadas automaticamente. MVVM é amplamente utilizado em frameworks modernos, como Angular, Vue e ambientes .NET (WPF, Xamarin, MAUI), sendo especialmente adequado para aplicações com forte interação e atualização dinâmica de interface.

A Clean Architecture, proposta por Robert C. Martin, adota um modelo mais abstrato e independente de tecnologias, estruturando o sistema em camadas concêntricas nas quais as regras de negócio ocupam o núcleo e dependências externas permanecem nas camadas mais externas. Sua principal contribuição é o alto nível de isolamento, testabilidade e durabilidade estrutural, embora sua adoção demande maior maturidade técnica.

A comparação entre esses padrões demonstra que o MVC permanece relevante não apenas por sua simplicidade e ampla adoção, mas também por servir como porta de entrada conceitual para arquiteturas mais sofisticadas. Em disciplinas de TI, sua aplicação favorece a compreensão inicial de modularidade, permitindo que os estudantes evoluam posteriormente para modelos de maior complexidade.

2.5 Desafios Pedagógicos no Ensino de MVC

Embora a literatura aponte benefícios claros no uso do padrão MVC em termos de organização estrutural e clareza de responsabilidades, sua introdução em cursos de Tecnologia da Informação apresenta desafios pedagógicos relevantes. Estudantes em fases iniciais de formação tendem a estar mais familiarizados com modelos lineares ou scripts monolíticos, o que pode tornar mais difícil a compreensão de conceitos como camadas, fluxo entre componentes e contratos de interface. Shah (2018) destaca que a abstração envolvida no uso de padrões arquiteturais pode gerar sobrecarga cognitiva quando não há mediação adequada, resultando em dificuldades na identificação dos papéis de cada elemento do padrão.

Diversos autores sugerem que essas dificuldades podem ser mitigadas por meio de abordagens didáticas graduais, como o uso de scaffolding, projetos guiados e exemplos visuais que explicitem o fluxo de dados entre Model, View e Controller (KÖLLING; ROSENBERG, 2001; CHEN; LIN, 2019). Estratégias como o desenvolvimento incremental de funcionalidades, o uso de diagramas simples e a associação com ferramentas visuais ou ambientes educacionais também contribuem para reduzir a distância entre o código e a arquitetura conceitual. Dessa forma, o ensino de MVC tende a ser mais eficaz quando articulado a metodologias ativas, como aprendizagem baseada em projetos, permitindo que os estudantes relacionem a estrutura arquitetural a problemas concretos de desenvolvimento de software.

3 DESENVOLVIMENTO

A presente seção descreve os procedimentos metodológicos adotados na pesquisa e apresenta a aplicação prática utilizada para analisar o papel da arquitetura Model-View-Controller (MVC) no ensino de Tecnologia da Informação. A estrutura segue abordagem qualitativa, fundamentada em revisão bibliográfica e complementada por uma prova de conceito desenvolvida para observação prática dos princípios arquiteturais.

3.1 METODOLOGIA

A pesquisa foi conduzida em duas etapas complementares. A primeira consistiu em uma revisão bibliográfica sobre arquitetura de software, padrões arquiteturais e estratégias de ensino em cursos de TI. Foram consultadas obras clássicas de Engenharia de Software, artigos científicos e materiais técnicos que discutem modularidade, separação de responsabilidades e boas práticas estruturais.

A segunda etapa consistiu na elaboração de uma prova de conceito (prototipagem funcional) destinada a observar empiricamente características atribuídas ao padrão MVC na literatura. Para isso, foi desenvolvido um módulo de cadastro de produtos (CRUD) estruturado integralmente em MVC, utilizando tecnologias amplamente presentes no contexto acadêmico: PHP orientado a objetos, PDO para acesso a dados, MySQL como banco relacional, HTML/CSS/JS no front-end e chamadas AJAX com jQuery. O objetivo dessa aplicação não foi produzir um sistema completo, mas permitir análise controlada dos efeitos do padrão na organização do código, no fluxo interno da aplicação e na compreensão por parte do estudante.

Essa combinação metodológica, revisão teórica e aplicação prática, foi adotada para possibilitar triangulação entre os fundamentos da literatura e a observação direta de seu comportamento em um ambiente educacional.

3.2 Arquitetura MVC como Recurso Formativo

A análise da literatura indica que o MVC promove clareza estrutural ao separar domínios conceituais da aplicação. Em cursos de TI, especialmente nas disciplinas de programação, desenvolvimento web e engenharia de software, esse padrão opera como ferramenta pedagógica, pois permite ao estudante compreender, de forma modular, os papéis desempenhados por cada camada do sistema.

A utilização do MVC em atividades acadêmicas contribui para a construção de competências como raciocínio lógico, compreensão de fluxo de dados, noções de responsabilidade única e capacidade de identificar dependências internas do código. Além disso, frameworks amplamente utilizados no mercado adotam variações ou extensões desse padrão, reforçando sua relevância tanto para aprendizado quanto para empregabilidade.

3.3 Prova de Conceito: Módulo CRUD Estruturado em MVC

Como etapa aplicada da pesquisa, foi desenvolvido um módulo de cadastro de produtos utilizando o padrão MVC. A estrutura seguiu três camadas principais:

  • Model, responsável pelas regras de negócio, validação de dados e operações de persistência em banco;
  • Controller, responsável por receber requisições, processar entradas, acionar o Model e retornar respostas em JSON;
  • View, destinada à apresentação e interação com o usuário por meio de HTML, CSS e JavaScript.

As operações foram implementadas de forma assíncrona, utilizando AJAX para realizar listagem, criação, edição e exclusão de registros sem recarregar a página, reforçando a separação entre lógica de apresentação e lógica de negócio.

Essa aplicação permitiu observar, na prática, como o padrão organiza o fluxo interno do sistema e facilita a manutenção do código, uma vez que modificações em uma camada não comprometeram o funcionamento das demais. Além disso, o uso do MVC tornou mais acessível a compreensão do processo completo de requisições HTTP, desde a entrada do usuário até a persistência dos dados.

4 RESULTADOS

4.1 Organização Estrutural e Manutenibilidade

A implementação do módulo de produtos em MVC resultou em uma organização estrutural consistente com os princípios descritos na literatura de arquitetura de software. Observou-se que a separação em camadas (Model, View e Controller), aliada ao uso de um roteador central e de uma estrutura de pastas bem definida, facilitou a identificação dos pontos de entrada da aplicação, dos fluxos de dados e das responsabilidades de cada componente. Alterações nas regras de negócio, como ajustes em validações de campos, puderam ser realizadas de forma localizada no Model e no Controller, sem necessidade de modificações na interface.

Outro resultado relevante foi a centralização da lógica de persistência em uma camada de acesso a dados baseada em PDO, o que reduziu duplicação de código e favoreceu o uso de consultas parametrizadas. A existência de um ponto único de configuração de conexão, reutilizado por diferentes partes do sistema, evidenciou ganhos de coesão estrutural e controle sobre a infraestrutura. Em conjunto, esses achados indicam que o uso disciplinado do padrão contribuiu para um código mais legível, previsível e preparado para evolução incremental.

4.2 Impactos no Processo de Aprendizagem em Cursos de TI

No contexto acadêmico, a utilização do módulo em atividades de ensino evidenciou o potencial do MVC como recurso pedagógico em cursos da área de Tecnologia da Informação. A necessidade de mapear explicitamente o fluxo entre requisição, Controller, Model e resposta (View ou JSON) levou os estudantes a perceberem o sistema como um conjunto de camadas inter-relacionadas, e não apenas como scripts isolados. Esse movimento contribuiu para o desenvolvimento de uma visão mais sistêmica do software e para a compreensão de conceitos como fluxo de requisições HTTP e contratos entre camadas.

Além disso, a distinção clara entre código de interface, lógica de negócio e acesso a dados favoreceu discussões sobre boas práticas de desenvolvimento. Em momentos de revisão e correção, foi possível localizar erros em pontos específicos da arquitetura, explorando com os estudantes a relação entre problemas de manutenção e decisões estruturais. Esses resultados sugerem que o uso do MVC em projetos didáticos auxilia na construção de competências como raciocínio lógico, modularidade e separação de responsabilidades.

4.3 Relação com Práticas e Tecnologias de Mercado

Os resultados obtidos com o estudo de caso também evidenciaram alinhamento entre o uso do padrão MVC e as práticas adotadas no mercado de desenvolvimento de software. A implementação de rotas padronizadas, respostas em JSON e consumo via AJAX aproxima a experiência acadêmica de cenários presentes em aplicações web contemporâneas, em que o back-end expõe APIs para diferentes clientes, como aplicações web, mobile ou sistemas de terceiros. Esse alinhamento reduz a distância entre o ambiente de sala de aula e o contexto profissional, permitindo que os estudantes reconheçam, em situações reais, conceitos trabalhados durante a formação.

Do ponto de vista da empregabilidade, o domínio do padrão MVC mostrou-se particularmente relevante. Frameworks amplamente utilizados em desenvolvimento back-end e full stack, como Laravel, Django, ASP.NET MVC e Spring, adotam variações desse padrão ou se inspiram diretamente em seus princípios. A familiaridade com a separação de camadas, a organização de rotas, o tratamento de requisições e a estruturação de modelos de domínio constitui, portanto, um diferencial para a inserção no mercado de trabalho. Os resultados deste estudo indicam que projetos didáticos baseados em MVC podem contribuir para que os estudantes construam um repertório técnico mais próximo das exigências de vagas que demandam atuação em arquiteturas web modernas, favorecendo tanto a adaptação a diferentes frameworks quanto a compreensão de soluções corporativas em uso.

5 CONCLUSÃO

Este artigo analisou o papel da arquitetura Model-View-Controller (MVC) na organização de sistemas web e na formação de estudantes dos cursos da área de Tecnologia da Informação. A partir de uma abordagem qualitativa, que combinou revisão bibliográfica sobre padrões arquiteturais e desenvolvimento de uma prova de conceito, foi possível examinar como a separação de responsabilidades proposta pelo padrão se traduz em efeitos práticos sobre a estrutura do código e sobre o processo de aprendizagem.

Os resultados obtidos com o módulo CRUD estruturado em MVC indicaram ganhos concretos em termos de organização e manutenibilidade. A divisão em camadas e a centralização de responsabilidades favoreceram a clareza do fluxo interno do sistema, permitindo alterações localizadas e redução de duplicações. Esses achados corroboram a literatura que associa padrões arquiteturais a melhorias na qualidade estrutural de sistemas e à redução de acoplamento entre componentes.

Do ponto de vista pedagógico, a utilização do MVC em atividades acadêmicas mostrou-se um recurso adequado para promover raciocínio lógico, modularidade e visão sistêmica do software. A necessidade de compreender a interação entre Model, View e Controller contribuiu para deslocar o foco de soluções pontuais para uma compreensão mais ampla da arquitetura da aplicação, aproximando o estudante de práticas adotadas em projetos profissionais. A discussão sobre desafios pedagógicos, por sua vez, evidenciou que a adoção do padrão demanda estratégias de ensino graduais, apoiadas em exemplos concretos, projetos guiados e abordagens baseadas em problemas e projetos.

Além disso, a aderência do módulo desenvolvido a práticas contemporâneas, como o uso de rotas padronizadas, respostas em JSON e consumo via AJAX, evidenciou a capacidade do MVC de atuar como base introdutória para arquiteturas mais complexas empregadas no mercado, incluindo abordagens API-first e integrações com front-ends desacoplados. Nesse sentido, a arquitetura não se limita a um padrão histórico, mas permanece como fundamento conceitual para tecnologias atuais.

De forma estratégica, a incorporação sistemática do ensino de padrões arquiteturais como o MVC no currículo de cursos de Tecnologia da Informação não apenas aprimora a formação técnica dos estudantes, mas também os aproxima das práticas exigidas pelo mercado, fortalecendo sua atuação profissional e sua capacidade de adaptação a diferentes desafios tecnológicos. Como trabalhos futuros, recomenda-se a realização de estudos empíricos com diferentes turmas e instituições, comparando resultados de aprendizagem em contextos com e sem uso explícito de MVC, bem como a replicação da prova de conceito em outras linguagens e frameworks, ampliando a compreensão sobre o impacto do padrão na formação em TI.

6 REFERÊNCIAS BIBLIOGRÁFICAS

BUSCHMANN, F. et al. Pattern-oriented software architecture, volume 1: a system of patterns. Chichester: Wiley, 1996. Disponível em: https://dl.acm.org/doi/10.5555/249013.

CEH-VARELA, E.; CANTO-BONILLA, C.; DUNI, D. Application of project-based learning to a software engineering course in a hybrid class environment. Information and Software Technology, v. 158, p. 107189, 2023. DOI: https://doi.org/10.1016/j.infsof.2023.107189.

CHEN, D.; LIN, J. Scaffolding to support an introduction to software engineering via a project-based course on web development. In: Proceedings of the 50th ACM Technical Symposium on Computer Science Education. New York: ACM, 2019. p. 123–129.

FOWLER, M. Patterns of enterprise application architecture. Boston: Addison-Wesley, 2002.

GAMMA, E. et al. Design patterns: elements of reusable object-oriented software. Reading, MA: Addison-Wesley, 1994.

GARCSÉS, L.; OLIVEIRA, B. R. do N. Teaching software engineering with project-based learning: a four years experience report. In: Anais do XXXVIII Simpósio Brasileiro de Engenharia de Software (SBES 2024). Porto Alegre: SBC, 2024. p. 476–486.

KÖLLING, M.; ROSENBERG, J. BlueJ: the hitchhiker’s guide to object orientation. London: Pearson Education, 2001.

LARMAN, C. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e ao processo unificado. 3. ed. Porto Alegre: Bookman, 2004.

PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH,2016.

ROSENBLOOM, A. A simple MVC framework for web development courses. In: Proceedings of the 23rd Western Canadian Conference on Computing Education (WCCCE 2018). New York: ACM, 2018. p. 13:1–13:3. DOI: https://doi.org/10.1145/3209635.3209637.

SHAH, A. A. Challenges in teaching and learning of software design patterns: a systematic literature review. Journal of Systems and Software, v. 140, p. 74–91, 2018.

SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.

SOUZA, M. R. de A.; MOREIRA, R. T.; FIGUEIREDO, E. Students perception on the use of project-based learning in software engineering education. In: Proceedings of the XXXIII Brazilian Symposium on Software Engineering (SBES 2019). New York: ACM, 2019. p. 537–546.


1Graduando do Curso de Sistemas de Informação Caio Josef Held Asam da Universidade de Araraquara- UNIARA. Araraquara-SP. E-mail: caioojoseff@gmail.com
2Orientador. Docente Curso de Sistemas de Informação José Eduardo Ribeiro da Universidade de Araraquara- UNIARA. Araraquara-SP. E-mail: jeribeiro@uniara.edu.br
3Coorientador. Docente Curso de Sistemas de Informação Fabiana Florian da Universidade de Araraquara- UNIARA. Araraquara-SP. E-mail: fflorian@uniara.edu.br