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
Sumário 1 Introdução 2 Métodos 3 Resultados Parciais 4 Considerações Finais
Introdução Introdução
Aplicativos Educacionais Software com objetivos de aprimorar os processos de ensino e aprendizagem Benefícios Motivação Interatividade Retroação (feedback)
Aplicativos Educacionais Podem ser classificados em três categorias Apoio, Gerenciamento (SGC) Apresentação de Conteúdo Atividades Interativas
Módulos de Aprendizagem Interativa (ima) Aplicativos de Atividade com: Integráveis em SGC Ferramentas de Autoria para professores Interatividade Retroação (feedback)
icomb
igeom
ima Existentes ima atuais icomb igeom igraf ivprog Desenvolvidos de forma ad-hoc
Desenvolvimento de Aplicativos Educacionais Duas etapas: Projeto Instrucional Projeto de Software e Implementação
Problemática Problema do trabalho Dificuldade em desenvolver, manter e evoluir ima.
Justificativa Justificativas do trabalho Comunidade (mais e melhores aplicativos) Fornecedores (melhor e mais barato) Grupo de Pesquisa (mais e melhores contribuições)
Objetivo Objetivo geral do trabalho Reduzir a dificuldade em desenvolver, manter e evoluir ima.
Métricas Avaliação do objetivo: Dificuldade Tempo de desenvolvimento Número de linhas de código
Métricas Avaliação do objetivo: Qualidade de software Métricas de qualidade de código Documentação do processo de desenvolvimento
Métodos Métodos
Abordagem Técnicas de Engenharia de Software: Criar método sistemático de desenvolvimento Fornecer código fonte para reuso O usuário das contribuições deste trabalho é o desenvolvedor.
Linha de Produto de Software Definição: Conjunto de métodos e técnicas de engenharia de software para o desenvolvimento de famílias de aplicativos similares. Estrutura: Engenharia de Domínio Engenharia de Aplicação
Engenharia de Domínio Definição: Limitação do domínio Fornecimento de arquitetura comum Fornecimento de funcionalidades comuns Fornecimento de método de desenvolvimento
Engenharia de Domínio Etapas: Análise de Domínio Projeto de Software Implementação
Análise de Domínio Feature Oriented Domain Analysis (Kang et al. 1990)
Projeto de Software Método PLUS Product Line UML-based Software Engineering Inclui a variabilidade da análise de características para famílias de aplicativos nos diagramas UML. Casos de Uso Classe Colaboração
Implementação Arcabouço de Aplicação Conjunto de código que fornece: Arquitetura padrão (inversão de controle) Funcionalidades prontas Funcionalidades a serem estendidas Java e JDeveloper
Engenharia de Aplicação Definição: Usa a arquitetura comum Usa as funcionalidades comuns Usa o método de desenvolvimento Cria um aplicativo e suas funcionalidades específicas
Engenharia de Aplicação Execução: Forma de verificar contribuições de usar a LPS Estudo de caso: icomb Estudo de caso: igeom Realizados por outros programadores para não enviesar a avaliação
Estudo de Caso: icomb Refatoração do icomb Verificar contribuições da LPS para o desenvolvimento de ima
Estudo de Caso: igeom Extensão do igeom Verificar contribuições da LPS para a inclusão de novas funcionalidades nos ima (evolução)
Resultados Parciais Resultados Parciais
Resultados Parciais Engenharia de Domínio Análise de Domínio Projeto de Software e Implementação do arcabouço Método de utilização do arcabouço
Análise de Domínio Requisitos dos ima existentes: Funcionar em navegadores Web Ter o protocolo de comunicação com SGC Autoria de atividades por professores Operações de domínio (interatividade)
Análise de Domínio Requisitos adicionais: Comportamento estável Fácil manutenção Código livre
Funcionalidades dos ima
Funcionalidades dos ima Categorias: Operações de domínio (interno à atividade) Funcionalidades de sistema (externo à atividade) Funcionalidades sobre operações de domínio
Características dos ima Mapeamento de funcionalidades para características: Operações de domínio - alternativa e específica Funcionalidades de sistema - obrigatórias e comuns Funcionalidades sobre operações de domínio - opcionais e comuns
Características dos ima
Projeto de Software do Arcabouço
Arcabouço de Aplicação Estado atual: 48 classes e interfaces 1584 linhas de código Contém todas funcionalidades exceto Comunicação
Instanciação Exemplo Estado atual: 16 classes e interfaces 622 linhas de código Será usado na documentação para utilização do arcabouço Testa as funcionalidades
Método de Utilização do Arcabouço Etapas: Modelo de Atividade GUI Controle
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ínio Ações de Domínio
Método de Utilização do Arcabouço GUI: Modelo no qual a interface com o usuário deve ser criada GUI-Base GUI-Atividade GUI-Domínio
Método de Utilização do Arcabouço Controle: Modelo para a comunicação entre os componentes flexíveis e o arcabouço SystemControl SystemFactory
Gerenciamento da Variabilidade Etapas: Domínio - herança de classes de operações e objetos específicos GUI - herança de classes de interface com o usuário Avaliação Automática - opcional (GUI) Funcionalidades sobre operações de domínio - opcionais (GUI)
Método de Expansão do Arcabouço Funcionalidades sobre operações de domínio: Plug-ins Animações Tutoria Inteligente Colaboração
Método de Expansão do Arcabouço Funcionalidades sobre comunicação: Plug-ins Formatos de Arquivos Padrões de Metadados Comunicação de outros plug-ins
Considerações Finais Considerações Finais
Conclusões Conclusões Parciais: Dificuldades de desenvolvimento Método bem estabelecido Arcabouço praticamente implementado
Próximas Etapas Próximas etapas: Estudo de caso com o icomb Implementação de uma característica opcional Estudo de caso com o igeom
Cronograma
Publicações WIE 2010 - Melhorando a Geometria Interativa com o uso de Tutores Rastreadores de Padrões: igeom e CTAT SBIE 2010 - Sistemas de Geometria Interativa e Tutores Inteligentes: desafios e perspectivas de uma abordagem conjunta IGIP 2011 - Interactive Learning Modules in Engineering Education and as a Motivational tool for Middle and High School Students FIE 2011 - Work in Progress - Enhancing Interactive Geometry Systems with Intelligent Tutoring Features FIE 2011 - Work in Progress - A Framework for Building Interactive Learning Modules
Agradecimentos Agradecimentos: Obrigado à FAPESP pela bolsa, processo 2010/06805-2.
Agradecimentos Obrigado pela atenção! Questões?