Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE PAULISTA - UNIP EaD Projeto Integrado Multidisciplinar Curso Superior de Tecnologia FELIPE THIERSCH VIEIRA - RA: 1939846 GABRIELA THIERSCH DIAS - RA: 1917615 RICARDO FIGUEIREDO LIMA - RA: 1917585 SISTEMA DE RESERVAS FASTLEND SISTEMAS DE RESERVA PARA EQUIPAMENTOS ELETRÔNICOS SÃO PAULO - SP 2020 FELIPE THIERSCH VIEIRA - RA: 1939846 GABRIELA THIERSCH DIAS - RA: 1917615 RICARDO FIGUEIREDO LIMA - RA: 1917585 SISTEMA DE RESERVAS FASTLEND SISTEMAS DE RESERVA PARA EQUIPAMENTOS ELETRÔNICOS Projeto Integrado Multidisciplinar para obtenção do título de graduação em Análise e desenvolvimento de Sistemas apresentado à Universidade Paulista – UNIP EaD. Orientador(a): Profa. MSc. Priscila Facciolli SÃO PAULO - SP 2020 RESUMO Neste trabalho você encontra a elaboração de um projeto que tem como finalidade desenvolver um sistema de reserva de equipamentos de informática e audiovisuais, que agiliza e controla empréstimos de equipamentos e recursos de apoio aos professores de colégios de Ensino Fundamental e Médio. Para o desenvolvimento deste projeto, apresentamos soluções e executamos atividades utilizando ferramentas e métodos que nos foram apresentados nas matérias cursadas neste primeiro bimestre do ano de 2020, no curso de Análise e Desenvolvimento de Sistemas, sendo elas: Economia e Mercado, Engenharia de Software II, Projeto de Interface com o Usuário e Programação Orientada a Objetos. Utilizamos como base e modelo o sistema atual utilizado pelo Colégio Vencer Sempre, que hoje, de forma manual e trabalhosa, realiza o controle da disponibilização de seus equipamentos de informática, como ferramentas de apoio aos professores e coordenadores da instituição, para apresentação de aulas e palestras. Ou seja, cada colaborador deve preencher e agendar suas datas de utilização e equipamentos requisitados, o que o torna o modelo ineficiente pois nem sempre é preenchido corretamente. Para solucionar tal problema, nossa empresa de desenvolvimento de software, desenvolveu um sistema no qual os funcionários do colégio serão capazes de agendar uma reserva e verificar a disponibilidade de equipamentos e datas de forma automatizada, através de uma interface simples e visual, o que facilitará o processo de controle e não permitirá que haja conflitos entre horários e equipamentos. Além disso incluímos ao sistema um controle de qualidade do produtos emprestados, para que sejam emitidos relatórios do estado do produto no momento do seu empréstimo e em sua devolução, a fim de minimizar possíveis problemas com a manutenção dos equipamentos e tornar o sistema final mais eficiente e colaborativo ao nosso cliente. Palavras-chave: Desenvolvimento de Software. Automatização. Reserva de equipamentos. ABSTRACT In this work, you will find a project project that has the development of a reservation system for computer and audiovisual equipment, which streamlines and controls the sales of equipment and resources to support teachers of elementary and high schools. For the development of this project, we present solutions and perform activities that use tools and methods that were presented in the subjects covered in this first two-month period of 2020, without a course in Systems Analysis and Development, namely: Economy and Market, Software Engineering II, Project User Interface and Object Oriented Programming. Uses as a base and model or current system used by Colégio Vencer Semper, which today, manuals and works, controls the availability of its computer equipment, as tools to support teachers and institution coordinators, for class presentations and lectures. That is, each employee must fill in and schedule their usage data and necessary equipment, or what makes the model inefficient, as it is not always filled out correctly. To solve this problem, our software development company, developing an unqualified system for college employees will be able to schedule a reservation and check the availability of equipment and data in an automated way, using a simple and visual interface, or whatever facilitates the control process and there can be no conflicts between schedules and equipment. In addition, it includes the quality control system of the borrowed products, so that product status reports are issued at the time of their loan and return, an end of possible tests possible with equipment maintenance and a more efficient and collaborative final system to ours. client. Keywords: Software Development. Automation. Equipment reservation. SUMÁRIO INTRODUÇÃO 5 DESENVOLVIMENTO 6 Economia e Mercado 6 A empresa 6 Engenharia de Software II 9 Requisitos 9 Testes 10 Qualidade de Software 11 Programação Orientada à Objetos 12 Classes e Objetos 12 Herança e Polimorfismo 13 CONCLUSÃO 16 REFERÊNCIAS 17 5 1.INTRODUÇÃO Desde o ínicio da Era Tecnológica até os dias de hoje, o uso da tecnologia vem crescendo de forma expressiva e se tornando cada vez mais frequente em nossas vidas. Como dito por Rezende de Abreu (2000) os sistemas atuam em uma empresa de forma a garantir seu funcionamento, como facilitadores dos processos internos e externos, com a intenção de garantir a qualidade, a produtividade e o melhor uso do recurso disponível. Com base nisso as empresas tendem a se adaptar tecnologicamente a fim de garantir um trabalho mais ágil e produtivo. Tal tendência atingiu ao Colégio Vencer sempre, que para atualizar o seu sistema de empréstimo de equipamentos de informática e vídeo, contratou nossa empresa de desenvolvimento de softwares para automatizar seu sistema e tornar a vida de seus colaboradores mais assertiva e eficaz. O sistema atual é composto pelo emprestimo de materiais como: DATA-SHOWS, TV com VCR, TV com DVD, Projetor de Slides, Sistemas de Áudio- Microfone, Caixa Amplificada, Notebooks, Kits Multimídia, etc. Esses itens são utilizados como forma de apoio a palestras e aulas ministradas por professor e coordenadores do colégio, sendo eles alocados em salas de aula ou auditórios disponíveis. Todo o agendamento é feito de forma manual pelos colaboradores, com antecedência para preparação dos locais e equipamentos. A princípio a descrição demonstra um sistema eficiente, porém não é a realidade da escola, pois o fato dele ser manual e sem grande controle o torna ineficiente, e impróprio para o colégio. Diante desse cenário seguiremos com o desenvolvimento de um projeto um projeto que se adeque às necessidades do Colégio Vencer Sempre. 6 2.DESENVOLVIMENTO 2.1.Economia e Mercado A economia é a ciência que estuda os fenômenos que levam a obtenção e consumo de recursos materiais em função do bem-estar próprio. De acordo com Guimarães e Gonçalves (2010, p. 184) : Economia é a ciência que estuda como os recursos escassos das sociedades são alocados tendo por base as decisões individuais de consumidores, trabalhadores, fimas etc. [...] é a ciência que analisa asescolhas individuais e suas interações. Ou seja, um ponto fundamental para compreender a economia é entender o conceito de escassez, que nem todos os recursos estão disponíveis a todos. Com isso a sociedade é levada a acreditar que precisa utilizar de forma consciente todos os seus recursos disponíveis a fim de maximizar a sensação de satisfação de suas necessidades. Através desse desejo embutido no mercado podemos ter o equilíbrio entre a oferta e a demanda, cabendo sempre ao governo supervisão e regulamentação das atividades econômicas. Dentro desse contexto e do atual cenário econômico as empresas devem se adequar aos padrões, e buscar as melhores práticas para atingir ao seu público. 2.1.1.A empresa A Fastlend é uma empresa de desenvolvimento de software, fundada a partir da parceria entre três colegas de faculdade: Ricardo Figueiredo, Gabriela Dias e Felipe Vieira. Com início em 22 outubro 2019 a empresa com atuação no ramo da tecnologia, teve sua primeira oportunidade prestando o serviço de automatização da bilheteria de um teatro. O projeto foi considerado um sucesso pelo cliente e possibilitou grande aprendizado à empresa, pois para entrega deste trabalho foi necessário estabelecer métodos para identificar as necessidades e a melhor forma de solucioná-las. Além de trazer a visão da necessidade de estruturação de um projeto, ou seja, a 7 necessidade de estabelecer tarefas, metas e prazos para garantir uma entrega eficiente e organizada. Essa primeira atuação no mercado também possibilitou aos sócios identificar e concretizar o seus agentes econômicos como sendo as empresas para as quais prestará serviço, estabelecendo também seu nicho inicial de atuação no mercado. Além de desenvolver softwares para empresas que os contratam a Fastlend também tem a oportunidade de revender esses sistemas desenvolvidos para diversas empresas do mesmo ramo de atuação, por exemplo, o software desenvolvido para o teatro pode ser vendido para vários outros com pequenas alterações ou até mesmo sem elas. Isso permite maior rentabilidade a empresa, e mais chances de sucesso. 2.1.2.O Projeto Para execução do projeto do Colégio Vencer Sempre, a empresa contará com os seus três sócios, sendo: Felipe responsável pela parte de comercialização e vendas, Ricardo responsável pela pelo desenvolvimento e gestão do projeto garantindo os facilitadores e as entregas e Gabriela como líder de desenvolvimento de software. Além disso contratamos uma equipe técnica terceirizada para auxiliar no desenvolvimento do projeto. Tal prática é adotada por nossa empresa como forma de equilibrar os custos perante o projeto, pois não temos o custo fixo do funcionários, apenas o alocamos pelas horas necessárias. O projeto consiste nas seguintes etapas: 1. Definir a metodologia de trabalho 2. Definir processos a serem executados 3. Definir as ferramentas que serão utilizadas 4. Validar e testar a qualidade do software Com base no escopo de atuação do projeto estimamos o prazo de entrega de 168 horas, sendo essas horas correspondentes apenas ao tempo decorrido para disponibilização do produto ao cliente. Para executar essas atividades e comprir com os requisitos estabelecidos, contaremos com a atuação de um time que totalizará 8 632 horas de trabalho. Conforme descrito na tabela 1 abaixo a somatória das horas trabalhadas por todos os membros da empresa mais o custo da contratação de uma consultoria especializada totalizará um valor de R$: 56.800,00. Tabela 1 - Custos do Projeto Fonte: Autoria própria,2020. Com base em nossa custo total de horas trabalhadas, acrescentamos uma margem de segurança de 10% para cobrir imprevistos no projeto. Após isso adicionamos uma margem de 30% de lucro ao projeto, e fechamos um valor no qual oferecemos ao cliente conforme demonstrado na tabela 2. Tabela 2 - Porte Comercial Fonte: Autoria própria,2020. Com tais cálculos nos preparamos para possíveis negociações com o cliente, sabendo até onde podemos chegar com o valor para continuar tendo um projeto rentável. 9 2.2.Engenharia de Software II A engenharia de software dispõe de práticas, técnicas e ferramentas que determinam quais são as tarefas necessárias para que seja desenvolvido um software de forma segura e com alta qualidade. Podemos definir sua estrutura em quatro camadas: metodologia de trabalho, processo, ferramentas utilizadas, e qualidade do software. Este processo pode ser diferente e adaptado para cada tipo de software que está sendo construído, como por exemplo software bancários, que são diferentes de jogos. Para este desenvolvimento definimos o Kanban como metodologia de gestão de atividades. O Kanban é um conceito que, de forma simples, utiliza cartões ( post-it e outros) para demonstrar o andamento das atividades de um sistema de produção em empresas de fabricação em série. Em desenvolvimento de software conseguimos criar um ambiente mais flexível e ágil, o que colaborou para atingirmos nossas metas com maior facilidade e organização. Cada card do nosso Kanban era um requisito a ser cumprido, sendo ele: funcional, não funcional (requisitos técnicos de sistema) ou regra de negócio (restrições ou premissas necessárias para que o negócio “aconteça”). Trabalhamos com um sistema de entregas contínua sendo cada entrega entendida como um “pedaço” de funcionalidade, que, ao final do projeto, fizeram parte de um produto completo e de alta qualidade. 2.2.1.Requisitos A Tabela 1 apresenta a lista de requisitos, funcionais, não funcionais e de negócios, definida para o sistema que foi desenvolvido. Estes requisitos foram definidos pela equipe técnica, contando com um analista de requisitos e um analista de negócios, que, por meio de reuniões com o cliente e com a área de projetos da nossa empresa, identificaram as funcionalidades necessárias para realizarmos uma entrega completa. 10 2.2.2.Testes Para realização dos testes utilizamos do roteiro de testes encontrado no livro Engenharia de Software 15 da DevMedia, no módulo de verificação, validação e testes de softwares. Desta lista retiramos modelos de teste que consideramos pertinentes ao projeto, sendo parte dos testes executada manualmente pela equipe de desenvolvimento e a na outra parte utilizamos a ferramenta Selenium para automação dos testes, principalmente em simulações com alto volume de dados. Abaixo você pode verificar o roteiro aplicado: ● Teste de instalação e configuração Nesta etapa testamos se o software funcionava corretamente nas configurações de hardware e software nos computadores da instituição. ● Teste de integridade 11 Nesta etapa verificamos se todos os componentes de sistema permaneceram íntegros em um alto volume de dados, com uma grande tabela de usuários e equipamentos. ● Teste de Segurança Nesta etapa visamos identificar falhas na segurança do software que poderiam comprometer os dados dos usuários e facilitar ataques de segurança. ● Teste de unidade Neste teste de funcionalidade, fornecemos valores válidosou inválidos para verificar se o retorno era de acordo com o esperado. ● Teste de volume Nesta etapa testamos a capacidade de volume máximo necessária para um ano de crescimento vegetativo sem a necessidade de expansão do sistema. ● Teste de performance Esse teste consistiu na avaliação da capacidade de resposta, disponibilidade do sistema, confiabilidade e escalabilidade da aplicação, simulando conexões simultâneas e avaliando seu desempenho em um cenário extremo fora das condições normais de execução. ● Teste de usabilidade Nesta etapa testamos se realmente o software cumpre os requisitos de negócios, realizando atividades reais de uso do sistema por usuário da própria instituição e coletando os feedbacks individuais. 2.2.3.Qualidade de Software Na Fastlend utilizamos para qualidade de software a norma ISO/IEC 9126 que é identificada sob o título geral de “Engenharia de Software - Qualidade do Produto”. Trabalhamos com esse método pois a norma entende de forma mais específica e profunda a totalidade de características de um produto de software. A norma foca na qualidade do produto de software, contando com atributos de qualidade pré-definidos que são distribuídos em seis características principais, cada uma delas divididas em sub-características, sendo elas: 12 ● Funcionalidade, tendo como sub-características: adequação, acurácia, interoperabilidade, segurança de acesso e conformidade. ● Confiabilidade, tendo como sub-características: maturidade, tolerância a falhas, recuperabilidade e conformidade. ● Usabilidade, tendo como sub-características: inteligibilidade, apreensibilidade, operacionalidade, atratividade e conformidade. ● Eficiência, tendo como sub-características: comportamento em relação ao tempo, utilização de recursos e conformidade. ● Manutenibilidade, tendo como sub-características: analisabilidade, modificabilidade, estabilidade, testabilidade e conformidade. ● Portabilidade, tendo como sub-características: adaptabilidade, capacidade de ser instalado, coexistência, capacidade para substituir e conformidade. 2.3.Programação Orientada à Objetos Programação orientada à objetos é um modelo de desenvolvimento (conhecido também como paradigma de programação) de software utilizado em diversas linguagens de programação, que tem em suas principal característica a composição de ‘classes’ e unidades chamadas de ‘objetos’ que podem possuir ou não dados na forma de campos, comumente chamados de ‘atributos’ e códigos, mais conhecidos como ‘métodos’. Todos os outros conceitos que coexistem dentro do modelo se fundamentam em cima desses dois conceitos. Nos proximos topicos entenderemos de forma mais aprofundada as características de cada conceito. 2.3.1.Classes e Objetos Como falamos anteriormente, objeto é uma unidade dentro do código que contém atributos e suas propriedades definem qual será o seu comportamento. Cada um dos objetos possui uma identidade e é único, sendo distinguível de todos os outros, mesmo que seus atributos sejam exatamente iguais. Podemos definir uma classe como uma estrutura, que contém um ou mais objetos, com atributos e comportamento semelhantes que se relacionam entre si. Abaixo uma demonstração de código em linguagem JAVA, que simula o funcionamento de um secador de cabelo simples, com três botões, um de ligar e 13 desligar, um de aumentar a potência e um de diminuir a potência, especificando cada um dos conceitos dentro do código conforme a imagem 1: Imagem 1: Secador Fonte: Autoria própria 2.3.2.Herança e Polimorfismo Herança é um mecanismo na orientação à objetos onde, dentro de um projeto, uma classe pode herdar característica, métodos e atributos de outra classe já existente, ou seja, com a herança é possível criar superclasses, subclasses e classes derivadas de outras classes. Podemos usar como exemplo um cadastramento de funcionários para o colégio onde a superclasse seria o objeto ‘funcionário’, com informações globais dos funcionários, como nome, cargo e cpf, e o objeto ‘função’ teria atributos específicos dependendo do cargo do funcionário conforme exemplo nas imagem 2, 3 e 4: Imagem 2 - Funcionário 14 Fonte: Autoria própria, 2020. Imagem 3: Professor Fonte: Autoria própria, 2020. Imagem 4 - Coordenador Fonte: Autoria própria, 2020. Podemos então entender que, se caracteriza herança quando uma classe herda métodos e atributos de uma superclasse, utilizando de seus comportamento para ter um código mais limpo e organizado. Já no polimorfismo a classe filha também se utiliza da herança para receber os dados da superclasse porém nesse caso a classe filha pode redefinir o comportamento de sua superclasse, alterando atributos e reescrevendo métodos, podemos ver um exemplo na imagem 5: 15 Imagem 5 - Polimorfismo Fonte: Autoria própria, 2020. 16 3. CONCLUSÃO O desenvolvimento deste projeto de automatização para o sistema de empréstimos de equipamentos audiovisuais no Colégio Vencer Sempre visava otimizar o processo como um todo, trazendo organização e qualidade de vida para os colaboradores e para instituição. O cenário idealizado pelo cliente foi criado e o novo sistema facilitou muito os processos internos e garantiu maior precisão aos agendamentos. Com a inclusão tecnológica aos processos da escola, eles ganharam mais assertividade e agilidade, o que compensou o investimento na nova tecnologia. Na elaboração deste projeto, conseguimos colocar em prática grande parte do que foi aprendido em aula, bem como nos incentivou a buscar mais conhecimento para desenvolver um projeto com cada vez mais qualidade. Também identificamos outro fatores existentes dentro de um processo de criação de software que não só os encontrados no manual do Projeto Integrado Multidisciplinar e com isso aprendemos que devemos nos atualizar constantemente pois só assim poderemos criar um produto que atenda o nosso cliente de forma mais completa com maior qualidade. 17 REFERÊNCIAS REZENDE, Denis Alcides; ABREU, Aline França de. Tecnologia da informação aplicada a sistemas de informação empresariais: o papel estratégico da informação e dos sistemas de informação nas empresas. São Paulo: Atlas, 2000. ABNT/CB-21 - Comitê Brasileiro de Computadores e Processamento de Dados <http://www.abnt.org.br/noticias/4196-tecnologia-da-informacao-tecnicas-de-seguran ca > acessado em: 10 março 2020. PEREIRA ARAÚJO, Marco Antônio. Engenharia de Software volume 15. São Paulo, DevMedia, 2009. FURGERI, Sérgio. Programação Orientada à Objetos: Conceitos e Técnicas. São Paulo, Editora Érica, 2015. BATES, Bert; SIERRA, Kathy. Use a Cabeça!: Java. Alta Books, Rio de Janeiro, 2010. UNIP INTERATIVA. MANUAL DE NORMALIZAÇÃO Disponível em:<https://ww w2.unip.br/servicos/biblioteca/download/manual_de_normalizacao.pdf>;Acessado em: 12 de março de 2020. http://www.abnt.org.br/noticias/4196-tecnologia-da-informacao-tecnicas-de-seguranca http://www.abnt.org.br/noticias/4196-tecnologia-da-informacao-tecnicas-de-seguranca https://ww/
Compartilhar