Prévia do material em texto
Prototipação de soluções Apresentação A prototipagem de software é a atividade de criação de protótipos de aplicativos de software, ou seja, versões incompletas do programa de software em desenvolvimento. É uma atividade que pode ocorrer no desenvolvimento de software e é comparável à prototipagem conhecida de outros campos, como engenharia mecânica ou fabricação. Muitos usuários não conseguem imaginar um sistema apenas através de descrições ou especificações. Eles precisam de algo tangível para entender o produto final. Algo muito próximo daquela velha expressão "desenhar para entender". Neste caso, o desenho pode ser considerado como um simples esboço em papel até um sistema muito próximo ao que seria o produto final. Tudo depende do contexto do projeto. Com o usuário tendo em mãos algo tangível, ele pode solicitar mudanças de forma mais assertiva. Nesta Unidade de Aprendizagem, você vai conhecer os conceitos gerais sobre prototipação de soluções, bem como entender como ocorre a transformação de um protótipo em novos requisitos de software. Também vai praticar como elaborar protótipos para coletar novos requisitos. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Identificar conceitos gerais sobre prototipação.• Analisar como elicitar requisitos usando a prototipação.• Elaborar protótipos.• Desafio Analise as seguintes user stories que foram criadas a partir dos stackholders envolvidos com o projeto de criação de um site de venda de livros online: Agora, com as user stories que foram coletadas inicialmente, crie um protótipo descartável da tela inicial do site de venda de livros. Lembre-se de considerar as solicitações dos stackholders do projeto. No Saiba mais você encontra algumas ferramentas que podem auxiliar a criar a tela de protótipo. Ou, se preferir, pode fazer em algum software de desenho (Gimp, Inkskape) ou apresentação de slides (PowerPoint). Faça um print da tela e envie. Infográfico Neste Infográfico você irá encontrar uma visão geral da prototipação de soluções, entendendo as suas características e tipos, sendo a descartável e a evolutiva. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/27849a0f-4a7b-48ba-ad7c-4fd54217fe35/b5e793a3-ba53-454e-ba12-99fe2230d103.jpg Conteúdo do Livro O método de prototipagem funciona bem para a captura de requisitos se a solução de software ainda não estiver totalmente definida ou você tiver uma série de ideias sobre como um elemento pode funcionar. A prototipagem de software pode ser utilizada como um meio prático para desenvolver um produto, permitindo que os usuários experimentem suas ideias de desenvolvimento, ao invés de tentar decifrar uma especificação funcional. A prototipagem também pode ser usada efetivamente pelos usuários finais para descrever e provar a necessidade de requisitos que os desenvolvedores podem não ter considerado. No capítulo Prototipação de Soluções você irá desvendar a prototipação de soluções, identificando os conceitos principais, analisando a transformação de um protótipo em requisitos e entendendo como é criado um protótipo. Boa leitura! ANÁLISE E PROJETO DE SISTEMAS Cleverson Lopes Ledur Prototipação de soluções Objetivos de aprendizagem Ao final deste capítulo, você deve apresentar os seguintes aprendizados: Identifi car conceitos gerais sobre prototipação. Analisar como elicitar requisitos com o uso da prototipação. Elaborar protótipos. Introdução Usado como alternativa, além de especificações funcionais formais, o método de prototipagem para a captura de requisitos funciona bem se a solução de software ainda não estiver totalmente definida ou se você tiver uma série de ideias sobre como um elemento pode funcionar. Pode-se utilizar a prototipagem de software como um meio prático para desenvolver um produto, permitindo que os usuários experimentem suas ideias de desenvolvimento, em vez de tentar decifrar uma especificação funcional. A prototipagem também pode ser usada, efetivamente, pelos usuários finais para descrever e provar a necessidade de requisitos que os desenvolvedores podem não ter considerado. Assim, você irá desvendar a prototipação de soluções, identificar os conceitos principais, analisar a transformação de um protótipo em requisitos e entender como é criado um protótipo. Prototipação de software A prototipagem de software é a atividade de criação de protótipos de aplica- tivos de software, ou seja, versões incompletas do programa de software em desenvolvimento. É uma atividade que pode ocorrer no desenvolvimento de software e é comparável à prototipagem conhecida de outros campos, como da engenharia mecânica ou da fabricação (WAZLAWICK, 2013). O objetivo de um protótipo é permitir que os usuários do software avaliem as propostas dos desenvolvedores para o projeto do produto final, testando-os, ao invés de ter que interpretar e avaliar o design com base em descrições. A prototipagem também pode ser usada pelos usuários finais para descrever e comprovar os requisitos que não foram considerados, e isso pode ser um fator-chave na relação comercial entre os desenvolvedores e os seus clientes. O design de interação, em particular, faz uso intenso da prototipagem com esse objetivo. Esse processo está em contraste com o ciclo de desenvolvimento monolítico dos anos 1960 e 1970 de construir o programa inteiro primeiro e, em seguida, resolver as inconsistências entre o projeto e a implementação, o que levou a custos de software mais elevados e estimativas precárias de tempo e custo. A abordagem foi apelidada de slaying the (software) Dragon, uma vez que assume que o designer de software e o desenvolvedor são um único herói que tem de matar o dragão sozinho. A prototipagem também pode evitar a grande despesa e a dificuldade de ter que mudar um produto de software acabado. Um protótipo, tipicamente, simula apenas alguns aspectos do produto final e pode ser completamente diferente dele. A prototipagem tem vários benefícios: o designer de software e o implementador podem obter um feedback valioso dos usuários no início do projeto. O cliente e o projetista podem comparar se o software feito corresponde à especificação, de acordo com o programa para o qual foi construído. Ele também permite ao engenheiro de software obter informações sobre a precisão das estimativas iniciais do projeto, e se os prazos e marcos propostos podem ser atendidos com sucesso. O grau de completude e as técnicas utilizadas na prototipagem estão em desenvolvimento e debate desde a sua proposta, no início da década de 1970. O processo de criação de um protótipo passa basicamente pelos seguintes passos: 1. Identificar os requisitos básicos. 2. Desenvolver o protótipo inicial. 3. Revisar. 4. Analisar e aprimorar o protótipo. Dimensões dos protótipos A criação de protótipos possui diferentes dimensões que dizem respeito ao tipo que é criado. A seguir pode-se ver as diferentes dimensões de protótipos (WAZLAWICK, 2013). 143Prototipação de soluções Protótipo horizontal: um termo comum para o protótipo de interface de usuário é o protótipo horizontal. Ele fornece uma visão ampla de todo um sistema ou subsistema, concentrando-se na interação do usuário mais do que na funcionalidade do sistema de baixo nível, como o acesso ao banco de dados. Os protótipos horizontais são úteis para: Confirmar os requisitos da interface do usuário e do escopo do sistema. Apresentar versão de demonstração do sistema para obter buy-in do negócio. Desenvolver estimativas preliminares de tempo de desenvolvimento, custo e esforço. Protótipo vertical: um protótipo vertical é uma elaboração mais completa de um único subsistema ou função. É útil para obter requisitos detalhados para uma determinada função com os seguintes benefícios: Projetar banco de dados de refinamento. Obterinformações sobre volumes de dados e necessidade de interface do sistema para dimensionamento de rede e engenharia de desempenho. Esclarecer os requisitos complexos, com perfuração da funcionalidade real do sistema. Vantagens da prototipagem Existem algumas vantagens em usar a prototipagem no desenvolvimento de software. Veja a análise de algumas delas (VAZQUES; SIMÕES, 2016): Tempo reduzido e custos: a prototipagem pode melhorar a qualidade dos requisitos e especificações fornecidos aos desenvolvedores. Como as mudanças custam, exponencialmente, mais para implementar conforme são detectadas mais tarde em desenvolvimento, a determinação precoce do que o usuário realmente quer, pode resultar em um software mais rápido e menos dispendioso. Aumento do envolvimento dos usuários: a prototipagem requer o envolvimento do usuário e permite que eles vejam e interajam com um protótipo, o que lhes permite fornecer feedbacks e especificações melhores e mais completos. A presença do protótipo, sendo examinado pelo usuário, evita mal-entendidos e erros de comunicação. Como os Prototipação de soluções144 usuários conhecem o problema do domínio melhor do que qualquer outro na equipe de desenvolvimento, o aumento da interação pode resultar em um produto final que tenha maior qualidade tangível e intangível. O produto final tem maior probabilidade de satisfazer o desejo do usuário de olhar, sentir e verificar o desempenho. Desvantagens da prototipagem O uso inadequado da prototipagem pode trazer algumas desvantagens ao projeto de software. Você irá analisar algumas desvantagens a seguir (VAZQUES; SIMÕES, 2016): Análise insuficiente: o foco em um protótipo limitado pode distrair os desenvolvedores de analisar adequadamente o projeto completo. Isso pode levar a negligência de melhores soluções, a elaboração de especificações incompletas ou a conversão de protótipos limitados em projetos finais pouco projetados, difíceis de manter. Além disso, uma vez que um protótipo é limitado em funcionalidades, ele pode não se dimensionar bem se for usado como base de uma entrega final, o que pode não ser notado se os desenvolvedores estiverem muito focados na construção de um como modelo. Confusão do usuário: os usuários podem começar a pensar que um protótipo, destinado a ser jogado fora, é realmente um sistema final que meramente precisa ser finalizado ou polido. Isso pode levá-los a esperar que o protótipo-modelo tenha a precisão e o desempenho de um sistema final, quando não for a intenção dos desenvolvedores. Os usuários também podem ter a expectativa de que os recursos incluídos em um protótipo, apenas para consideração e depois removidos da especificação para um sistema final, sejam incluídos definitivamente, o que poderá levar a um conflito. Desenvolvimento incompreensível: os desenvolvedores podem assumir que os usuários compartilhem seus objetivos, sem entender questões comerciais mais amplas. Foco do desenvolvedor ao protótipo: os desenvolvedores podem se orientar pelos protótipos que gastaram um grande esforço produtivo. Isso pode levar a problemas, como a tentativa de converter um protótipo limitado em um sistema final, quando não possui uma arquitetura subjacente apropriada. 145Prototipação de soluções Tempo de desenvolvimento excessivo do protótipo: uma propriedade- -chave para a prototipagem é o fato de que pode ser criado rapidamente. Se os desenvolvedores perderem de vista esse fato, eles muito bem po- dem tentar desenvolver um protótipo que seja muito complexo. Quando este é descartado, os requisitos precisamente desenvolvidos que ele fornece podem não render um aumento suficiente na produtividade para compensar o tempo gasto no desenvolvimento do protótipo. Os usuários podem ficar presos em debates sobre detalhes do protótipo, mantendo a equipe de desenvolvimento ocupada e atrasando o produto final. Despesas de implementação de prototipagem: os custos iniciais para a construção de uma equipe de desenvolvimento focada na prototipagem podem ser elevados. Um problema comum com a adoção da tecnologia de prototipagem é uma alta expectativa de produtividade com esforço insuficiente por trás da curva de aprendizado. Além do treinamento para o uso de uma técnica de proto- tipagem, há uma necessidade, muitas vezes, ignorada de desenvolver uma estrutura subjacente específica corporativa e de um projeto para suportar a tecnologia. Quando esta estrutura subjacente é omitida, pode resultar em uma produtividade menor. UX (User experiênce) e UI (User interface) Recentemente, muito tem se falado sobre UX e UI. Você vai entender o que cada um signifi ca e qual a sua importância na prototipação de software. O design/projeto da experiência do usuário, também conhecido por UX, UXD, UED ou XD, é o processo de aumentar a satisfação do usuário com um produto, melhorando a usabilidade, a acessibilidade e o prazer fornecidos na interação com o produto. O design da experiência do usuário engloba o design de interação humano-computador tradicional (HCI) e se estende ao abordar todos os aspectos de um produto ou serviço como percebidos pelos usuários. O design da experiência do usuário inclui elementos de design de interação, arquitetura de informações, pesquisa de usuários e outras disciplinas. Nesse sentido, é focado em todas as dimensões da experiência geral entregue aos usuários (UNGER; CHANDLER, 2009). O design da experiência do usuário define mais frequentemente uma sequência de interações entre um usuário (pessoa individual) e um sistema virtual ou físico, projetado para atender ou suportar as necessidades e objetivos Prototipação de soluções146 dos usuários, ao mesmo tempo que satisfaz os requisitos dos sistemas e os objetivos organizacionais. As saídas típicas incluem: Persona (um usuário arquetípico para quem o produto ou serviço está sendo projetado). Wireframes (planos de tela ou storyboards). Protótipos (para simulação interativa). Especificações escritas (descrever o comportamento ou design). Fluxos e mapas de navegação. Histórias de usuários ou cenários. Sitemaps e inventário de conteúdo. Modelos visuais de alta fidelidade (layout visual preciso e design do produto ou interface esperada). A interface do usuário (UI), no campo de design industrial da interação homem-computador, é o espaço onde ocorrem interações entre humanos e máquinas. O objetivo desta interação é permitir o funcionamento e o controle efetivos da máquina a partir do fim humano, enquanto a máquina simultanea- mente reúne informações que auxiliam o processo de tomada de decisão dos operadores. Exemplos desse conceito amplo de interfaces de usuário incluem os aspectos interativos de sistemas operacionais de computador, ferramentas manuais, controles de operadores de máquinas pesadas e controles de pro- cesso. As considerações de design aplicáveis ao criar interfaces de usuário estão relacionadas ou envolvem disciplinas como ergonomia e psicologia (TIDWELL, 2010). Geralmente, o objetivo do design da interface do usuário é produzir uma interface de usuário que facilite, seja eficiente e agradável (user-friendly) de se operar uma máquina para produzir o resultado desejado. Isso geralmente significa que o operador precisa fornecer uma entrada mínima para alcançar a saída desejada, e também, que a máquina minimiza as saídas não desejadas para o ser humano. Durante a criação de um protótipo é muito importante ter em mente que é necessário mapear a experiência do usuário que você deseja, já que é nele que o usuário terá o primeiro contato com o seu produto. 147Prototipação de soluções Transformar um protótipo em requisitos A aquisição de requisitos de software, a partir de protótipos, é diferente de- pendendo do modelo de ciclo de vida escolhido, mas, de forma geral, deve-se seguir os seguintes princípios: 1. Levantamento de requisitos iniciais. 2. Criação do protótipo. 3. Testes do protótipo. 4. Entrega ao cliente. 5. Avaliação doprotótipo. 6. Elicitação de novos requisitos. A prototipagem de software tem muitas variantes. No entanto, todos os métodos estão de alguma forma baseados em duas formas principais de pro- totipagem: prototipagem descartável e prototipagem evolutiva (VAZQUES; SIMÕES, 2016). Agora, será ser abordado o tipo de protótipo descartável. Pode-se encontrar o nome protótipo descartável com os nomes de protótipo fechado, Throwaway ou prototipagem rápida. Refere-se à criação de um modelo que, eventualmente, será descartado ao invés de se tornar parte do software entregue ao final. Após a compilação preliminar dos requisitos, um modelo de trabalho simples do sistema é construído para mostrar visualmente aos usuários quais os requisitos podem parecer quando são implementados em um sistema finalizado. É também uma prototipagem rápida. A prototipagem rápida envolve a criação de um modelo de trabalho de várias partes do sistema em uma fase muito precoce, após uma investigação relativamente curta. O método usado na construção é geralmente bastante informal, sendo o fator mais importante, a velocidade com que o modelo é fornecido. O modelo então se torna o ponto de partida, o qual os usuários podem reexaminar suas expectativas e esclarecer seus requisitos. Quando esse objetivo foi alcançado, o modelo de protótipo é jogado fora, e o sistema é, formalmente, desenvolvido com base nos requisitos identificados. O motivo mais óbvio para o uso de protótipos descartáveis é que isso pode ser feito rapidamente. Se os usuários puderem obter um feedback rápido sobre seus os requisitos, eles poderão refiná-los no início do desenvolvimento do software. Fazer mudanças no início do ciclo de vida do desenvolvimento têm menos custos, pois não há nada nesse ponto para se refazer. Se um projeto for alterado após uma quantidade considerável de trabalho ter sido feito, pequenas mudanças podem exigir grandes esforços para implementar, pois os sistemas de Prototipação de soluções148 software têm muitas dependências. A velocidade é crucial na implementação de um protótipo descartável, pois com um orçamento limitado de tempo e dinheiro, pouco pode ser gasto em um que será descartado. Outra vantagem da prototipagem descartável é a sua capacidade de cons- truir interfaces que os usuários possam testar. A interface do usuário é o que o usuário vê como o sistema e, ao vê-lo, é muito mais fácil entender como o sistema funcionará. Os protótipos podem ser classificados de acordo com a fidelidade com que se assemelham ao produto real em termos de aparência, interação e tempo. Um método de criação de um protótipo descartável de baixa fidelidade é a prototipagem em papel. O protótipo é implementado usando-se papel e lápis e, assim, imita a função do produto real, mas sem ser igual ao produto final. Outro método para se construir facilmente protótipos descartáveis de alta fidelidade é usar um GUI Builder, porém, não fornece nenhuma funcionalidade. O uso de storyboards, animatics ou desenhos não é exatamente o mesmo que a prototipagem descartável, mas, certamente, se enquadra na mesma família. Essas são as implementações não funcionais, contudo, mostram como o sistema irá parecer. Nesta abordagem, o protótipo é construído com a ideia de que será des- cartado e o sistema final será construído a partir do zero. Os passos nessa abordagem são: Escrever os requisitos preliminares. Criar o protótipo. Experimentar/usar o protótipo/especificar novos requisitos. Repetir, se necessário. Escrever os requisitos finais. Agora, será conhecido o outro tipo de prototipagem. A prototipagem evolutiva (também conhecida como prototipagem de painéis) é bem diferente da prototipagem descartável. O objetivo principal, ao usar a prototipagem evolutiva, é construir um protótipo muito robusto, de forma estruturada e refiná-lo constantemente. O motivo dessa abordagem é que o protótipo evolu- tivo, quando construído, é o coração do novo sistema, e as melhorias e outros requisitos serão, então, construídos. Ao se desenvolver um sistema com o uso de prototipagem evolutiva, é preciso saber que ele é constantemente refinado e reconstruído. Essa técnica permite que a equipe de desenvolvimento adicione recursos ou faça alterações que não puderam ser concebidas durante os requisitos e a fase de design. 149Prototipação de soluções Para que um sistema seja útil, ele deve evoluir. Os protótipos evolutivos têm uma vantagem sobre os protótipos descartáveis, na medida em que são sistemas funcionais. Embora, eles não tenham todos os recursos que os usuá- rios planejaram, eles podem ser usados de forma provisória até que o sistema final seja entregue. Não é incomum, dentro de um ambiente de prototipagem, o usuário colocar um protótipo inicial para uso prático, enquanto espera por uma versão mais desenvolvida. O usuário pode decidir que um sistema falho é melhor do que nenhum sistema. Na prototipagem evolutiva, os desenvolvedores podem se concentrar em desenvolver partes do sistema que entendem, ao contrário de trabalhar no desenvolvimento de um sistema inteiro. Para minimizar o risco, o desenvolvedor não implementa recursos mal compreendidos. O sistema parcial é entregue para os clientes. À medida que os usuários trabalham com o sistema, eles detectam possibilidades de novos recursos e fornecem solicitações para esses recursos aos desenvolvedores. Os desenvolvedores, em seguida, levam esses pedidos de aprimoramento juntamente com suas próprias práticas de gerenciamento de requisitos e usam para alterar a especificação de requisitos de software, atualizar o design, recodificar e testar novamente. Dentro da prototipagem evolutiva, podemos encontrar algumas caracte- rísticas que se dividem em categorias chamadas incremental e extrema. Na prototipagem incremental, o produto final é construído como protótipos separados. No final, os protótipos separados são incorporados em um design geral. Com a ajuda da prototipagem incremental, o intervalo de tempo entre o usuário e o desenvolvedor de software é reduzido. A prototipagem extrema, como um processo de desenvolvimento, é usada, especialmente, para o desenvolvimento de aplicativos da web. Basicamente, quebra o seu desenvolvimento em três fases, cada uma baseada no prece- dente. A primeira fase é um protótipo estático que consiste principalmente em páginas HTML. Na segunda fase, as telas são programadas e totalmente funcionais, utilizando-se uma camada de serviços simulados. Na terceira fase, os serviços são implementados. O processo é chamado de prototipagem extrema, para dar atenção para a segunda fase do processo, onde uma UI, totalmente funcional, é desenvolvida com pouca atenção aos serviços que não o contrato (SCHACH, 2009). Prototipação de soluções150 Criar protótipos O processo de criação de protótipos pode ser dividido, basicamente, em es- colher um tipo de abordagem de prototipação e as ferramentas ideais para serem utilizadas nessa criação. Nesta seção, será discutida a escolha da melhor abordagem de prototipação, bem como, apresentar os principais tipos de ferramentas mais utilizadas atualmente. Escolher a abordagem de prototipagem Uma vez decidido por uma organização usar a prototipagem durante a análise de sistemas, deve-se, então, decidir sobre o tipo de protótipo que será constru- ído. Usarão um protótipo evolutivo ou descartável? Será usado um protótipo de baixa, média ou alta fi delidade? Isso demonstrará muitos recursos com pouca funcionalidade real, como acontece com um protótipo horizontal? Ou terá muita funcionalidade em uma área com poucos recursos como com um protótipo vertical? Aqui estão alguns pontos importantes a serem considerados ao se decidir sobre a abordagem mais apropriada. As soluções de abordagem sugeridas aqui se aplicam a qualquer abordagem: Restrições de custo e agendamento: se o orçamento e o cronograma forem limitados, considere a prototipagem de baixa fidelidade, especialmente o ma- peamentode papel, porque eles são muito baratos e rápidos para desenvolver. Se houver programadores experientes com ferramentas rápidas para construir um protótipo baseado em computador, a prototipagem de fidelidade média também pode ser considerada. Navegação e fluxo: a prototipagem de fidelidade média é boa para simular a interação do sistema. Na prototipagem de baixa fidelidade, o storyboard pode mostrar a direção do sistema. Orientado pelo usuário ou pelo facilitador: se for necessário um pro- tótipo orientado por usuário, recomenda-se a criação de protótipo de média a alta fidelidade, porque os usuários podem interagir diretamente com ele. Caso contrário, se um protótipo orientado por facilitador for necessário, por exemplo, para um desenvolvedor passar pelas telas enquanto o usuário procura, a escolha é a prototipagem de baixa fidelidade. Olhe e sinta o produto: a prototipagem média e de alta fidelidade podem ajudar os usuários a ter a sensação de como o produto funciona. Se estiver 151Prototipação de soluções usando um protótipo de baixa fidelidade, o desenvolvedor deve ser bom para facilitar o processo de prototipagem. Capacidade de facilitador de desenvolvedores/habilidades de progra- mação: Essa escolha é baseada no nível de experiência do(s) desenvolvedor(es). Se o desenvolvedor tiver experiência com prototipagem usando a de baixa fidelidade, essa pode ser a escolha apropriada. Se o desenvolvedor tiver ex- periência com prototipagem média a alta fidelidade envolvendo programação, pode ser a mais apropriada. Escolher uma ferramenta de prototipagem Depois de decidir sobre a abordagem de prototipagem, a ferramenta de proto- tipagem deve ser selecionada. O objetivo é adequar a ferramenta aos requisitos do sistema em desenvolvimento, às habilidades dos desenvolvedores e às necessidades dos usuários. Aqui está uma breve lista de ferramentas de proto- tipagem, começa com a menos formal para mover ferramentas mais formais. Lápis e papel. Software de desenho. Demo makers. Software de animação e apresentação de slides, como o Microsoft PowerPoint. Pintores de tela, criadores de menu e geradores de relatórios. Ferramentas CASE, como o Oracle Designer. Ferramentas “Visual” RAD, como Optima ++, Borland Delphi e Visual Basic. 4GLs como FOCUS Six. UIMS (User Interface Management Systems), como WINTERP. Idiomas de especificações executáveis. A mesma ferramenta/linguagem do sistema final. Além disso, deve-se considerar mais alguns itens ao escolher uma ferra- menta de prototipagem. Aqui, há um conjunto de itens a serem conhecidos ao selecionar uma ferramenta de prototipagem. Eles são derivados de um conjunto de requisitos para a prototipagem da interface do usuário, mas podem ser facilmente estendidos para outras partes de um projeto de prototipagem (PRESSMAN; MAXIM, 2016). Prototipação de soluções152 Facilidade de uso: boas ferramentas de prototipagem devem permitir que todos os membros participem do desenvolvimento e refinamento do protótipo. Grandes curvas de aprendizagem são inaceitáveis, porque muitos dos colaboradores não têm tempo para aprender as ferramentas. Mudanças rápidas: na prototipagem, pequenos refinamentos devem ser feitos. As ferramentas devem permitir que os desenvolvedores façam mudanças rapidamente e vejam rapidamente os resultados. Controle extensivo sobre os recursos do protótipo: as ferramentas de prototipagem devem ser flexíveis para que os desenvolvedores possam experimentar novas ideias. Capacidades de coleta de dados: para projetos mais complexos, uma ferramenta de prototipagem ideal seria capaz de capturar informações sobre especificações de tarefas, funcionalidades do sistema, funciona- lidades de interface, layouts de tela e comportamento, racionalidade de design, comentários de usuários, benchmarks e código reutilizável. Executabilidade: o protótipo deve ser tão fiel ao sistema real que os desenvolvedores precisam dele para aumentar a confiabilidade das informações coletadas. Suporte ao ciclo de vida: as ferramentas de prototipagem podem ajudar com todas as fases de desenvolvimento, mesmo além da análise de sistemas. Design de equipe: deve apoiar os grupos de pessoas que trabalham juntas, simultaneamente ou de forma assíncrona, ou ainda, remotamente, se estas forem exigidas pelo projeto. Controle de versão: os desenvolvedores podem querer explorar e avaliar projetos alternativos. A ferramenta de prototipagem deve permitir o controle de versão, se for exigido pela situação. Além da escolha da abordagem, decidir por uma boa ferramenta para a prototipação pode aumentar a produtividade e aumentar a entrega do software. Contudo, é muito importante entender os requisitos e também verificar se a ferramenta escolhida irá atender às necessidades. 153Prototipação de soluções PRESSMAN, R. S.; MAXIM, B. R. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016. SCHACH, S. R. Engenharia de Software: os paradigmas clássico e orientado a objetos. 7. ed. Porto Alegre: McGraw-Hill, 2009. TIDWELL, J. Designing interfaces: patterns for effective interaction design. Sebastopol: O’Reilly Media, 2010. UNGER, R.; CHANDLER, C. A Project guide to UX Design: for user experience designers in the field or in the making. Londres: Pearson Education, 2009. VAZQUES, C. E.; SIMÕES, G. S. Engenharia de Requisitos: software orientado ao negócio. São Paulo: Brasport, 2016. WAZLAWICK, R. Engenharia de software: conceitos e práticas. Rio de Janeiro: Elsevier Brasil, 2013. Leituras recomendadas TEIXEIRA, F. Introdução e boas práticas em UX Design. São Paulo: Casa do Còdigo, 2017. TORRES, J. Gestão de produtos de software: como aumentar as chances de sucesso do seu software. São Paulo: Casa do Código, 2015. Prototipação de soluções154 Dica do Professor Nesta Dica do Professor você irá estudar a prototipação de soluções, suas dimensões, tipos, vantagens e possíveis problemas que podem acontecer nesta etapa. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/577db5f5af6c52a26bb5f4620503975a Exercícios 1) Na prototipação descartável, quais os passos que devem ser realizados para coletar requisitos? A) 1 - Crie o protótipo. 2 - O usuário experimenta/usa o protótipo, especifica novos requisitos. 3 - Repita, se necessário. 4 - Escreva os requisitos finais. 5 - Finalize o projeto. B) 1 - Escreva os requisitos preliminares. 2 - Crie o protótipo. 3 - O usuário experimenta/usa o protótipo, especifica novos requisitos. 4 - Repita, se necessário. 5 - Escreva os requisitos finais. C) 1 - Escreva os requisitos preliminares. 2 - Crie o protótipo. 3 - O usuário descarta o protótipo. 4 - Repita, se necessário. 5 - Escreva os requisitos finais. D) 1 - Escreva os requisitos preliminares. 2 - Crie o protótipo. 3 - O usuário descarta o protótipo. 4 - Repita, se necessário. 5 - Escreva outro protótipo. E) 1 - Escreva os requisitos preliminares. 2 - Crie o protótipo. 3 - O usuário utiliza o protótipo. 4 - O usuário fica satisfeito. 5 - É finalizado o projeto. 2) Qual o objetivo da prototipação evolutiva? A) O objetivo principal, ao usar a prototipagem evolutiva, é construir um protótipo muito robusto de forma estruturada e refiná-lo constantemente. B) O objetivo principal, ao usar a prototipagem evolutiva, é construir um protótipo que será colocado fora após a coleta dos requisitos. C) O objetivo principal, ao usar a prototipagem evolutiva, é construir um sistema completo, sem a necessidade de feedback do cliente. D) O objetivo principal, ao usar a prototipagem evolutiva, é forçar os clientes a utilizarem um sistema mal construído. E) O objetivo principal, ao usar a prototipagem evolutiva, é construir apenas um conceito em papel para o cliente entender as telas do sistema. 3) Qual destes itens é uma vantagem do uso de prototipação de software?A) Aumento do tempo de projeto. B) Aumento do custo do projeto. C) Aumento do time de desenvolvimento. D) Aumento do envolvimento dos usuários. E) Aumento do tempo necessário para desenvolvimento do software. 4) Quais destes itens é um possível problema que pode ocorrer em uma prototipação mal planejada? A) Discussões durante a coleta de requisitos com o cliente. B) Correções de erros. C) Usuários e clientes insatisfeitos. D) Menor compartilhamento de informações. E) Tempo de desenvolvimento do protótipo elevado. 5) Quais dos itens abaixo impacta na decisão do grau de fidelidade (o quão parecido/igual será) entre um protótipo e o produto final? A) Arquitetura de software. B) Ferramentas utilizadas. C) Satisfação e feedback. D) Custo e tempo de projeto. E) Diagramas de modelagem do software. Na prática Neste Na prática, você irá participar de um jogo interativo. Você está em um ambiente de planejamento de uma prototipação, onde o objetivo é de criar um sistema de gestão de RH. Carlos é o gerente de projetos que irá precisar da sua ajuda para conseguir fazer a coleta de requisitos. Vamos lá? Conteúdo interativo disponível na plataforma de ensino! Saiba mais Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Engenharia de software - prototipação em papel Vídeo com uma demonstração de prototipação em papel, apresentando as telas de um sistema e como é possível descrevê-lo utilizando desenhos. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Webflow Navegue em alguns sites que podem auxiliar a criação de protótipo de tela: Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Prototipagem: Balsamiq Mockups + Napkee Vídeo apresentando algumas ferramentas que são bastante utilizadas para a criação de protótipos de software. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Origami Studio https://www.youtube.com/embed/JRybWVC-T_o https://webflow.com https://www.youtube.com/embed/XTr_5AQQnjM Navegue em alguns sites que podem auxiliar a criação de protótipo de tela: Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Técnicas de elicitação - Prototipação - Parte 01 Vídeo com uma aula sobre prototipação, apresentando os principais conceitos e modos de elicitação de requisitos de software. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. http://origami.design/ https://www.youtube.com/embed/hTwzCD2IzkU