Uma proposta de metodologia de desenvolvimento de Aplicativos para Treinamento Baseado em Computador
Dalton Vinicius Kozak
Flávio Bortolozzi
Henri Frederico Eberspächer
Marco Antonio Eleuterio
{dvkozak, fborto, henri, marcoa}@{rla01.pucpr.br}
Departamento de Informática
LAMI, Laboratório de Mídias Interativas
PUC PR, Pontifícia Universidade Católica do Paraná
Rua Imaculada Conceição, 1155 – 80215-901 – Curitiba – PR
Uma proposta de metodologia de desenvolvimento de Aplicativos para Treinamento Baseado em Computador
Resumo
Este artigo traz uma proposta de metodologia para desenvolvimento de aplicativos multimídia para treinamento baseado em computador focada nos conceitos de qualidade para desenvolvimento de software. Dentro desse contexto foi identificado um ciclo de vida para este tipo de aplicativo, e a partir deste foi detalhada uma seqüência de atividades a serem seguidas durante o processo de desenvolvimento, contemplando produtos intermediários do processo e a documentação pertinente. Também foram feitas considerações sobre as particularidades do desenvolvimento envolvendo recursos multimídia.
Abstract
This article presents a proposal of a methodology for the development of multimedia applications for computer based training based on quality concepts for software development. A life cycle was identified for this kind of application, from which was derived a schedule of activities to be followed during the development process, taking into account intermediate products and related documentation. Comments concerning specific points on development using multimedia resources were also made.
O sucesso de um aplicativo computacional é reflexo imediato da qualidade do seu processo de desenvolvimento, que pode ser uma tarefa construtiva e organizada, bem como pode ser um caos de papéis e pessoas, culminando com inúmeros problemas no produto final. O desenvolvimento de sistemas multimídia conta ainda com atributos de subjetividade, inerentes às tarefas de design dos recursos de mídia utilizados, que adiciona a este quadro algumas variáveis particulares.
Neste sentido, as algumas perguntas são pertinentes (cf. Pressman, 1992) e freqüentemente repetidas:
As respostas a estas questões podem ser várias, e certamente algumas não são óbvias, porém certamente parte significativa delas passa pela identificação da necessidade de se adotar práticas formais de trabalho, como a utilização de uma metodologia de desenvolvimento, associada a uma metodologia de gerenciamento de projeto e um programa de qualidade/métricas.
Tendo isso em vista, nesse artigo é apresentada uma metodologia de desenvolvimento para aplicativos CBT (Computer Based Training - aplicativos para treinamento baseado em computador), ou simplesmente CBT. Esta metodologia tem sido aplicada a projetos desenvolvidos no LAMI, apresentando os efeitos desejados e esperados: melhor planejamento, menor desvio de cronograma / prazos / custos e melhor qualidade do produto final.
A preocupação com a qualidade, tanto do produto quanto do processo que o produz, deve ter como meta a criação de mecanismos que possibilitem que este aspecto se realize a contento. O estabelecimento de um processo de desenvolvimento com atividades e etapas bem definidas, cada uma com suas entradas e produtos especificados e responsabilidades atribuídas, juntamente com marcos para controle do projeto e manutenção da documentação associada, constitui uma metodologia de desenvolvimento. A aplicação desta metodologia é um dos principais mecanismos para se realizar o conceito da qualidade.
|
|
|
Figura 1: Sistema de desenvolvimento de aplicativos multimídia focando a garantia da qualidade (cf. Weinberg, 1994). |
Por se tratar de desenvolvimento de software, as normas de qualidade pertinentes, como a ISO-9000/3 (NBR ISO 9000-3, 1993) e a ISO-9126 (NBR ISO/IEC 9126, 1994), devem nortear a construção de tal metodologia de desenvolvimento.
Deve ser lembrado que o desenvolvimento de CBTs possui certas características distintas do processo tradicional de desenvolvimento de software, associadas justamente à produção das diversas mídias (som, imagens, vídeos) que são incorporadas ao produto. Para que a garantia de qualidade pretendida seja alcançada, medições relativas ao processo de desenvolvimento, aos produtos e ao planejamento e condução do projeto necessitam ser realizadas (Figura 1). Isto envolve não só aspectos de engenharia de software, como também os aspectos associados ao processo de criação das diversas mídias, onde arte e inspiração são relevantes, porém bastante subjetivos e de mensuração complexa e difícil, estabelecendo um outro grande desafio: que métricas utilizar para a produção de mídias ?
Para especificar uma metodologia de desenvolvimento de CBTs tendo em vista o processo da qualidade, é necessário que se considere a seqüência básica de atividades envolvidas em seu desenvolvimento. Partindo deste princípio, identificou-se um ciclo de vida para CBTs, conforme mostrado na Figura 2, cujas etapas estão descritas abaixo:
É preciso observar que o ciclo de vida apresentado deve ser constantemente confrontado com a evolução real do processo de desenvolvimento para confirmar a consecução, na prática, da seqüência identificada. Adaptações devem ser consideradas se o contexto assim exigir.
Além disso, não se deve confundir a técnica ou método utilizado para a especificação e construção do aplicativo (como a metodologia RMM (Isakowits, 1995)) com a metodologia de desenvolvimento ou ciclo de vida. Deve ser possível aplicar a metodologia de desenvolvimento com certa independência da técnica utilizada. Como exemplo, na fase de análise de um projeto de software, podem ser empregadas técnicas de orientação à objeto ou técnicas estruturadas, porém a fase da metodologia continua a mesma: análise. O que pode mudar são alguns dos produtos da fase em questão, adequados a esta ou aquela técnica.
|
|
|
Figura 2: Ciclo de vida identificado para CBTs. |
O desenvolvimento do CBT ocorre no contexto de projeto dentro do ciclo de vida, conforme mostrado Figura 2. Deste modo, a metodologia de desenvolvimento é estruturada a partir deste conjunto de atividades principais.
Dentro do contexto de projeto do ciclo de vida, a metodologia de desenvolvimento contempla duas fases principais de projeto: a Definição do Projeto (Fase I) e o Desenvolvimento (Fase II).
Na fase de Definição do Projeto, detalhada na Figura 3, existe um evento inicial (Reunião de Início de Projeto) para estabelecer as primeiras diretrizes. A partir daí são levantadas as necessidades do usuário, que levam à definição do projeto. Os requisitos identificados e o escopo do projeto são registrados no Documento de Especificação de Requisitos (DERq ). Este documento, juntamente com uma metodologia definida, permite estabelecer o plano de desenvolvimento do CBT.
O DERq e o Plano de Desenvolvimento são os produtos principais desta fase. Convém observar que são previstos alguns pontos de controle (milestones) além da Reunião de Início do Projeto, que são maneiras de garantir a verificação dos produtos das respectivas atividades, garantindo a qualidade dos mesmos.
Na fase de Desenvolvimento, detalhada na Figura 4, ocorre o processo de geração do aplicativo. Cada atividade intermediária gera algum tipo de produto, e pontos de controle também são previstos ao final de cada atividade principal, juntamente com algumas revisões do plano de desenvolvimento, necessárias quando se está tratando de projetos maiores e mais complexos. A consistência do processo de desenvolvimento nesta fase é garantida pelo Documento de Especificação de Projeto (DESP), que mantém todas as informações necessárias para o desenvolvimento do CBT, sendo a principal referência de projeto nesta fase.
Os principais produtos intermediários, e a seqüência em que são gerados, são mostrados na Figura 5. Como já mencionado, dos produtos gerados, dois têm importância central na metodologia: o Documento de Especificação de Requisitos (DERq) e o Documento de Especificação de Projeto (DESP) - ditos Documentos de Especificação.
|
|
|
Figura 3: Fase de Definição de Projeto. |
O modelo adotado para este documento é baseado nas recomendações das normas ISO-9000/3 (NBR ISO 9000-3, 1993) e ISO-9126 (NBR ISO/IEC 9126, 1994). O objetivo é fazer uma cobertura, o mais abrangente possível, de todos os aspectos envolvidos na especificação do que é o produto, como é a sua estrutura básica, o seu perfil de conteúdo e os requisitos associados ao ambiente operacional, entre outros. O conteúdo básico do DERq está mostrado na Figura 6 . Esse documento pode sofrer alguma adaptação conforme o tipo de aplicativo a ser desenvolvido, mas os itens mostrados nesta figura formam a espinha dorsal do documento.
O seu principal objetivo é estabelecer da melhor maneira possível o escopo do projeto, sendo uma referência importante tanto para o usuário como para o desenvolvedor, e também de grande auxílio na administração de conflitos, devendo ser mantido atualizado ao longo do projeto.
|
|
|
Figura 4: Fase de Desenvolvimento. |
|
|
|
Figura 5: Seqüência de geração dos principais produtos do processo de desenvolvimento. |
|
|