Baixe o app para aproveitar ainda mais
Prévia do material em texto
BACHARELADO EM SISTEMAS DE INFORMAÇÃO MAGDA PEREIRA BARBOSA WEBER ALVES DE OLIVEIRA AMAR PET – APLICATIVO DE DENÚNCIAS DE MAUS-TRATOS A ANIMAIS Unaí - MG Dezembro / 2018 MAGDA PEREIRA BARBOSA WEBER ALVES DE OLIVEIRA AMAR PET – APLICATIVO DE DENÚNCIAS DE MAUS-TRATOS A ANIMAIS Trabalho apresentado ao curso de bacharelado em Sistemas de Informação da Faculdade CNEC Unaí, como parte dos requisitos para obtenção do grau de bacharel. Orientador: Prof. Msc. Rômulo Caldeira de Souza Maia Unaí - MG Dezembro /2018 Campanha Nacional de Escolas da Comunidade Faculdade CNEC Unaí Bacharelado em Sistemas de Informação Monografia intitulada ―AMAR PET – APLICATIVO DE DENÚNCIAS DE MAUS- TRATOS A ANIMAIS‖, de autoria dos bacharelandos Magda Pereira Barbosa e Weber Alves de Oliveira, apresentada à banca examinadora constituída pelos seguintes professores: _____________________________________________ Prof. Msc. Romulo Caldeira de Souza Maia (Orientador) _____________________________________________ Prof. Msc. Gustavo Henrique Dorrnelas de Deus (Professor) Unaí-MG, 11 de Dezembro de 2018 AGRADECIMENTOS – MAGDA PEREIRA BARBOSA Agradeço a Deus, em primeiro lugar, pela proteção constante. Aos meus pais Osvaldo Nogueira Barbosa e Ana Pereira Barbosa, minha filha Ana Sophia Barbosa dos Santos, aos meus irmãos pelo incentivo, apoio, compreensão e amor. Aos professores do curso de Bacharelado em Sistemas de Informação, da Faculdade CNEC Unaí, pela atenção e por acreditar neste trabalho. Ao meu companheiro de Trabalho de Conclusão de Curso Weber Alves de Oliveira, pela ajuda e coleguismo nessa jornada. Aos meus colegas de classe, por me ajudarem a sanar duvidas e pelo companheirismo nesses 4 anos de estudos. Agradeço a todos que de alguma forma contribuíram para que eu conseguisse superar mais esse desafio. AGRADECIMENTOS – WEBER ALVES DE OLIVEIRA Agradeço primeiramente a Deus por ter me dado forças para não desistir do curso apesar de todas as dificuldades e obstáculos que surgiram no decorrer desses 5 anos. Agradeço também aos meus pais, Rosa Alves da Silva Oliveira e Horácio de Oliveira, que não mediram esforços para que eu conseguisse cursar o ensino superior, dedico essa conquista a eles. Aos meus colegas de curso, que se formaram em 2017, obrigado pela ajuda todos esses anos, sem vocês eu realmente não estaria aqui. Ao meu amigo Rafael Oliveira Faitão, por me auxiliar nas atividades e pela ajuda no aprendizado de Ionic, para realização desse trabalho, meu muito obrigado. Ao meu amigo Rui Apolinário Prado, por estar ao meu lado durante esses anos e me ajudando a seguir em frente. A minha amiga Thalitta Karlla Maciel, por ter entrado na minha vida graças a faculdade e ter me ajudado a superar grandes desafios, obrigado. A minha companheira de TCC, Magda Pereira Barbosa, pela ajuda e coleguismo nessa jornada. A todos os meus amigos e familiares que me incentivam a estudar e não desistir dos meus objetivos. Aos professores da Faculdade CNEC Unaí, pelo apoio e incentivo. Agradeço a todos que de alguma forma contribuíram para que eu conseguisse superar mais esse desafio. RESUMO O trabalho em questão parte da necessidade de diminuição dos crimes de maus-tratos contra os animais, por meio da criação de um aplicativo que permita a realização da denúncia contra tais atos, proporcionando ao denunciante a possibilidade de acompanhar o andamento da denúncia, da abertura até a sua finalização. A metodologia utilizada é baseada em uma pesquisa bibliografia do tipo qualitativa, para a defesa do tema proposto do estudo, onde os dados foram coletados por meio de diversas fontes. Partindo do estudo do referencial teórico, da elaboração das regras de negócio, levantamento do documento de requisitos, foi realizado o levantamento de riscos do projeto e com a análise e projeto de sistemas foi posível identificar a oportunidade de se desenvolver um aplicativo para realização de denúncias de maus-tratos contra animais, pelo fato de existirem poucos aplicativos que se enquadram nesse contexto, além do grande número de casos de maus-tratos contra animais que são registrados no Brasil. Palavras-chave: maus-tratos; animais; denúncia; aplicativo. ABSTRACT The present work has its origins in the necessity of lowering the rates of animal mistreating, by creating a mobile app capable of pressing charges against such acts, enabling the charge presser the ability to monitor the whole accusation process, from its opening to the case closure. The methodology used in this work has its base on a qualitative research method, to defend the purposed theme of study, where data was collected by diverse means. Based on the study of the theoretical referential, elaboration of business rules and requirements gathering, it was possible to perform the project’s risk assessment. Then, with analysis and design of systems, it was possible to identify the opportunity of development of an application to fill charges against animal cruelty, justified by the fact there are few applications with this specific purpose, especially considering the huge amount of cases registered in Brazil. Keywords: maltreatment; animals; complaint; app. LISTA DE SIGLAS ABNT Associação Brasileira de Normas Técnicas ANDA Agencia de Notícias dos Direitos dos Animais API Interface de Programação de Aplicativos BPM Business Process Management BPMN Bussness Process Model Notation C# C Sharp CNEC Campanha Nacional de Escolas da Comunidade CSS Cascading Style Sheets EAP Estrutura Analítica de Projetos GSTI Gestão de Serviços de Tecnologia da Informação HTML HyperText Markup Language IBAMA Instituto Brasileiro do Meio Ambiente e dos Recursos Naturais Renováveis IBM International Business Machines MVC Model-View-Controller MVVM Model-View-View-Model ONGs Organizações Não Governamentais PET Animal Favorito PMBOOK Project Management Body of Knowledge R7 Portal de Notícias da Record RF Requisito Funcional RN Regra de Negócio RNF Requisito Não Funcional RU Requisito de Usuário RUP Rational Unified Process SDK Software Development Kit TCC Trabalho de Conclusão de Curso TI Tecnologia da Informação UML Unified Modeling Language UP Processo Unificado WBS Work breakdown structure WEB World Wide Web XHTML eXtensible Hypertext Markup Language XML eXtensible Markup Language UC Caso de Uso LISTA DE FIGURAS Figura 1 – Estrutura Analítica do Projeto ................................................................................40 Figura 2 – Cronograma ............................................................................................................41 Figura 3 – Gráfico de GANTT .................................................................................................42 Figura 4 – Diagrama de Caso de Uso Macro ...........................................................................56 Figura 5 – Especificação de Caso de Uso 01 – Realizar Login... ............................................57 Figura 6 - UC01 - Realizar Login/Entrar no Sistema – Mobile................................................60Figura 7 - UC01 - Realizar Login / Entrar no Sistema – Fluxo de Exceção 1..........................61 Figura 8 – UC01 – Realizar Login / Entrar no Sistema – Administrador – Web.....................62 Figura 9 – UC01 – Realizar Login / Entrar no Sistema – Administrador – Web – Fluxo de Exceção 2..................................................................................................................................62 Figura 10 – UC01 – Realizar Login / Recuperar Senha – Mobile.......................................................................................................................................63 Figura 11 – UC01 – Realizar Login / Recuperar Senha – Mobile – Código de verificação.....64 Figura 12 – UC01 – Realizar Login / Recuperar Senha – Mobile – E-mail de recuperação de senha..........................................................................................................................................65 Figura 13 – UC01 – Realizar Login / Recuperar Senha – Mobile – Redefinição de senha......66 Figura 14 – UC01 – Realizar Login / Recuperar Senha – Mobile – Fluxo de Exceção 2........67 Figura 15 – UC01 – Realizar Login / Recuperar Senha – Mobile – Senha atualizada com sucesso......................................................................................................................................68 Figura 16 – UC01 – Realizar Login / Login Realizado – Mobile ............................................69 Figura 17– UC01 – Realizar Login / Login Realizado - Administrador - Web .......................70 Figura 18 – Especificação de Caso de Uso 02 - Manter Usuários ...........................................71 Figura 19 – UC02 – Manter Usuários / Cadastrar Usuário – Mobile ......................................74 Figura 20 – UC02 – Manter Usuários / Cadastrar Usuário – Mobile– Fluxo de Exceção 1.1..75 Figura 21 – UC02 – Manter Usuários / Cadastrar Usuário – Mobile – Fluxo de exceção 1.5.76 Figura 22– UC02 – Manter Usuários / Cadastrar Usuário – Mobile – Fluxo de Exceção 1.2..77 Figura 23 – UC02 – Manter Usuários / Cadastrar Usuário – Mobile – Fluxo de Exceção 1.4.78 Figura 24– UC02 – Manter Usuários / Cadastrar Usuário – Mobile – Fluxo de exceção 1.3..79 Figura 25 – UC02 – Manter Usuários / Cadastrar Usuário – Mobile – Confirmação de Cadastro....................................................................................................................................80 Figura 26 – UC02 – Manter Usuários / Atualizar Usuário – Mobile .......................................81 Figura 27 – UC02 – Manter Usuários / Atualizar Usuário – Mobile – Confirmação de dados atualizados.................................................................................................................................82 Figura 28 – UC02 – Manter Usuários / Atualizar Usuário – Mobile – Fluxo de exceção 1.1..83 Figura 29 - UC02 – Manter Usuários / Excluir Usuário– Mobile ...........................................84 Figura 30 – UC02 – Manter Usuários / Sobre – Mobile ..........................................................85 Figura 31 – Especificação de Caso de Uso 03 - Manter Denúncias ........................................86 Figura 32 – UC03 – Manter Denúncias / Efetuar Denúncias – Mobile ...................................89 Figura 33 – UC03 – Manter Denúncias / Efetuar Denúncias – Mobile – Selecionar estado federativo da denúncia..............................................................................................................90 Figura 34 – UC03 – Manter Denúncias / Efetuar Denúncias – Mobile – Selecionar cidade....91 Figura 35 – UC03 – Manter Denúncias / Acompanhar Denúncias – Mobile ..........................92 Figura 36 – UC03 – Manter Denúncias / Acompanhar Denúncias – Mobile– Detalhe da denúncia....................................................................................................................................93 Figura 37 – UC03 – Manter Denúncias / Pesquisar Denúncias – Mobile ...............................94 Figura 38 – UC03 – Manter Denúncias / Pesquisar Denúncias – Administrador – Web ........95 Figura 39 – UC03 – Manter Denúncias / Atualizar Denúncias – Administrador – Web ........95 Figura 40 – UC03 – Manter Denúncias / Atualizar Denúncias – Administrador – Web – Imprimir Denúncia ...................................................................................................................96 Figura 41 – Especificação de Caso de Uso 04 - Gerar Relatórios ...........................................97 Figura 42 – UC04 – Gerar Relatórios / Relatórios Denunciante – Mobile ............................100 Figura 43 – UC04 – Gerar Relatórios / Relatórios Administrador – Web ............................101 Figura 44 - Modelagem de Processos (BPM) AS-IS .............................................................111 Figura 45 - Modelagem de Processos (BPM) TO-BE ...........................................................112 Figura 46 – Digrama de Pacotes ............................................................................................113 Figura 47 – Digrama de Classes ............................................................................................114 Figura 48 – Modelo Conceitual de Dados .............................................................................115 Figura 49 – Modelo Físico de Dados .....................................................................................116 LISTA DE QUADROS Quadro 1 – Gerenciamento de Riscos ......................................................................................43 Quadro 2 – RF01 – Realiar Login.............................................................................................51 Quadro 3 – RF02 – Manter Usuários........................................................................................51 Quadro 4 – RF03 – Manter Denúncias ....................................................................................52 Quadro 5 – RF04 – Gerar Relatórios .......................................................................................52 Quadro 6 – RNF01 – Segurança ..............................................................................................53 Quadro 7 – RNF02 – Usabilidade ............................................................................................53 Quadro 8 – RNF03 – Disponibilidade......................................................................................53 Quadro 9 – Matriz de Rastreabilidade......................................................................................54 Quadro 10 – Especificação de Caso de Uso 01 – Realizar Login... .........................................57 Quadro 11 – Especificação de Caso de Uso 02 – Manter Usuários..........................................71 Quadro 12 – Especificação de Caso de Uso 03 – Manter Denúncias ......................................86 Quadro 13 – Especificação de Caso de Uso 04 – Gerar Relatórios .........................................97 Quadro 14 – Dados da tabela usuarios ...................................................................................117 Quadro 15 – Dados da tabela Denúncias ...............................................................................118 Quadro 16 – Dados da tabela cidades ....................................................................................119 Quadro 17 – Dados da tabela estados.....................................................................................120 Quadro 18 – Dados da tabela status .......................................................................................121 SUMÁRIO 1 Introdução ......................................................................................................................... 14 1.1 Contextualização ........................................................................................................14 1.2 Formulação do Problema ........................................................................................... 16 1.3 Objetivos .................................................................................................................... 16 1.3.1 Objetivo Geral .................................................................................................... 16 1.3.2 Objetivos Específicos ......................................................................................... 16 1.4 Justificativa ................................................................................................................ 17 2 Referencial teórico ............................................................................................................ 18 2.1 Área de Negócio ........................................................................................................ 18 2.1.1 Maus-tratos a animais ......................................................................................... 18 2.1.2 Aspectos legais e formas de denuncia ................................................................ 19 2.1.3 Aplicativos de Denúncias ................................................................................... 21 2.2 Engenharia de Software ............................................................................................. 21 2.2.1 Modelos de Processos de Software .................................................................... 22 2.2.2 RUP – Rational Unified Process ........................................................................ 23 2.2.3 Unified Modeling Language - UML .................................................................. 25 2.3 Tecnologias ................................................................................................................ 26 2.3.1 Tecnologias de desenvolvimento de software .................................................... 26 2.3.2 Tecnologia de gerenciamento de dados .............................................................. 30 2.3.3 Tecnologia de estruturação e desenho de páginas web ...................................... 33 2.3.4 Tecnologia de modelagem de negócios .............................................................. 35 3 MÉTODOS E TÉCNICAS DE PESQUISA .................................................................... 36 3.1 Tipo e Descrição Geral da Pesquisa........................................................................... 36 3.2 Caracterização da Organização, Setor ou Área do Objeto de Estudo ........................ 37 3.3 Instrumentos de Pesquisa ........................................................................................... 37 3.4 Participantes do Estudos ............................................................................................ 38 3.5 Procedimentos de Coleta e de Análise de Dados ....................................................... 38 4 Projeto ............................................................................................................................... 40 4.1 EAP – Estrutura Analítica do Projeto ........................................................................ 40 4.2 Gerenciamento de Riscos ........................................................................................... 43 4.3 Documento de Visão .................................................................................................. 45 4.3.1 Objetivo ................................................................................................................... 45 4.3.1 Escopo ................................................................................................................ 45 13 4.3.2 Nome dos Responsáveis pelo Desenvolvimento ................................................ 45 4.3.3 Oportunidade de Negócio ................................................................................... 46 4.4 Regras de Negócio ..................................................................................................... 47 4.5 Documento de Requisitos .......................................................................................... 49 4.5.1 Requisito de usuário ........................................................................................... 49 4.5.2 Requisitos de Sistema ......................................................................................... 51 4.6 Matriz de Rastreabilidade .......................................................................................... 54 4.7 Diagrama de Caso de Uso .......................................................................................... 56 4.7.1 Diagrama de Caso de Uso Macro ....................................................................... 56 4.8 Especificação de Caso de Uso ................................................................................... 57 4.8.1 Especificação de Caso de Uso 01 – Realizar Login ........................................... 57 4.8.2 Especificação de Caso de Uso 02 – Manter Usuários ........................................ 71 4.8.3 Especificação de Caso de Uso 03 – Manter Denúncias...................................... 86 4.8.4 Especificação de Caso de Uso 04 – Gerar Relatórios ........................................ 97 5 Considerações finais ....................................................................................................... 102 6 Referências ..................................................................................................................... 104 APÊNDICE A – MODELAGEM DE PROCESSOS (BPM) AS-IS & TO-BE ..................... 111 APÊNDICE B – DIAGRAMA DE PACOTES E CLASSES ................................................ 113 APÊNDICE C - MODELOS DE DADOS (CONCEITUAL E FÍSICO) ............................... 115 APÊNDICE D - DICIONÁRIO DE DADOS ........................................................................ 117 APÊNDICE E – BANCO DE DADOS – Data Definition Language .................................... 122 APÊNDICE F – TERMO DE CONSENTIMENTO .............................................................. 125 14 1 Introdução 1.1 Contextualização O presente trabalho busca mostrar a importância em se garantir a segurança e bem-estar dos animais além da preservação de suas vidas. Os animais sempre estiveram ao lado do homem e contribuíram para a evolução das civilizações, fornecendo alimento e companhia, auxiliam a humanidade de diversas maneiras durante os anos até os tempos atuais. (ALVES, 2010). O ser humano por ser racional, não possui o direito de maltratar, ferir ou humilhar qualquer espécie animal, seja ela doméstica ou selvagem, pois mesmo com a racionalidade sendo uma característica presente no ser humano, os animais possuem sentimentos, relações afetivas, sentem dor e sofrem se não igual, semelhante ao homem. Os animais mesmo sendo considerados irracionais, não descontam frustações ou raiva em outro ser, ou machucam outros seres vivos, exceto por seus instintos de alimentação, reprodução ou defesa. (SZKLARS, 2016). A Agencia de Notícias dos Direitos dos Animais (ANDA, 2017), mostra que o animal de modo geral tem suas vidas impactadas pelas ações humanas. Os animais domésticos são praticamente dependentes do homem para sobreviver, em aspectos como alimentação, saúde e higiene, além do afeto; e os selvagens, sofrem os efeitos da interferência humana na natureza, como as mudanças climáticas, caça e desmatamento. Nesse contexto, surge a ideia de que além dessas interferências e relações, existem pessoas que ainda maltratam os animais. (ANDA, 2017). Não é preciso ser um especialista para intuir a covardia daquele que maltrata um animal. Seja de que espécie for, a violência é censurável. É covarde quem espanca um cão doméstico com uma vassoura, ou deixa o gato a passar fome por miardemais. É igualmente covarde o dono do circo, que deixa o leão preso na jaula — doente, a definhar — ou que adestra o elefante espancando-o com uma vara de pau. Doméstico ou selvagem, pouco importa: a violência contra os animais é inaceitável. (TEODORO, 2013, n.p.). 15 No Brasil existem leis que garantem a proteção da fauna selvagem e dos animais domésticos, possuindo punições aos mais variados crimes que um animal possa sofrer, conforme afirmado por Pimentel (2015): Em termos de legislação, o nosso ordenamento jurídico, o Direto dos Animais está inserido na Matéria do Meio Ambiente, basicamente no Capítulo VI da Constituição Federal, no art. 225, § 1º - qual delega ao poder público e a coletividade a defesa dos animais, em outras palavras, impõe-se a sociedade e ao Estado o dever de respeitar a vida, a liberdade corporal e a integridade física desses seres, além de proibir expressamente as práticas que coloquem em risco a função ecológica, provoque a extinção ou submetam à crueldade qualquer animal (PIMENTEL, 2015, n.p.). A ideia de que os animais sempre fizeram parte da história da humanidade, tendo uma coexistência de dependência mútua e que atualmente o ser humano interfere na vida dos mesmos de maneira positiva e negativa mesmo que indiretamente, remete à percepção de que o maus-tratos a eles é um ato de covardia que revela o quanto o ser humano pode ser egoísta ao não perceber que suas ações e atitudes podem ser prejudiciais a outros seres vivos, causando dor e sofrimento. A legislação brasileira considera como crime qualquer violência ou maus-tratos aos animais, sejam eles domésticos ou selvagens, muitos são os crimes que ainda passam impunes, tais como, falta de denúncia, falta de conhecimento que existem leis contra tais ações, ou mesmo sendo feita a denúncia, as inúmeras formas de o agressor contornar a prisão, para outras penas mais brandas, o que não impede um novo crime (LIMA, 2015). Salles (2016) reitera a necessidade em se proteger os animais, afirmando que a sociedade irá aprender que não tem autorização em maltratar um ser vivo, quando as punições para tais atos forem mais severas, conforme menciona a seguir. A proteção animal torna-se cada vez mais necessária e essencial, uma vez que vem sendo violada por séculos pelo homem que continua praticando maus tratos contra animais, embora sejam seres vivos e sencientes. As leis de proteção ambiental no que se refere aos animais e com a gravidade dos crimes cometidos contra eles, deve ter uma punição mais severa, para que a sociedade tenha a exata noção de que não é http://www.jusbrasil.com.br/legislacao/155571402/constitui%C3%A7%C3%A3o-federal-constitui%C3%A7%C3%A3o-da-republica-federativa-do-brasil-1988 http://www.jusbrasil.com.br/legislacao/155571402/constitui%C3%A7%C3%A3o-federal-constitui%C3%A7%C3%A3o-da-republica-federativa-do-brasil-1988 http://www.jusbrasil.com.br/topicos/10645661/artigo-225-da-constitui%C3%A7%C3%A3o-federal-de-1988 http://www.jusbrasil.com.br/topicos/10645627/par%C3%A1grafo-1-artigo-225-da-constitui%C3%A7%C3%A3o-federal-de-1988 16 autorizada a torturar, abusar e matar um ser vivo, pelo fato de que o mesmo não tem voz! (SALLES, 2016, n.p.). 1.2 Formulação do Problema A questão que norteia a pesquisa é: como utilizar os recursos da Tecnologia da Informação (TI) de maneira que auxilie o indivíduo no registro de denúncia de maus-tratos a animais? 1.3 Objetivos 1.3.1 Objetivo Geral O objetivo geral desse trabalho é desenvolver um aplicativo que auxilie o indivíduo na realização de denúncias de casos que demonstrem maus-tratos contra animais. 1.3.2 Objetivos Específicos Esse trabalho pretende atingir os seguintes objetivos específicos:. ● Permitir o cadastro de denúncias de crimes de maus-tratos a animais, de forma anônima e segura para o denunciante. ● Permitir que o denunciante acompanhe o andamento da denuncia até a sua finalização. ● Gerar relatórios com dados relevantes que contribuam para a diminuição dos crimes de maus-tratos contra animais. 17 1.4 Justificativa O número de casos de maus-tratos a animais registrados pelas autoridades tem aumentado anualmente, mesmo com as leis existentes que preveem como crime tais ações, os casos aumentam em todos os estados do país (ESTADO, 2016). Deve haver mais preocupação por parte da sociedade em diminuir esses números e registrar tais casos, dando a entender que inúmeros outros casos não foram denunciados, ou são desconhecidos. Só neste ano de 2016, até julho, as delegacias já redigiram 4,4 mil boletins de ocorrência, cerca de 628 casos por mês desse tipo de crime. A média já é maior do que há cinco anos – em 2011, eram 348 casos por mês. A cidade de São Paulo concentra 9,6% das estatísticas, com 426 episódios de violência (ESTADO, 2016). O aumento dos casos de maus-tratos registrados e a preocupação em relação aos casos que não foram registrados, justificam a proposta de criação de um aplicativo que permita desde a realização da denúncia ao acompanhamento da investigação por parte dos agentes responsáveis. Existem no Brasil órgãos e leis de proteção animal, muitos desconhecidos de uma parcela grande da sociedade, o que faz com que a falta de informação contribua para a falta de denúncias. A informação acerca do tema é um fator que contribui para que a sociedade perceba a importância de se denunciar os maus-tratos aos animais e a sua preservação (ALMEILDA, 2016). Pode ser citado como exemplo de aplicativo com funções semelhantes ao desenvolvido nesse trabalho o Bicho Maps, que de acordo com Dino (2016) tem as opções de denúncia e adoção, que é disponível para as principais plataformas móveis, tendo como foco principal a opção de adoção. O tema em questão é pouco trabalhado em trabalhos de conclusão de cursos da área da tecnologia, tornando-o uma oportunidade a ser explorada. 18 2 Referencial teórico 2.1 Área de Negócio 2.1.1 Maus-tratos a animais A área de proteção animal tem como objetivo principal a proteção, incluindo o combate aos maus-tratos físicos e psicológicos contra qualquer animal, além da garantia de segurança, bem-estar, saúde e alimentação. Em suma a proteção animal, quer garantir que os diretos dos animais sejam respeitados, como todo e qualquer ser vivo (MADI, 2015). O homem por ser considerado o único animal racional, acredita que seja superior aos demais animais do planeta. Com essa percepção, crê que possui autoridade, numa perspectiva de superioridade comete atitudes de maus-tratos contra os animais, de inúmeras maneiras diferentes, que os ferem física ou psicologicamente (ANIMAIS, 2018). Os maus-tratos aos animais ocorrem de diversas formas, nos animais domésticos é considerado maus-tratos ações como agressão, falta de alimentos ou de agua, falta de cuidados veterinários ou higienização, manter preso em locais pequenos ou acorrentados, deixa o animal sozinho por longos períodos de tempo (semanas ou meses), deixar o animal dentro de veículos fechados, criar animais para venda sem autorização ou licença, criar animais para rinhas, forçar o animal a carregar peso demasiado, privar o animal que trabalhe de descanso, usá-lo para testes de cosméticos, dentre outras formas (PAULA, 2018). Os maus-tratos em animais selvagens ou silvestres, ações ou atitudes como agressão, perseguição, caça ilegal, comércio, perturbação ou destruição do habitat, domesticação sem licença, captura para turismo ou semelhantes sem licença, são considerados maus-tratos. O animal, seja ele doméstico ou que viva na natureza merece ser respeitado (SABER, 2017). 19 Os casos de maus-tratos têm se tornado mais divulgados graças à mídia e a população que tem se mobilizado juntamente com ONGS e instituições para diminuir os casos e punir osresponsáveis. Inúmeros casos são reportados na mídia relatando casos de animais em situações de maus-tratos, sejam domésticos ou não, além de empresas que realizam testes em animais também serem denunciadas ou monitoradas. Embora o Brasil e o mundo tenham feito uma série de avanços no que se refere à proteção dos bichos na última década – sancionando leis e formalizando regras específicas para que a crueldade apresente uma queda – ainda nos deparamos com muitos episódios de maus-tratos a animais, provando que muitos esforços ainda devem ser feitos para mudar esse terrível cenário. O abandono, a negligência e a crueldade pura e simples praticada por muitas pessoas ainda provoca choque em quem luta pelos direitos e a proteção dos bichinhos; levantando, mais uma vez, a polêmica sobre os motivos de quem age de maneira tão fria executando maus-tratos a animais (TUBALDINI, 2018, n.p.). 2.1.2 Aspectos legais e formas de denuncia Assim como todos os seres humanos possuem direitos, os animais também possuem, e esses direitos são protegidos pela justiça. Os direitos dos animais vêm através dos anos ganhando espaço na legislação e ampliando-se dentro das leis, quaisquer maus-tratos aos animais em qualquer uma das suas formas é um crime que cabe punição legal (STRAZZI, 2016). Inicialmente, surgiu o decreto 24.645, do ano de 1934, que proibiu os maus-tratos aos animais, foi um primeiro passo para as atuais leis de proteção animal. A Constituição Brasileira no artigo 225, inciso VII, prevê o direito dos cidadãos ao meio ambiente limpo e cita que o poder público deve zelar pela fauna e flora, com isso protege os animais de atos de crueldade (STRAZZI, 2016). Strazzi (2016), também cita o artigo 32 da Lei 9605/98, que prevê pena de detenção, de três meses a um ano, e multa para quem praticar qualquer ato de crueldade com os animais; a autora menciona que as penas podem ser convertidas em serviços comunitários, o que pode ser visto como uma punição branda para estes crimes, pelo fato de o animal ter sofrido e o responsável não ter uma punição que o faça se arrepender e não repetir a agressão. 20 Já temos o Projeto de Lei 236/12, que será nosso novo Código Penal e que irá aumentar as penas para crime contra animais. A pena passará a ser de 1 a 4 anos de prisão, com agravantes no caso de lesões permanentes ou morte do animal, que podem chegar a 6 anos de prisão. Também fala sobre omissão de socorro a animais. Porém, mesmo modificando-se o Código Penal, ainda será possível, em alguns casos, a substituição das penas privativas de liberdade por restritivas de direito, conforme o art. 44 do Código Penal (STRAZZI, 2016, n.p.). As punições para os responsáveis pelos crimes de maus-tratos a animais existem e é necessário que as autoridades competentes tenham ciência do ato para que consigam identificar os responsáveis. As denúncias são de extrema importância, pois possibilitam a identificação do indivíduo, levantamento de dados e prevenção de novos atos de crueldade (ANDA, 2017). No Brasil existem inúmeros meios de se efetuar denúncias de maus-tratos aos animais, seja nas delegacias onde é possível denunciar através da abertura de um boletim de ocorrência; no Ministério Público pode ser efetuada a denúncia; em órgãos de proteção ambientais da região em que reside o denunciante, no IBAMA por telefone, ou pelo site. Além dos órgãos públicos, existem inúmeras ONGS de proteção que recolhem denúncias e as encaminham as autoridades (PROTECTION, 2018). Note que o autor do processo judicial será o estado e não você. Sendo assim, não tema denunciar. As organizações não governamentais possuem um papel importante e insubstituível na sociedade. Porém, exerça a sua cidadania. Não se cale frente aos crimes contra os animais e o meio ambiente, e exija das autoridades responsáveis às providências previstas por lei (PROTECTION, 2018, n.p.). A população deve se manter atenta e denunciar qualquer ato que possa ser caracterizado como maus-tratos aos animais, acompanhando o andamento da denúncia além de cobrar das autoridades ações que minimizem os crimes contra os animais e conscientizem a população acerca da importância da proteção animal e que os mesmos também possuem direitos (ASSIS, 2015). 21 2.1.3 Aplicativos de Denúncias Os smartphones estão cada vez mais presentes no cotidiano das pessoas e por possuírem inúmeras funções e aplicativos, acabam facilitando a realização de muitas tarefas que exigiriam outros recursos para serem realizados, como acessar a internet, que antes se limitava aos computadores e tirar fotos, limitados anteriormente por uma máquina fotográfica. (CELULAR, 2017). Os aplicativos facilitam ainda mais a realização das tarefas do cotidiano, pois é possível encontrar um aplicativo para praticamente todo tipo de coisa, seja para chamar taxi, pedir comida, comprar roupas, passagens, etc. Os aplicativos se tornaram parte indispensável do dia a dia das pessoas, ajudando-as em suas rotinas diárias (PRODEST, 2018). Com as inúmeras finalidades dos aplicativos, existem os que são destinados a utilidade pública que auxiliam o cidadão a realizar denúncias de praticamente todos os tipos de crimes e fraudes, e também existem os destinados a crimes ambientais e contra animais; porém a maioria desses aplicativos possui restrições regionais. Os aplicativos de denúncias auxiliam na realização da denúncia, pelo fato de não chamarem aa atenção do suspeito, garantindo a segurança de quem denuncia e fornecimento de mais dados que auxiliem a autoridade na apuração, tais como fotos, áudios e vídeos. (RECORD, 2018). 2.2 Engenharia de Software De acordo com Pressman (2011), software pode ser definido como: O elemento-chave na evolução de produtos e sistemas baseados em computador e uma das mais importantes tecnologias no cenário mundial. Ao longo dos últimos 50 anos o software evoluiu de uma ferramenta especializada em análise de informações 22 e resolução de problemas para uma indústria propriamente dita. (PRESSMAN, 2011, p.48). Pressman (2011) define a engenharia de software como uma atividade que busca resolver problemas seguindo alguns princípios, agrupando processo, métodos e ferramentas para o desenvolvimento de sistemas com complexidade, dentro de prazos e que possuam qualidade. Nesse contexto o processo abrange a modelagem, a comunicação, o planejamento, o emprego e a construção, que são atividades estruturais. Sommerville (2011), afirma que a engenharia de Software é a área da engenharia que foca no desenvolvimento de softwares, baseando-se nos custos, prazos e na qualidade, complementando com a ideia de que o software é algo abstrato e sem limitações físicas, o que o torna complexo e difícil de compreender. 2.2.1 Modelos de Processos de Software Conforme afirma Pressman (2011), o processo de software abrange cinco atividades estruturais, que são o planejamento, a modelagem, a comunicação, o emprego e a construção; é importante compreender a função de cada uma dessas atividades, no processo de desenvolvimento dos softwares. A comunicação dentro do processo de software trabalha com a coleta dos dados e informações que possibilitarão a definição do que se necessário para a realização odo projeto, bem como auxiliar na definição das prioridades do software, e também suas funções. O planejamento definirá como o projeto será desenvolvido, suas etapas e fases, auxiliando os desenvolvedores a estipular os recursos necessários para o projeto, os possíveis riscos, a estimativa do prazo para construção do cronograma, e os resultados que se espera obter. (PRESSMAN, 2011). 23 Na modelagem será definido a maneira que o projeto será desenvolvido, assim como a arquitetura que o engenheiro considerar mais adequada para a construçãodo software. Nessa etapa serão realizados testes e também serão corrigidos erros que surgirem no código fonte do software. E na quinta atividade, que é o emprego, na qual o software é disponibilizado para o cliente, por completo ou por módulos, onde o mesmo será avaliado. (PRESSMAN, 2011). Podem ser citados os modelos de engenharia de software baseado em componentes que são reusados, ao invés de desenvolvidos novamente do zero; o modelo de desenvolvimento incremental, onde são intercalados o desenvolvimento, a especificação e a validação, no qual o sistema inicial possui especificações abstratas, e em seguida recebe refinamento com o que o cliente deseja, para satisfazer suas necessidades. (SOMMERVILLE, 2011). Sommerville, (2011, p.19), ―cita o modelo de cascata, que trabalha com as atividades fundamentais do processo, as quais são a especificação, o desenvolvimento, a validação e pôr fim a evolução, sendo representadas como fases separadas, como por exemplo, especificação de requisitos, implementação e testes, dentre outras‖. Larmam (2004), explica as fases de um processo de software, através de um ciclo de desenvolvimento, onde se tem a concepção, a iteração que engloba a elaboração, em seguida um marco de referência que representa um termino significativo em uma iteração. Parte-se então para a fase e a construção, dando origem a uma versão que representam entregas secundárias e subconjuntos estáveis e executáveis do produto final, e por fim tem se a transição, que representa a entrega do produto para a produção. 2.2.2 RUP – Rational Unified Process De acordo com Piske (2003), o RUP (Rational Unified Process) é uma metodologia para desenvolvimento de software criada pela Rational Software, IBM, SofTeam, Unisys, Nihon Unisys, Alcatel e Q-Labs. O RUP pode ser encontrado na forma de um software, fornecido pela Rational Software, e como um conjunto de processos. 24 O RUP, segundo Sommerville (2011), é normalmente descrito em três perspectivas, sendo a primeira dinâmica, onde são mostradas as fases do modelo ao longo do período de tempo, a segunda estática, onde são mostradas as atividades que foram realizadas no processo e a terceira prática, onde são sugeridas práticas que podem ser usadas durante o processo Sommerville (2011) afirma que o RUP é um modelo constituído de fases, que identifica quatro fases distintas no processo do software, as quais são a concepção que tem o objetivo de estabelecer um business case para o sistema, onde são identificadas todas as entidades externas que terão interação com o sistema e então definir as interações. Em seguida a elaboração, que tem como metas o desenvolvimento do problema que domina o sistema, estabelecer um framework da arquitetura para o sistema, o desenvolvimento do plano do projeto e a identificação dos maiores riscos do projeto. A terceira fase do RUP, é a construção que inclui o projeto, a programação, e os testes do sistema e no final dessa fase, já se tem o software funcionando. Por fim, a quarta fase é a transição, onde é realizada a transferência do sistema da comunidade de desenvolvimento para a comunidade dos usuários e em seu funcionamento na realidade, findando essa fase, o software e documentação já estarão finalizados (SOMERVILLE, 2011). Larmam (2007), relata que o RUP se trata de um refinamento do UP, este que trabalha com as fases de concepção, elaboração, construção e transição, essas fases representam um ciclo de desenvolvimento para geração de um software. Dentro dessas quatro fases se encontram nove disciplinas que guiam o processo de desenvolvimento iterativo, que são a modelagem de negócios, requisitos, analise e design, implementação, testes, implantação, gerencia e configuração de mudanças, gerencia de projetos e ambiente. O RUP, segundo Larmam (2007), é um processo iterativo de desenvolvimento, que é explicado pelo autor da seguinte forma: 25 Nessa abordagem do ciclo de vida, o desenvolvimento é organizado em uma série de miniprojetos curtos, de duração fixa (por exemplo, três semanas) chamados iterações; o produto de cada um é um sistema parcial executável, testável e integrável. Cada iteração inclui suas próprias atividades de análise de requisitos, projeto, implementação e teste. (LARMAN, 2007, p. 47). Bezerra (2002), expõe que o RUP é o principal representante da abordagem de desenvolvimento incremental e iterativa, abordagem essa que divide o desenvolvimento do software em ciclos, e dentro de cada ciclo se tem as fases de analise, projeto, implementação e testes, e que além das fases, cada ciclo possui um subconjunto de requisitos. 2.2.3 Unified Modeling Language - UML Larman (2007), em termos gerais define a UML ―como uma linguagem visual para especificar, construir e documentar os artefatos dos sistemas, colocando o visual como um ponto chave por permitir desenhar ou apresentar figuras relacionadas ao software‖. Larman (2007), apresenta também, três modos que são utilizados pelas pessoas na aplicação do UML, que são respectivamente, o rascunho, no qual os diagramas estão mais incompletos e com menos formalidade, a planta de software, onde os diagramas já estão com maiores detalhes, e por fim a linguagem de programação. O UML como linguagem de programação tem uma especificação executável completa do sistema de software. Código executável, será automaticamente gerado, mas não é normalmente visto ou executado pelos desenvolvedores; trabalha-se apenas na ―linguagem de programação‖ UML. Esse uso da UML requer um modo prático de diagramar todo o comportamento ou a lógica (provavelmente usando digramas de interação ou estado) e está ainda em desenvolvimento em termos de teoria, ferramentas robustas e usabilidade (LARMAN, 2007, p.40). Bezerra (2002, p.14), acrescenta que o UML é ―uma linguagem visual para modelar sistemas orientados a objetos‖ e completa ao afirmar que: 26 Isso quer dizer que a UML é uma linguagem constituída de elementos gráficos visuais utilizados na modelagem que permitem representar os conceitos do paradigma da orientação a objetos. Através dos elementos gráficos definidos nesta linguagem pode-se construir diagramas que representam diversas perspectivas de um sistema. (BEZERRA, 2002. p. 14). 2.3 Tecnologias 2.3.1 Tecnologias de desenvolvimento de software 2.3.1.1 JavaScript JavaScript tem a seguinte definição: JavaScript® (às vezes abreviado para JS) é uma linguagem leve, interpretada e baseada em objetos com funções de primeira classe, mais conhecida como a linguagem de script para páginas Web, mas usada também em vários outros ambientes sem browser como node.js, Apache CouchDB e Adobe Acrobat. É uma linguagem de script multi-paradigma, baseada em protótipo que é dinâmica, e suporta estilos de programação orientado a objetos, imperativo e funcional. (MOZILLA, 2018). ―JavaScript é uma linguagem de script orientada a objetos, multiplataforma. É uma linguagem pequena e leve. Dentro de um ambiente de host o JavaScript pode ser ligado aos objetos deste ambiente para prover um controle programático sobre eles.‖ (MOZILLA, 2018). Mozilla (2018), complementa a respeito do JavaScript com a seguinte afirmação.: JavaScript pode funcionar tanto como uma linguagem procedural como uma linguagem orientada a objetos. Objetos são criados programaticamente em JavaScript, onde métodos e propriedades são anexados a objetos vazios em tempo de execução, ao invés das definições sintáticas de classe normalmente encontradas em linguagens compiladas como C++ e Java. Assim que um objeto é construído, ele pode ser usado como um esquema (ou protótipo) para se criar objetos similares. (MOZILLA, 2018). 27 2.3.1.2 TypeScript A Microsoft (2018), afirma que o TypeScript possui praticamente a mesmasintaxe e semântica que os desenvolvedores conhecem, sendo possível utilizar o mesmo código JavaScript, além de incorporar também as bibliotecas do mesmo. Sendo o TypeScript compilado para executar um código simples e limpo, que pode ser executado pelo Node, ou em qualquer navegador por exemplo. O NPM (2018), acrescenta que o TypeScript é uma: ―...é uma linguagem para JavaScript em escala de aplicativo. O TypeScript adiciona tipos, classes e módulos opcionais ao JavaScript que suporta ferramentas para aplicativos JavaScript de grande escala para qualquer navegador, para qualquer host, em qualquer sistema operacional, além de compilar para um JavaScript legível e baseado em padrões. (NPM, 2018)‖ ‖O TypeScript é um superset do JavaScript que fornece principalmente tipagem estática opcional, classes e interfaces, permitindo que IDEs forneçam um ambiente mais rico para detectar erros comuns à medida que o código é escrito.‖ (ALMEILDA, 2017). 2.3.1.3 Ionic O Portal GSTI (2018), traz a seguinte definição para o Ionic: Ionic é um completo SDK (framework) de código aberto para o desenvolvimento de aplicativos móveis híbridos. Construído no topo do AngularJS e Apache Cordova, o Ionic fornece ferramentas e serviços para desenvolver aplicativos móveis híbridos usando tecnologias da Web como CSS, HTML5 e Sass. Os projetos podem ser criados com essas tecnologias web e distribuídos por lojas de aplicativos nativos para serem instalados nos principais sistemas operacionais móveis existentes. (GSTI, 2018). 28 Gois (2017), em seu livro ―Ionic Framework: Construa aplicativos para todas as plataformas mobile‖, explica o Ionic como: ... uma ferramenta que compila de forma híbrida, e oferece diversos componentes, suporte a debugs e possui fácil aprendizado, além de possibilitar a utilização de componentes responsivos e atrativos para o desenvolvimento dos aplicativos, com a possibilidade de compilação e fácil instalação nas diferentes plataformas mobile. (GOIS, 2017, n.p.). Segundo Gois (2017), o Ionic ―fornece componentes para o desenvolvimento da interface dos aplicativos, fazendo o controle através do AngularJS e sendo compilado pelo PhoneGap‖. 2.3.1.4 Apache Cordova O Apache Cordova é uma estrutura de desenvolvimento móvel de código aberto que permite o uso de tecnologias padrão da web - HTML5, CSS3 e JavaScript para desenvolvimento em várias plataformas. Os aplicativos são executados em wrappers que são destinados a cada plataforma e também de ligações de API compatíveis com os padrões para acessar os recursos do dispositivo (CORDOVA, 2018). Cordova envolve seu aplicativo HTML / JavaScript em um contêiner nativo que pode acessar as funções do dispositivo de várias plataformas. Essas funções são expostas por meio de uma API JavaScript unificada, permitindo que você crie facilmente um conjunto de códigos para segmentar quase todos os telefones ou tablets no mercado hoje e publicar em suas lojas de aplicativos (CORDOVA, 2018). ―O Apache Cordova, ou simplesmente Cordova, é um framework para desenvolvimento de aplicações multiplataforma, que oferece suporte aos sistemas operacionais mais populares utilizados em smartphones, como Android, iOS, Windows Phone, entre outros‖. (CAMDEN, 2015, n.p.). 29 2.3.1.5 Visual Studio Code ―O Visual Studio Code é um editor de texto Open Source completo que possui integração nativa com o Git, milhares de extensões, é rápido e permite que você realize o debug facilmente do seu código‖. (CODE, 2018). Em sua página oficial o Visual Studio Code, é definido como um editor de código-fonte leve e poderoso, que pode ser executado na área de trabalho. O software disponível para Windows, macOS e Linux. Proporcionando suporte para JavaScript, TypeScript e Node.js, além de possuir imenso leque de extensões para outras linguagens (como C ++, C #, Java, Python, PHP, Go) e tempos de execução (como .NET e Unity) (MICROSOFT, 2018). Cerqueira (2018), traz a seguinte definição para o Visual Studio Code: O VSCode é um programa open-source desenvolvido pela Microsoft com suporte para Windows, macOS e Linux. É um software livre e de código aberto, baseado no framework Electron. Além disso, é altamente customizável, permitindo que os usuários mudem o tema do editor, as teclas de atalho, entre outros aspectos. (CERQUEIRA, 2018, n.p.). 2.3.1.6 Angular O Angular é uma plataforma que facilita a criação de aplicativos com a web, combina modelos declarativos, ferramentas de ponta a ponta e práticas recomendadas integradas para resolver desafios de desenvolvimento além de permitir que a criação de aplicativos web, dispositivos móveis e para computadores. (ANGULAR, 2018). O portal GSTI (2018), define o Angular como: 30 ...um framework em javascript, de código aberto e que é mantido pelo Google. Seu objetivo é aumentar aplicativos que podem ser acessados por um navegador web e tem como padrão o MVVM (Model-View-View-Model), em um esforço para facilitar tanto o desenvolvimento quanto o teste dos aplicativos. (GSTI, 2018, n.p.). 2.3.1.7 jQuery A definição dada no site oficial do jQuery (2018) é a seguinte: O jQuery é uma biblioteca JavaScript rápida, pequena e rica em recursos. Ele torna as coisas como passagem e manipulação de documentos HTML, manipulação de eventos, animação e Ajax muito mais simples, com uma API fácil de usar que funciona em vários navegadores. Com uma combinação de versatilidade e extensibilidade, a jQuery mudou a maneira como milhões de pessoas escrevem JavaScript. (JQUERY, 2018, n.p.). Dubois (2010), afirma que o ―Jquery é uma popular biblioteca JavaScript de código aberto, que fornece muitas funções avançadas entre os navegadores que permitem aprimoramento de aplicativos da web.‖ 2.3.2 Tecnologia de gerenciamento de dados 2.3.2.1 PostgreSQL O PostgreSQL (2018), define o PostgreSQL como: O PostgreSQL é um poderoso sistema de banco de dados objeto-relacional de código-fonte aberto que usa e estende a linguagem SQL combinada com muitos recursos que armazenam e dimensionam com segurança as cargas de trabalho de dados mais complicadas. As origens do PostgreSQL datam de 1986 como parte do projeto POSTGRES na Universidade da Califórnia em Berkley e tem mais de 30 anos de desenvolvimento ativo na plataforma central. (POSTGRESQL, 2018). 31 De acordo com Teixeira (2009), o PostgreSQL implementa praticamente todas as funcionalidades consideradas essenciais em um sistema de BD, afirmando que na medida que sua base de dados cresce em conteúdo e público alvo, o seu suporte também crescerá para atender a demanda. 2.3.2.2 Heroku O Heroku é definido com uma plataforma de nuvem que se baseia no gerenciamento de serviços de dados integrados e um ecossistema, que permite a implementação e execução de aplicativos modernos. O Heroku tem sua abordagem centrada no aplicativo para entrega de software, integrando com ferramentas e fluxos de trabalho de desenvolvedores mais populares atualmente. (Heroku, 2018, n.p.) Molinari (2016, n.p), traz a seguinte afirma que o Heroku ―provê um serviço de criação de aplicações bem simples via linha de comando.‖ Silva (2016), descreve o Heroku da seguinte maneira: Heroku é uma das plataformas de serviço na nuvem (PaaS) mais populares. Foi uma das primeiras plataformas de nuvem, e já está em desenvolvimento desde 2007. É popular devido a seu apoio para a variedade de linguagens, incluindo Ruby, Python, Java, Node.js, Scala, Go, Clojure e PHP. E também porque ela permite que você pague somente pelos recursos que você usar e oferece banco de dados como um serviço, juntamente com vários Add-ons avançados para a flexibilidade. (SILVA, 2016). 2.3.2.3 Node.js Adefinição dada pelo site oficial do Node, em tradução literal, é: O Node.js® é um tempo de execução de JavaScript criado no mecanismo JavaScript V8 do Chrome. O Node.js usa um modelo de E / S sem bloqueio orientado a eventos 32 que o torna leve e eficiente. O ecossistema de pacotes do Node.js, npm, é o maior ecossistema de bibliotecas de código aberto do mundo. (NODE, 2018). O site NODEBR (2016), também traz uma definição que explica a tecnologia Node.js, a definindo como uma plataforma que foi construída baseada no JavaScript do Google Chrome, para a construção facilitada de aplicações de redes rápidas e escaláveis. É acrescentando também que o modelo de I/O utilizada pelo Node é direcionada a eventos não bloqueantes, tornando-o leve e eficiente, e ideal para aplicações que realizam troca intensa de dados em dispositivos distribuídos. 2.3.2.4 Express Framework De acordo com o site NODE.BR (2016), o Express Framework pode ser definido como: Express é um framework para Node.js inspirado no Sinatra. Ele é minimalista, flexível e contém um robusto conjunto de recursos para desenvolver aplicações web, como um sistema de Views intuitivo (MVC), um robusto sistema de roteamento, um executável para geração de aplicações e muito mais. (NODEBR, 2016, n.p.). Mozilla (2017), afirma que o ―Express é um popular framework web estruturado, escrito em JavaScript que roda sobre o ambiente node.js em tempo de execução.‖ O Express, de acordo com o site Guru99 (2018), ―é uma estrutura de servidor de aplicativos da Web do Node.js, projetada especificamente para criar aplicativos da Web de página única, várias páginas e híbridos.‖ 33 2.3.3 Tecnologia de estruturação e desenho de páginas web 2.3.3.1 HTML Caldeira (2016), define o HTML da seguinte forma: O HTML (HyperText Markup Language) é um conjunto estruturado de instruções, conhecidas por etiquetas ou tags (em inglês), que dizem a um browser como publicar uma página web, ou seja, o browser interpreta essas etiquetas e desenha a página no ecrã. Estes conjuntos de instruções estão agrupados em ficheiros de tipo texto, i.e., sem qualquer tipo especial de formatação. (CALDEIRA, 2016, n.p.). ―O HTML garante a formatação adequada de texto e imagens, de modo que o navegador possa exibi-los corretamente. Sem HTML, um navegador não saberia exibir textos como elementos ou carregar imagens‖. (JUNIOR, 2018). Mozilla (2018), diz que o Html é uma linguagem que serve para descrever e definir o conteúdo das páginas web, que trabalha em conjunto com outras tecnologias, como o CSS para a apresentação e aparência, e o Java Script, para as funcionalidades. O Html trabalha com marcações para que os textos, imagens e outros conteúdos dá pagina, sejam renderizados pelo navegador. 2.3.3.2 CSS De acordo com Mozilla (2018), o CSS ―é uma linguagem de estilo que é usada para descrever a apresentação de um documento escrito em HTML ou em XML, descrevendo como os elementos são mostrados na tela, no papel, no discurso ou em outras mídias‖. Cascading Style Sheets (CSS) é uma linguagem de estilos usada para descrever a apresentação de um documento escrito em HTML ou outra linguagem de marcação, como SVG. CSS descreve como elementos estruturados no documento são 34 renderizados em uma tela, na impressão, no sintetizador de voz ou outra mídia. A habilidade de ajustar a apresentação do documento dependendo do dispositivo de saída é a principal característica do CSS. (MOZILLA, 2018). ―CSS é uma linguagem de folha de estilos, que tem o papel de tornar uma página apresentável na web, relacionada diretamente com o design e aparência. Ou seja, o CSS é uma camada que se usa para controlar o estilo da sua página da web‖. (GONÇALVES, 2018). 2.3.3.3 Bootstrap ―O Bootstrap é um kit de ferramentas de código aberto para desenvolvimento com HTML, CSS e JS.‖(GETBOOSTRAP, 2018). De acordo com o Portal GSTI (2018), o Bootstrap, pode ser definido da seguinte maneira: Bootstrap é uma biblioteca de front-end livre e de código aberto para a criação de sites e aplicações web . Ele contém HTML e modelos de design baseados em CSS para tipografia, formas, botões, navegação e outros componentes da interface, bem como extensões JavaScript opcionais. O Bootstrap destina-se a facilitar o desenvolvimento de sites dinâmicos e aplicações web. O framework é uma estrutura de extremidade frontal da web, isto é, uma interface para o utilizador , ao contrário do código do lado do servidor , que reside na "extremidade traseira" (back-end). (GSTI, 2018, n.p.). O Portal GSTI (2018), acrescenta ainda que o Bootstrap ajuda na estruturação e padronização de ferramentas internas, bem como auxilia na documentação e compartilhamento de padrões de design comuns e ativos dentro de uma organização. 35 2.3.4 Tecnologia de modelagem de negócios 2.3.4.1 Bizagi Modeler ―O Bizagi Modeler é um aplicativo de modelagem e documentação de processos de negócios. O Modeler permite que você visualize, modele e documente visualmente os processos de negócios no BPMN padrão do setor (Business Process Model Notation) (BIZAGE, 2018). ‖ O Bizagi Modeler é um aplicativo de modelagem e documentação de processos de negócios. O Modeler permite que você visualize, modele e documente visualmente os processos de negócios no BPMN padrão do setor (Business Process Model Notation). O BPMN é um formato aceito mundialmente para modelagem de processos. Você pode publicar documentação de alta qualidade no Word, PDF, SharePoint ou Wiki. Os processos podem ser facilmente importados e exportados para o Visio ou XML e outras ferramentas. O IntelliSense do Modelador (conclusão de código inteligente), juntamente com sua aparência exclusiva, permite mapear e documentar de maneira rápida e fácil, sem o atraso das rotinas de validação. Cada arquivo é referido como modelo e pode conter um ou mais diagramas. Um modelo pode se referir a toda uma organização, departamento ou processo específico, dependendo de suas necessidades. Vários diagramas são posicionados como folhas individuais (guias) dentro de seu modelo. Você pode navegar entre diagramas em seu modelo, selecionando a guia de planilha associada localizada na parte inferior do modelo. (BIZAGE, 2018). Segundo Rios (2018), o Bizagi Process Modeler, trata-se de uma ferramenta grátis, disponível em português, que permite desenhar, diagramar, documentar e publicar os processos utilizando a notação BPMN e além disso proporciona a organização gráfica de inúmeros processos e também das relações existentes entre eles Santos (2015) também destaca que o Bizagi um poderoso software para criação de (BPM) com gerenciamento adaptável, cuja finalidade é sistematizar e facilitar processos organizacionais individuais complexos, dentro e fora das empresas. Sendo usado constantemente em diversas áreas da engenharia e processos de negócios. 36 2.3.4.2 WBS Tool Segundo o site WBS Tool (2018), ―WBS Tool é um software web gratuito para criação e edição de WBSs (em português: EAPs - Estruturas Analíticas de Projeto), Organogramas e outros tipos de hierarquias. ‖ WBS é o acrônimo para Work Breakdown Structure (em português Estrutura Analítica do Projeto) é uma estrutura que demonstra todas as entregas de um projeto de forma hierárquica. Esta estrutura normalmente é apresentada na forma de um organograma onde as caixas superiores representam as entregas maiores (às vezes fases do projeto) e as caixas menores representam as entregas menores ou pacotes de trabalho mais detalhados. Uma WBS é composta por todos os resultados (que chamamos de entregas ou entregáveis) que o projeto deve produzir. Como regra geral, entende-se que tudo que está na WBS deve ser entregueno projeto e o que não está na WBS não será produzido ou entregue no projeto. (WBS TOOL, 2018). 3 MÉTODOS E TÉCNICAS DE PESQUISA 3.1 Tipo e Descrição Geral da Pesquisa O tipo de pesquisa pela qual se baseia esse trabalho é a bibliográfica e exploratória baseando- se na busca de informações em diversas fontes, informações estas que contribuíram para construção do aporte teórico do mesmo. A pesquisa para o tema em questão utiliza-se de natureza básica e abordagem qualitativa, com a finalidade de se desenvolver um projeto de software que possibilite a realização de denúncias contra crimes de maus-tratos aos animais, que pode ser melhorado para implementações futuras. E para obtenção dos dados acerca da iniciativa popular AMARPET, foi utilizada a entrevista não estruturada. Entende-se por pesquisa bibliográfica a revisão da literatura sobre as principais teorias que norteiam o trabalho científico. Essa revisão é o que chamamos de levantamento bibliográfico ou revisão bibliográfica, a qual pode ser realizada em livros, periódicos, artigo de jornais, sites da Internet entre outras fontes. (PIZZANI; SILVA; BELLO; HAYASHI, 2012). 37 3.2 Caracterização da Organização, Setor ou Área do Objeto de Estudo A iniciativa popular AMARPET, foi criada no ano de 2016, na cidade de Buritis-MG, por iniciativa dos estudantes universitários Weber Alves de Oliveira, Thalitta Karla de Oliveira Maciel e Luana Evangelista de Souza, com o intuito de oferecer proteção para animais de rua em situação ode abandono, e também para animais que sofrerem quaisquer tipos de maus- tratos, a qual ainda não possui sede própria, ou registro de ONG, funcionando na residência da idealizadora do projeto, Thalitta, onde recebe doações de remédios e rações, além de acolher animais em situação de abandono até encontrarem um lar para eles. Para conseguir um maior alcance de público e também para divulgação de seus projetos, a iniciativa utiliza as redes sociais como grande aliada. O aplicativo leva o nome da iniciativa popular AMARPET, pelo fato que o mesmo será, inicialmente, utilizado por ela em sua fase de testes, para facilitar a identificação de ajustes e correções necessárias, além do fato de colobarar com as atividades realizadas pela iniciativa. Como o propósito do aplicativo se baseia em uma das muitas ações da iniciativa AMARPET, o mesmo pode contribuir para que ela ajude o máximo de animais possíveis, e diminua o número de maus-tratos que eles sofrem todos os dias. 3.3 Instrumentos de Pesquisa Os Instrumentos de pesquisa desse trabalho foram determinados através de uma seleção bibliográfica, baseando-se em uma análise documental, observando se o respectivo conteúdo disponível na obra condiz com a temática do trabalho e também por meio de uma entrevista não estruturada para caracterização da área do objeto de estudo. A análise documental pode ser definida como uma forma em que os dados são encontrados em documentos, com o intuito de extrair as informações neles contidas, para compreensão de um assunto; é um procedimento que trabalha com métodos e técnicas para a apreensão, compreensão e análise de documentos de diversos tipos; sendo caracterizada como documental quando a mesma for a única abordagem qualitativa. (KRIPTA, 2015). 38 Conforme afirma Marques (2018) ―a entrevista não estruturada é marcada pela espontaneidade, pois ela não possui um roteiro pré-estabelecido, tornando o seu modelo com perguntas abertas, semelhante a um bate-papo‖, podendo ser utilizada de maneira informal para mais informal para obtenção de informações. 3.4 Participantes do Estudos Para construção do aporte teórico desse trabalho os acadêmicos Weber Alves de Oliveira e Magda Pereira Barbosa realizaram a pesquisa bibliográfica, buscando fontes que proporcionassem dados e informações suficientes para contextualização do tema da pesquisa e aspectos técnicos do mesmo. Em relação às partes que se referem a área de estudo, as principais fontes utilizadas são sites que se relacionam a proteção animal, autores que tratam do mesmo tema e também foram consultados trechos da Legislação Brasília, que se relacionam ao tema da pesquisa. Salienta-se também a utilização de sites de notícias, que publicaram acerca do tema. Em relação as partes voltadas para aspectos técnicos e de software, foram utilizados além de sites relacionados as tecnologias citadas no trabalho, livros que tratem dos assuntos. Autores como Somerville e Pressman, podem ser citados como principais fontes consultadas para contextualização da engenharia de software do trabalho. Para caracterização da iniciativa popular AMARPET, participaram através da entrevista não estruturada, a estudante universitária Thalitta Karla de Oliveira Maciel, a qual forneceu os dados referentes a instituição. 3.5 Procedimentos de Coleta e de Análise de Dados Pesquisa Bibliográfica A coleta e análise de dados para realização desse projeto baseou-se em sua maior parte nos dados obtidos por meio da pesquisa bibliográfica em artigos científicos, publicações e livros disponíveis na internet em sites como Google Acadêmico, Google Books, além de consulta a legislação no que se refere a crimes de maus-tratos a animais e também em livros e impressos disponíveis na biblioteca da Faculdade 39 CNEC Unaí, sendo realizado um estudo minucioso de todo o material encontrado que pudesse de alguma maneira se relacionar ao conteúdo do trabalho. Estes dados contribuíram para a melhor compreensão do problema que são os maus-tratos aos animais e a busca por soluções para o mesmo. Entrevista não estruturada Os dados acerca da iniciativa popular AMARPET, foram obtidos por meio de uma entrevista não estrutura com a responsável pela organização, Thalitta Karla Maciel, os quais foram contextualizados, para caracterização da mesma. Essas etapas serviram de ponte para o desenvolvimento do projeto do aplicativo de denúncias fornecendo uma base para que o mesmo seja construído de forma que atenda o objetivo principal desse projeto, que a diminuição dos crimes de maus-tratos a animais. 40 4 Projeto 4.1 EAP – Estrutura Analítica do Projeto Figura 1 - Estrutura Analítica do Projeto FONTE: Elaborado pelos autores. 41 Figura 2 – Cronograma FONTE: Elaborado pelos autores. 42 Figura 3 - Gráfico de GANTT FONTE: Elaborado pelos autores. 43 4.2 Gerenciamento de Riscos Quadro 1 - Gerenciamento de Riscos Nº do risco Identificação do risco Projeção do risco Avaliação do risco Administração e monitoramento dos riscos 1 Falta de conhecimento acerca das tecnologias para o desenvolvimento do aplicativo. Probabilidade: 50% Impacto: Alto Processo de implementação longo e insuficiente. Estudo e treinamento das tecnologias que serão utilizadas no desenvolvimento do aplicativo. 2 Funcionalidades do sistema não serem concluídas no prazo. Probabilidade: 50% Impacto: Alto Atraso na implementação das funcionalidades. Priorizar o cronograma de implementações para atender o máximo das funcionalidades desejadas. 3 Erros na construção do trabalho escrito. Probabilidade: 25% Impacto: Alto Erros de digitação, formatação no corpo do trabalho. Realizar revisões no conteúdo e formatação do trabalho durante a sua construção e efetuar as correções necessárias com atenção. 4 Problemas com os computadores usados no desenvolvimento de software. Probabilidade: 50% Impacto: Alto Atraso na elaboração do trabalho e possíveis percas de trabalhos realizado. Realizar cópias de backup do trabalho e zelar pelo cuidado no manuseio dos computadores.44 FONTE: Elaborado pelos autores. 5 Problemas com o meio de transporte utilizado pelos desenvolvedores do projeto, impossibilitando a sua presença em sala de aula. Probabilidade: 50% Impacto: Alto Atrasos na elaboração e entregas do projeto. Caso ocorra, notificar o professor e solicitar nova data de entrega / realização do projeto. 45 4.3 Documento de Visão 4.3.1 Objetivo Este projeto tem como finalidade o desenvolvimento de um aplicativo de denúncias de maus- tratos a animais domésticos e selvagens, possibilitando ao usuário realizar a denúncia de maneira segura e anônima, permitindo acompanhar a denúncia e verificar seu andamento, podendo assim estar ciente de todas as etapas até sua finalização. 4.3.1 Escopo Este documento tem como propósito identificar e analisar as características do projeto, com foco na construção de um aplicativo que busca meios para que se possa organizar e centralizar denúncias de maus-tratos aos animais. O aplicativo desenvolvido trabalha com objetivo de fornecer uma forma de denunciar os crimes contra os animais que seja segura e rápida e também possibilite que o denunciante obtenha maiores informações acerca dos crimes de maus-tratos a animais, formas e locais de denúncia e também poder acompanhar o andamento da denúncia até a sua finalização, e também a possibilidade da geração de relatórios com dados relevantes para pesquisas de violência contra os animais. 4.3.2 Nome dos Responsáveis pelo Desenvolvimento Magda Pereira Barbosa Weber Alves de Oliveira 46 4.3.3 Oportunidade de Negócio Existem aplicativos voltados para a denúncia de crimes cometidos contra animais, que são uteis e importantes mas possuem em parte a limitação regional. A proposta do trabalho é permitir um alcance territorial maior e destinado ao controle de entidades públicas locais ou responsáveis por encaminhar as denúncias aos órgãos responsáveis. Com a disponibilidade de um aplicativo que permita a realização de denúncias de casos de maus-tratos a animais e o acompanhamento do andamento da denúncia, será possível identificar e solucionar o crimem garantindo que o mesmo não se repita. Essas informações darão ao denunciante maior confiança para realizar denúncias, como consequência o aumento do número de denúncias. É esperado uma diminuição dos crimes realizados contra os animais. 4.3.5 Descrição do Projeto O projeto pretende desenvolver um aplicativo que permita a realização de Denúncias e forma anônima e segura, o qual inicialmente irá ser utilizado pela iniciativa popular AMARPET na cidade de Buritis-MG, para auxiliar na diminuição de quaisquer crimes de maus-tratos contra animais, sejam eles domésticos, silvestres ou selvagens. A principal funcionalidade é realizar a denúncia e acompanhar o status do monitoramento da investigação, quando aplicado esse caso. O aplicativo visa em termos gerais, contribuir para a diminuição dos crimes de maus- tratos contra animais. 47 4.4 Regras de Negócio RN01 - Identifica-se como maus-tratos de animais, agressões, abandono, atos abusivos ou ofensivos ou quaisquer outras ações humanas ou da sociedade, de modo geral, que possam afetar, direta ou indiretamente, a qualidade de vida da fauna. RN02 - Os animais podem se classificar em dois grupos, domésticos e selvagens, sendo que as listas dessas relações podem variar pelo costume de uma comunidade, de uma cidade ou por legislações de um país. RN03 - Para verificar casos de maus tratos temos como direcionador a oportunidade de realizar denúncias para órgãos públicos ou associações destinadas a esse fim. RN04 - Para realizar uma denúncia, a pessoa deve identificar um ato que julgue ser necessário a intervenção de um órgão ou associação e apresentar uma queixa, por meio de um contato, seja por telefone, por e-mail, ou outras formas disponíveis; RN05 - Para a denúncia, o informante pode ser anônimo ou não e deve apresentar o maior número de informações possíveis sobre a queixa, tais como: lugar e tipo de agressão, data e horário do incidente, recorrências, etc. RN06 - Ao receber a denúncia o órgão responsável busca identificar através das informações e provas disponíveis o tipo de crime cometido. RN07 - Ao apurar e se constatar que realmente aconteceu o crime contra o animal, o responsável é identificado e recebe a punição de acordo com legislação vigente contra maus- tratos a animais, e caso não seja comprovado o crime, a denúncia é arquivada. 48 RN8 - O cidadão atualmente consegue acompanhar o andamento das queixas apenas se for um boletim de ocorrência em uma delegacia ou por meio de um processo, caso a denúncia tiver sido feita por alguma autoridade pública ou tiver denunciado em alguma ONG. RN9 – É importante que a cidadão tenha interesse e procure o local de denúncia para averiguar se a mesma está sendo apurada, ou em qual situação se encontra. RN10 – As denúncias ajudam as autoridades e órgãos responsáveis a levantar dados importantes para o combate aos crimes contra os animais, dados que servem de base para estudos e pesquisas para diminuição deste tipo de crime. 49 4.5 Documento de Requisitos 4.5.1 Requisito de usuário [RU01] – O aplicativo deve permitir o cadastro e manutenção de usuários. [RU02] - O aplicativo deve permitir o acesso ao sistema. [RU03] – O aplicativo deve possibilitar o cadastro de denúncia de maus tratos de animais. [RU04] – O registro de denúncia de maus tratos deve ser direcionado ao administrador do sistema. [RU05] – O administrador e o denunciante poderão pesquisar denúncias. [RU06] – O administrador do sistema deve encaminhar todas as denúncias para as autoridades responsáveis e sem a identificação do usuário requerente. [RU07] – O aplicativo deve mostrar o histórico de denúncia do usuário. [RU08] – O aplicativo deve possuir a opção de acompanhamento do status da denúncia. [RU09] – O status deve conter de forma atualizada, todas as informações referentes a denúncia, assim como seu andamento. [RU10] – As informações contidas no status serão adicionadas pelo administrador. 50 [RU11] – As funções específicas do administrador serão acessadas via um painel de administração, acessível através do navegador. [RU12] – O aplicativo deve possuir uma seção com os dados do desenvolvedor do sistema. [RU13] – O aplicativo deve permitir que o usuário apague a sua conta. [RU14] – O aplicativo deve permitir a geração de relatórios detalhados para o administrador, e de simples visualização para o denunciante. [RU15] – O aplicativo deve possuir uma interface simples e de fácil compreensão, para proporcionar ao usuário uma experiência de uso amigável. 51 4.5.2 Requisitos de Sistema 4.5.2.1 Requisitos de Sistema Funcional Quadro 2 - RF01 Realizar Login RF01 – Realizar Login Descrição Requisito Requisito de usuário atendido O aplicativo deve solicitar usuário e senha para acesso ao sistema, sendo possível a recuperação de senha por e-mail. Este requisito inclui a autenticação e a recuperação de senha. [RU02]. FONTE: Elaborado pelos autores. Quadro 3 - RF02 Manter Usuários RF01 - Manter Usuários Descrição Requisito Requisito de usuário atendido O aplicativo deve permitir o cadastro e manutenção dos usuários com o perfil de denunciante, que é efetuado mediante o preenchimento dos campos solicitados na tela de cadastro. Para acessar as funções do administrador, será necessária solicitação aos desenvolvedores. Deve ser possível que o usuário atualize seus dados cadastrais e também
Compartilhar