52
Introdução Métodos Resultados Parciais Considerações Finais Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Danilo Leite Dalmon Orientador: Prof. Dr. Leônidas de O. Brandão Qualificação de Mestrado Instituto de Matemática e Estatística - Universidade de São Paulo

Desenvolvimento de uma Linha de Produto de Software para ...ddalmon/files/apresentacao_quali.pdf · Funcionalidades sobre operações de domínio. IntroduçãoMétodosResultados ParciaisConsiderações

Embed Size (px)

Citation preview

Introdução Métodos Resultados Parciais Considerações Finais

Desenvolvimento de uma Linha de Produto deSoftware para Módulos de Aprendizagem

Interativa

Danilo Leite DalmonOrientador: Prof. Dr. Leônidas de O. Brandão

Qualificação de MestradoInstituto de Matemática e Estatística - Universidade de São Paulo

Introdução Métodos Resultados Parciais Considerações Finais

Sumário

1 Introdução

2 Métodos

3 Resultados Parciais

4 Considerações Finais

Introdução Métodos Resultados Parciais Considerações Finais

Introdução

Introdução

Introdução Métodos Resultados Parciais Considerações Finais

Aplicativos Educacionais

Software com objetivos de aprimorar os processos de ensino eaprendizagem

BenefíciosMotivaçãoInteratividadeRetroação (feedback )

Introdução Métodos Resultados Parciais Considerações Finais

Aplicativos Educacionais

Podem ser classificados em três categorias

Apoio, Gerenciamento (SGC)Apresentação de ConteúdoAtividades Interativas

Introdução Métodos Resultados Parciais Considerações Finais

Módulos de Aprendizagem Interativa (iMA)

Aplicativos de Atividade com:Integráveis em SGCFerramentas de Autoria para professoresInteratividadeRetroação (feedback )

Introdução Métodos Resultados Parciais Considerações Finais

iComb

Introdução Métodos Resultados Parciais Considerações Finais

iGeom

Introdução Métodos Resultados Parciais Considerações Finais

iMA Existentes

iMA atuaisiCombiGeomiGrafiVProg

Desenvolvidos de forma ad-hoc

Introdução Métodos Resultados Parciais Considerações Finais

Desenvolvimento de Aplicativos Educacionais

Duas etapas:Projeto InstrucionalProjeto de Software e Implementação

Introdução Métodos Resultados Parciais Considerações Finais

Problemática

Problema do trabalhoDificuldade em desenvolver, manter e evoluir iMA.

Introdução Métodos Resultados Parciais Considerações Finais

Justificativa

Justificativas do trabalhoComunidade (mais e melhores aplicativos)Fornecedores (melhor e mais barato)Grupo de Pesquisa (mais e melhores contribuições)

Introdução Métodos Resultados Parciais Considerações Finais

Objetivo

Objetivo geral do trabalho

Reduzir a dificuldade em desenvolver, manter e evoluir iMA.

Introdução Métodos Resultados Parciais Considerações Finais

Métricas

Avaliação do objetivo:

DificuldadeTempo de desenvolvimentoNúmero de linhas de código

Introdução Métodos Resultados Parciais Considerações Finais

Métricas

Avaliação do objetivo:

Qualidade de softwareMétricas de qualidade de códigoDocumentação do processo de desenvolvimento

Introdução Métodos Resultados Parciais Considerações Finais

Métodos

Métodos

Introdução Métodos Resultados Parciais Considerações Finais

Abordagem

Técnicas de Engenharia de Software:

Criar método sistemático de desenvolvimentoFornecer código fonte para reuso

O usuário das contribuições deste trabalho é o desenvolvedor.

Introdução Métodos Resultados Parciais Considerações Finais

Linha de Produto de Software

Definição:

Conjunto de métodos e técnicas de engenharia de softwarepara o desenvolvimento de famílias de aplicativos similares.

Estrutura:Engenharia de DomínioEngenharia de Aplicação

Introdução Métodos Resultados Parciais Considerações Finais

Engenharia de Domínio

Definição:

Limitação do domínioFornecimento de arquitetura comumFornecimento de funcionalidades comunsFornecimento de método de desenvolvimento

Introdução Métodos Resultados Parciais Considerações Finais

Engenharia de Domínio

Etapas:Análise de DomínioProjeto de SoftwareImplementação

Introdução Métodos Resultados Parciais Considerações Finais

Análise de Domínio

Feature Oriented Domain Analysis (Kang et al. 1990)

Introdução Métodos Resultados Parciais Considerações Finais

Projeto de Software

Método PLUSProduct Line UML-based Software EngineeringInclui a variabilidade da análise de características para famíliasde aplicativos nos diagramas UML.

Casos de UsoClasseColaboração

Introdução Métodos Resultados Parciais Considerações Finais

Implementação

Arcabouço de Aplicação

Conjunto de código que fornece:Arquitetura padrão (inversão de controle)Funcionalidades prontasFuncionalidades a serem estendidas

Java e JDeveloper

Introdução Métodos Resultados Parciais Considerações Finais

Engenharia de Aplicação

Definição:Usa a arquitetura comumUsa as funcionalidades comunsUsa o método de desenvolvimento

Cria um aplicativo e suas funcionalidades específicas

Introdução Métodos Resultados Parciais Considerações Finais

Engenharia de Aplicação

Execução:

Forma de verificar contribuições de usar a LPSEstudo de caso: iCombEstudo de caso: iGeom

Realizados por outros programadores para não enviesar aavaliação

Introdução Métodos Resultados Parciais Considerações Finais

Estudo de Caso: iComb

Refatoração do iComb

Verificar contribuições da LPS para o desenvolvimento de iMA

Introdução Métodos Resultados Parciais Considerações Finais

Estudo de Caso: iGeom

Extensão do iGeomVerificar contribuições da LPS para a inclusão de novasfuncionalidades nos iMA (evolução)

Introdução Métodos Resultados Parciais Considerações Finais

Resultados Parciais

Resultados Parciais

Introdução Métodos Resultados Parciais Considerações Finais

Resultados Parciais

Engenharia de Domínio

Análise de DomínioProjeto de Software e Implementação do arcabouçoMétodo de utilização do arcabouço

Introdução Métodos Resultados Parciais Considerações Finais

Análise de Domínio

Requisitos dos iMA existentes:Funcionar em navegadores WebTer o protocolo de comunicação com SGCAutoria de atividades por professoresOperações de domínio (interatividade)

Introdução Métodos Resultados Parciais Considerações Finais

Análise de Domínio

Requisitos adicionais:Comportamento estávelFácil manutençãoCódigo livre

Introdução Métodos Resultados Parciais Considerações Finais

Funcionalidades dos iMA

Introdução Métodos Resultados Parciais Considerações Finais

Funcionalidades dos iMA

Categorias:

Operações de domínio (interno à atividade)Funcionalidades de sistema (externo à atividade)Funcionalidades sobre operações de domínio

Introdução Métodos Resultados Parciais Considerações Finais

Características dos iMA

Mapeamento de funcionalidades para características:Operações de domínio - alternativa e específicaFuncionalidades de sistema - obrigatórias e comunsFuncionalidades sobre operações de domínio - opcionaise comuns

Introdução Métodos Resultados Parciais Considerações Finais

Características dos iMA

Introdução Métodos Resultados Parciais Considerações Finais

Projeto de Software do Arcabouço

Introdução Métodos Resultados Parciais Considerações Finais

Arcabouço de Aplicação

Estado atual:48 classes e interfaces1584 linhas de códigoContém todas funcionalidades exceto Comunicação

Introdução Métodos Resultados Parciais Considerações Finais

Instanciação Exemplo

Estado atual:16 classes e interfaces622 linhas de códigoSerá usado na documentação para utilização doarcabouçoTesta as funcionalidades

Introdução Métodos Resultados Parciais Considerações Finais

Método de Utilização do Arcabouço

Etapas:Modelo de AtividadeGUIControle

Introdução Métodos Resultados Parciais Considerações Finais

Método de Utilização do Arcabouço

Modelo de Atividade:No qual as operações de domínio devem ser baseadas

Objetos de DomínioAções de Domínio

Introdução Métodos Resultados Parciais Considerações Finais

Método de Utilização do Arcabouço

GUI:Modelo no qual a interface com o usuário deve ser criada

GUI-BaseGUI-AtividadeGUI-Domínio

Introdução Métodos Resultados Parciais Considerações Finais

Método de Utilização do Arcabouço

Controle:Modelo para a comunicação entre os componentes flexíveis eo arcabouço

SystemControlSystemFactory

Introdução Métodos Resultados Parciais Considerações Finais

Gerenciamento da Variabilidade

Etapas:Domínio - herança de classes de operações e objetosespecíficosGUI - herança de classes de interface com o usuárioAvaliação Automática - opcional (GUI)Funcionalidades sobre operações de domínio - opcionais(GUI)

Introdução Métodos Resultados Parciais Considerações Finais

Método de Expansão do Arcabouço

Funcionalidades sobre operações de domínio:Plug-ins

AnimaçõesTutoria InteligenteColaboração

Introdução Métodos Resultados Parciais Considerações Finais

Método de Expansão do Arcabouço

Funcionalidades sobre comunicação:Plug-ins

Formatos de ArquivosPadrões de MetadadosComunicação de outros plug-ins

Introdução Métodos Resultados Parciais Considerações Finais

Considerações Finais

Considerações Finais

Introdução Métodos Resultados Parciais Considerações Finais

Conclusões

Conclusões Parciais:Dificuldades de desenvolvimentoMétodo bem estabelecidoArcabouço praticamente implementado

Introdução Métodos Resultados Parciais Considerações Finais

Próximas Etapas

Próximas etapas:Estudo de caso com o iCombImplementação de uma característica opcionalEstudo de caso com o iGeom

Introdução Métodos Resultados Parciais Considerações Finais

Cronograma

Introdução Métodos Resultados Parciais Considerações Finais

Publicações

WIE 2010 - Melhorando a Geometria Interativa com o usode Tutores Rastreadores de Padrões: iGeom e CTATSBIE 2010 - Sistemas de Geometria Interativa e TutoresInteligentes: desafios e perspectivas de uma abordagemconjuntaIGIP 2011 - Interactive Learning Modules in EngineeringEducation and as a Motivational tool for Middle and HighSchool StudentsFIE 2011 - Work in Progress - Enhancing InteractiveGeometry Systems with Intelligent Tutoring FeaturesFIE 2011 - Work in Progress - A Framework for BuildingInteractive Learning Modules

Introdução Métodos Resultados Parciais Considerações Finais

Agradecimentos

Agradecimentos:

Obrigado à FAPESP pela bolsa, processo 2010/06805-2.

Introdução Métodos Resultados Parciais Considerações Finais

Agradecimentos

Obrigado pela atenção!

Questões?