Os conceitos e diretrizes do ADDIE e do CSCL mostram a preocupação e a necessidade de se pesquisar novos métodos de ensino e aprendizagem adaptados ao homem contemporâneo. As nTICs lançam aos professores e educadores o desafio de ensinar em um contexto diferenciado, onde o ambiente de aprendizagem, o perfil do aluno, o ambiente comunicacional e as demandas de mercado criam necessidades de inovação e adaptação a este novo meio tecnológico.
2.4 – ENGENHARIA DE SOFTWARE E INTERAÇÃO HUMANO- COMPUTADOR
A Engenharia de Software é uma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando
tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade. Ela tem por objetivo a compreensão e o controle da complexidade que faz parte do processo de desenvolvimento de softwares. Esta complexidade envolve a compreensão do problema, a especificação do cenário, a análise das possibilidades, das informações disponíveis, do cumprimento de prazos e orçamentos, do levantamento dos requisitos e de seleção das ferramentas computacionais adequadas.
Assim como em muitas outras áreas, na abordagem da engenharia de software, primeiramente o problema tratado deve ser analisado e decomposto em partes menores, onde cada uma dessas partes vai constituir um subproblema que deverá ser resolvido separadamente, para então se fazer a integração das soluções. A resolução dos problemas deve ser feito através de procedimentos sistematizados.
De acordo com Falbo (2005, p.3), um processo de software, em uma abordagem de Engenharia de Software, envolve diversas atividades que podem ser classificadas quanto ao seu propósito em:
- Atividades de Desenvolvimento (Técnicas ou de Construção): são as atividades diretamente relacionadas ao processo de desenvolvimento do software, ou seja, que contribuem diretamente para o desenvolvimento do produto de software a ser entregue ao cliente. São exemplos de atividades de desenvolvimento: especificação e análise de requisitos, projeto e implementação.
- Atividades de Gerência: são aquelas relacionadas ao planejamento e acompanhamento gerencial do projeto, tais como: realização de estimativas, elaboração de cronogramas, análise dos riscos do projeto etc.
- Atividades de Garantia da Qualidade: são aquelas relacionadas com a garantia da qualidade do produto em desenvolvimento e do processo de software utilizado, tais como: revisões e inspeções de produtos (intermediários ou finais) do desenvolvimento.
De maneira geral, o ciclo de vida de um software, ou seja, o seu desenvolvimento, envolve as seguintes fases:
• Planejamento: possibilita ao gerente fazer estimativas razoáveis de recursos, custos e prazos.
• Análise e Especificação de Requisitos: nesta fase, os requisitos devem ser identificados. O engenheiro de software tem de compreender o domínio do problema, bem como a funcionalidade e o comportamento esperados.
• Projeto: nesta fase se acrescentam os requisitos tecnológicos necessários aos requisitos essenciais do sistema.
• Implementação: nesta fase cada unidade de software do projeto detalhado é implementada.
• Testes: inclui diversos níveis de testes, a saber, teste de unidade, teste de integração e teste de sistema.
• Entrega e Implantação: uma vez testado, através de testes de validação, o software deve ser colocado em produção. Quando o software tiver demonstrado que possui as capacidades requeridas, ele pode ser aceito e a operação iniciada.
• Operação: nesta fase, o software é utilizado pelos usuários no ambiente de produção.
• Manutenção: o software sofrerá mudanças após ter sido entregue para o usuário.
As descrições das funções que um sistema deve incorporar e das restrições que devem ser satisfeitas são os requisitos para o sistema. Isto é, os requisitos de um sistema definem o que o sistema deve fazer e as circunstâncias sob as quais deve operar. Em outras palavras, os requisitos definem os serviços que o sistema deve fornecer e dispõem sobre as restrições à operação do mesmo (SOMMERVILLE, 2004).
De acordo com Sommerville (2004, p.82), “os requisitos do usuário são declarações, em linguagem natural e também em diagramas, sobre as funções que o sistema deve fornecer e as restrições sob as quais deve operar e os requisitos do sistema estabelecem detalhadamente as funções e as restrições do sistema”, ou seja, deve ser uma especificação completa e consistente de todo o sistema.
No IX Workshop de Informática na Escola – WIE (2003, p.119), Tchounikine
apud Gomes coloca que o problema central da engenharia de software voltado para a
área educativa está associado aos elementos que o projetista dispõe e não é um problema do tipo: o programador faz o que o educador especifica. A interação entre
programadores e educadores é problemática devido às dificuldades em compartilhar conceitos das diferentes áreas. Em um software educacional, uma das coisas mais importantes é que o usuário evite gastar seu tempo aprendendo a usar a interface ao invés de aprender conhecimentos através da interface (WINCKLER et al, 2000). Estes também colocam que não existem soluções padronizadas para produzir interfaces eficientes para qualquer tipo de aplicação. É necessário conhecer os usuários e as suas tarefas para que se tenha sucesso na construção de interfaces eficientes.
Quando se fala de interfaces, fala-se também de projeto de interfaces. Através dele é feita a interação das pessoas com a máquina, no caso presente, com o computador. De acordo com Benyon (2011, p.63), “o projeto de interfaces é também chamado de Interface do Usuário (IU) e consiste em tudo o que há no sistema com que as pessoas entram em contato seja física, perceptiva ou conceitualmente”.
Na verdade, o projeto de interface é tão importante que atualmente é tratado como uma subárea da computação, denominada Interface Homem-Computador (IHC). Quando se fala de IHC, está se falando de uma área multidisciplinar, que envolve a necessidade de conhecimentos nas áreas de computação, psicologia, fatores humanos, linguística e, no caso de desenvolvimento de uma metodologia para ensino, conhecimento também da área de educação e da área correlata à disciplina que se quer trabalhar. O IHC deve trabalhar a interação e comunicação entre o computador e o ser humano. Já a IHM - Interface Homem-Máquina possui características distintas da IHC. IHC é tudo que ocorre entre o ser humano e um computador utilizado para realizar algumas tarefas, ou seja, é a comunicação entre estas duas entidades. IHM é o componente (software) responsável por mapear ações do usuário em solicitações de processamento ao sistema (aplicação), bem como apresentar os resultados produzidos pelo sistema. Cada um destes termos possui características distintas e devem ser abordados de maneiras também distintas.
A IHC envolve muitas vezes o processo de desenvolvimento de sistemas interativos e esse processo também é uma área multidisciplinar. Áreas que envolvem pessoas, tecnologias, design e contexto. O processo de projetos de sistemas interativos pode ser descrito graficamente pela Figura 05.
PESSOAS 28 - Sociologia - Psicologia - Ergonomia - Antropologia