• Nenhum resultado encontrado

II.8 TÉCNICAS UTILIZADAS NA DESCOBERTA DE REQUISITOS

II.8.3 Storyboarding/Técnicas de Prototipação

Storyboarding

Storyboarding, basicamente, corresponde a qualquer técnica que expressa o comportamento do sistema, projeto ou intenção de implementação pela perspectiva

do usuário. No início, foi usada no cinema e cartoons e representa um esboço das personagens e da história.

Esta técnica permite acelerar de muitas maneiras o desenvolvimento conceitual de um sistema. Storyboards podem ser empregadas para compreender a visualização dos dados e usabilidade, para definir e ajudar a compreender as regras de negócio que serão implementadas, na definição de algoritmos, na demonstração de relatórios e outros tipos de saídas para uma revisão antecipada dos sistemas. Deste modo, esta técnica pode ser usada para virtualmente qualquer tipo de aplicação, na qual a participação dos stakeholders seja um fator-chave.

Segundo Leffingwell e Widrig (2003), storyboards podem ser categorizadas em três tipos :

Passivo: são constituídos de quadros, fotos, esboços, etc. Neste caso são apresentadas ao usuário as regras do sistema em sua sequência, com uma explanação do tipo ”Quando você faz isto, acontece isto”;

Ativo: corresponde a uma sequência de figuras que mostram uma descrição automatizada do modo como o sistema se comporta em um uso típico ou em um cenário operacional, por exemplo, em uma apresentação automática de slides;

Interativo: permite ao usuário interagir com o sistema de um modo mais realístico, exigindo sua participação. Pode ser uma simulação dos possíveis cenários (protótipo não funcional), ou mesmo um protótipo funcional simplificado do sistema.

Prototipação

No desenvolvimento de software, um protótipo corresponde a uma versão do sistema que está disponível logo nas primeiras fases de um processo de desenvolvimento. A prototipação funcional, de acordo com Boar (1984), implementa parte dos requisitos do sistema por meio da construção de um protótipo que executa o comportamento real deste sistema (com a implementação de algoritmos e banco de dados), podendo, inclusive, valer-se de ferramentas, especialmente, construídas para a confecção desse tipo de protótipo (a prototipação funcional é utilizada no ciclo 3 desta pesquisa).

Posteriormente, este protótipo é descartado, passando-se para o efetivo desenvolvimento do sistema pela sequência tradicional (análise, projeto, implementação e testes), de posse de um conjunto de requisitos bem refinados. Conforme apresentado no item II.6.3, neste trabalho é empregado o termo de prototipação incremental ou evolucionária, como sinônimo do desenvolvimento incremental (o protótipo não é descartado, mas evolui para atingir os requisitos dos stakehoders).

Já a prototipação não funcional (usada no ciclo 2 desta pesquisa) obtém o comportamento dos stakeholders e do sistema por de interações e iterações com estes, por meio de um conjunto de interfaces gráficas simulando o comportamento real do sistema (sem a implementação de algoritmos e banco de dados).

Uma técnica de prototipação não funcional de fácil implementação e baixo custo é a prototipação em papel (RETTIG, 1994). A técnica (é utilizada no ciclo1 desta pesquisa) permite que os usuários executem atividades realísticas pela interação com uma versão em papel da interface do software que é manipulada por uma pessoa que faz o papel de um computador e que não explica como a interface deve funcionar, simulando as respostas do sistema.

Assim, é escolhido um usuário representativo do perfil ou do grupo de trabalho do processo de negócio que será estudado. São definidas as atividades típicas que representam o que os usuários devem realizar e construídas as versões da interface (esboços manuais ou impressões de telas), não sendo necessário desenvolver uma versão funcional destas interfaces.

Após a criação do protótipo em papel, são realizados os testes. O usuário é colocado para fazer as interações com o protótipo em papel, com um membro da equipe de desenvolvedores atuando como computador. Por meio da figura de um facilitador, o usuário é instruído a respeito das atividades a executar e suas reações e comentários são anotados por uma ou mais pessoas da equipe de software.

Deste modo, é possível descobrir rapidamente quais partes da interface (e do processo de negócio) funcionam bem ou não, podendo ser facilmente alteradas para corrigir as deficiências apontadas pelos usuários (SNYDER, 2003).

O uso de storyboards interativos que, na realidade, são protótipos do sistema (funcionais ou não) permite uma série de vantagens (BOAR, 1984; LEFFINGWELL, 2003):

Redução da distância entre os participantes do projeto: a comunicação é um problema fundamental no desenvolvimento. Mesmo quando uma pessoa sabe o que quer, sempre ocorrem mudanças quando estas necessidades transformam-se em requisitos;

Aumento da participação e interesse dos atores: sistemas complexos que envolvem várias áreas de uma empresa requerem um compromisso, concordância e consenso entre vários atores para poderem operar corretamente;

Sistemas por meio de exemplos: com o passar do tempo, pelo uso contínuo desta técnica, será produzido uma série de protótipos que poderão ser utilizados para demonstrar diferentes soluções aos usuários, permitindo estimular ideias, identificar estilos, mostrar o que é possível e permitir a explicação de suas necessidades em termos de modificações nos protótipos existentes;

Permite medidas do tamanho das funcionalidades pela análise de pontos de função: a partir da identificação das funções do tipo dado e das funções do tipo transação e um esboço do modelo de dados do sistema é possível o cálculo dos pontos de função, desde o início do sistema e seu refinamento durante os diversos ciclos de desenvolvimento (GAVA, 2004);

É um veículo para a validação de requisitos; Permite desde cedo o teste das interfaces.

Em termos de interface do usuário, segundo Pressman (2005), a prototipação é o único modo prático de se validar o que foi projetado.

Em um estudo de 39 projetos que utilizaram prototipação, Gorden e Bieman (1995) citam os seguintes benefícios:

Redução no esforço de desenvolvimento;

Um melhor atendimento das expectativas dos usuários; Melhora na qualidade do projeto;

Melhora na usabilidade dos sistemas; Melhora na facilidade de manutenção.

O uso de um protótipo aumenta o custo de um projeto em seus estágios iniciais de desenvolvimento, mas o custo final do projeto pode não ser alterado, uma vez que, com os requisitos melhores esclarecidos, os stakeholders demandam menos modificações no sistema.

A ergonomia e a concepção informática na simulação e prototipação de sistemas

Conforme refere Daniellou (2007), o paradoxo concepção (ver item I.1), quando se olha a atividade futura, é tratado na ergonomia de concepção como um meio de se prever o espaço das formas possíveis desta atividade (margens de manobra), avaliando em que medida as escolhas de concepção permitirão a implementação dos modos operatórios compatíveis com os critérios escolhidos (saúde, eficácia produtiva, desenvolvimento pessoal, trabalho coletivo, etc.)

Para agregar uma reflexão sobre a atividade futura é preciso preparar as condições de sua simulação, de modo que mesmo que não se possa observar a atividade futura, devem ser procuradas as situações existentes (situações de referência) cuja análise permitirá esclarecer os objetivos e condições da futura atividade (DANIELLOU, 2007).

No caso de uma modernização, a análise das situações de referência pode ser as encontradas no começo do projeto, tendo como objetivo na concepção de programas de computador iterativos conhecer os objetivos do trabalho, os procedimentos e identificar as informações e dados tratados pelos usuários, permitindo, também, identificar sua linguagem e sua terminologia. De acordo com Bastien e Scapin (2007), não se trata de compreender o trabalho para reproduzi-lo, de modo idêntico, mas transformá-lo, informatizando-o, de forma a otimizá-lo, tornando-o menos custoso ao usuário.

Após a avaliação das principais situações de referência, parte-se para determinar quais as fontes de variabilidade observadas nestas situações são capazes de aparecer no futuro sistema, cuja formalização da análise passa por uma lista de situações de ações características futuras prováveis (DANIELLOU, 2007).

Cada situação de ação característica escolhida poderá ser definida pelas atividade a cumprir, pelos critérios de produção (qualidade, prazo, etc.), pelas categorias profissionais envolvidas e pelos fatores capazes de influenciar o estado interno das pessoas (por exemplo: trabalho noturno, exposição às intempéries, etc.).

Para o autor citado, o uso das ações características prováveis no futuro sistema é uma ferramenta essencial em ergonomia de concepção, na medida que permite estabelecer uma ponte entre as atividades analisadas e a abordagem da atividade futura (DANIELLOU, 2007).

Em especial, na concepção informática, as ferramentas de prototipagem permitem visualizar a aparência e o funcionamento de sistemas a um baixo custo, em ciclos de iteração rápida ao longo do processo, com a participação dos usuários antes das etapas finais de concepção. Estes protótipos sucessivos do software oferecem uma representação concreta para se comunicar com os usuários e os projetistas, constituindo, também, um guia para a especificação de sucessivas versões (BURKHARDT; SPERANDIO, 2007).

As soluções de concepção podem assumir diversas formas, iniciando em protótipo em papel, passando por etapas intermediárias como protótipos estáticos ou dinâmicos até o produto final.

Para esta implementação, uma série de condições devem ser estabelecidas (DANIELLOU, 2007):

Condições de aceitabilidade social;

Escolha adequada dos participantes da simulação;

No uso de suportes materiais como protótipo, é importante a participação dos projetistas para comentar as informações que nela figuram;

Desenvolver roteiros a partir das situações de ação características prováveis previamente levantadas.

De acordo com Bastien e Scapin (2007), a concepção em geral ocorre em três etapas. Inicialmente, é elaborado o modelo conceitual do programa, tratando-se de um modelo de alto nível do sistema, envolvendo basicamente as funcionalidades e a arquitetura de diálogo, podendo tomar a forma de um croqui, ilustrando as principais funcionalidades do sistema.

Na segunda etapa, o modelo conceitual é detalhado e validado junto ao usuário, tratando-se de protótipos detalhados, em que são realizadas as caixas de diálogos, seus encadeamentos e a organização dos menus.

Na terceira etapa, o sistema será desenvolvido em detalhes, com base nos desenvolvimentos anteriores, cujas interfaces com o usuário poderão seguir guias estilísticos.

A avaliação das soluções propostas irá requerer a participação dos usuários (assim como nas etapas anteriores), em que um ou mais usuários participam da execução das atividades representativas, podendo ser uma exploração livre das interfaces, por meio das ações características.

Assim, as interfaces podem ser avaliadas em sistemas completamente desenvolvidos ou nas etapas anteriores, para avaliar as escolhas de concepção junto aos usuários.

Finalmente, a avaliação deverá continuar em campo, pois podem ocorrer dificuldades em condições de uso que não poderiam ter sido recriadas nos testes realizados na fase de concepção (BASTIEN; SCAPIN, 2007).