Baixe o app para aproveitar ainda mais
Prévia do material em texto
16 UNIVERSIDADE DE SOROCABA PRÓ-REITORIA DE GRADUAÇÃO E ASSUNTOS ESTUDANTIS análise e desenvolvimento de sistemas Enzo Scalabrini, 00111980 Letícia Lopes Fogaça, 00111259 Vinícius Gianinni, 00109541 Escopo de um Projeto de Software: Aplicação da Engenharia de Requisitos em um Projeto Software Sorocaba/SP 2022 Enzo Scalabrini, 00111980 Letícia Lopes Fogaça, 00111259 Vinícius Gianinni, 00109541 Escopo de um Projeto de Software: Aplicação da Engenharia de Requisitos em um Projeto Software Este documento visa informar sobre os conceitos e o processo de Engenharia de Requisitos de software e sua influência para a qualidade do produto. O objeto abordado será o projeto que já está sendo realizado pelo mesmo grupo de alunos que realiza este documento, chamado Pet Rescue, que visa ajudar os tutores de animais de estimação. Orientador: Prof. Me. Richarson Kennedy Luz Sorocaba/SP 2022 Enzo Scalabrini, 00111980 Letícia Lopes Fogaça, 00111259 Vinícius Gianinni, 00109541 Escopo de um Projeto de Software: Aplicação da Engenharia de Requisitos em um Projeto Software Este documento visa informar sobre os conceitos e o processo de Engenharia de Requisitos de software e sua influência para a qualidade do produto. O objeto abordado será o projeto que já está sendo realizado pelo mesmo grupo de alunos que realiza este documento, chamado Pet Rescue, que visa ajudar os tutores de animais de estimação. Aprovado em: RESUMO Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id lectus lacus. Ut vitae mollis ipsum. Phasellus mollis eros dignissim nulla gravida, vel lobortis risus luctus. Morbi enim urna, suscipit a tincidunt vel, tincidunt vel lacus. Nulla dictum ex non nisi dictum, eu accumsan diam volutpat. Phasellus a vehicula ipsum. Suspendisse feugiat lacus felis, tristique elementum orci faucibus et. Pellentesque laoreet mauris fermentum sollicitudin molestie. Morbi semper vulputate sollicitudin. Aenean fermentum tempus pulvinar. Donec cursus orci a metus egestas, in hendrerit lacus pellentesque. Nullam rhoncus molestie sapien, nec laoreet leo pretium in. Vestibulum massa metus, commodo nec blandit sed, molestie at nunc. Suspendisse eu posuere purus, in placerat lorem. Sed imperdiet ligula quis ex accumsan, non eleifend leo dapibus. Praesent vel sodales massa. Integer finibus nibh a sapien sagittis efficitur nec vel purus. Duis ac purus dolor. Nam pharetra nunc ullamcorper arcu vulputate, eget semper mi interdum. Proin imperdiet tincidunt nibh ut venenatis. Nulla dictum, tellus sed aliquet laoreet, ex libero tincidunt diam, a tincidunt ipsum nunc quis felis. Mauris et sapien id metus tristique malesuada. Ut non blandit leo. Pellentesque nec gravida justo. Curabitur consequat velit orci, non molestie nisl euismod eget. Etiam neque urna, finibus id nibh dignissim. Morbi semper vulputate sollicitudin. Aenean fermentum tempus pulvinar. Donec cursus orci a metus egestas, in hendrerit lacus pellentesque. Nullam rhoncus molestie sapien, nec laoreet leo pretium in. Vestibulum massa metus, commodo nec blandit sed, molestie at nunc. Suspendisse eu posuere purus, in placerat lorem. Sed imperdiet ligula quis ex accumsan, non eleifend leo dapibus. Praesent vel sodales massa. Integer finibus nibh a sapien sagittis efficitur nec vel purus. Duis ac purus dolor. Nam pharetra nunc ullamcorper arcu vulputate, eget semper mi interdum. Proin imperdiet tincidunt nibh ut venenatis. Nulla dictum, tellus sed aliquet laoreet, ex libero tincidunt diam, a tincidunt ipsum nunc quis felis. Mauris et sapien id metus tristique malesuada. Ut non blandit leo. Pellentesque nec gravida justo. Curabitur consequat velit orci, non molestie nisl euismod eget. Etiam neque urna, finibus id nibh dignissim. Palavras-chave: Palavra1. Palavra2. Palavra3. ABSTRACT Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id lectus lacus. Ut vitae mollis ipsum. Phasellus mollis eros dignissim nulla gravida, vel lobortis risus luctus. Morbi enim urna, suscipit a tincidunt vel, tincidunt vel lacus. Nulla dictum ex non nisi dictum, eu accumsan diam volutpat. Phasellus a vehicula ipsum. Suspendisse feugiat lacus felis, tristique elementum orci faucibus et. Pellentesque laoreet mauris fermentum sollicitudin molestie. Morbi semper vulputate sollicitudin. Aenean fermentum tempus pulvinar. Donec cursus orci a metus egestas, in hendrerit lacus pellentesque. Nullam rhoncus molestie sapien, nec laoreet leo pretium in. Vestibulum massa metus, commodo nec blandit sed, molestie at nunc. Suspendisse eu posuere purus, in placerat lorem. Sed imperdiet ligula quis ex accumsan, non eleifend leo dapibus. Praesent vel sodales massa. Integer finibus nibh a sapien sagittis efficitur nec vel purus. Duis ac purus dolor. Nam pharetra nunc ullamcorper arcu vulputate, eget semper mi interdum. Proin imperdiet tincidunt nibh ut venenatis. Nulla dictum, tellus sed aliquet laoreet, ex libero tincidunt diam, a tincidunt ipsum nunc quis felis. Mauris et sapien id metus tristique malesuada. Ut non blandit leo. Pellentesque nec gravida justo. Curabitur consequat velit orci, non molestie nisl euismod eget. Etiam neque urna, finibus id nibh dignissim. Morbi semper vulputate sollicitudin. Aenean fermentum tempus pulvinar. Donec cursus orci a metus egestas, in hendrerit lacus pellentesque. Nullam rhoncus molestie sapien, nec laoreet leo pretium in. Vestibulum massa metus, commodo nec blandit sed, molestie at nunc. Suspendisse eu posuere purus, in placerat lorem. Sed imperdiet ligula quis ex accumsan, non eleifend leo dapibus. Praesent vel sodales massa. Integer finibus nibh a sapien sagittis efficitur nec vel purus. Duis ac purus dolor. Nam pharetra nunc ullamcorper arcu vulputate, eget semper mi interdum. Proin imperdiet tincidunt nibh ut venenatis. Nulla dictum, tellus sed aliquet laoreet, ex libero tincidunt diam, a tincidunt ipsum nunc quis felis. Mauris et sapien id metus tristique malesuada. Ut non blandit leo. Pellentesque nec gravida justo. Curabitur consequat velit orci, non molestie nisl euismod eget. Etiam neque urna, finibus id nibh dignissim. Keywords: Word1. Word2. Word3. LISTA DE ILUSTRAÇÕES Figura 1 - Pergunta 1 15 Figura 2 - Resposta 1 16 Figura 3 - Pergunta 2 16 Figura 4 - Resposta 2 17 Figura 5 - Pergunta 3 17 Figura 6 - Resposta 3 18 Figura 7 - Pergunta 4 18 Figura 8 - resposta 4 19 Figura 9 - Pergunta 5 20 Figura 10 - resposta 5 20 Figura 11 - Pergunta 6 21 Figura 12 - resposta 6 21 Figura 13 - Pergunta 7 22 Figura 14 - Resposta 7 22 Figura 15 - Pergunta 8 23 Figura 16 - resposta 8 23 Figura 17 - Pergunta 9 24 Figura 18 - Resposta 9 24 Figura 19 - Pergunta 10 25 Figura 20 - Resposta 10 25 Figura 21 - Pergunta 11 26 Figura 22 - Resposta 11 26 Figura 23 - Pergunta 12 27 Figura 24 - Resposta 12 27 Figura 25 - Diagrama de Contexto 35 Figura 26 - Diagrama de Uso 36 Figura 27 - Trello 38 Figura 28 - EAP 38 Figura 29 - Tela de LogIn em inglês e português lado a lado 41 Figura 30 - Tela de produtos e cadastro de animal 48 Figura 31 - Tela de cadastro de Pet 49 Figura 32 - tela mostrando os animais adicionados 50 Figura 33 - Tela para escanear o código QR 51 Figura 34 - Tela de relatórios 52 Figura 35 - Logo inicial da empresa 52 SUMÁRIO 1 INTRODUÇÃO 8 1.1 O que é Engenharia de Requisitos? 8 1.2 Engenharia de Software 9 1.2.1 Princípios da Engenharia de Software 9 2 Objetivo 11 3 referencial teórico 12 3.1 Conceito de Engenharia de Software e Requisitos de Software 12 3.2 Engenharia de Requisitos 12 3.3 Elicitação 13 3.4 Análise e Negociação 13 3.5 Especificação 14 3.6 Modelagem 15 3.7 UML 15 3.8 Validação 15 3.8.1 A primeira pergunta tratada é: 15 3.8.2 Segunda pergunta: 16 3.8.3 Terceira pergunta 17 3.8.4 Quarta pergunta 18 3.8.5 Quinta pergunta 20 3.8.6 Pergunta 6 21 3.8.7 Sétima pergunta 22 3.8.8 Oitava pergunta 23 3.8.9 Nona pergunta 24 3.8.10 Décima pergunta 25 3.8.11 Décima primeira pergunta 26 3.8.12 Décima pergunta resposta 27 3.9 Gestão 283.10 Outros 28 4 Desenvolvimento 29 4.1 Aprovação 29 4.2 Introdução 29 4.3 Objetivos deste documento 30 4.4 Especificação dos Requisitos do Software Pet Rescue 31 4.5 Escopo do produto 31 4.5.1 Nome do produto e de seus componentes principais 31 4.5.2 Missão do produto 32 4.5.3 Limites do produto 32 4.5.4 Benefícios do produto 32 4.5.5 Definições e siglas 33 4.6 Visão geral deste documento 34 4.7 Descrição geral do produto 34 4.7.1 Perspectiva do produto 34 4.7.2 Diagrama de contexto 35 4.8 Requisitos funcionais 35 4.8.1 Casos de uso 36 4.8.2 Diagramas de Caso de Uso 36 4.8.3 Especificação na Visão Macro 37 4.9 Requisitos Não Funcionais 38 4.10 Interfaces de Pet Rescue 39 Referências 53 APÊNDICE a – exemplo 54 INTRODUÇÃO Para uma boa execução de projeto, é necessário que haja uma base metodológica a ser seguida para poder guiar o profissional. Cada sistema possui uma complexidade em cada projeto; os detalhes a serem pensados e a possibilidade de falhas, por exemplo, é o que se leva a seguir um padrão para realizar certas tarefas, como a construção de um prédio, navio e aviões por exemplo. Estes modelos – ou padrões – tentam representar conceitos, características e necessidades a serem cumpridas. Edward Nash Yourdon, pioneiro reconhecido da Engenharia de Software, no seu livro Análise Estruturada Moderna (1990), sugere três motivos para a utilização de modelos para construção de sistemas: · O modelo foca nas características importantes do sistema; · O modelo permite discutir a necessidade de revisões e correções para o que o usuário precisa, porém com baixo custo e risco mínimo; · O modelo permite que o analista de sistemas verifique se conhece corretamente ambiente do usuário e documentá-lo de tal forma que designers e Desenvolvedores consigam construir o sistema. Isso significa que seguir um modelo para o desenvolvimento de projeto auxilia o desenvolvedor a chegar em um resultado melhor sem perder muito tempo ou dinheiro, podendo prevenir erros. Este processo faz parte da Engenharia de Requisitos. O que é Engenharia de Requisitos? É voltada para o processo de TI onde se pode ter um mecanismo adequado com os objetivos do cliente. É necessário um processo de definição, documentação e manutenção dos requisitos de determinado projeto. Ela é definida como uma subárea da Engenharia de Software, estudando os processos de requisitos que o produto deverá atender, evitando uma má compreensão do que se deve ser cumprido. Para ser alcançada com eficiência, a Engenharia de Requisitos conta com algumas atividades do processo, as quais: · Elicitação de Requisitos; · Análise e Negociação de Requisitos; · Documentação de Requisitos; · Validação de Requisitos; · Gerenciamento de Requisitos. Engenharia de Software A Engenharia de Software abrange desde o desenvolvimento até a gestão de um sistema de T.I. (Tecnologia da Informação), que por meio de análise de dados podem identificar as falhas do projeto para que se possa obter soluções, afetando minimamente o plano inicial. É normalmente citada como uma disciplina pois há sempre uma atualização de teorias, métodos e ferramentas apropriadas para determinada situação. Princípios da Engenharia de Software De acordo com David Hooker, cientista, há sete princípios regendo a Engenharia de Software, das quais: · The reason it all exists (A razão de existir): Qualquer Sistema precisa agregar valor ao usuário. Saber se uma atualização adiciona valor real ao sistema é o que rege as decisões. · KISS (Keep It Simple, Stupid!), Não complique! Ter um software fácil de manter e menos propenso a erros. Deve ser simples, mas não simplista. · Maintain the Vision (Mantenha a visão): Ter uma boa visão do que o projeto é, e se manter nela durante o processo para que o projeto possa ser bem-sucedido. · What You Produce, Others Will Consume (O que um produz outros consomem): Pensar na necessidade de quem vai usar o software. Para isso é necessário sempre especificar, projetar e implementar para que os outros possam entender. · Be Open to the future (Esteja aberto para o futuro): Criar sistemas que durem mais que o da maioria, por isso é necessário que ele se adapte e permita modificações para que tenha uma vida mais longa. · Plan Ahead for reuse (Planeje com antecedência, visando a reutilização): Criar um projeto em que o código possa ser reutilizado adiante agrega valor ao negócio. O planejamento antecipado do reuso reduz e aumenta o valor dos componentes reutilizáveis e do ambiente no qual eles serão integrados. · Think! (Pense): Raciocinar de forma clara e completa antes de agir quase sempre produz melhores resultados. Quando algo é pensado pela pessoa, é mais provável que ela o faça corretamente. Objetivo O objetivo do documento é propor o planejamento e o desenvolvimento do sistema de projeto aplicando a Engenharia de Requisitos (ER), que é composta pelos seguintes passos: · Elicitação; · Análise e negociação; · Especificação; · Modelagem; · Validação; · Gestão. Os itens listados acima serão abordados ao longo deste documento. Este modelo de planejamento assegura uma melhor qualidade desde o início do desenvolvimento do projeto até o resultado, o qual o software será entregue. O projeto em questão se trata do Pet Rescue, um aplicativo do qual pretende ser desenvolvido primeiramente para web e então usar o recurso para transformá-lo em uma plataforma mobile. O objetivo deste aplicativo é ajudar os tutores de animais de estimação a achá-los caso ocorra deles se perderem ou acabarem fugindo por uma eventual infelicidade. Para isso ele contará com um código QR que ao ser escaneado mostrará um formulário na tela do celular que escaneou o código contendo informações do animal, como: nome, idade, raça, vacinas e cuidados, telefone do tutor e primeiro nome dele. Também será possível entrar em contato com os usuários da plataforma. Mais detalhes sobre o aplicativo serão encontrados no item 4.10. referencial teórico Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id lectus lacus. Ut vitae mollis ipsum. Phasellus mollis eros dignissim nulla gravida, vel lobortis risus luctus. Morbi enim urna, suscipit a tincidunt vel, tincidunt vel lacus. Nulla dictum ex non nisi dictum, eu accumsan diam volutpat. Phasellus a vehicula ipsum. Suspendisse feugiat lacus felis, tristique elementum orci faucibus et. Pellentesque laoreet mauris fermentum sollicitudin molestie. Conceito de Engenharia de Software e Requisitos de Software Os conceitos de engenharia de software é a parte aonde Engenharia de Requisitos A Engenharia de Requisitos é extremamente importante para garantir que os processos de definição, documentação e permanência de requisitos sejam devidamente cumpridos. Além disso, também pode ser utilizada para manter os profissionais da área sob fases de organização, ajudando-os em situações mais complexas. Ao utilizar a Engenharia de Requisitos a seu favor, é possível lidar, de maneira mais simples, com os processos envolvidos nas etapas de desenvolvimento de um software. Assim, com um conjunto de atividades previamente definidas, o caminho para solucionar problemas se torna um pouco mais curto. A Engenharia de Requisitos também fica incumbida de validar todas as especificações presentes no projeto, o que faz com que haja uma gerência competente dos requisitos, levando em consideração as suas transformações dentro do sistema de trabalho. Assim, todos os processos funcionam de maneira ágil e prática. Elicitação Elicitação de requisitos é uma fase do projeto onde são extraídas informações do cliente sobre o que ele deseja que seja construído. É a fase em que o profissional de TI entende a necessidade do cliente e o orienta. É o momento de conversa com o usuário, de sentimento sobre o que este espera que seja entregue a ele. Na elicitação de requisitos são percebidas as necessidades do sistema e as características que esse sistema deve ter. Apesar de parecer uma etapa relativamente simples do projeto, não é. É nesse momento que o analista recebe a função de solucionarum problema que o cliente tem. Em muitas vezes, o cliente deseja um sistema, mas não sabe exatamente o que quer, ou ele sabe bem o que quer, mas não consegue passar as informações de uma forma compreensível. Nesse caso, a ajuda do analista é fundamental, pois este profissional possui mais experiência em sistemas do que o cliente, podendo assim, ajudá-lo a definir os requisitos necessários. Além disso, existem algumas técnicas para facilitar a extração de necessidades do cliente, como por exemplo a entrevista e a prototipação que consiste em uma versão inicial do produto para coletar um feedback do cliente. Análise e Negociação Com os requisitos elicitados, os produtos de trabalho citados anteriormente formam a base para a análise de requisitos. Esta análise categoriza e organiza os requisitos em subconjuntos relacionados, explora o relacionamento de cada requisito com todos os demais, examina consistência, omissão e ambiguidade dos requisitos e prioriza requisitos com base nas necessidades dos clientes e usuários. Não é raro os clientes e usuários solicitarem mais do que pode ser realizado. É também relativamente comum que clientes ou usuários distintos solicitem requisitos conflitantes, argumentando que sua respectiva versão do requisito é essencial para nossas necessidades especiais. O engenheiro de sistemas deve harmonizar estes conflitos através de um processo de negociação. Clientes, usuários e stakeholders devem ser também questionados quanto à priorização de requisitos e então discutirem eventuais conflitos na priorização. Os riscos associados a cada requisito são identificados e analisados. Estimativas de alto nível do esforço de desenvolvimento deve ser realizadas para avaliar o impacto de cada requisito no custo do projeto e tempo de entrega. Usando uma abordagem interativa, os requisitos são eliminados, combinados e/ou modificados de forma que cada grupo obtenha uma média de satisfação. Especificação A parte de especificações de um software é uma etapa onde é usada para mostrar que o software está sendo bem desenvolvido, mostrar o sucesso dele ao executar as funções com êxito. Podemos considerá-lo uma das etapas mais importantes de um projeto, visto que erros na mesma pode levar a perder todo o processo e ele trazer problemas como · Erros de execução; · Erros de funções importantes; · Dificuldade na execução dele; · Desorganização; · Tempo perdido; Essas são situações que podem vir a torná-lo um software inoperante, e trazer frustrações a equipe que o desenvolveu e até mesmo ao cliente, podendo assim perdê-lo. E nessa etapa de erros inesperados pode ser solicitado um reajuste no orçamento e no prazo de entrega, trazendo prejuízos. Vendo dessa maneira é importante que a parte das especificações de um sistema seja o mais claro e breve possível, trazendo total entendimento a todos os envolvimentos, fazendo com que ninguém perca tempo e nem trazendo desavenças. Esta etapa ocorre pelo analista de sistemas que faz toda a documentação do software a ser desenvolvido, aonde o analista se junta ao cliente para levantar quais funções será necessário que ele tenha para assim entregar os desenvolvedores. Modelagem UML Validação A validação do produto foi feita de forma simples, utilizando um formulário feito no JotForm que foi disponibilizado pelas redes sociais de um dos integrantes do grupo. Neste processo, algo interessante foi que algumas pessoas também compartilharam o formulário por terem gostado da proposta. Abaixo, pode-se observar as perguntas realizadas e a reação do público. A pesquisa apresenta 12 (doze) perguntas para o público. O objetivo era entender se a proposta trazia uma necessidade real para o consumidor e obter sugestões do público. No total, foram 23 participações. A primeira pergunta tratada é: Figura 1 - Pergunta 1 Fonte: elaborado pelo autor A qual obtivemos as seguintes respostas: Figura 2 - Resposta 1 Fonte: Jotform Pode-se perceber que o público que respondeu a pesquisa possui algum tipo de afeto por animais de estimação, podendo ter atualmente, ter tido ou que ainda pretende ter um. Segunda pergunta: Figura 3 - Pergunta 2 Fonte: elaborado pelo autor Pôde-se obter as seguintes respostas: Figura 4 - Resposta 2 Fonte: Jotform É possível perceber que 48% dos informantes sofreram com a fuga do pet. Terceira pergunta Figura 5 - Pergunta 3 Fonte: elaborado pelo autor Tal pergunta rendeu as seguintes respostas: Figura 6 - Resposta 3 Fonte: Jotform Mais de 90% dos entrevistados têm medo de que seu amigo fuja. Quarta pergunta Figura 7 - Pergunta 4 Fonte: elaborado pelo autor Seguido das seguintes respostas: Figura 8 - resposta 4 Fonte: Jotform Infelizmente esta pergunta não foi respondida por um dos internautas, porém com as respostas obtidas fica claro que a maior parte da sociedade, cerca de 80%, se solidariza com os tutores para que tenham seus pets de volta. Quinta pergunta Figura 9 - Pergunta 5 Fonte: elaborado pelo autor Esta pergunta deixa o entrevistado livre para responder o que quiser, e caso não queira ou não tenha uma opinião sobre, não é necessário responder. Figura 10 - resposta 5 Fonte: Jotform Há diversas opiniões, sendo as principais falando sobre redes sociais e informações junto ao pet, o que é próximo da proposta do projeto. Pergunta 6 Figura 11 - Pergunta 6 Fonte: elaborado pelo autor Figura 12 - resposta 6 Fonte: Jotform O projeto teve uma boa média de pontuação em relação a quanto seria interessante a implementação dele, tendo uma média de 4,41 estrelas de 5. Sétima pergunta Figura 13 - Pergunta 7 Fonte: elaborado pelo autor Figura 14 - Resposta 7 Fonte: Jotform O projeto recebeu um grande número de ‘sim’, porém não se pode ignorar os 22% de ‘talvez’, o que significa que a explicação do projeto pode ser feita melhor, e uma demonstração poderia mudar a opinião do público. Oitava pergunta Figura 15 - Pergunta 8 Fonte: elaborado pelo autor Figura 16 - resposta 8 Fonte: elaborado pelo autor A maioria preferiu um preço de 30 reais, porém teve bastante resultados com R$45,00 e R$40,00, totalizando 10 pessoas. Talvez um preço intermediário de R$35,00 poderia agradar boa parte do público. Nona pergunta A pergunta possui mais de uma resposta possível. Figura 17 - Pergunta 9 Fonte: elaborado pelo autor Figura 18 - Resposta 9 Fonte: Jotform A maioria das pessoas acham importante fornecer informações para contato caso o pet for resgatado em caso de fuga ou perca do animal. Décima pergunta Também possui mais de uma resposta possível. Figura 19 - Pergunta 10 Fonte: elaborado pelo autor Figura 20 - Resposta 10 Fonte: Jotform Décima primeira pergunta Figura 21 - Pergunta 11 Fonte: elaborado pelo autor Figura 22 - Resposta 11 Fonte: Jotform A figura acima contém algumas sugestões e opiniões sobre o aplicativo, a maioria sendo positiva. Não era obrigatória. Décima pergunta resposta Figura 23 - Pergunta 12 Fonte: elaborado pelo autor Figura 24 - Resposta 12 Fonte: Jotform Apesar de ser uma média razoável, pendendo para 8 (oito), indica que há muito a melhorar, principalmente na estratégia de divulgação do produto. Gestão Outros Desenvolvimento Conforme o projeto foi avançando, tornou-se necessário especificar algumas partes do projeto que serviu para uma melhor visualização sobre onde se quer chegar com ele. Aprovação Para saber o quanto a ideia seria válida pelos consumidores, foi realizada uma pesquisa na qual apresentou-se o conceito do projeto nas questões e ao final foi pedido para que avaliassem o quanto usariam o produto. O resultado pode ser conferido no item 3.8.12, apresentado anteriormente. O projeto também foi apresentado em sala de aula, no dia 24 de maio de 2022, recebendo algumas sugestões dos colegas e professor, também sendo aprovado. Introdução O aplicativo possui o nome de Pet Rescue, remetendo a “Resgate de Animais de Estimação”, em inglês, o que é um resumo do objetivo do projeto. Em suma, ele foi pensado para que a comunidade possa se ajudar a encontrar os animais de estimação de alguém caso otutor não consiga encontrar o animal no caso de uma eventual fuga, por exemplo. A ideia é ser uma alternativa mais barata aos implantes de microchip e coleiras GPS para poder alcançar a maior parte da população brasileira. · Coleira GPS: cerca de R$ 140,00; · Microchip: entre R$ 150,00 a R$ 200,00. Segundo um artigo publicado pela CNN em março de 2022, o salário médio do brasileiro é de cerca de R$ 1.149,00, sobrando pouco recurso financeiro para gastos com um animalzinho, tornando inviável outros recursos como os citados anteriormente. O projeto visa elaborar um QR Code com as informações do animal, feita em material durável para ser colocado na coleira. Quando ele for escaneado, será encaminhado para uma página web contendo os dados do pet junto a opção de conversar com o dono pelo próprio aplicativo. A proposta de produtos a serem vendidos são: · QR Code; · Coleiras (com QR Code); · Pingentes; · Bandanas; Os produtos deverão ser distribuídos a no máximo R$ 45,00 para que a proposta seja cumprida. Para seu desenvolvimento, planeja-se usar os recursos de web, como: · HTML5; · CSS3; · Javascript; · JQuery; · Banco de dados (Maria DB); Vale lembrar que pode haver alterações nas linguagens a serem usadas para seu desenvolvimento. Objetivos deste documento O propósito deste documento é, além de apresentar os conceitos aprendidos nas aulas de Engenharia de Requisitos, fornece informações sobre o aplicativo e seu funcionamento, demonstrando domínio do que foi desenvolvido em sala de aula, bem como o tempo decorrido para o desenvolvimento do protótipo do Pet Rescue. Neste documento serão apresentados: · o que é Engenharia de Software e de Requisitos; · gestão; · desenvolvimento do protótipo; · missão da empresa; · escopo do produto; · componentes dele; · descrição geral; · requisitos funcionais e não funcionais; Ao longo deste documento, espera-se que seja possível identificar com clareza o que foi planejado para seu desenvolvimento, sobre qual necessidade o protótipo se propõe a ajudar e os recursos necessários para seu funcionamento. Especificação dos Requisitos do Software Pet Rescue A ideia é que o software consiga auxiliar a comunidade ou sociedade a se reunirem em razão de uma causa: achar um animal de estimação perdido. Basicamente, o aplicativo fornece um ‘feed de notícias’, como uma rede-social para que os tutores possam mostrar seus pets e como consequência, aumentar a afinidade e empatia para o outro sobre o qual está sendo entregue estas publicações. A partir disso, se ou quando o pet se perder, as pessoas terão uma vontade maior de auxiliar o dono a encontrar o animal. Caso alguém o encontre, esta pessoa poderá escanear um código QR, cuja função é direcionar para um link que irá conter as informações que o tutor cadastrou no aplicativo, assim como um botão para mandar mensagem para o tutor pelo aplicativo. Escopo do produto O principal ponto do projeto é oferecer um QR code para escanear, receber informações e contatar o tutor do pet, mas oferece outros recursos, como: compra de acessórios para os animais (coleira, pingente, bandanas), um feed de notícias para compartilhar ideias com as outras pessoas e um chat para contato mais seguro com terceiros. Espera-se que haja colaboração entre as pessoas para poder encontrar o animal que esteja perdido, diminuindo a quantidade de animais de rua. Nome do produto e de seus componentes principais O nome do aplicativo foi definido como “Pet Rescue”, remetendo a resgate de animais de estimação em inglês, sendo apropriado ao tema do projeto. Seus principais componentes são: venda e distribuição de QR Code, comunicação com a comunidade (tanto as que usam o aplicativo quanto as pessoas que encontrarem o animal perdido), envio de conversas seguras e auxílio para o tutor de animal. Missão do produto Temos como missão oferecer um produto mais acessível e de qualidade para auxiliar no encontro de pets perdidos ao juntar as pessoas de um determinado lugar em razão de fazer o bem para outrem. Limites do produto Ao ponderar sobre os requisitos do produto, percebeu-se que certas informações requeridas por outros softwares não se encaixam com a proposta do produto, bem como podem ser ofensivas ou consideradas demasiado pessoais pela pessoa que utilizará, bem quais: · O produto não deve exigir informações como: número do RG e CPF no cadastro da compra, apenas se o usuário estiver realizando uma compra somente um dos itens citados pode ser exigido. · Ele não deve exigir que qualquer usuário compartilhe sua localização via GPS · Não se precisa exigir ao usuário colocar seu sexo ou orientação sexual em vista que não há necessidade de tal pergunta. Benefícios do produto O produto auxilia que o animal de estimação possa ser encontrado de forma rápida e permite que a pessoa que o encontrar consiga se comunicar com o tutor sem precisar de muito esforço. É muito comum que as pessoas postem em redes sociais como o Facebook, Instagram ou WhatsApp que tenham encontrado um animal na rua e estão procurando pelo dono. Infelizmente nem sempre é eficaz, em vista que o tutor pode não utilizar estas redes frequentemente ou não fazem parte do círculo social com que quem encontrou o pet se relacione, além de poder atrair pessoas que querem o animal, mas não são realmente seus tutores. Com o Pet Rescue, não será necessário este “anúncio”, apenas que a pessoa entre em um link pelo código QR e clique em um botão para falar com o devido tutor. Definições e siglas Para melhor compreendimento do documento, separamos uma lista com o significado de algumas palavras: QR Code ou código QR: é um código de barras que pode ser escaneado pela câmera do celular, sendo feito de forma rápida. Ele funciona ao ser colocado um link que leva a uma determinada página da web. Web: nome comumente usado para a rede mundial de computadores internet. Website: é um lugar na rede. T.I.: Tecnologia da informação, conjunto de atividades providas por recursos da computação. Software: conjunto de instruções que permitem ao usuário controlar um aparelho eletrônico. Elicitação: Ato de provocar uma resposta ou reação em algo ou alguém Mobile: neste caso, trata-se de dispositivos móveis, como celulares, smartphones e tablets. Tutor: aquele que ampara, protege, defende; guardião, segundo o dicionário de Oxford. Feedback: informação que o emissor obtém da reação do receptor à sua mensagem, e que serve para avaliar os resultados da transmissão, segundo Oxford. Designers: concretização de uma ideia em forma de projetos ou modelos, mediante a construção e configuração resultando em um produto industrial passível de produção em série (LÖBACH, 2001) Desenvolvedores: neste caso, aqueles que desenvolvem um software ou aplicativo. Stakeholders: grupos de pessoas ou organizações que podem ter algum tipo de interesse pelas ações de uma determinada empresa. Em suma: em resumo. Gps: Global Positioning System é o nome do sistema utilizado para navegação e aquisição de medidas precisas de localização geográfica e geodésica, originalmente denominado NAVSTAR (Navigation System with Timing and Tanging), segundo Embrapa. Microchip: um circuito eletrônico, neste caso que é implantado em animais contendo informações. Link: element de hipermídia que ajuda a navegar na internet. Feed: fluxo de conteúdo que permite rolagem. Chat: forma de comunicação a distância, utilizando computadores ligados à internet, na qual o que se digita no teclado de um deles aparece em tempo real no vídeo de todos os participantes do bate-papo (Oxford). Visão geral deste documento Este documento visa descrever os elementos, a ideia, o comportamento e a organização que aconteceram durante o desenvolvimento do projeto. Ele faz parte da disciplina de Engenharia de Requisitos e servirá como forma de avaliação pelo Prof. Me. Richardson Kennedy Luz para a universidade de Sorocaba (UNISO). Outros elementos contemplados neste documento é a definição de Engenharia de Software e de Requisitos, sendo necessário fazer parte dele: · Elicitação; · Análise e negociação;· Especificação; · Modelagem; · Validação; · Gestão. Descrição geral do produto O produto tem a finalidade de ajudar a encontrar um animal perdido utilizando um código QR para guardar os dados necessários para cuidados do animal e contatos do dono, utilizando um aplicativo para certificar a segurança dos lados envolvidos, contando com o apoio das pessoas para encontrar o pet. Perspectiva do produto Diagrama de contexto A fim de esclarecer o funcionamento do programa de forma simples, foi elaborado um diagrama de contexto: Figura 25 - Diagrama de Contexto Fonte: elaborado pelo autor Requisitos funcionais Os Requisitos funcionais são o comportamento do sistema de um software, representando o que ele faz em termos de tarefas e serviços, a função sendo as entradas e o comportamento as saídas. No caso, temos os seguintes requisitos funcionais até o momento: · Cadastro do usuário no aplicativo (nome, e-mail, senha, confirmação de senha, concordância com os termos de uso). · Adicionar/Editar/Excluir cadastro dos animais de estimação, tendo nome, sexo, idade, raça, coloração e informações adicionais. · Editar perfil · Entrada de texto de imagem para publicação · Capacidade de escanear códigos QR · Emissão de relatório Casos de uso Os casos de uso em UML (Unified Modeling Language, ou Linguagem de modelagem unificada) serve para demonstrar as maneiras que o usuário pode interagir com um sistema. No projeto em questão, temos: · Entrada de dados sobre o animal; · Postagens no feed de notícias com imagem e texto; · Enviar mensagens para outro usuário; · Compra de acessórios para pets; · Leitura de código QR; · Visualização de formulários. · Fazer login Diagramas de Caso de Uso A fim de exemplificar melhor o que foi abordado no item anterior, elaborou-se um diagrama UML de casos de uso usando o website Creately. Abaixo o diagrama: Figura 26 - Diagrama de Uso Fonte: elaborado pelo autor Especificação na Visão Macro A visão macro possibilita analisar as variáveis que podem surgir ao longo do desenvolvimento do projeto, precisando ser pensadas nas seguintes variáveis: · o cenário em que a empresa está inserida; · o papel das forças que atuam nesse contexto; · o funcionamento do ecossistema e sua influência sobre os negócios da empresa; · as partes que impactam ou são impactadas pelas ações da organização. Considerando estes elementos, uma das ações tomadas foi verificar os riscos de o projeto não dar certo. Para isso, montou-se uma matriz para análise de riscos: Tabela 1 - Análise de riscos Matriz de Risco Ação Vulnerabilidade Período Impacto Problemas de comunicação com o cliente Devs não se comunicam como deveria 1 a 2 semanas médio Problemas de desenvolvimento Bugs no código do projeto, problemas na implementação. 2 a 3 semanas baixo Má interpretação do projeto Devs entendem errado as expectativas do cliente 10 dias Alto Fonte: elaborado pelo autor. É importante lembrar que o projeto está sendo elaborado por alunos sem conhecimento prévio de programação e gestão de empresa, sendo este projeto uma maneira de aprender e errar para que futuramente possam se tornar bons profissionais. Outro modelo usado foi o Trello, para organizar os deveres de cada um e ajustar ao cronograma de entrega do projeto. Este pode ser encontrado na figura abaixo: Figura 27 - Trello Fonte: elaborado pelo autor. Há também um modelo para gerir o projeto de forma analítica, sendo este o modelo EAP: Figura 28 - EAP Fonte: elaborado pelo autor. Requisitos Não Funcionais Os requisitos não funcionais são aqueles que o cliente não necessariamente pediu, mas está implícito. Podem ser citados: desempenho, usabilidade, confiabilidade, segurança, disponibilidade, manutenção e tecnologias envolvidas. Na intenção de cumprir estes termos relacionados ao uso da aplicação, pode-se dizer que o Pet Rescue pretende fazer uso das boas práticas de programação para que tenha menos tempo de carregamento do aplicativo, alta compatibilidade principalmente com o padrão de tela dos aparelhos, fornecendo junto uma boa usabilidade. Para deixá-lo mais confiável, informações como CPF e RG não serão pedidas para o cadastro, contando com um banco de dados seguro e utilizando o padrão ‘https’ que fornece mais segurança para websites, oferecendo um chat seguro para que não seja necessário informar telefone, e-mail ou outros meios, manter o aplicativo sempre atualizado e fazê-lo compatível com a maior parte dos sistemas operacionais, como IOS e Android. Interfaces de Pet Rescue Até o momento o protótipo se encontra com 22 telas, tendo uma versão em inglês. Há o planejamento para que mais telas sejam adicionadas, das quais: política de privacidade e termos de uso. O protótipo conta com as seguintes telas: Figura 23 - Tela de início em português e inglês lado a lado Fonte: elaborado pelo autor Figura 29 - Tela de LogIn em inglês e português lado a lado Fonte: elaborado pelo autor Figura 25 - Tela explicando sobre o que se trata o aplicativo em inglês e português lado a lado Fonte: elaborado pelo autor Figura 26 - Tela de confirmação da conta em inglês e português lado a lado Fonte: elaborado pelo autor Figura 27 - Tela de criação de Conta em português e inglês lado a lado Fonte: elaborado pelo autor Figura 28 - Tela de início com feed português Fonte: elaborado pelo autor Figura 29 - Tela de configurações em inglês e português lado a lado Fonte: elaborado pelo autor Figura 30 - Tela de mensagens em inglês e português lado a lado Fonte: elaborado pelo autor Figura 31 - Tela de mensagens em inglês e português lado a lado Fonte: elaborado pelo autor Figura 30 - Tela de produtos e cadastro de animal Fonte: elaborado pelo autor Figura 31 - Tela de cadastro de Pet Fonte: elaborado pelo autor Figura 32 - tela mostrando os animais adicionados Fonte: elaborado pelo autor Figura 33 - Tela para escanear o código QR Fonte: elaborado pelo autor Figura 34 - Tela de relatórios Fonte: elaborado pelo autor Além das telas apresentadas anteriormente, temos um logo inicial que poderá ser discutido no futuro. Ele se apresenta na imagem seguinte: Figura 35 - Logo inicial da empresa Fonte: elaborado pelo autor Referências file:///C:/Users/evyef/Downloads/522-1531-1-PB.pdf http://www.abepro.org.br/biblioteca/ENEGEP2001_TR93_0290.pdf https://blog.betrybe.com/tecnologia/engenharia-de-requisitos-tudo-sobre/ https://www.devmedia.com.br/principios-da-engenharia-de-software/29630#:~:text=Os%20princípios%20da%20engenharia%20de,a%20ela%20como%20um%20todo. https://www.cnnbrasil.com.br/business/salario-liquido-medio-do-brasileiro-cai-para-r-1-149-em-2021-aponta-pesquisa/#:~:text=Em%20um%20cenário%20marcado%20pela,DomesticView%2C%20divulgada%20pela%20consultoria%20Kantar. https://blog.fnq.org.br/identificar-melhorias-no-seu-negocio/#:~:text=A%20visão%20macro%20é%20o,e%20demais%20atividades%20do%20empreendimento. https://www.scielo.br/j/jistm/a/Hh43ZMbBrbfRWZZtYGs7tSk/?lang=pt https://www.lucidchart.com/pages/pt/diagrama-de-caso-de-uso-uml https://www.lucidchart.com/pages/pt/diagrama-de-caso-de-uso-uml APÊNDICE a – exemplo UNIVERSIDADE DE SOROCABA PRÓ - REITORIA DE GRADUAÇÃO E ASSUNTOS ESTUDANTIS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Enzo Scalabrini, 00111980 Letícia Lopes Fogaça, 00111259 Vinícius Gianinni, 00109541 ESCOPO DE UM PROJETO DE SOFTWARE: APLICAÇÃO DA ENGENHARIA DE REQUISITOS EM UM PROJETO SOFTWARE Sorocaba/SP 2022 UNIVERSIDADE DE SOROCABA PRÓ-REITORIA DE GRADUAÇÃO E ASSUNTOS ESTUDANTIS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Enzo Scalabrini, 00111980 Letícia Lopes Fogaça, 00111259 Vinícius Gianinni, 00109541 ESCOPO DE UM PROJETO DE SOFTWARE: APLICAÇÃO DA ENGENHARIA DE REQUISITOS EM UM PROJETO SOFTWARE Sorocaba/SP 2022
Compartilhar