Baixe o app para aproveitar ainda mais
Prévia do material em texto
Indaial – 2020 Fundamentos e análise de soFtware educativo Profa. Greisse Moser Badalotti 1a Edição Copyright © UNIASSELVI 2020 Elaboração: Profa. Greisse Moser Badalotti Revisão, Diagramação e Produção: Centro Universitário Leonardo da Vinci – UNIASSELVI Ficha catalográfica elaborada na fonte pela Biblioteca Dante Alighieri UNIASSELVI – Indaial. Impresso por: B132f Badalotti, Greisse Moser Fundamentos e análise de software educativo. / Greisse Moser Badalotti. – Indaial: UNIASSELVI, 2020. 201 p.; il. ISBN 978-65-5663-079-3 1. Software educativo. – Brasil. Centro Universitário Leonardo Da Vinci. CDD 371.3944 III apresentação Prezado acadêmico! Bem-vindo ao estudo Fundamentos e Análise de Software Educacional. Argumenta-se que a tecnologia promove o uso de abordagens instrucionista e construcionista para o processo de ensino-aprendizagem. No entanto, a tecnologia por si só não incorpora uma única orientação pedagógica. Diferentes tipos de software podem ser usados para atender a diferentes objetivos educacionais, entretanto, é necessário examinar os softwares a serem utilizados em sala de aula. O estudo dessa disciplina é muito importante para ampliar seus conhecimentos acerca do panorama geral de desenvolvimento de software educativo, bem como compreender como avaliá-lo. Aproveitamos esse momento para destacar que os exercícios não são opcionais. O objetivo de cada exercício deste livro é a fixação de determinado conceito. É aí que reside a importância da realização de todos. Sugerimos que, em caso de dúvida em algum exercício, você entre em contato com seu tutor externo ou com a tutoria interna da UNIASSELVI. Desejamos a você sucesso nessa nova busca de informações e, principalmente, na busca por ampliar seus conhecimentos. Bons estudos! IV Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há novidades em nosso material. Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é o material base da disciplina. A partir de 2017, nossos livros estão de visual novo, com um formato mais prático, que cabe na bolsa e facilita a leitura. O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova diagramação no texto, aproveitando ao máximo o espaço da página, o que também contribui para diminuir a extração de árvores para produção de folhas de papel, por exemplo. Assim, a UNIASSELVI, preocupando-se com o impacto de nossas ações sobre o ambiente, apresenta também este livro no formato digital. Assim, você, acadêmico, tem a possibilidade de estudá-lo com versatilidade nas telas do celular, tablet ou computador. Eu mesmo, UNI, ganhei um novo layout, você me verá frequentemente e surgirei para apresentar dicas de vídeos e outras fontes de conhecimento que complementam o assunto em questão. Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa continuar seus estudos com um material de qualidade. Aproveito o momento para convidá-lo para um bate-papo sobre o Exame Nacional de Desempenho de Estudantes – ENADE. Bons estudos! NOTA V VI Olá, acadêmico! Iniciamos agora mais uma disciplina e com ela um novo conhecimento. Com o objetivo de enriquecer seu conhecimento, construímos, além do livro que está em suas mãos, uma rica trilha de aprendizagem, por meio dela você terá contato com o vídeo da disciplina, o objeto de aprendizagem, materiais complementares, entre outros, todos pensados e construídos na intenção de auxiliar seu crescimento. Acesse o QR Code, que levará ao AVA, e veja as novidades que preparamos para seu estudo. Conte conosco, estaremos juntos nesta caminhada! LEMBRETE VII UNIDADE 1 – PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO ...........................................................................................1 TÓPICO 1 – CLASSIFICAÇÃO DE SOFTWARE EDUCACIONAL ...............................................3 1 INTRODUÇÃO .......................................................................................................................................3 2 COMO A TECNOLOGIA ESTÁ MUDANDO A FORMA DE ENSINAR E APRENDER .......3 2.1 ENTENDENDO SOFTWARES EDUCATIVOS ............................................................................5 2.2 TIPOS DE SOFTWARES EDUCATIVOS ........................................................................................7 2.2.1 Jogos ............................................................................................................................................9 2.2.2 Jogos de Estratégia ....................................................................................................................9 2.2.3 Gamificação .............................................................................................................................10 2.2.4 Diferenças entre gamificação e jogos ...................................................................................10 2.2.5 Jogos de aventura....................................................................................................................11 2.2.6 Jogos educativos .....................................................................................................................12 2.2.7 Simuladores .............................................................................................................................12 RESUMO DO TÓPICO 1........................................................................................................................15 AUTOATIVIDADE .................................................................................................................................16 TÓPICO 2 – ENGENHARIA DE SOFTWARE EDUCATIVO .........................................................19 1 INTRODUÇÃO .....................................................................................................................................19 2 O QUE É ENGENHARIA DE SOFTWARE? ....................................................................................19 2.1 A IMPORTÂNCIA DA ENGENHARIA DE SOFTWARE .........................................................21 3 PROCESSO DE SOFTWARE ..............................................................................................................22 3.1 MODELOS DE PROCESSO DE SOFTWARE ...............................................................................23 3.1.1 Modelo cascata ........................................................................................................................23 3.1.2 A natureza das fases do modelo cascata .............................................................................24 3.1.3 Prototipagem ...........................................................................................................................24 3.1.4 Incremental ..............................................................................................................................26 3.1.5 Incremental X modelo cascata ..............................................................................................27 3.1.6 Modelo em espiral ..................................................................................................................27 4 ENGENHARIA DE SOFTWARE EDUCACIONAL .......................................................................29 4.1 ELICITAÇÃO DE REQUISITOS DE SOFTWARE ......................................................................31 4.1.1 O modelo de elicitação de requisitos ...................................................................................32 RESUMODO TÓPICO 2........................................................................................................................35 AUTOATIVIDADE .................................................................................................................................36 TÓPICO 3 – MÉTODOS ÁGEIS ...........................................................................................................39 1 INTRODUÇÃO .....................................................................................................................................39 2 O CONTEXTO DO DESENVOLVIMENTO ÁGIL ........................................................................39 3 TIPOS DE METODOLOGIAS ÁGEIS .............................................................................................42 3.1 METODOLOGIA SCRUM ..............................................................................................................43 3.2 METODOLOGIA PROGRAMAÇÃO EXTREMA (XP) ..............................................................44 3.3 METODOLOGIA FDD – FEATURE-DRIVEN DEVELOPMENT .............................................45 sumário VIII 3.4 METODOLOGIA LEAN .................................................................................................................49 3.5 MÉTODO KANBAN .......................................................................................................................50 LEITURA COMPLEMENTAR ...............................................................................................................54 RESUMO DO TÓPICO 3........................................................................................................................59 AUTOATIVIDADE .................................................................................................................................60 UNIDADE 2 – DESENVOLVIMENTO DO PROCESSO DE SOFTWARE ..................................63 TÓPICO 1 – DESENVOLVIMENTO DE SOFTWARE NO CONTEXTO EDUCACIONAL .....65 1 INTRODUÇÃO .....................................................................................................................................65 2 COMPREENDENDO EFICÁCIA, EFICIÊNCIA E VIABILIDADE ............................................65 2.1 ASPECTOS DA EFICIÊNCIA, EFICÁCIA E VIABILIDADE NA CONSTRUÇÃO DE UM SOFTWARE EDUCATIVO .................................................................66 3 TEORIA DA ATIVIDADE ..................................................................................................................67 3.1 UM POUCO DE HISTÓRIA DA TEORIA DA ATIVIDADE .....................................................68 3.2 EDUCAÇÃO E APRENDIZAGEM ...............................................................................................72 RESUMO DO TÓPICO 1........................................................................................................................75 AUTOATIVIDADE .................................................................................................................................76 TÓPICO 2 – ASPECTOS PEDAGÓGICOS (MÉTODOS, TÉCNICAS E FERRAMENTAS) QUE APOIAM O DESENVOLVIMENTO DO SOFTWARE EDUCACIONAL..... .................................................................................79 1 INTRODUÇÃO .....................................................................................................................................79 2 ABORDAGENS .....................................................................................................................................79 2.1 ANÁLISE DA ATIVIDADE EDUCACIONAL ............................................................................81 2.1.1 Estrutura hierárquica da atividade ......................................................................................83 2.1.2 Orientação a objetos ...............................................................................................................84 2.1.3 Internalização/externalização ...............................................................................................85 2.1.4 Referente à história e ao desenvolvimento .........................................................................85 2.1.5 Referente à mediação .............................................................................................................86 2.2 ANÁLISE DO ARTEFATO COMPUTACIONAL ........................................................................86 2.2.1 Artefatos computacionais, artefatos digitais, objetos digitais e aplicativos ...................87 2.2.2 Estrutura hierárquica da atividade ......................................................................................88 2.2.3 Orientação a objetos ...............................................................................................................88 2.2.4 Internalização/externalização ...............................................................................................89 2.2.5 História e o desenvolvimento ...............................................................................................89 2.2.6 Mediação ..................................................................................................................................90 2.3 DEMAIS FASES DO DESENVOLVIMENTO ...............................................................................90 3 FERRAMENTAS E MÉTODOS PARA O DESENVOLVIMENTO DE SOFTWARE EDUCACIONAL ...........................................................................................................91 3.1 MODELO TUP .................................................................................................................................95 3.1.1 Requisito de tecnologia ..........................................................................................................96 3.1.2 Requisito de usabilidade .......................................................................................................97 3.1.3 Requisito de pedagogia..........................................................................................................98 3.2 MÉTODO DE REEVES ....................................................................................................................99 3.3 MÉTODO DE LORI .......................................................................................................................102 RESUMO DO TÓPICO 2......................................................................................................................104 AUTOATIVIDADE ...............................................................................................................................105 IX TÓPICO 3 – QUALIDADE DE SOFTWARE ....................................................................................107 1 INTRODUÇÃO ...................................................................................................................................107 2 DEFINIÇÃO .........................................................................................................................................107 2.1 GARANTIA DE QUALIDADE DE SOFTWARE.......................................................................108 3 FATORES DE QUALIDADE .............................................................................................................109 4 MÉTRICAS DE QUALIDADE DE SOFTWARE ...........................................................................112 4.1 MÉTRICAS ......................................................................................................................................113 LEITURA COMPLEMENTAR .............................................................................................................116 RESUMO DO TÓPICO 3......................................................................................................................121 AUTOATIVIDADE ...............................................................................................................................122UNIDADE 3 – AVALIAÇÃO DE SOFTWARE EDUCATIVO .......................................................125 TÓPICO 1 – MÉTODOS E TÉCNICAS DE AVALIAÇÃO DE SOFTWARES EDUCATIVOS.................................................................................................................127 1 INTRODUÇÃO ...................................................................................................................................127 2 TÉCNICAS DE AVALIAÇÃO ..........................................................................................................129 2.1 AVALIAÇÃO AD HOC .................................................................................................................131 2.2 CLASSIFICAÇÃO ..........................................................................................................................131 2.3 AVALIAÇÃO DE INTERFACES ..................................................................................................132 2.3.1 Avaliação heurística ..............................................................................................................133 2.3.2 Revisão por critérios .............................................................................................................135 2.3.3 Análise da comunicabilidade ..............................................................................................137 2.3.4 Avaliação dialógica discursiva ............................................................................................138 2.4 ANÁLISE DA INTERAÇÃO ........................................................................................................139 2.4.1 Análise de tarefas ..................................................................................................................139 2.5 AVALIAÇÃO DA APRENDIZAGEM UTILIZANDO O SOFTWARE EDUCATIVO .........141 RESUMO DO TÓPICO 1......................................................................................................................145 AUTOATIVIDADE ...............................................................................................................................147 TÓPICO 2 – AVALIANDO AMBIENTES VIRTUAIS DE APRENDIZAGEM ..........................149 1 INTRODUÇÃO ...................................................................................................................................149 2 AMBIENTES VIRTUAIS DE APRENDIZAGEM – DEFINIÇÃO .............................................149 3 AMBIENTES VIRTUAIS DE APRENDIZAGEM – CARACTERÍSTICAS ............................152 4 AVALIANDO AMBIENTES DE APRENDIZAGEM ...................................................................153 4.1 FAZENDO AS PERGUNTAS CERTAS .......................................................................................154 4.2 CRIANDO COMUNIDADES DE PRÁTICA .............................................................................155 4.3 FERRAMENTA DE AVALIAÇÃO DO AVA ..............................................................................157 RESUMO DO TÓPICO 2......................................................................................................................166 AUTOATIVIDADE ...............................................................................................................................167 TÓPICO 3 – PLANEJAMENTO E CENÁRIOS DE APRENDIZAGEM COM SOFTWARE EDUCATIVO ...........................................................................................169 1 INTRODUÇÃO ...................................................................................................................................169 2 PLANEJAMENTO – VARIÁVEL QUE CONFIGURA A PRÁTICA DOCENTE ......................169 3 MODALIDADES DE CENÁRIOS DE APRENDIZAGEM ........................................................171 LEITURA COMPLEMENTAR .............................................................................................................189 RESUMO DO TÓPICO 3......................................................................................................................195 AUTOATIVIDADE ...............................................................................................................................197 REFERÊNCIAS .......................................................................................................................................199 X 1 UNIDADE 1 PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO OBJETIVOS DE APRENDIZAGEM PLANO DE ESTUDOS A partir do estudo desta unidade, você deverá ser capaz de: • conhecer as classificações de softwares educacionais; • compreender o que é engenharia de software; • conhecer os modelos de processo de software; • compreender o que é engenharia de software educacional; • analisar o panorama e os conceitos no âmbito de desenvolvimento ágil; • descrever as práticas da modelagem ágil; • explicar os tipos e as etapas dos modelos de processos ágeis. Esta unidade está dividida em três tópicos. No decorrer de cada um deles você encontrará autoatividades com o objetivo de reforçar o conteúdo apresentado. TÓPICO 1 – CLASSIFICAÇÃO DE SOFWARE EDUCACIONAL TÓPICO 2 – ENGENHARIA DE SOFTWARE EDUCATIVO TÓPICO 3 – MÉTODOS ÁGEIS Preparado para ampliar seus conhecimentos? Respire e vamos em frente! Procure um ambiente que facilite a concentração, assim absorverá melhor as informações. CHAMADA 2 3 TÓPICO 1 UNIDADE 1 CLASSIFICAÇÃO DE SOFTWARE EDUCACIONAL 1 INTRODUÇÃO Existem vários tipos de softwares educacionais e os educadores devem utilizar esses recursos a partir de uma proposta pedagógica da escola, refletindo sobre o uso dessas ferramentas e quais as mudanças no processo de ensino-aprendizagem que irão alcançar. Os softwares educativos são artefatos computacionais criados para funcionarem enquanto mediadores em atividades educativas de formação em áreas distintas do conhecimento. O software educacional na sala de aula normalmente ensina o assunto de acordo com um currículo e acompanha o progresso dos alunos à medida que eles completam seções ou níveis. Como auxílio didático, ainda permite que crianças que não teriam acesso a um computador desenvolvam habilidades básicas de computador, como o uso de mouse e teclado. Considerando uma das questões fundamentais na análise de um software educativo o aspecto pedagógico, abordaremos neste tópico os tipos de softwares educacionais. 2 COMO A TECNOLOGIA ESTÁ MUDANDO A FORMA DE ENSINAR E APRENDER A tecnologia deve ser aplicada na escola como recurso didático por meio de suas muitas possibilidades de interação, simulação e animações. Em toda a discussão sobre sistemas de aprendizagem, recursos educacionais, cursos on-line, mídia social, opções de avaliação, análise de aprendizado e realidade aumentada e virtual, talvez as questões mais importantes dizem respeito à forma como a tecnologia está mudando a maneira como ensinamos e a maneira como os alunos aprendem. O que está claro são as mudanças na maneira como ensinamos os alunos desencadeadas pelas novas tecnologias. Mudanças na sociedade, expectativas dos alunos e tecnologia estão motivando professores a repensarem os métodos de ensino. Essas mudanças se desencadeiam pelas novas demandas baseadas em uma sociedade do conhecimento. UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 4 Leia o artigo “Sociedade do conhecimento: características, demandas e requisitos” em: https://bit.ly/3eo32IF. DICAS Existem três fatores separados em ação na sociedade baseada no conhecimento. O primeiro é o desenvolvimento contínuo de novos conhecimentos, dificultando a compactação de todos os alunos que precisam compreender dentro de um prazo limitado, ou seja, dentro de um semestre. Isso significa ajudar os alunos a gerenciar o conhecimento – como encontrar, analisar, avaliar e aplicar o conhecimento à medida que ele muda e cresce constantemente. O segundo fatoré a ênfase crescente na aplicação do conhecimento para atender às demandas da sociedade do século XXI, usando habilidades como pensamento crítico, aprendizado independente e uso de tecnologia da informação. O desenvolvimento de tais habilidades requer aprendizado ativo em ambientes ricos e complexos, com muitas oportunidades para desenvolver, aplicar, avaliar e praticar essas habilidades. Terceiro, significa educar os alunos com as desenvolturas necessárias para gerenciar seu próprio aprendizado ao longo da vida, para que possam continuar aprendendo após a conclusão dos graus de estudo. Mesmo os alunos mais céticos esperam encontrar bons empregos após vários anos de estudo, empregos em que possam aplicar seu aprendizado e obter uma renda razoável. Os alunos esperam se envolver ativamente e ver a relevância de seu aprendizado para o mundo real. Os alunos de hoje cresceram em um mundo onde a tecnologia é uma parte natural de seu ambiente. A expectativa deles é que a tecnologia seja usada sempre que apropriado para ajudá-los a aprender, desenvolver habilidades essenciais de informação e tecnologia e dominar a fluência necessária em seu domínio específico. Os contínuos avanços nas tecnologias digitais, mídias sociais e dispositivos móveis, como smartphones e tablets, dão ao usuário final, ao aluno, muito mais controle sobre o acesso e a criação e compartilhamento de informação. Isso faz com que professores procurem maneiras de aproveitar esse controle para aumentar a motivação dos alunos perante os conteúdos, necessitando conhecer os tipos de softwares educativos e suas aplicações. TÓPICO 1 | CLASSIFICAÇÃO DE SOFTWARE EDUCACIONAL 5 2.1 ENTENDENDO SOFTWARES EDUCATIVOS Para iniciarmos nossa conversa, analisaremos como alguns autores caracterizam softwares educativos. Software é uma sequência de instruções escritas para serem interpretadas por um computador com o objetivo de executar tarefas específicas. Também pode ser definido como os programas que comandam o funcionamento de um computador. https://www.significados.com.br/software/. Educação é o ato de educar, de instruir, é polidez, disciplinamento. https://www.significados.com.br/educacao. NOTA Para Tajra (2009), conceitua-se software educativo de duas formas: um programa desenvolvido para finalidades educativas e qualquer programa que você utiliza para atingir resultados educativos. Já para Tchounikine (2011, p. 1), “um software educativo é algo projetado com função de implantar pedagogias baseadas no uso com computador e contribuir para alcançar objetivos pedagógicos”. Analisando os autores, podemos dizer que software educativo é uma interface de construção de conhecimentos específicos em contextos específicos. Essas interfaces servem para criar situações e viabilizar contextos nas quais as ações dos usuários levem-lhes a aprendizagens. Portanto, a função de um software educativo é a de servir à promoção da aprendizagem de conceitos específicos que ocorre durante o uso do software. Nessa perspectiva, o software educativo é visto como um “dispositivo digital, simbólico e cultural, que é planejado e elaborado para fins didáticos/pedagógicos, sendo, portanto, mediador de conteúdos curriculares da esfera escolar e viabilizador do processo de ensino e de aprendizagem, necessitando da mediação de um profissional da área” (SILVA , 2012, p. 80). Em que consiste a interface de um software educativo? A interface é o espaço de comunicação por onde se dá a interação usuário e sistema. Nesse espaço estão contidas representações de diversos tipos, telas compostas com imagens, animações, sons e textos em geral, os quais são deixados na mídia digital para que seja possível acontecer uma atividade social de mediação da aprendizagem. No caso de softwares educativos, essas telas estão relacionadas com o propósito do conteúdo, considerando o contexto no qual ele será usado e da cultura dos interlocutores. UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 6 Define-se softwares educativos como uma das classes de ferramentas educacionais na qual seu objetivo está em conceitos específicos e nas situações locais para o ensino (SILVA; GOMES, 2015). Quando falamos de software educativo, é importante destacar que, além da interface, o software educativo contempla a linguagem verbal, a não verbal e as áreas envolvidas (exemplo de áreas: matemática, português, geografia, entre outras). Assista ao vídeo e relembre o que é linguagem verbal e não verbal: https://www.youtube.com/watch?v=Pu8D18RhUcs. DICAS O software educacional integra conteúdo multimídia e fornece aos usuários um alto nível de interatividade, dos recursos que os diferenciam das práticas tradicionais de ensino. Os conteúdos multimídia, como gráficos, imagens e som, ajudam a envolver os alunos em suas aulas, por exemplo, quando se trata de aprender história, os alunos podem voltar e ver vídeos ou outros conteúdos on-line relacionados a ela, como os hipertextos. O hipertexto ou a multimídia interativa adéquam-se particularmente aos usos educativos. É bem conhecido o papel fundamental do envolvimento pessoal do aluno no processo e aprendizagem. Quanto mais ativamente uma pessoa participa da aquisição de um conhecimento, mas ela irá integrar e reter aquilo que aprender. Ora, a multimídia interativa, graças a sua dimensão reticular ou não linear, favorece uma atitude exploratória, ou mesmo lúdica, face ao material a ser assimilado. É, portanto, um instrumento bem adaptado a uma pedagogia ativa (LÉVY, 1993, p. 40). O software educacional é um programa que é benéfico para alunos e professores. Para os alunos, pode instigar a vontade de aprender devido a sua natureza interativa, favorecendo a assimilação e a produção do conhecimento. Para os professores, é uma ferramenta de auxílio que os ajudará a fazer com que os alunos entendam mais profundamente os conceitos da matéria específica que ensinam. Simplificando, o software educacional é uma oferta tecnológica para a instituição altamente importante: a escola. Um programa de software educacional é uma ferramenta para aprender e ensinar. É um programa instalado em um computador para fazer uso de suas funções. Os programas de software educacional estão disponíveis em uma variedade de assuntos, da ciência ao inglês e até à arte. Vários artigos indicam que estudos sobre software educacional mostraram que o programa é realmente eficaz para melhorar a qualidade do ensino dos professores e a vontade de aprender dos alunos. TÓPICO 1 | CLASSIFICAÇÃO DE SOFTWARE EDUCACIONAL 7 O software educacional geralmente utiliza recursos visuais e efeitos auditivos. Isso ajuda a permitir que os alunos compreendam um assunto específico com mais profundidade. O conteúdo visual no programa de software educacional geralmente é composto por gráficos, animações e vídeos. Os programas de software educacional também podem ter jogos interativos, o que pode ajudar os alunos a avaliar o quanto entenderam do programa. Eles são feitos para serem interessantes, mesmo que sejam de natureza acadêmica, para que o aluno não se sinta entediado ou pressionado a participar deles. Vamos conhecer os tipos de softwares educativos? 2.2 TIPOS DE SOFTWARES EDUCATIVOS Um software educacional tem sido uma ferramenta de ensino para professores como parte das suas aulas. Existem inúmeros softwares educacionais disponíveis para vários assuntos. No entanto, empresas de software educacional começaram a criar aplicativos educacionais para alunos e professores utilizarem como uma ferramenta de ensino e aprendizagem. A seguir, serão apresentados os tipos de software educacional. Na Abordagem Instrucionista o conteúdo a ser ensinado deve ser subdividido em módulos estruturados de forma lógica, de acordo com a perspectiva pedagógica de quem planejou a elaboração do material instrucional. Segundo Valente (1999), a ideia de Skinner é a de que o comportamento humano pode ser moldado, poisé sempre um produto das contingências. Skinner, ao elaborar a ‘máquina de ensinar’, destaca o papel dos ‘artefatos mecânicos’ na educação como instrumentos que proporcionam formas de controlar as contingências para o ensino eficaz. Nesse contexto, os computadores instrucionais são usados de duas maneiras: programas de reforço ou programas tutoriais. Vejamos um exemplo de programa de reforço: o aluno responderá uma pergunta pelo computador, após selecionar uma resposta ele saberá imediatamente se acertou. Se a resposta estiver correta, o aluno será direcionado para perguntas mais desafiadores, mas se a resposta estiver incorreta, mensagens indicarão a falha no procedimento, e o programa ignorará perguntas mais complicadas até que o aluno demonstre domínio nessa área. Conforme o exemplo, podemos ver que este software é usado da mesma maneira que se utiliza cartões de memória na sala de aula. Ele fornece exposição repetida a fatos ou informações, geralmente em formato de pergunta ou tipo de jogo. UNI UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 8 A aprendizagem é explicada como resultado da manipulação de algumas variáveis, como a apresentação do conteúdo do conhecimento. Segundo Valente (1999), as vantagens desse tipo de software é que os professores podem aplicá-lo para ter uma ideia de como os alunos estão assimilando aquilo que está sendo trabalhado em sala de aula. Coloca-se à disposição do aluno uma grande quantidade de exercícios que ele pode resolver na medida em que evolua seu grau de conhecimento e interesse. Em alguns exercícios e práticas, ainda se pode constatar se a resposta está correta, fornecendo feedback e permitindo correção do erro. Além disso, quando bem concebidos, podem adicionar estímulos ao aluno, pelo fato de o exercício no computador parecer mais atraente do que no livro ou no caderno. Esse tipo de software é útil em disciplinas que exigem treinamento, liberando o tempo do professor de algumas tarefas da sala de aula para que o professor possa dedicar mais tempo a alunos individuais. Esse software pode também ser usado como diagnóstico e, uma vez identificado o gap de aprendizagem do aluno, ele pode se concentrar na área do gap. Por fim, devido à privacidade e à atenção individual oferecida, alguns alunos ficam aliviados do constrangimento de dar uma resposta incorreta publicamente. No entanto, existem desvantagens na implementação desses softwares. Geralmente, são sistemas caros para comprar, manter e atualizar. Também há receios, justificados ou não, de que o uso de computadores na educação diminua a quantidade de interação humana. Um dos aspectos mais difíceis dos computadores instrucionais é a disponibilidade e o desenvolvimento de software ou programas de computador. O material do curso pode ser adquirido como um pacote totalmente desenvolvido de uma empresa de software, mas o programa fornecido dessa maneira pode não atender às necessidades específicas de cada classe ou currículo. Pode ser adquirido um modelo de material didático, que fornece um formato geral para testes e instruções de treinamento, com as informações individuais a serem inseridas pelo sistema escolar ou pelo professor. A desvantagem desse sistema é que a instrução tende a ser chata e repetitiva, com testes e perguntas seguindo o mesmo padrão para cada disciplina. O software pode ser desenvolvido internamente, ou seja, uma escola, curso ou professor pode fornecer o material do curso exatamente adaptado as suas próprias necessidades, mas isso é caro, demorado e pode exigir mais experiência em programação do que o disponível (Augustyn et al., 2019). Ainda na categoria programas de material instrucional apresentados por meio de um computador, temos os tutoriais. Tutoriais são programas com informações organizadas conforme a necessidade da sequência pedagógica a ser apresentada ao aluno (ALMEIDA; ALMEIDA, 2015). Portanto, um programa de software interativo é criado como uma ferramenta de aprendizado. Os tutoriais ajudam as pessoas a aprender novas habilidades usando um processo de passo a passo, que garante que o usuário esteja acompanhando e compreendendo o material. Por exemplo, um tutorial de desenvolvimento da Web pode começar com instruções sobre como criar uma página da Web básica. Esta página pode incluir apenas as palavras “Bem-vindo ao meu site” e usar o HTML mínimo necessário para carregar a página em um navegador da Web. Quando o usuário conseguir criar uma página da Web em funcionamento, o tutorial poderá explicar como adicionar outros recursos, como texto estilizado, leiautes de tabela e imagens à página. Em seguida, o tutorial pode fornecer instruções sobre como publicar a página da Web na Internet. TÓPICO 1 | CLASSIFICAÇÃO DE SOFTWARE EDUCACIONAL 9 Alguns tutoriais de software fornecem recursos de teste para garantir a compreensão do material, enquanto outros podem ter simples orientações. Os tutoriais podem ser usados para fins escolares ou comerciais e são escritos para usuários básicos, intermediários e avançados. A maioria dos programas de desenvolvimento de software inclui um tutorial. Como os tutoriais oferecem uma abordagem gradual ao aprendizado, eles podem ser úteis para pessoas com diferentes níveis de habilidade. 2.2.1 Jogos Os jogos proporcionaram aos humanos a oportunidade de se envolverem em desafios mentais, interação social, recreação e competição por milhares de anos. Muitos jogos novos são lançados a cada ano. Jogos são comuns e a tecnologia utilizada para seu desenvolvimento vem evoluindo, porém, o investimento vem sendo apenas para o comercial. Encontra-se poucos jogos desenvolvidos especialmente para a educação (ALMEIDA; ALMEIDA, 2015). Jogos são experiências planejadas para os jogadores. Alguns jogos oferecem um desafio intelectual significativo e a oportunidade de planejar e executar uma infinidade de estratégias. Outros jogos proporcionam aos jogadores experiências emocionais como tensão, diversão ou até medo. Ainda, para Almeida e Almeida (2015), dentro da categoria jogos temos várias subclassificações que definem as características e interface do jogo. Vejamos a subclassificações: 2.2.2 Jogos de Estratégia Em jogos de estratégia, as habilidades de tomada de decisão dos jogadores têm um alto significado na determinação do resultado do jogo. Se os jogadores têm a capacidade de escolher as ações que desejam realizar, a vitória resulta dessas melhores decisões e jogadores habilidosos têm uma melhor experiência. Essas habilidades de tomada de decisão não ocorrem por acaso; designers de jogos criam jogos para gerar ações, comportamentos e resultados específicos. Bons jogos permitem que os jogadores tenham várias opções por fase, cujo valor comparativo pode ser conhecido ou desconhecido. Bons jogos podem permitir vários caminhos diferentes para a vitória, de modo que estratégias diferentes possam ser formuladas pelos jogadores no início do jogo ou mudar conforme a fase do jogo. Bons jogos dão a todos os jogadores a sensação de que são competitivos durante todo o jogo; portanto, jogos com eliminação de jogadores não são ideais. UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 10 FIGURA 3 – EXEMPLO DE UM JOGO DE ESTRATÉGIA FONTE: <https://bit.ly/38Qhrfz>. Acesso em: 23 abr. 2020. 2.2.3 Gamificação Gamificação é o uso do raciocínio baseado em jogos para envolver pessoas, motivar ações, promover o aprendizado e resolver problemas. Gamificação usa abordagens e elementos em um contexto diferente dos jogos. Usando a mecânica dos jogos, melhora a motivação e o aprendizado em condições formais e informais. Várias definições se sobrepõem e podem ser resumidas da seguinte forma: gamification é uma integração de elementos e pensamento de jogo em atividades que não são jogos. Os jogos têm algumas características distintas que desempenham um papel fundamental na gamificação: • os usuários são todos participantes;• há desafios que progridem conforme os objetivos definidos; • pontos acumulados como resultado da execução das atividades; • níveis pelos quais os usuários passam dependendo dos pontos; • medalhas que servem como recompensa por concluir ações; • classificação dos usuários de acordo com suas conquistas. 2.2.4 Diferenças entre gamificação e jogos Existem alguns termos e conceitos que têm semelhanças: gamificação, design inspirado em jogos, jogos e simulações. Os limites entre eles não estão claramente definidos. TÓPICO 1 | CLASSIFICAÇÃO DE SOFTWARE EDUCACIONAL 11 Design inspirado em jogos é o uso de ideias e maneiras de pensar que são inerentes aos jogos. Design inspirado em jogos não se expressa na adição de elementos de jogos, mas no uso de design lúdico. Gamificação é o uso de metáforas, elementos e conceito de jogos em um contexto diferente daquele dos jogos para aumentar a motivação e o comprometimento e influenciar o comportamento do usuário. As simulações são semelhantes aos jogos, mas simulam coisas do mundo real e seu objetivo é o treinamento do usuário em um ambiente semelhante à vida real. Os jogos incluem tudo o que foi mencionado e foram projetados para entretenimento, por isso, poderão envolver diversão e conhecimento. Todos os conceitos mencionados têm uma coisa em comum – eles usam elementos que são inerentes aos jogos e o objetivo deles é apoiar o aprendizado e melhorar o envolvimento dos usuários. 2.2.5 Jogos de aventura Jogos de aventura caracterizam-se por explorar: quebra-cabeças e interações narrativas com personagens, como jogos de corrida, salto, escalada, luta e outras sequências de ação intensa. Muitos jogos eletrônicos modernos, tais como jogos de RPG (Role-Playing Game), contêm algumas características de aventura, fazendo categorização precisa impossível. RPG é a sigla em inglês para role-playing game, um gênero de jogo no qual os jogadores assumem o papel de personagens imaginários, em um mundo fictício. FONTE: https://bit.ly/2DA49Ip. Acesso em: 20 mar. 2020. NOTA UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 12 FIGURA 4 – EXEMPLO DE JOGO DE AVENTURA FONTE: <https://bit.ly/2OmBOaM>. Acesso em: 23 abr. 2020. 2.2.6 Jogos educativos Jogos educativos contêm uma ou mais características. Esses jogos são diferentes dos demais pelo seu objetivo, ou seja, jogos educativos têm o papel fundamental de auxiliar na aprendizagem, enquanto outros podem ser apenas para diversão. FIGURA 5 – EXEMPLO DE JOGO EDUCATIVO FONTE: <https://bit.ly/38SpE2J>. Acesso em: 23 abr. 2020. 2.2.7 Simuladores Fazer experimentos físicos da vida real pode ser divertido. Um professor de física pode atirar uma batata pelo campo de futebol ou levar a classe para um parque temático, mas fazer experimentos da vida real nem sempre é prático. E se você precisar ir ao espaço para fazer seu experimento? Ou se você precisar prever TÓPICO 1 | CLASSIFICAÇÃO DE SOFTWARE EDUCACIONAL 13 os movimentos de milhões de moléculas, observando coisas que seus olhos nem são capazes de ver? Ou que tal verificar a segurança de um carro durante um acidente sem machucar ninguém? É aí que as simulações se tornam úteis. Uma simulação é a recriação de um processo do mundo real em um ambiente controlado. Ele usa algo chamado modelagem para descobrir o resultado da simulação. Um modelo é uma representação de um objeto ou processo que descreve e explica esse fenômeno quando não pode ser experimentado diretamente. Na ciência, criamos muitas regras e leis para descrever o mundo, e esses modelos juntos nos permitem criar simulações. Por exemplo, podemos estudar a maneira como as moléculas de ar se movem quando há uma fonte de calor por perto e criar um modelo para descrevê-la. Então podemos juntar dezenas de moléculas e fazer uma simulação. Para simulações realistas em um computador, você geralmente precisará inserir todos os tipos de equações físicas complexas. Os computadores podem fazer cálculos usando essas equações muito mais rapidamente que os humanos e nos permitiram levar as simulações para um novo nível. As simulações são usadas de várias maneiras. Eles são usados para descobertas científicas, para testar projetos de segurança, economizar dinheiro e até criar gráficos para filmes e videogames. Os cientistas usam simulações o tempo todo. Por exemplo, você pode inserir as leis da gravitação em um computador e usá-lo para criar uma simulação em 3D dos planetas do sistema solar orbitando o Sol. Então você pode disparar asteroides através do sistema solar e ver o que acontece. Esses são os tipos de simulações que nos poupam muito trabalho. Anos atrás, descobrir o que aconteceria exigiria semanas de cálculos concluídos manualmente. Simulações também são usadas em meteorologia para estudar o clima e as mudanças climáticas. Da mesma forma, podemos utilizar simulações para educação. FIGURA 6 – EXEMPLO DE SIMULADOR FONTE: <https://bit.ly/2WbTH03>. Acesso em: 23 abr. 2020. UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 14 Dos sistemas baseados no instrucionismo, pouca ou nenhuma iniciativa e controle são reservados aos alunos, por isso, um novo modelo educacional começou a nortear o desenvolvimento de sistemas computacionais para uso em Educação, fundamentado no conceito “construcionistas” de Papert (1986). A “liberdade” de ação e controle do aluno no ambiente computacional e o aprendizado apreendido como construção pessoal do conhecimento propostos por Papert (1986) e exemplificados pelo ambiente de programação Logo, foram, primeiramente, contrapostos às noções diretivas de currículo e de ensino. Atualmente, uma classe de sistemas computacionais, baseados no conceito de ferramentas para uma interação rica em ambientes interessantes, é proposta para promover o aprendizado “construcionista”. O construcionismo é uma abordagem que afirma que à medida que o aluno interage com o meio ambiente ocorre um aprendizado. Assim, o conhecimento do aluno aumenta conforme ele experimenta outras experiências. Essa teoria e filosofia foi apresentada por Seymour Papert, visto que as crianças constroem seus conhecimentos ao experimentar objetos (FLORES, 2016). Vejamos alguns exemplos: • Software de autoria: o software de autoria é um programa equipado com diversas ferramentas de multimídia que permitem o desenvolvimento de uma variedade de atividades alternativas que podem estimular o desenvolvimento cognitivo, a linguagem e a autonomia dos usuários. O uso dessa tecnologia na educação permite que o professor acompanhe e utilize os recursos oferecidos como uma ferramenta pedagógica, favorecendo assim o processo de ensino-aprendizagem. O professor contribuirá como mediador do conhecimento e o aluno não mais será um mero espectador, mas, sim, um sujeito ativo e participativo no seu processo de construção do conhecimento (LOPES; ROSSANI; DUARTE, 2010). • Robótica pedagógica: é um termo amplo que se refere a um conjunto de atividades, programas instrucionais, plataformas físicas, recursos educacionais e filosofia pedagógica. Além disso, é um meio de aprendizado do qual participam pessoas motivadas pelo design e construção de suas próprias criações. Essas criações são dadas primeiro mentalmente e depois em forma física e são construídas com diferentes tipos de materiais controladas por um sistema de computador. O principal objetivo da robótica educacional é fornecer um conjunto de experiências para facilitar o desenvolvimento de conhecimentos, habilidades e atitudes do aluno no projeto, análise, aplicação e operação de robôs. A robótica pedagógica emprega materiais de baixo custo, inclusive reciclados, e integra diferentes áreas do conhecimento, com ênfase em matemática, ciências naturais e tecnologia (EDUCATIONAL ROBOTICS, 2020). UNI 15 Neste tópico, você aprendeu que: RESUMO DO TÓPICO 1 • A tecnologia está mudando a forma de ensinar e aprender. • Software educativo é interface de construçãode conhecimentos específicos em contextos específicos, que tem como propósito aprender e ensinar. • O software educacional integra conteúdo multimídia e fornece aos usuários um alto nível de interatividade. • Existem tipos de softwares educativos. • O tipo de software educativo de Instrução Assistida por Computador são programas de material instrucional apresentados por meio de um computador ou sistemas de computador. • Aprendizado pela descoberta é uma teoria da aprendizagem construtivista, baseada em investigação, que ocorre em situações de solução de problemas em que o aluno se baseia em sua própria experiência passada e no conhecimento existente para descobrir fatos e relacionamentos e novas verdades a serem aprendidas. • Gamificação é o uso do raciocínio baseado em jogos para envolver pessoas, motivar ações, promover o aprendizado e resolver problemas. Gamificação usa abordagens e elementos em um contexto diferente dos jogos. • Existe diferença entre gamificação e jogos. 16 1 Em nossos estudos, vários autores conceituam software educativo por ser um recurso psicopedagógico interativo. Descreva o que são softwares educativos. 2 (ENADE, 2017) Atualmente, estão disponíveis várias classes de software para um melhor aproveitamento educacional e apoio automatizado ao processo de ensino-aprendizagem. Tais softwares são classificados em categorias, conforme seus objetivos pedagógicos. FONTE: GEBRAN, M. P. Tecnologias Educacionais. Curitiba: IESDE Brasil AS, 2009. Considerando a classificação dos softwares educativos, analise as sentenças a seguir: I- Os tutoriais, que consistem em classe de software para transmissão da informação de forma organizada, de modo similar a um livro ou apostila eletrônica, caracterizam-se, por exemplo, pelo uso de estratégias, objetivos a serem alcançados e pela apresentação de estímulos. II- Jogos educativos utilizam, por exemplo, desafios e competição como estímulo na aquisição de um determinado aprendizado, com instruções e regras claras. III- Softwares de multimídia utilizam uma linguagem de programação e permitem desenvolver o raciocínio lógico e matemático, sendo uma de suas características principais a liberdade de criação. É CORRETO o que se afirma em: a) ( ) I, apenas. b) ( ) III, apenas. c) ( ) I e II. d) ( ) II e III. e) ( ) II, apenas. 3 Um software educacional tem sido uma ferramenta de ensino para professores como parte das suas aulas. Existem inúmeros softwares educacionais disponíveis para vários assuntos. Quanto à Instrução Assistida por Computador, assinale a alternativa CORRETA: a) ( ) São programas de material instrucional apresentados por meio de um computador ou sistemas de computador. b) ( ) São programas em que os alunos interagem com o mundo explorando e manipulando objetos. AUTOATIVIDADE 17 c) ( ) São programas com habilidades de tomada de decisão. d) ( ) São programas com experimentos. 4 Jogos podem proporcionar a oportunidade de envolvimento em desafios mentais, interação social, recreação e competição. A respeito dos tipos de jogos, analise as sentenças a seguir: I- Jogos de estratégias são jogos para desenvolver habilidades de tomada de decisão. II- Simuladores são programas que simulam a vida real. III- Jogos de aventura – exploram ambientes com interação de personagens. É CORRETO o que se afirma em: a) ( ) I, apenas. b) ( ) III, apenas c) ( ) I e II, apenas. d) ( ) II e III, apenas. e) ( ) I, II e III. Pesquise sobre os softwares educacionais utilizados na sua cidade ou escola e classifique-os segundo o modelo pedagógico adotado. IMPORTANT E 18 19 TÓPICO 2 ENGENHARIA DE SOFTWARE EDUCATIVO UNIDADE 1 1 INTRODUÇÃO Engenharia de software é um estudo detalhado de engenharia para design, desenvolvimento e manutenção de software. Ela foi introduzida para resolver os problemas de projetos de software de baixa qualidade. Esses problemas surgem quando um software geralmente excede cronogramas, orçamentos e níveis reduzidos de qualidade. A engenharia de software identifica-se como um “conjunto de técnicas, métodos, ferramentas e processos utilizados na especificação, construção, implementação e manutenção de um software que visa garantir a gerência, o controle e a qualidade dos artefatos gerados através de recursos humanos” (MAGELA, 2016, p. 24). Busca garantir que o software seja construído de maneira consistente e correta, dentro do prazo, do orçamento e dos requisitos. A demanda de engenharia de software também surgiu para atender à imensa taxa de mudança nos requisitos do usuário e no ambiente em que o aplicativo deveria estar funcionando. Neste tópico, abordaremos os principais conceitos sobre a engenharia de software e o subcampo da engenharia de software na área educacional, isto é, engenharia de software para educação. Este subcampo desenvolve tecnologias de engenharia de software, por exemplo, teste e análise de software para tarefas educacionais gerais, indo além das tarefas educacionais para engenharia de software. 2 O QUE É ENGENHARIA DE SOFTWARE? A engenharia de software foi definida a partir da primeira conferência internacional sobre engenharia de software, no ano de 1969 (FOROUZAN; MOSHARRAF, 2011). UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 20 Saiba sobre a história da engenharia de software acessando: https://bit.ly/32a9gcJ. DICAS A engenharia de software é uma disciplina da engenharia que estuda os processos envolvidos no desenvolvimento de software, uma atividade que envolve a realização conjunta de diversas atividades distintas, as quais exigem habilidades multidisciplinares, que tem por consequência um trabalho colaborativo de um grande grupo de profissionais (SOMERVILLE, 2018). A engenharia de software é uma área importante, pois as pessoas e a sociedade estão mais dependentes de softwares. Por esse motivo, é necessário produzir softwares mais confiáveis e de forma mais rápida a cada dia. Para as empresas desenvolvedoras de softwares é mais barato, a longo prazo, usar métodos e técnicas de engenharia de software para o desenvolvimento de softwares do que desenvolvê-los sem documentação ou estruturação, uma vez que, desestruturado, dificulta a manutenção e a atualização desse software (SOMERVILLE, 2018). Engenharia de software é o processo de analisar as necessidades do usuário e projetar, construir e testar aplicativos do usuário final que atendam a essas necessidades através do uso de linguagens de programação de software. É a aplicação dos princípios de engenharia ao desenvolvimento de software. Ao contrário da programação simples, a engenharia de software é usada para sistemas de software maiores e mais complexos, usados como sistemas críticos para empresas e organizações. Um engenheiro de software leva em consideração as necessidades de software dos usuários finais e, consequentemente, desenvolve ou projeta novos aplicativos. Além disso, a engenharia de software pode envolver o processo de analisar o sistema existente e modificá-lo para atender às necessidades atuais do sistema. À medida que o hardware do computador se torna mais barato, o foco é transferido para os sistemas de software. Os grandes sistemas de software podem ser mais complexos que o hardware usado para os executar, portanto, há uma grande demanda por melhores práticas e processos de engenharia que possam ser aplicados ao desenvolvimento de software. Deve haver disciplina e controle durante a engenharia de software, como qualquer empreendimento complexo de engenharia. Vejamos, na figura a seguir, a tabela resumida por Somerville (2018) para termos uma visão geral da engenharia de software. TÓPICO 2 | ENGENHARIA DE SOFTWARE EDUCATIVO 21 FIGURA 7 – PERGUNTAS FREQUENTES SOBRE ENGENHARIA DE SOFTWARE FONTE: Somerville (2018, p. 4) 2.1 A IMPORTÂNCIA DA ENGENHARIA DE SOFTWARE Como já supracitado, a engenharia de software é importante porque a sociedade e as pessoas dependem de sistemasconfiáveis, além disso, a longo prazo é mais barato desenvolver sistemas usando métodos e técnicas de engenharia de software (SOMERVILLE, 2018). Para Somerville (2018), a engenharia de software também é chamada de processo de software e quatro atividades são comuns a todos os processos: • Especificação do software: é definido o software a ser desenvolvido e as suas restrições necessárias. • Desenvolvimento de software: o software é projetado e programado. • Validação do software: o software é analisado para garantir que o desenvolvido era a necessidade do cliente. • Evolução do software: esta etapa serve para modificações e reflexões sobre a mudança de requisitos no que tange à necessidade do cliente ou do mercado. Lembramos que cada tipo de sistema tem necessidade de diferentes processos de desenvolvimento, porém há quatro itens que afetam muitos tipos de softwares diferentes (SOMERVILLE, 2018): UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 22 • Heterogeneidade na engenharia de software se refere à composição de um sistema de software. Um sistema heterogêneo é aquele que é composto por um software que pode ser escrito em diferentes idiomas, rodando em diferentes sistemas operacionais, talvez usando diferentes padrões de comunicação. Simplesmente, há variação entre os componentes usados para executar o software. • O oposto de um sistema heterogêneo é um sistema homogêneo, em que todos os componentes são iguais e não há variação. • Mudanças nos negócios e na sociedade: com a mudança da sociedade e adaptações das empresas a essas mudanças de forma rápida, temos que ser capazes de mudar o software existente e desenvolver rapidamente um novo. • Segurança da informação deve ser aplicada a todos os estágios do ciclo de vida da engenharia de software, desde a análise de requisitos até o desenvolvimento e a implantação. 3 PROCESSO DE SOFTWARE Processo de software, também conhecido como metodologia de software, é um conjunto de atividades relacionadas que levam à produção do software. Essas atividades podem envolver o desenvolvimento do software a partir do zero ou a modificação de um sistema existente. Em qualquer processo de software, deve-se incluir as quatro atividades (já mencionadas e explicadas anteriormente): • Especificação de software ou engenharia de requisitos. • Desenvolvimento. • Verificação e validação de software. • Evolução do software (manutenção de software). Na prática, elas incluem subatividades como: validação de requisitos, projeto arquitetônico e teste de unidade. Existem, também, atividades de suporte, como gerenciamento de configurações e alterações, garantia de qualidade, gerenciamento de projetos e experiência do usuário. Juntamente a outras atividades, o objetivo é melhorar as atividades supracitadas, introduzindo novas técnicas, ferramentas, e seguindo as melhores práticas, padronização de processos para reduzir a diversidade de processos de software (SOMERVILLE, 2018). Quando falamos sobre um processo, geralmente falamos sobre as atividades dele, no entanto, um processo também deve conter a descrição do processo, na qual Somerville (2018), inclui: • Produtos: os resultados de uma atividade. Por exemplo, o resultado do projeto de arquitetura talvez seja um modelo para a arquitetura de software. • Funções: as responsabilidades das pessoas envolvidas no processo. Por exemplo, o gerente de projeto, programador etc. TÓPICO 2 | ENGENHARIA DE SOFTWARE EDUCATIVO 23 • Condições pré e pós: as condições que devem ser verdadeiras antes e depois de uma atividade. Por exemplo, a pré-condição do projeto de arquitetura é que os requisitos foram aprovados pelo cliente, enquanto a pós-condição é que os diagramas que descrevem a arquitetura foram revisados. O processo do software é complexo, depende da tomada de decisões. Não há processo ideal e a maioria das organizações desenvolve seu próprio processo de software. Por exemplo, uma organização que trabalha com sistemas críticos possui um processo muito estruturado, enquanto que com relação aos sistemas de negócios, com requisitos que mudam rapidamente, é provável que um processo menos formal e flexível seja mais eficaz. 3.1 MODELOS DE PROCESSO DE SOFTWARE Um modelo de processo de software é uma representação simplificada de um processo de software. Cada modelo representa um processo de uma perspectiva específica. Vamos dar uma rápida olhada nos modelos de processos. Esses modelos genéricos são abstrações do processo que podem ser usadas para explicar diferentes abordagens para o desenvolvimento de software. Eles podem ser adaptados e estendidos para criar processos mais específicos. Algumas metodologias são conhecidas como metodologias de ciclo de vida de desenvolvimento de software (SDLC), embora esse termo também possa ser usado de maneira mais geral para se referir a qualquer metodologia. 3.1.1 Modelo cascata Conforme Somerville (2018), o modelo em cascata é uma abordagem sequencial, na qual cada atividade fundamental de um processo é representada como uma fase separada, organizada em ordem linear. No modelo em cascata, você deve planejar e agendar todas as atividades antes de começar a trabalhar nelas (processo orientado pelo planejamento). Processo orientado ao plano é um processo em que todas as atividades são planejadas primeiro e o progresso é medido com relação ao plano. Enquanto no processo ágil, o planejamento é incremental e é mais fácil alterar o processo para refletir as alterações de requisitos. NOTA As fases do modelo em cascata são: Requisitos, Projeto, Implementação, Teste e Manutenção. UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 24 FIGURA 8 – MODELO CASCATA FONTE: Somerville (2018, p. 32) 3.1.2 A natureza das fases do modelo cascata Em princípio, o resultado de cada fase é um ou mais documentos que devem ser aprovados e a próxima fase não deve ser iniciada até que a fase anterior esteja completamente concluída. Na prática, no entanto, essas fases se sobrepõem e alimentam informações entre si. Por exemplo, durante o design, problemas com requisitos podem ser identificados e, durante a codificação, alguns problemas de design podem ser resolvidos. O processo de software, portanto, não é um linear simples, mas envolve feedback de uma fase para outra. Portanto, os documentos produzidos em cada fase podem precisar ser modificados para refletir as alterações feitas. Em princípio, o modelo em cascata só deve ser aplicado quando os requisitos forem bem entendidos e improváveis de mudar radicalmente durante o desenvolvimento, pois esse modelo possui uma estrutura relativamente rígida que torna relativamente difícil fazer mudanças quando o processo está em andamento (SOMERVILLE, 2018). 3.1.3 Prototipagem Um protótipo é uma versão de um sistema ou parte do sistema desenvolvida rapidamente para verificar os requisitos do cliente ou a viabilidade de algumas decisões de projeto. Portanto, um protótipo é útil quando um cliente ou desenvolvedor não tem certeza dos requisitos ou algoritmos, eficiência, regras de negócios, tempo de resposta etc. TÓPICO 2 | ENGENHARIA DE SOFTWARE EDUCATIVO 25 Na criação de protótipos, o cliente está envolvido em todo o processo de desenvolvimento, o que aumenta a probabilidade de aceitação do cliente da implementação final. Embora alguns protótipos sejam desenvolvidos com a expectativa de serem descartados, é possível que em alguns casos evoluam do protótipo para o sistema em funcionamento (SOMERVILLE, 2018). Um protótipo de software pode ser usado: • Na engenharia de requisitos: um protótipo pode ajudar na obtenção e validação dos requisitos do sistema. Ele permite que os usuários experimentem o sistema e, assim, refinem os requisitos. Eles podem obter novas ideias para requisitos e encontrar pontos fortes e fracos no software. Além disso, à medida que o protótipo é desenvolvido, ele pode revelar erros nos requisitos. A especificaçãopode ser modificada para refletir as alterações. • No projeto do sistema: um protótipo pode ajudar a realizar experimentos de projeto para verificar a viabilidade de um projeto proposto. Por exemplo, um design de banco de dados pode ser protótipo e ser testado para verificar se ele suporta acesso eficiente a dados para as consultas mais comuns dos usuários. FIGURA 9 – MODELO PROTOTIPAGEM FONTE: <https://bit.ly/3frpwJY>. Acesso em: 23 abr. 2020. As fases de um protótipo são: UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 26 • Coleta e refinamento dos requisitos: nesta etapa o protótipo deve ser explicitado desde o início do processo. É para validar os requisitos do sistema ou demonstrar viabilidade. • Definir a funcionalidade do protótipo: decida quais são as entradas e a saída esperada de um protótipo. Para reduzir os custos de prototipagem e acelerar o cronograma de entrega, você pode ignorar algumas funcionalidades, como tempo de resposta e utilização de memória, a menos que sejam relevantes para o objetivo do protótipo. • Desenvolver o protótipo: o protótipo inicial é desenvolvido incluindo apenas interfaces de usuário. • Avalie o protótipo: depois que os usuários são treinados para usar o protótipo, eles descobrem erros de requisitos. Usando o feedback, as especificações e o protótipo podem ser aprimorados. Se alterações forem introduzidas, poderá ser necessária uma repetição das etapas 3 e 4. A prototipagem não é uma metodologia de desenvolvimento completa e independente, mas uma abordagem a ser usada no contexto de uma metodologia completa (como incremental, espiral etc.). 3.1.4 Incremental O desenvolvimento incremental baseia-se na ideia de desenvolver uma implementação inicial, expondo isso ao feedback do usuário e evoluindo-o através de várias versões até que um sistema aceitável seja desenvolvido. As atividades de um processo não são separadas, mas intercaladas com o feedback envolvido nessas atividades. FIGURA 10 – MODELO INCREMENTAL FONTE: Somerville (2018, p. 34) TÓPICO 2 | ENGENHARIA DE SOFTWARE EDUCATIVO 27 Para Somerville (2018), cada incremento do sistema reflete uma parte da funcionalidade necessária ao cliente. Geralmente, os incrementos iniciais do sistema devem incluir a funcionalidade mais importante ou mais necessária. Isso significa que o cliente pode avaliar o sistema no estágio inicial do desenvolvimento para verificar se ele fornece o que é necessário. Caso contrário, somente o incremento atual deverá ser alterado e, possivelmente, nova funcionalidade definida para incrementos posteriores. 3.1.5 Incremental X modelo cascata O desenvolvimento incremental de software é melhor do que uma abordagem em cascata para a maioria dos sistemas comerciais, de comércio eletrônico e pessoais. Ao desenvolver o software de forma incremental, é mais barato e fácil fazer alterações no software à medida que ele está sendo desenvolvido. Comparado ao modelo em cascata, o desenvolvimento incremental tem três benefícios importantes, segundo Somerville (2018): • O custo de acomodar mudanças nos requisitos do cliente é reduzido. A quantidade de análise e documentação que precisa ser refeita é muito menor do que é necessário no modelo em cascata. • É mais fácil obter feedback do cliente sobre o trabalho realizado durante o desenvolvimento do que quando o sistema está totalmente desenvolvido, testado e entregue. • A entrega mais rápida de software é possível, mesmo que toda a funcionalidade não tenha sido incluída. Os clientes podem usar e saber o valor do software mais cedo do que com o modelo em cascata. O desenvolvimento incremental é uma das abordagens mais comuns. Essa abordagem pode ser orientada por um plano ou ser mais ágil, ou ambas. Em uma abordagem orientada a planos, os incrementos do sistema são identificados antecipadamente, mas, na abordagem ágil, apenas os incrementos iniciais são identificados e o desenvolvimento de incrementos posteriores depende do progresso e das prioridades do cliente. 3.1.6 Modelo em espiral O modelo espiral é orientado a riscos, em que o processo é representado como espiral e não como uma sequência de atividades. Foi projetado para incluir os melhores recursos dos modelos em cascata e de prototipagem e apresenta um novo componente, a avaliação de risco. UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 28 Cada loop (da revisão até o serviço – veja a figura a seguir) na espiral representa uma fase. Assim, o primeiro loop pode estar relacionado à viabilidade do sistema, o próximo pode estar relacionado à definição de requisitos, o próximo ao design do sistema e assim por diante (SOMERVILLE, 2018). FIGURA 11 – MODELO ESPIRAL COMPLETO FONTE: <https://bit.ly/2Zp4rdG>. Acesso em: 23 abr. 2020. Cada loop na espiral é dividido em quatro setores, conforme Somerville (2018): • Estabelecimento de objetivos: os objetivos e riscos para essa fase do projeto são definidos. • Avaliação e redução de riscos: para cada um dos riscos identificados no projeto, é realizada uma análise detalhada e são tomadas medidas para reduzir o risco. Por exemplo, se houver um risco de que os requisitos sejam inadequados, um protótipo poderá ser desenvolvido. • Desenvolvimento e validação: após a avaliação de risco, um modelo de processo para o sistema é escolhido. Portanto, se o risco for esperado na interface do usuário, devemos criar um protótipo da interface do usuário. Se o risco estiver no próprio processo de desenvolvimento, use o modelo em cascata. • Planejamento: o projeto é revisado e é tomada a decisão de continuar com um ciclo adicional ou não. O modelo espiral tem sido muito influente em ajudar as pessoas a pensar sobre a iteração nos processos de software e na introdução da abordagem de desenvolvimento orientada a riscos. Na prática, no entanto, o modelo raramente é usado. TÓPICO 2 | ENGENHARIA DE SOFTWARE EDUCATIVO 29 4 ENGENHARIA DE SOFTWARE EDUCACIONAL A Engenharia de Software desenvolve modelos e técnicas que visam sistematizar o desenvolvimento de um software de qualidade. A engenharia de software, no que tange à área de software educativo, tem enfrentado desafios. Quando pensamos em produção de software educativo, não é suficiente apenas um bom gerenciamento de projeto a ideias de professores aliados à tecnologia. Para análise de um software educativo, temos o desafio de incluir mecanismos pedagógicos e didáticos que são a base de todo instrumento de ensino e de aprendizagem (ALMEIDA; ALMEIDA, 2015). Almeida e Almeida (2015, p. 35) elencam elementos que permeiam o complexo campo de saber da engenharia de software educativo: • A adequada compreensão do problema que gera a necessidade do software educativo. • A correta especificação do cenário demandante. • A análise de possibilidades. • A adequada arquitetura das informações disponíveis. • O cumprimento de prazos e orçamentos. • O levantamento claro e inequívoco de requisitos. • Recursos humanos qualificados. • Seleção das ferramentas computacionais apropriadas. Diferente de softwares comerciais, bancários ou domésticos, o processo de desenvolvimento de softwares educacionais possui caraterísticas diferenciadas. Por mais simples que seja, ele deve transmitir conhecimento e um conjunto de aspectos específicos inerente à aprendizagem (ALMEIDA; ALMEIDA, 2015). Do ponto de vista estrito da engenharia de software, um software educativo – apesar de apresentar características e princípios que os diferenciam de outros sistemas computacionais – poderia ser considerado como software comum. Contudo não se pode prescindir da compreensão de que um software educativo é um conjunto de artefatos criados para funcionar como mediadores em atividades educativas de formação em distintas áreas do conhecimento, o que significa dizer que o software educativo é uma interface que atua em meio à negociação de significados e à construção de conhecimento específico em contextosespecíficos (ALMEIDA; ALMEIDA, 2015, p. 36). Portanto, a engenharia de software para desenvolvimento de sistemas educacionais requer particularidades que não é trabalhada de forma específica na engenharia de software. Essa engenharia não substitui a Engenharia de Software, mas completa, enriquecendo-a de elementos provenientes de reflexões, estudo e modelos de áreas ligadas ao ensino e aprendizagem. O software educativo tem como objetivo proporcionar aprendizagem, além de examinar a aprendizagem. Portanto, os softwares educativos vão além de o indivíduo aprender a usá-lo, mas sim promover a aprendizagem de UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 30 algum conceito. Assim, os softwares educativos intercedem no desenvolvimento cognitivo do indivíduo. “Quando um software é utilizado para fins educacionais, invariavelmente ele, ou o uso que se faz dele, reflete um dos paradigmas educacionais: comportamentalista ou construtivista” (ALMEIDA; ALMEIDA, 2015 p. 37). Vejamos a figura a seguir, que reproduz a relação entre os paradigmas educacionais, suas características e algumas modalidades de Software Educacional. FIGURA 12 – RELAÇÃO PARADIGMAS EDUCACIONAIS FONTE: Almeida e Almeida (2015, p. 37) Com relação à atividade do aprendiz, um software pode ser algorítmico ou heurístico. No software algorítmico, predomina a ênfase na transmissão de conhecimentos do sujeito que sabe para o sujeito que deseja aprender, sendo função do desenvolvedor do software projetar uma sequência bem planejada de atividades que conduzam o aluno ao conhecimento desejado. No software de concepção heurística, predomina a aprendizagem experimental ou por descobrimento, o que implica na criação de um ambiente rico em situações que o aluno deve explorar. Quanto ao direcionamento na utilização do software, podem ser consideradas duas abordagens: dura e branda. Na abordagem dura, os planos são previamente traçados para uso do computador e as atividades dos alunos resumem-se a responder a perguntas apresentadas, registrando-se e contabilizando-se erros e acertos. Na abordagem branda, a atividade e interação com o computador não parecem ter um objetivo definido, fazendo com que o aluno esteja no comando, fazendo uma série de atividades consideradas interessantes por ele, onde há desafio. Os erros são fontes de reflexão e desenvolvimento de novos projetos. Uma questão relevante envolvendo o desenvolvimento de aplicações educativas está na especificidade dos requisitos não funcionais de usuários, que, muitas vezes, parecem pouco integralizados neste desenvolvimento. O conjunto de requisitos deve observar não só aspectos do processo de aprendizagem dos alunos, mas também aspectos do processo de mediação a ser promovida pelo professor, o qual pode beneficiar-se de funcionalidades específicas do sistema, como o registro de passos ou a prévia organização de sequência de problemas. Da mesma maneira, funcionalidades – muito rígidas ou pouco adaptativas – podem tornar um ambiente por demais diretivo e inadequado aos professores e a suas práticas. FONTE: ALMEIDA, R. L. F. de; ALMEIDA, C. A. S. de. Fundamentos e análise de software educativo. Ceará: UECE, 2015. NOTA TÓPICO 2 | ENGENHARIA DE SOFTWARE EDUCATIVO 31 As equipes de desenvolvimento de software precisam entender melhor os requisitos das partes interessadas para entrega, aprimoramento ou personalização dos softwares educativos. A elicitação de requisitos é uma atividade nos softwares educativos, que é preocupado em descobrir as necessidades de um sistema para atingir os objetivos do sistema, seja para desenvolver um software a partir do zero ou para a evolução deste software. 4.1 ELICITAÇÃO DE REQUISITOS DE SOFTWARE O principal objetivo do processo de elicitação de requisitos é entender o trabalho do público estratégico, como eles realizam e como usariam um software para apoiar o trabalho deles (SOMERVILLE, 2018). Neste caso, a elicitação de requisitos de software educativo trata-se de uma engenharia de software para entender como os professores realizam seu trabalho, bem como os alunos aprendem para assim projetar um software que apoiaria o processo de ensino-aprendizagem. Somerville (2018) afirma que elicitar e compreender os requisitos de um público estratégico é difícil pelos motivos: • Os stakeholders (público estratégico), muitas vezes não sabem o que querem de um sistema de computador. • Os engenheiros de requisitos não terem experiência no domínio do cliente e não entenderem a necessidade do cliente. • Diferentes pessoas com requisitos distintos, assim os engenheiros de requisitos tendo que descobrir possíveis pontos de conflito e divergência. • Fatores políticos. Exemplo: diretor da escola pode exigir requisitos específicos. • Ambiente econômico e de negócio na qual ocorre a análise é dinâmico. A figura a seguir ilustra as dificuldades elencadas. FIGURA 13 – FORMAS DE ENTENDER REQUISITOS FONTE: <https://bit.ly/32ftlyo>. Acesso em: 23 abr. 2020. UNIDADE 1 | PANORAMA GERAL DO DESENVOLVIMENTO DE SOFTWARE EDUCATIVO 32 Portanto, podemos seguir um modelo de processo de elicitação e análise, porém cada organização terá seu próprio modelo de acordo com as suas necessidades e caraterísticas. FIGURA 14 – MODELO DE PROCESSO DE ELICITAÇÃO E ANÁLISE DE REQUISITOS FONTE: Somerville (2018, p. 97) Diante da complexidade e do número de pessoas e saberes envolvidos no desenvolvimento de um software educativo, um processo para guiar a elicitação dos requisitos torna-se chave principal para o sucesso de um projeto educacional. Por isso, estudiosos desenvolveram diferentes modelos de elicitação de requisitos para ajudar na problemática. 4.1.1 O modelo de elicitação de requisitos A elicitação de requisitos é a atividade inicial para o desenvolvimento de softwares educativos. Essa atividade é muito importante para o sucesso do projeto de desenvolvimento de software, em que a detecção de erros nos estágios iniciais de desenvolvimento pode economizar tempo e dinheiro. O envolvimento dos usuários é um dos principais fatores de sucesso em qualquer desenvolvimento. Gomes e Wanderley (2003) dizem que há vários tipos de requisitos a serem identificados, relacionados ao domínio (aprendizagem de conceitos) e ao contexto de uso (atividade), porém abordam apenas dois, sendo, domínio e atividade. A modelagem cognitiva da ação permite aceder a informações sobre o domínio, sua aprendizagem. Já a modelagem cognitiva de atividades permite identificar requisitos relacionados às práticas sociais nas quais participam os usuários com artefatos similares àqueles em desenvolvimento. A análise de ambos ocorre mediante orientações de modelos, abordagens construtivistas (GOMES; WANDERLEY, 2003, p. 121). TÓPICO 2 | ENGENHARIA DE SOFTWARE EDUCATIVO 33 Assim, a elicitação de requisitos para softwares educacionais possui um campo de estudo que deve examinar desde questões sobre atenção e memória até percepção, raciocínio, criatividade, tomada de decisão, resolução de problemas, capacidade para armazenar, transformar e aplicar o conhecimento. Gomes e Wanderley (2003) apresentam um diagrama de atividade do processo a ser aplicado em um projeto de diversas aplicações educativas. FIGURA 15 – FLUXO DO PROCESSO DE CRIAÇÃO DE UM SOFTWARE EDUCATIVO FONTE: Gomes e Wanderley (2003, p. 122) Vamos compreender o fluxo do processo de criação de um software educativo? O projeto inicia na etapa de identificação do domínio em termos de conceitos ou campos conceituais. O domínio seria o campo conceitual que deverá apresentar a interface. Como exemplo de domínio de aplicação de um software, pode ser domínio em uma disciplina específica, como lógica na matemática ou computação ou ainda fonemas na língua portuguesa. Em um software educacional, o domínio deve estar presente desde o início do projeto. A interface e os termos de aprendizagem devem refletir os requisitos (GOMES; WANDERLEY, 2003). A
Compartilhar