Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIP EaD Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia PIM V – SISTEMA DE RESERVA DE EQUIPAMENTOS AUDIOVISUAIS SÃO PAULO 2020 UNIP EaD Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia PIM V – SISTEMA DE RESERVA DE EQUIPAMENTOS AUDIOVISUAIS SÃO PAULO 2020 RESUMO O colégio Vencer possui um sistema de reserva para seus equipamentos audiovisuais para ser utilizado que cada professor possa reservar o que deseja, porém, o sistema atual é de péssima qualidade, e por isso, não está ajudando os professores. Por diversas vezes, uma reserva confirmada não aparecia para o setor responsável ou até mesmo aparecia reservas duplicadas para um único equipamento. Para solucionar este problema, o colégio passou a consultar diversas empresas procurando o melhor custo beneficio entre prazo, custo e qualidade para desenvolver um novo sistema, exclusivo para eles. O objetivo geral deste trabalho é apresentar o protótipo de um novo sistema, e para isso, será necessário explicar como seria desenvolvido, qual custo, em quanto tempo ficaria pronto e a qualidade aplicada nos cronogramas de teste. Palavras-chave: Qualidade. Sistema de Reservas. Testes ABSTRACT Colégio Vencer has a reservation system for its audiovisual equipment to be used by each teacher who can reserve what they want, however, the current system is of poor quality, and therefore, is not using the teachers. Several times, a confirmed reservation is not displayed for the responsible sector or even duplicates reservations for a single piece of equipment. To solve this problem, the college started to consult several companies, looking for the best cost-benefit between time, cost and quality to develop a new system, exclusive for them. The general objective of this work is to present the prototype of a new system, and for that, it will be necessary to include how it would be developed, what will be the cost, how long it would be ready and the quality applied in the test schedules. Keywords: Quality. Reservations Systems. Tests SUMÁRIO INTRODUÇÃO ............................................................................................................ 6 1 PROPOSTA DE SISTEMA: APLICATIVO ................................................................ 7 2 ORÇAMENTO E PRAZO DO SISTEMA ................................................................ 11 3 DIFERENTES TIPOS DE TESTES ........................................................................ 12 4 NORMAS DE QUALIDADE E MANUTENÇÃO ...................................................... 14 CONCLUSÃO ............................................................................................................ 15 REFERÊNCIAS ......................................................................................................... 16 6 INTRODUÇÃO O colégio Vencer possui um sistema de reserva para seus equipamentos audiovisuais para ser utilizado que cada professor possa reservar o que deseja, porém, o sistema atual é de péssima qualidade, e por isso, não está ajudando os professores. Por diversas vezes, uma reserva confirmada não aparecia para o setor responsável ou até mesmo aparecia reservas duplicadas para um único equipamento. Para solucionar este problema, o colégio passou a consultar diversas empresas procurando o melhor custo beneficio entre prazo, custo e qualidade para desenvolver um novo sistema, exclusivo para eles. O objetivo geral deste trabalho é apresentar o protótipo de um novo sistema, e para isso, será necessário explicar como seria desenvolvido, qual custo, em quanto tempo ficaria pronto e a qualidade aplicada nos cronogramas de teste. 7 1 PROPOSTA DE SISTEMA: APLICATIVO De acordo com a documentação (Vue.js, 2019), Vue é um Framework Javascript reativo e progressivo para a construção de interfaces de usuário utilizando componentes, que por sua vez, são reutilizáveis na aplicação. Vue foi projetado desde sua concepção para ser adotável de forma rápida e ncremental. A sua estrutura permite que os componentes visíveis sejam renderizados novamente sem recarregar a página quando a interação do usuário aciona uma ação que manipula o estado da aplicação, como uma consulta de banco de dados que retorna dados atualizados para o Front-end do aplicativo que é então renderizado para os componentes visíveis na tela, causando atualizações da interface automaticamente. Dessa forma, pelo Vue ser fácil e rápido de ser adotado para construir algo utilizável, foi escolhido esta tecnologia como principal framework de programação do App. Em relação ao banco de dados foram usadas ferramentas que auxiliam e melhoram a produtividade no que se refere à eficácia da consulta de dados com base no apollo graphql. Para a aplicação em si foi usado Vue, Vuex, Vue-router e Portal-Vue como base, e como auxilio foi usado lodash para abstração de vetores, xlsx e file-saver para importação/exportação de dados. Para os elementos da interface foi usado o Element-ui que é uma biblioteca de elementos de interface. O código fonte foi organizado seguindo o padrão de módulos, portanto, cada página da aplicação tem sua própria pasta. Esta configuração permite o desenvolvedor encontrar com facilidade os arquivos necessários e dimensiona o tamanho do aplicativo sem esforço, em comparação com a pasta tradicional da estrutura MVC, na qual todos os controladores e views devem estar sob pasta de controle e exibição. Cada componente tem um arquivo Vue que contém a estrutura de marcação (html), o estilo (css), e a funcionalidade (js). Estes arquivos se alimentam dos seus modelos de dados e serviços específicos. A depuração é uma etapa inevitável quando os desenvolvedores desenvolvem software, mesmo considerando o cuidado que um desenvolvedor pode ter. Felizmente, aplicações Vue podem ser depuradas facilmente. A razão para esse processo rápido é que o desenvolvedor não precisa esperar até que o código-fonte seja compilado para ver o resultado. Além disso, o desenvolvimento para web conta com muitas ferramentas de auxílio, porque sob o capô, é o JavaScript a principal camada lógica do aplicativo. O uso da ferramenta de inspeção do Chrome fornece 8 acesso de depuração para o JavaScript e CSS, e para renderização em html, permitindo definir um ponto de interrupção, que serve para inspecionar o que aconteceu quando o código não se comporta conforme o esperado. Além disso, O Vue possui extensão de depuração própria, onde é possível ver todo o escopo e modelo do aplicativo. A ferramenta pode ser baixada na loja virtual do Chrome. Com isso o desenvolvedor tem a capacidade de ver a estrutura de todo o escopo do aplicativo como bem como o modelo anexado ao escopo. O escopo pode ter outros escopos aninhados dentro. Porém, é fácil perder facilmente o rastreamento do modelo de escopo devido ao uso de muitas diretivas do Vue e das bibliotecas instaladas. As diretivas podem ter tipos diferentes de configurações para seu escopo, e podem ter escopo herdado ou compartilhado, além de escopo isolado. Cada professor possuirá seu login e senha para entrar no aplicativo, que foi desenvolvido considerando os dois modelos operacionais utilizados: IOS e Android. Figura 1 - Tela de Login Fonte: autor, 2020. 9 Logo após a tela de entrada, aparecerá a tela principal. Em nova reserva o professor poderá clicar para escolher o equipamento e as opções referentes a ele, ou acessar as reservas já efetuadas, para controlar melhor seu calendário. Figura 2 - Opções na Tela Principal Fonte: autor, 2020. A próxima tela contem todas as informações disponíveis para a escolha, enquantoa tela da direita mostra um exemplo de opções, com a barra de rolagem lateral para ver as outras. No aplicativo real cada opção aparecerá por vez, para melhor visualização. O professor sempre terá a opção de confirmar ou de sair caso não tenha certeza. Figura 3 - Telas com Opções de Reserva 10 Fonte: autor, 2020. Nota-se que não há campos desnecessários ou inúteis no cadastro, apenas o que faz sentido realmente saber sobre cada item. O mesmo padrão de minimalismo foi combinado com o cliente com o intuito de ser um aplicativo bem funcional. Dentro de um sistema, uma classe represente um conjunto de objetos com características comuns. Casa classe define o comportamento dos objetos, um exemplo de casse são os equipamentos. Cada equipamento é um objeto, que é capaz de armazenar estados através de seus atributos. Cada equipamento, por exemplo, uma televisão possui uma opção de data e horário (CHAGAS E OLIVEIRA, 2009). A herança é um mecanismo que faz com que essas características comuns a diversas classes sejam facilitadores de uma superclasse (RICARTE, 2001). O polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (MOTTA, 2003). 11 2 ORÇAMENTO E PRAZO DO SISTEMA Ciclo de vida de desenvolvimento de software é uma estrutura que divide o processo de software desenvolvimento (Techopedia, 2018). Existem fases-chave que são comuns à maioria dos projetos de software. Estas fases podem ser chamadas de Análise de Requisitos, Projeto do Sistema, Implementação, Integração e Implantação, e Operação e Manutenção (Maciaszek 2007, 26,30). Existem vários Modelos que adotam uma abordagem diferente para o ciclo de vida, como o modelo em cascata, em espiral, de prototipação e o Scrum. Para este trabalho foi escolhida a metodologia Ágil Scrum. A metodologia Ágil considera importante a capacidade de responder a mudanças, melhorando a comunicação entre as partes interessadas, a entrega frequente de software operacional sempre envolvendo o cliente no processo de desenvolvimento, tanto quanto possível (Pressman & Maxim 2015, 66-68). A entrega frequente do software aperfeiçoa a velocidade de desenvolvimento do App, permitindo identificar mudanças rapidamente sem o retrabalho que poderia surgir no final do desenvolvimento tradicional. O aplicativo ficará pronto para operação em 60 dias, isso porque, 30 dias serão exclusivos para realizar todos os testes que são pertinentes para um software para garantir que ele não apresente de um erro. Desenvolver um software é sempre custoso, isso porque envolve diversas áreas em um só projeto, desde um design até um programador, além de hospedagem e suporte. O aplicativo custará 5 mil reais, além do valor para manutenção mensal que será de 250 reais. 12 3 DIFERENTES TIPOS DE TESTES Os testes garantem que todos os itens do sistema de reserva estão funcionando, por isso, ele é de extrema importância para garantir um software de qualidade. Para realizar os testes, existe um caso de teste, que testa cada um desses itens. No caso do sistema do Colégio Vencer, sua única finalidade é agendar os equipamentos para cada professor e é justamente isso que necessita ser verificado. A empresa precisa realizar esses testes antes mesmo de implementar o aplicativo, já que isso geraria custos extras para a escola. Tabela 1 - Cronograma de Testes ID ETAPA DADO DE ENTRADA RESULTADOS ESPERADOS 1 Com o aplicativo aberto, clique em reservar. Abrirá uma nova tela. 2 Selecione o equipamento, data e turno desejados. Opções de data e turno. Ao apertar aparecerão os que estão disponíveis 3 Após todos os dados escolhidos, apertar confirmar. ------ Aparecerá “a reserva foi confirmada”. Com a finalização do desenvolvimento do escopo proposto, foi solicitado ao stakeholder para efetuar testes com o aplicativo durante um período de 30 dias. E no final do período de teste responder à um questionário sobre a eficácia do aplicativo desenvolvido. Segundo Myers (1979), testar um software é um processo de executar um programa ou sistema com a intenção de encontrar defeitos. Para Dijkstra (1985), os testes podem mostrar a presença de falhas em um software, mas nunca a sua ausência. O teste caixa preta é realizado por um membro da equipe que não conhece e não possui nenhuma informação sobre o funcionamento do sistema ou da aplicação a ser testada, ele apenas examina as saídas sem saber como e onde essas entradas estão sendo utilizadas (IZABEL, 2014). 13 Já o teste caixa branca é realizado por alguém que já possui informações do sistema, a técnica é utilizada para executar uma investigação da lógica interna e da estrutura do código fonte (IZABEL, 2014). Ao realizar os testes foi possível de testar todas as funções do sistema e atestar que o mesmo está em pleno funcionamento, pronto para ser utilizado pelos professores. Figura 4 - Confirmação de Teste Fonte: autor, 2020. 14 4 NORMAS DE QUALIDADE E MANUTENÇÃO Um sistema de qualidade é aquele que possui todas as ferramentas para atender o que o cliente deseja, conforme o seu pedido nas etapas de planejamento, mas, além disso, existe uma norma internacional para assegurar isso. A norma escolhida pela empresa para desenvolver o sistema de reservas é a ISO. Rocha (2001) a qualidade de um sistema é um conjunto de características que avaliam o grau de qualidade. A ISO 9126 é uma referencia básica, e com isso, suas definições e diretrizes podem ser utilizadas desde a especificação dos requisitos até a avaliação do software, ela define as características da qualidade que devem estar presentes em um produto de software. Para definir a qualidade a NBR ISO/IEC 9126 cita “satisfazer necessidades explícitas e implícitas”. As necessidades explícitas são os itens que o desenvolvedor aponta como necessário e as implícitas são as necessidades subjetivas do usuário. A norma ISO 9126 é uma referência técnica mundial para qualidade de um produto de software e fornece um modelo geral que define seis categorias de qualidade do software: confiabilidade, usabilidade, eficiência, manutembilidade, portabilidade e funcionalidade. Para garantir essa qualidade frequente é necessário que o sistema passe sempre por manutenções. Existem quatro tipos de manutenção: corretiva, preventiva, perfectiva e adaptativa e cada uma delas possui uma utilidade diferente. A manutenção corretiva é utilizada para corrigir algum problema encontrado em um sistema em produção, e geralmente, a empresa já possui uma equipe designada essa rotina, já que sua atuação é reativa e emergencial. Já as preventivas são manutenções planejadas, isto é, a empresa escolhe o melhor momento para parar o funcionamento de um sistema com o intuito de melhora-lo. A perfectiva é similar a preventiva, porém, o intuito é de fato alterar, ou seja, incluir novas funcionalidades que buscam satisfazer o usuário final. Geralmente são feitas quando o sistema precisa se comportar de maneira igual ou melhor que a de um concorrente. A manutenção adaptativa são as manutenções feitas para adequar o software a novas tecnologias metodologias, modelos de gestão ou nova legislação. Muitas vezes são tratadas de forma não planejada e de forma reativa. 15 CONCLUSÃO Após a contratação da nova empresa, a escola conseguiu desenvolver um novo sistema, com qualidade, que nunca apresentou problemas, isto porque, a empresa escolhida possui certificação internacional. A solução para um novo sistema de reservas foi criar um aplicativo, assim, o professor poderá reservar o que deseja utilizar em qualquer lugar, o mesmo não precisará estar dentro das dependências da escola. Devido ao uso constante dos equipamentos audiovisuais, os professores conseguiramtornas as aulas mais dinâmicas, divertidas e mais ricas em conteúdo, o que está fazendo com que o Colégio Vencer cresça cada vez mais e aumente o número de seus alunos. O aplicativo ficou pronto para operação em 60 dias, isso porque, 30 dias serão exclusivos para realizar todos os testes que são pertinentes para um software para garantir que ele não apresente de um erro e custou 5 mil reais, além do valor para manutenção que será de 250 reais mensal. 16 REFERÊNCIAS CHAGAS, José; OLIVEIRA, Marcus. Programação Orientada A Objetos Versus Programação Orientada A Aspectos Um Estudo De Caso Comparativo Através Do Desenvolvimento De Um Banco De Questões. Disponível em: https://danielettinger.files.wordpress.com/2010/12/monografia.pdf. Acesso em 12/04/2020. IZABEL, Leonardo. TESTES AUTOMATIZADOS NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARES. Disponível em: http://monografias.poli.ufrj.br/monografias/monopoli10012548.pdf. Acesso em 12/4/2020. Maciaszek, Leszek. (2007). Requirements Analysis and system design-Developing Information Systems with UML. PRESSMAN, R. & MAXIM, B. 2015. Software Engineering: A Practicioner's Approach. 8th Edition. New York: McGraw-Hill. PRESSMAN, R. S. Engenharia de Software. Rio de Janeiro: McGraw-Hill, 2006. ROCHA, A.R. J.C. MALDONADO; K.C. WEBER, (2001) Qualidade de Software – Teoria e Prática. Prentice Hall, São Paulo. TECHOPEDIA 2018. What is software engineering?. Disponível em <https://www.techopedia.com/definition/13296/software-engineering>. Acesso em: 12 /04/2020. TECHOPEDIA 2018. What is the Software Development Life Cycle?. Disponível em <https://www.techopedia.com/definition/22193/software-development-life-cycle-sdlc>. 12 /04/2020. VUEJS. 2018. Reactivity in Depth. Disponível em <https://vuejs.org/v2/guide/reactivity.html>. Acesso em: 24 março 2019. VUEJS. 2018. Vue.js Introduction. Disponível em <https://vuejs.org/v2/guide>. Acesso em: 12 /04/2020. RICARTE, Ivan Luiz Marques. Programação Orientada a Objetos: Uma Abordagem com Java. UNICAMP, 2001. 118 p. Disponível em <http://www.loopncd.hpg.com.br/Apostilas/poojava.pdf>. Acesso em: 12 /04/2020. 17 MOTA, Fabrício. Programação Orientada a Objetos & Delphi: Parte I – Uma Introdução sobre OO. Salvador, 2003. Disponível em<http://www.geocities.com/fmotaol/oo1.htm>. Acesso em: 12 /04/2020.
Compartilhar