SlideShare une entreprise Scribd logo
1  sur  24
Compilador Web: uma Experiência Interdisciplinar
entre as Disciplinas de Engenharia de Software e
Compiladores
Renata Correa Pimentel1, Andréia Damasio de Leles1,
Luciana A. M. Zaina2
1Faculdade de Engenharia de Sorocaba (FACENS)
2Universidade Federal de São Carlos – Campus Sorocaba (UFSCar)
AGENDA
Motivação
Planejamento
Experiência Prática
Benefícios e Dificuldades na Execução
Análise da Experiência
Considerações Finais
MOTIVAÇÃO: Interdisciplinaridade
[Diretrizes Curriculares SBC 2005]: a importância do aluno vivenciar o
relacionamento entre diversos conhecimentos que compõe a sua formação.
• Visão Integradora.
• Permite que o aluno trabalhe não somente com especificidades
das disciplinas.
• Fator motivador ao aluno: trabalho em um único tema.
• Evita redundâncias de conteúdo.
• Sobrecarga ao aluno: evita a realização de diversos projetos no mesmo
período letivo.
MOTIVAÇÃO: Aspectos Internos
• Reclamações dos alunos: Realizar projetos complexos em um
mesmo período letivo: Engenharia de Software e Compiladores.
• Alunos: dificuldades para construção de um compilador.
• Partiu-se da premissa que utilizar as práticas de Engenharia de
Software, poderia minimizar a complexidade do
desenvolvimento do compilador e obter melhores resultados
com o projeto.
O Projeto Interdisciplinar
• Projeto Interdisciplinar entre as disciplinas de Engenharia de
Software e Compiladores.
• Foi proposto um projeto onde os alunos deveriam desenvolver
uma ferramenta, utilizando as disciplinas de Engenharia de
Software, que permitisse o desenvolvimento de códigos em uma
dada linguagem e que implementasse as técnicas de
compiladores.
PLANEJAMENTO DA EXPERIÊNCIA
• Trabalhos correlatos.
• Reuniões para definições de objetivos e metas do projeto
integrado.
PLANEJAMENTO DA EXPERIÊNCIA
Compiladores (Metas)
• Os alunos deveriam desenvolver uma ferramenta que
permitisse aos usuários codificar um programa em uma dada
linguagem.
• A ferramenta deveria executar todas as etapas referentes à
compilação de código (análise léxica, sintática, semântica) e
geração de código.
• Rodar em ambiente Desktop.
PLANEJAMENTO DA EXPERIÊNCIA
Engenharia de Software (Metas)
• Capacitar o aluno nas práticas de Engenharia de Software do
Requisito ao Produto.
• A Ferramenta poderia ter características de sistemas Web.
• Abranger conceitos de Arquitetura e Padrões de Projeto.
• Abranger as diretrizes de Gerenciamento de Projetos.
• Ciclo de vida de desenvolvimento: vivência de situações reais
(comum no mercado de trabalho).
PLANEJAMENTO DA EXPERIÊNCIA
Visão Interdisciplinar
Proposta Criativa e
Desafiadora
Compilador WEB
Desktop
Engenharia
de Software
+
Compiladores
Arquitetura de
Computadores
+
Algoritmos
PLANEJAMENTO DA EXPERIÊNCIA
Vislumbrou-se dois cenários de utilização para o compilador Web:
• (1) apoio a aprendizagem eletrônica;
• (2) apoio ao desenvolvimento de software com programadores
distribuídos em diferentes máquinas e/ou locais geográficos distintos.
Em ambos os cenários, possibilitar a programação aos pares e
controle de versões, foram definidas como características
interessantes a serem desenvolvidas no projeto.
Conceito de Produto:
PLANEJAMENTO DA EXPERIÊNCIA
• Definição de requisitos funcionais e não funcionais que deveriam
ser implementados por todas as equipes.
• Cada equipe também deveria definir alguns requisitos que seriam
o diferencial do seu produto final.
• Cada equipe foi direcionada a criar uma linguagem original e
nativa, de fácil entendimento, mais próxima possível da linguagem
natural e pseudocódigo.
• A docente da disciplina de Compiladores faria o papel do cliente
determinando características e necessidades do produto final.
PLANEJAMENTO DA EXPERIÊNCIA
• As equipes deveriam adotar o ciclo de desenvolvimento de software
SCRUM e a disciplina proposta pelo XP.
• Fundamentos da engenharia de requisitos deveriam ser aplicados.
• Modelos da Unified Modeling Language (UML®) aplicados.
• Aplicar as diretrizes do Project Management Institute (PMI®) nas
fases do ciclo de vida do projeto.
• A linguagem de programação que os alunos deveriam usar seria
Java.
PLANEJAMENTO DA EXPERIÊNCIA
• As disciplinas planejaram critérios de avaliação independentes na
teoria e totalmente vinculados na prática.
• O vínculo entre as disciplinas que influenciariam as notas dos alunos
correspondiam 30% (nota de laboratório).
• Se a equipe não realizasse a entrega, perderia nota nas duas
disciplinas.
Entregas de Engenharia de Software
em cada Sprint:
1. Documentação.
2. Modelos.
3. Liberação de uma parte do
compilador.
Entregas Compiladores:
Análise Léxica
Sintática
Semântica
Procedimentos para geração de
código.
EXPERIÊNCIA PRÁTICA
 Projeto teve início em fevereiro de 2011.
 Fevereiro e Março: As disciplinas introduziram os conteúdos
essenciais para execução do projeto interdisciplinar.
 O projeto teve início em 4 de abril e término em 18 de novembro
(7 meses).
 Aulas práticas: os alunos foram divididos em equipes.
 Cada equipe com 3 integrantes: Gerente de Projetos, Engenheiro de
Software e Programador.
EXPERIÊNCIA PRÁTICA: As fases (WBS)
Composição da nota
bimestral das duas
disciplinas.
EXPERIÊNCIA PRÁTICA: Teste de Aceitação
 Convite aos alunos do 1º ano de Engenharia da Computação para
testar os compiladores realizados.
 Para cada aluno-usuário foi disponibilizado o manual do usuário.
 Dois laboratórios de informática com rede wireless foram utilizados
para testar a programação pareada e a armazenagem do código em
base de dados.
 O código gerado pela ferramenta foi executado no computador-
didático.
EXPERIÊNCIA PRÁTICA: Teste de Aceitação
Cada aluno-usuário recebeu um questionário de avaliação e validação,
tendo que responder as seguintes questões, assinalando:
1. Muito fraco
2. Fraco
3. Regular
4. Bom
5. Ótimo.
Também havia uma seção para reportar problemas encontrados na
utilização da ferramenta.
EXPERIÊNCIA PRÁTICA: Teste de Aceitação
Retroalimentação para as equipes: Comentários dos usuários.
Maiores Médias (Equipes 4, 6, 8, 12 e 13): problemas com programação aos pares e
retroalimentação de erros.
Menores Médias (Equipes 5 e 7): apresentaram diversos problema, sendo alguns deles
problemas básicos como a execução de cálculos aritméticos.
EXPERIÊNCIA PRÁTICA: Teste de Aceitação
• Observa-se que as maiores dificuldades encontradas referem-se ao
“controle de versões” e a “programação em pares” (questão 5 e 6).
• Foco maior no desenvolvimento de requisitos básicos.
BENEFÍCIOS e DIFICULDADES NA EXECUÇÃO
 Compatibilizar o ensino-aprendizagem das duas disciplinas com a realização do
projeto.
 Resistência e descrença durante a apresentação da proposta.
 Os alunos perceberam que os conteúdos apresentados nas aulas teóricas das
duas disciplinas eram fundamentais para a execução prática do projeto e,
consequentemente, conseguiriam um bom desempenho nas duas disciplinas.
 Motivação e dedicação nas aulas práticas.
 Assiduidade nas aulas teóricas.
 Em Engenharia de Software: Execução dos Sprints conforme planejado na WBS.
ANÁLISE DA EXPERIÊNCIA
 A experiência foi bastante positiva.
 Grande interação entre as docentes: compatibilizar conteúdos, definir marcos e
resolver conflitos.
 A interação docente e discente foi intensa.
 Engenharia de Software:
• Requisitos
• Arquitetura de Software
• Monitoramento e Controle de Projetos: Métricas de Análise de Valor
Agregado.
• Usabilidade
CONSIDERAÇÕES FINAIS
Lições Aprendidas
 A experiência mostrou que a interdisciplinaridade permite aos docentes
envolvidos não só a troca de vivências, mas também a geração de
planejamentos mais criativos e desafiadores.
 Essa interação pode agregar valor à qualidade de ensino, como também
para pesquisa e desenvolvimento motivacional dos discentes.
 O projeto também motivou alguns alunos seguirem na linha de pesquisa
sobre Compilador Web, mostrando interesse em desenvolver o TCC neste
tema.
 Uma avaliação mais profunda das exigências de conhecimento para a
realização de certos requisitos.
CONSIDERAÇÕES FINAIS
 Um resultado fundamental da experiência foi que todas as equipes
conseguiram desenvolver o compilador, destacando seus
resultados intermediários tanto na modalidade desktop quanto
Web.
FINALIZAÇÃO
Obrigada!
Andréia Leles
adleles@yahoo.com.br
andreia@facens.br

Contenu connexe

Tendances

Como o planejamento de software pode contribuir para qualidade de um software...
Como o planejamento de software pode contribuir para qualidade de um software...Como o planejamento de software pode contribuir para qualidade de um software...
Como o planejamento de software pode contribuir para qualidade de um software...Sandra Pavan
 
Modernizar é Preciso - Como Diminuir Custos e Aumentar o Desempenho Instituci...
Modernizar é Preciso - Como Diminuir Custos e Aumentar o Desempenho Instituci...Modernizar é Preciso - Como Diminuir Custos e Aumentar o Desempenho Instituci...
Modernizar é Preciso - Como Diminuir Custos e Aumentar o Desempenho Instituci...Marcos Vinicius Fidelis
 
Apostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oApostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oWELINGTON SILVA
 
Modelo de Design Instrucional ILDF Online
Modelo de Design Instrucional ILDF OnlineModelo de Design Instrucional ILDF Online
Modelo de Design Instrucional ILDF Onlinexpeering
 
Palestra oficina de design instrucional di
Palestra oficina de design instrucional diPalestra oficina de design instrucional di
Palestra oficina de design instrucional diFlavia Pereira de Morais
 
Módulos i ii -iii - elaboração de projetos
Módulos i   ii -iii - elaboração de projetosMódulos i   ii -iii - elaboração de projetos
Módulos i ii -iii - elaboração de projetostecampinasoeste
 

Tendances (8)

Syllabus ibqts-atc-nf
Syllabus ibqts-atc-nfSyllabus ibqts-atc-nf
Syllabus ibqts-atc-nf
 
Como o planejamento de software pode contribuir para qualidade de um software...
Como o planejamento de software pode contribuir para qualidade de um software...Como o planejamento de software pode contribuir para qualidade de um software...
Como o planejamento de software pode contribuir para qualidade de um software...
 
Modernizar é Preciso - Como Diminuir Custos e Aumentar o Desempenho Instituci...
Modernizar é Preciso - Como Diminuir Custos e Aumentar o Desempenho Instituci...Modernizar é Preciso - Como Diminuir Custos e Aumentar o Desempenho Instituci...
Modernizar é Preciso - Como Diminuir Custos e Aumentar o Desempenho Instituci...
 
Apostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oApostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£o
 
Projetos - eixo 1
Projetos - eixo 1Projetos - eixo 1
Projetos - eixo 1
 
Modelo de Design Instrucional ILDF Online
Modelo de Design Instrucional ILDF OnlineModelo de Design Instrucional ILDF Online
Modelo de Design Instrucional ILDF Online
 
Palestra oficina de design instrucional di
Palestra oficina de design instrucional diPalestra oficina de design instrucional di
Palestra oficina de design instrucional di
 
Módulos i ii -iii - elaboração de projetos
Módulos i   ii -iii - elaboração de projetosMódulos i   ii -iii - elaboração de projetos
Módulos i ii -iii - elaboração de projetos
 

En vedette

Instalando o MPLab X e o C18
Instalando o MPLab X e o C18Instalando o MPLab X e o C18
Instalando o MPLab X e o C18Fabio Curty
 
Guia: Instalação MPLABX e compilador XC8
Guia: Instalação MPLABX  e compilador XC8Guia: Instalação MPLABX  e compilador XC8
Guia: Instalação MPLABX e compilador XC8marcochella
 
Siglas de sensores e atuadores
Siglas de sensores e atuadoresSiglas de sensores e atuadores
Siglas de sensores e atuadoresSergio Favaro
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
Apostila sensores e atuadores (1)
Apostila sensores e atuadores (1)Apostila sensores e atuadores (1)
Apostila sensores e atuadores (1)Daiana Paula
 
Apostila de sensor
Apostila de sensorApostila de sensor
Apostila de sensorHudson Sousa
 
Apostila eletricidade vol 1
Apostila eletricidade vol 1Apostila eletricidade vol 1
Apostila eletricidade vol 1erickfurtado
 
Funcionamento de sensores
Funcionamento de sensoresFuncionamento de sensores
Funcionamento de sensoresFabio Curty
 
Apostila automação sensores e atuadores ( cefet)
Apostila  automação sensores e atuadores ( cefet)Apostila  automação sensores e atuadores ( cefet)
Apostila automação sensores e atuadores ( cefet)Rogério Lopes Da Costa
 
Apostila Elaboração de Projetos
Apostila Elaboração de ProjetosApostila Elaboração de Projetos
Apostila Elaboração de Projetosleozump
 
Elaboracao.e.analise.de.projetos
Elaboracao.e.analise.de.projetosElaboracao.e.analise.de.projetos
Elaboracao.e.analise.de.projetosFabiano Duarte
 

En vedette (19)

Instalando o MPLab X e o C18
Instalando o MPLab X e o C18Instalando o MPLab X e o C18
Instalando o MPLab X e o C18
 
Guia: Instalação MPLABX e compilador XC8
Guia: Instalação MPLABX  e compilador XC8Guia: Instalação MPLABX  e compilador XC8
Guia: Instalação MPLABX e compilador XC8
 
Siglas de sensores e atuadores
Siglas de sensores e atuadoresSiglas de sensores e atuadores
Siglas de sensores e atuadores
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
Apostila sensores e atuadores (1)
Apostila sensores e atuadores (1)Apostila sensores e atuadores (1)
Apostila sensores e atuadores (1)
 
Tabela sensores
Tabela sensoresTabela sensores
Tabela sensores
 
Apostila de sensor
Apostila de sensorApostila de sensor
Apostila de sensor
 
Apostila eletricidade vol 1
Apostila eletricidade vol 1Apostila eletricidade vol 1
Apostila eletricidade vol 1
 
Tabela resistencia
Tabela resistenciaTabela resistencia
Tabela resistencia
 
Tabela sensores da sense.
Tabela sensores da sense.Tabela sensores da sense.
Tabela sensores da sense.
 
Funcionamento de sensores
Funcionamento de sensoresFuncionamento de sensores
Funcionamento de sensores
 
Todos os tipos de sensores
Todos os tipos de sensoresTodos os tipos de sensores
Todos os tipos de sensores
 
Apostila sensores
Apostila sensoresApostila sensores
Apostila sensores
 
Apostila automação sensores e atuadores ( cefet)
Apostila  automação sensores e atuadores ( cefet)Apostila  automação sensores e atuadores ( cefet)
Apostila automação sensores e atuadores ( cefet)
 
Apostila Elaboração de Projetos
Apostila Elaboração de ProjetosApostila Elaboração de Projetos
Apostila Elaboração de Projetos
 
ELABORAÇÃO DE PROJETOS
ELABORAÇÃO DE PROJETOSELABORAÇÃO DE PROJETOS
ELABORAÇÃO DE PROJETOS
 
Apostila Completa - Elaboração de Projetos
Apostila Completa - Elaboração de ProjetosApostila Completa - Elaboração de Projetos
Apostila Completa - Elaboração de Projetos
 
Elaboracao.e.analise.de.projetos
Elaboracao.e.analise.de.projetosElaboracao.e.analise.de.projetos
Elaboracao.e.analise.de.projetos
 
Manual de sintomas e falhas
Manual de sintomas e falhasManual de sintomas e falhas
Manual de sintomas e falhas
 

Similaire à Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Engenharia de Software e Compiladores

Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)Tiago Vizoto
 
Plano de Ensino - Laboratório de Programação II
Plano de Ensino - Laboratório de Programação IIPlano de Ensino - Laboratório de Programação II
Plano de Ensino - Laboratório de Programação IIRafael Garcia
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeGlobalcode
 
Fabrica.Software.Concepcao.Licoes.Aprendidas
Fabrica.Software.Concepcao.Licoes.AprendidasFabrica.Software.Concepcao.Licoes.Aprendidas
Fabrica.Software.Concepcao.Licoes.AprendidasAnnkatlover
 
Memória de aula_aula04_eng_software
Memória de aula_aula04_eng_softwareMemória de aula_aula04_eng_software
Memória de aula_aula04_eng_softwarerenatocinttra
 
Projeto Integrado ADS - a agricultura familiar.pdf
Projeto Integrado ADS - a agricultura familiar.pdfProjeto Integrado ADS - a agricultura familiar.pdf
Projeto Integrado ADS - a agricultura familiar.pdfHELENO FAVACHO
 
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREKéllyson Gonçalves da Silva
 
Linhas de Processos de Software - Minicurso - SBQS 2011
Linhas de Processos de Software - Minicurso - SBQS 2011Linhas de Processos de Software - Minicurso - SBQS 2011
Linhas de Processos de Software - Minicurso - SBQS 2011Uirá Kulesza
 
Apresentação Estágio UDESC
Apresentação Estágio UDESCApresentação Estágio UDESC
Apresentação Estágio UDESCMarcos Ferreira
 
Plano de Ensino - Gerencia de Projetos - UFS - 2017-2
Plano de Ensino - Gerencia de Projetos - UFS - 2017-2Plano de Ensino - Gerencia de Projetos - UFS - 2017-2
Plano de Ensino - Gerencia de Projetos - UFS - 2017-2Rogerio P C do Nascimento
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASOs Fantasmas !
 
Algoritmos e-programacao-apostila-completa
Algoritmos e-programacao-apostila-completaAlgoritmos e-programacao-apostila-completa
Algoritmos e-programacao-apostila-completaAssis Alcantara
 
aplicação da metodologia de projeto
aplicação da metodologia de projetoaplicação da metodologia de projeto
aplicação da metodologia de projetogsreis
 
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINALTCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINALAndre Luis de Andrade
 

Similaire à Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Engenharia de Software e Compiladores (20)

Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
Plano de Ensino - Laboratório de Programação II
Plano de Ensino - Laboratório de Programação IIPlano de Ensino - Laboratório de Programação II
Plano de Ensino - Laboratório de Programação II
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto Globalcode
 
Fabrica.Software.Concepcao.Licoes.Aprendidas
Fabrica.Software.Concepcao.Licoes.AprendidasFabrica.Software.Concepcao.Licoes.Aprendidas
Fabrica.Software.Concepcao.Licoes.Aprendidas
 
Memória de aula_aula04_eng_software
Memória de aula_aula04_eng_softwareMemória de aula_aula04_eng_software
Memória de aula_aula04_eng_software
 
Projeto Integrado ADS - a agricultura familiar.pdf
Projeto Integrado ADS - a agricultura familiar.pdfProjeto Integrado ADS - a agricultura familiar.pdf
Projeto Integrado ADS - a agricultura familiar.pdf
 
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
 
1. apresentação
1. apresentação1. apresentação
1. apresentação
 
Fees2013 apresenta
Fees2013 apresentaFees2013 apresenta
Fees2013 apresenta
 
Linhas de Processos de Software - Minicurso - SBQS 2011
Linhas de Processos de Software - Minicurso - SBQS 2011Linhas de Processos de Software - Minicurso - SBQS 2011
Linhas de Processos de Software - Minicurso - SBQS 2011
 
Apresentação Estágio UDESC
Apresentação Estágio UDESCApresentação Estágio UDESC
Apresentação Estágio UDESC
 
Desenvolvimento Ágil
Desenvolvimento ÁgilDesenvolvimento Ágil
Desenvolvimento Ágil
 
Plano de Ensino - Gerencia de Projetos - UFS - 2017-2
Plano de Ensino - Gerencia de Projetos - UFS - 2017-2Plano de Ensino - Gerencia de Projetos - UFS - 2017-2
Plano de Ensino - Gerencia de Projetos - UFS - 2017-2
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
 
Introducao swebok
Introducao swebokIntroducao swebok
Introducao swebok
 
Algoritmos e-programacao-apostila-completa
Algoritmos e-programacao-apostila-completaAlgoritmos e-programacao-apostila-completa
Algoritmos e-programacao-apostila-completa
 
Metodologia cientifica Aula 1 ifpr
Metodologia cientifica Aula 1 ifprMetodologia cientifica Aula 1 ifpr
Metodologia cientifica Aula 1 ifpr
 
aplicação da metodologia de projeto
aplicação da metodologia de projetoaplicação da metodologia de projeto
aplicação da metodologia de projeto
 
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINALTCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
 
Aula1 Apresentacao TEES
Aula1 Apresentacao TEESAula1 Apresentacao TEES
Aula1 Apresentacao TEES
 

Plus de Luciana Zaina

Adding user experience aspects to the writing of user stories
Adding user experience aspects to the writing of user storiesAdding user experience aspects to the writing of user stories
Adding user experience aspects to the writing of user storiesLuciana Zaina
 
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...Luciana Zaina
 
A design methodology for user-centered innovation in the software development...
A design methodology for user-centered innovation in the software development...A design methodology for user-centered innovation in the software development...
A design methodology for user-centered innovation in the software development...Luciana Zaina
 
Um ambiente colaborativo para suporte ao comércio na Universidade
Um ambiente colaborativo para suporte ao comércio na UniversidadeUm ambiente colaborativo para suporte ao comércio na Universidade
Um ambiente colaborativo para suporte ao comércio na UniversidadeLuciana Zaina
 
Classification of learning profile based on categories of student preferences
Classification of learning profile based on categories of student preferencesClassification of learning profile based on categories of student preferences
Classification of learning profile based on categories of student preferencesLuciana Zaina
 
Learning objects retrieval from contextual analysis of user preferences to en...
Learning objects retrieval from contextual analysis of user preferences to en...Learning objects retrieval from contextual analysis of user preferences to en...
Learning objects retrieval from contextual analysis of user preferences to en...Luciana Zaina
 
An Approach for Supporting P2P Collaborative Communication Based on Learning ...
An Approach for Supporting P2P Collaborative Communication Based on Learning ...An Approach for Supporting P2P Collaborative Communication Based on Learning ...
An Approach for Supporting P2P Collaborative Communication Based on Learning ...Luciana Zaina
 
Model driven RichUbi: a model driven process for building rich interfaces of ...
Model driven RichUbi: a model driven process for building rich interfaces of ...Model driven RichUbi: a model driven process for building rich interfaces of ...
Model driven RichUbi: a model driven process for building rich interfaces of ...Luciana Zaina
 
Adaptive learning in the educational e-LORS system: an approach based on pref...
Adaptive learning in the educational e-LORS system: an approach based on pref...Adaptive learning in the educational e-LORS system: an approach based on pref...
Adaptive learning in the educational e-LORS system: an approach based on pref...Luciana Zaina
 
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...Luciana Zaina
 
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...Luciana Zaina
 
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Luciana Zaina
 
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...Luciana Zaina
 
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...Luciana Zaina
 
Cataloguing of learning objects using social tagging
Cataloguing of learning objects using social taggingCataloguing of learning objects using social tagging
Cataloguing of learning objects using social taggingLuciana Zaina
 
The use of social tagging to support the cataloguing of learning objects
The use of social tagging to support the cataloguing of learning objectsThe use of social tagging to support the cataloguing of learning objects
The use of social tagging to support the cataloguing of learning objectsLuciana Zaina
 
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...Luciana Zaina
 
Interaction With Mobile Devices by Elderly People: The Brazilian Scenario
Interaction With Mobile Devices by Elderly People: The Brazilian ScenarioInteraction With Mobile Devices by Elderly People: The Brazilian Scenario
Interaction With Mobile Devices by Elderly People: The Brazilian ScenarioLuciana Zaina
 

Plus de Luciana Zaina (18)

Adding user experience aspects to the writing of user stories
Adding user experience aspects to the writing of user storiesAdding user experience aspects to the writing of user stories
Adding user experience aspects to the writing of user stories
 
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
 
A design methodology for user-centered innovation in the software development...
A design methodology for user-centered innovation in the software development...A design methodology for user-centered innovation in the software development...
A design methodology for user-centered innovation in the software development...
 
Um ambiente colaborativo para suporte ao comércio na Universidade
Um ambiente colaborativo para suporte ao comércio na UniversidadeUm ambiente colaborativo para suporte ao comércio na Universidade
Um ambiente colaborativo para suporte ao comércio na Universidade
 
Classification of learning profile based on categories of student preferences
Classification of learning profile based on categories of student preferencesClassification of learning profile based on categories of student preferences
Classification of learning profile based on categories of student preferences
 
Learning objects retrieval from contextual analysis of user preferences to en...
Learning objects retrieval from contextual analysis of user preferences to en...Learning objects retrieval from contextual analysis of user preferences to en...
Learning objects retrieval from contextual analysis of user preferences to en...
 
An Approach for Supporting P2P Collaborative Communication Based on Learning ...
An Approach for Supporting P2P Collaborative Communication Based on Learning ...An Approach for Supporting P2P Collaborative Communication Based on Learning ...
An Approach for Supporting P2P Collaborative Communication Based on Learning ...
 
Model driven RichUbi: a model driven process for building rich interfaces of ...
Model driven RichUbi: a model driven process for building rich interfaces of ...Model driven RichUbi: a model driven process for building rich interfaces of ...
Model driven RichUbi: a model driven process for building rich interfaces of ...
 
Adaptive learning in the educational e-LORS system: an approach based on pref...
Adaptive learning in the educational e-LORS system: an approach based on pref...Adaptive learning in the educational e-LORS system: an approach based on pref...
Adaptive learning in the educational e-LORS system: an approach based on pref...
 
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
 
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
 
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
 
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
 
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
 
Cataloguing of learning objects using social tagging
Cataloguing of learning objects using social taggingCataloguing of learning objects using social tagging
Cataloguing of learning objects using social tagging
 
The use of social tagging to support the cataloguing of learning objects
The use of social tagging to support the cataloguing of learning objectsThe use of social tagging to support the cataloguing of learning objects
The use of social tagging to support the cataloguing of learning objects
 
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
 
Interaction With Mobile Devices by Elderly People: The Brazilian Scenario
Interaction With Mobile Devices by Elderly People: The Brazilian ScenarioInteraction With Mobile Devices by Elderly People: The Brazilian Scenario
Interaction With Mobile Devices by Elderly People: The Brazilian Scenario
 

Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Engenharia de Software e Compiladores

  • 1. Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Engenharia de Software e Compiladores Renata Correa Pimentel1, Andréia Damasio de Leles1, Luciana A. M. Zaina2 1Faculdade de Engenharia de Sorocaba (FACENS) 2Universidade Federal de São Carlos – Campus Sorocaba (UFSCar)
  • 2. AGENDA Motivação Planejamento Experiência Prática Benefícios e Dificuldades na Execução Análise da Experiência Considerações Finais
  • 3. MOTIVAÇÃO: Interdisciplinaridade [Diretrizes Curriculares SBC 2005]: a importância do aluno vivenciar o relacionamento entre diversos conhecimentos que compõe a sua formação. • Visão Integradora. • Permite que o aluno trabalhe não somente com especificidades das disciplinas. • Fator motivador ao aluno: trabalho em um único tema. • Evita redundâncias de conteúdo. • Sobrecarga ao aluno: evita a realização de diversos projetos no mesmo período letivo.
  • 4. MOTIVAÇÃO: Aspectos Internos • Reclamações dos alunos: Realizar projetos complexos em um mesmo período letivo: Engenharia de Software e Compiladores. • Alunos: dificuldades para construção de um compilador. • Partiu-se da premissa que utilizar as práticas de Engenharia de Software, poderia minimizar a complexidade do desenvolvimento do compilador e obter melhores resultados com o projeto.
  • 5. O Projeto Interdisciplinar • Projeto Interdisciplinar entre as disciplinas de Engenharia de Software e Compiladores. • Foi proposto um projeto onde os alunos deveriam desenvolver uma ferramenta, utilizando as disciplinas de Engenharia de Software, que permitisse o desenvolvimento de códigos em uma dada linguagem e que implementasse as técnicas de compiladores.
  • 6. PLANEJAMENTO DA EXPERIÊNCIA • Trabalhos correlatos. • Reuniões para definições de objetivos e metas do projeto integrado.
  • 7. PLANEJAMENTO DA EXPERIÊNCIA Compiladores (Metas) • Os alunos deveriam desenvolver uma ferramenta que permitisse aos usuários codificar um programa em uma dada linguagem. • A ferramenta deveria executar todas as etapas referentes à compilação de código (análise léxica, sintática, semântica) e geração de código. • Rodar em ambiente Desktop.
  • 8. PLANEJAMENTO DA EXPERIÊNCIA Engenharia de Software (Metas) • Capacitar o aluno nas práticas de Engenharia de Software do Requisito ao Produto. • A Ferramenta poderia ter características de sistemas Web. • Abranger conceitos de Arquitetura e Padrões de Projeto. • Abranger as diretrizes de Gerenciamento de Projetos. • Ciclo de vida de desenvolvimento: vivência de situações reais (comum no mercado de trabalho).
  • 9. PLANEJAMENTO DA EXPERIÊNCIA Visão Interdisciplinar Proposta Criativa e Desafiadora Compilador WEB Desktop Engenharia de Software + Compiladores Arquitetura de Computadores + Algoritmos
  • 10. PLANEJAMENTO DA EXPERIÊNCIA Vislumbrou-se dois cenários de utilização para o compilador Web: • (1) apoio a aprendizagem eletrônica; • (2) apoio ao desenvolvimento de software com programadores distribuídos em diferentes máquinas e/ou locais geográficos distintos. Em ambos os cenários, possibilitar a programação aos pares e controle de versões, foram definidas como características interessantes a serem desenvolvidas no projeto. Conceito de Produto:
  • 11. PLANEJAMENTO DA EXPERIÊNCIA • Definição de requisitos funcionais e não funcionais que deveriam ser implementados por todas as equipes. • Cada equipe também deveria definir alguns requisitos que seriam o diferencial do seu produto final. • Cada equipe foi direcionada a criar uma linguagem original e nativa, de fácil entendimento, mais próxima possível da linguagem natural e pseudocódigo. • A docente da disciplina de Compiladores faria o papel do cliente determinando características e necessidades do produto final.
  • 12. PLANEJAMENTO DA EXPERIÊNCIA • As equipes deveriam adotar o ciclo de desenvolvimento de software SCRUM e a disciplina proposta pelo XP. • Fundamentos da engenharia de requisitos deveriam ser aplicados. • Modelos da Unified Modeling Language (UML®) aplicados. • Aplicar as diretrizes do Project Management Institute (PMI®) nas fases do ciclo de vida do projeto. • A linguagem de programação que os alunos deveriam usar seria Java.
  • 13. PLANEJAMENTO DA EXPERIÊNCIA • As disciplinas planejaram critérios de avaliação independentes na teoria e totalmente vinculados na prática. • O vínculo entre as disciplinas que influenciariam as notas dos alunos correspondiam 30% (nota de laboratório). • Se a equipe não realizasse a entrega, perderia nota nas duas disciplinas. Entregas de Engenharia de Software em cada Sprint: 1. Documentação. 2. Modelos. 3. Liberação de uma parte do compilador. Entregas Compiladores: Análise Léxica Sintática Semântica Procedimentos para geração de código.
  • 14. EXPERIÊNCIA PRÁTICA  Projeto teve início em fevereiro de 2011.  Fevereiro e Março: As disciplinas introduziram os conteúdos essenciais para execução do projeto interdisciplinar.  O projeto teve início em 4 de abril e término em 18 de novembro (7 meses).  Aulas práticas: os alunos foram divididos em equipes.  Cada equipe com 3 integrantes: Gerente de Projetos, Engenheiro de Software e Programador.
  • 15. EXPERIÊNCIA PRÁTICA: As fases (WBS) Composição da nota bimestral das duas disciplinas.
  • 16. EXPERIÊNCIA PRÁTICA: Teste de Aceitação  Convite aos alunos do 1º ano de Engenharia da Computação para testar os compiladores realizados.  Para cada aluno-usuário foi disponibilizado o manual do usuário.  Dois laboratórios de informática com rede wireless foram utilizados para testar a programação pareada e a armazenagem do código em base de dados.  O código gerado pela ferramenta foi executado no computador- didático.
  • 17. EXPERIÊNCIA PRÁTICA: Teste de Aceitação Cada aluno-usuário recebeu um questionário de avaliação e validação, tendo que responder as seguintes questões, assinalando: 1. Muito fraco 2. Fraco 3. Regular 4. Bom 5. Ótimo. Também havia uma seção para reportar problemas encontrados na utilização da ferramenta.
  • 18. EXPERIÊNCIA PRÁTICA: Teste de Aceitação Retroalimentação para as equipes: Comentários dos usuários. Maiores Médias (Equipes 4, 6, 8, 12 e 13): problemas com programação aos pares e retroalimentação de erros. Menores Médias (Equipes 5 e 7): apresentaram diversos problema, sendo alguns deles problemas básicos como a execução de cálculos aritméticos.
  • 19. EXPERIÊNCIA PRÁTICA: Teste de Aceitação • Observa-se que as maiores dificuldades encontradas referem-se ao “controle de versões” e a “programação em pares” (questão 5 e 6). • Foco maior no desenvolvimento de requisitos básicos.
  • 20. BENEFÍCIOS e DIFICULDADES NA EXECUÇÃO  Compatibilizar o ensino-aprendizagem das duas disciplinas com a realização do projeto.  Resistência e descrença durante a apresentação da proposta.  Os alunos perceberam que os conteúdos apresentados nas aulas teóricas das duas disciplinas eram fundamentais para a execução prática do projeto e, consequentemente, conseguiriam um bom desempenho nas duas disciplinas.  Motivação e dedicação nas aulas práticas.  Assiduidade nas aulas teóricas.  Em Engenharia de Software: Execução dos Sprints conforme planejado na WBS.
  • 21. ANÁLISE DA EXPERIÊNCIA  A experiência foi bastante positiva.  Grande interação entre as docentes: compatibilizar conteúdos, definir marcos e resolver conflitos.  A interação docente e discente foi intensa.  Engenharia de Software: • Requisitos • Arquitetura de Software • Monitoramento e Controle de Projetos: Métricas de Análise de Valor Agregado. • Usabilidade
  • 22. CONSIDERAÇÕES FINAIS Lições Aprendidas  A experiência mostrou que a interdisciplinaridade permite aos docentes envolvidos não só a troca de vivências, mas também a geração de planejamentos mais criativos e desafiadores.  Essa interação pode agregar valor à qualidade de ensino, como também para pesquisa e desenvolvimento motivacional dos discentes.  O projeto também motivou alguns alunos seguirem na linha de pesquisa sobre Compilador Web, mostrando interesse em desenvolver o TCC neste tema.  Uma avaliação mais profunda das exigências de conhecimento para a realização de certos requisitos.
  • 23. CONSIDERAÇÕES FINAIS  Um resultado fundamental da experiência foi que todas as equipes conseguiram desenvolver o compilador, destacando seus resultados intermediários tanto na modalidade desktop quanto Web.