Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIP INTERATIVA Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia Desenvolvimento de Software Colégio Vencer Itumbiara 2020 UNIP INTERATIVA Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia Cláudio Roberto Guimarães RA:1910091 Leandro Ribeiro do Carmo RA:0509149 Peterson Fernando Couto RA:1978771 Roberto Gunes De Souza RA:1981826 Análise e Desenvolvimento de Sistemas 1° Bimestre Desenvolvimento de Software Colégio Vencer Itumbiara 2020 RESUMO O Projeto Integrado Multidisciplinar, proposto pela UNIP Interativa, visa aplicar os conhecimentos adquiridos no semestre pelas aulas de Engenharia de Software II, Economia e Mercado, Projeto de Interface com o Usuário, Programação Orientada a Objetos I. O presente estudo analisa os problemas com o método atual, sendo um processo de controles de reserva de equipamentos no qual financeiramente não é muito viável é um sistema obsoleto e caro, apresentando algumas dificuldades; por exemplo falta dos registros que podem ocorrer por diversos motivos, esquecimentos, perca dos registros. Podendo concluir que o sistema deverá possuir as seguintes características mínimas tais como: reserva de equipamentos; consulta de equipamentos; impressão de relatórios sempre atualizados e implantação de níveis de acesso para usuário. O administrador terá total controle sobre o sistema, podendo gerenciar usuários, cadastrar e consultar salas, equipamentos, turno e fazer reserva, gerar relatório. Palavras-chave: Administrador. Sistema. Reserva de equipamentos. ABSTRACT The Integrated Multidisciplinary Project, proposed by UNIP Interativa, aims to apply the knowledge acquired in the semester by the classes of Software Engineering II, Economics and Market, User Interface Project, Object Oriented Programming I. This project proposes to develop a reservation system audiovisual equipment, which streamlines and controls we borrow equipment and resources to support teachers in elementary and high school schools. The present study analyzes the problems with the current method, being an equipment reservation control process in which financially it is not very viable, it is an absolute and expensive system, presenting some difficulties; for example lack of records that can occur for various reasons, forgetfulness, loss of records. Being able to conclude that the system must have the following minimum characteristics such as: equipment reserve; equipment consultation; printing of always updated reports and implementation of user access levels. The administrator will have total control over the system, being able to manage users, register and consult rooms, equipment, shift and make reservations, generate a report. Keywords: Administrator. System. Equipment reservation SUMÁRIO 1INTRODUÇÃO........................................................................................................6 2DESENVOLVIMENTO............................................................................................7 2.1 Colégio vencer..........................................................................................7 2.2 Abertura do colégio..................................................................................7 3 Economia...............................................................................................................8 4 Problemas com o método atual..................................................................9 4.1 Proposta de um sistema mais eficaz.......................................................9 4.2 Estrutura do sistema................................................................................9 4.3 Requisitos funcionais...............................................................................9 4.4 Requisitos não funcionais.......................................................................11 5 Interface de usuário..............................................................................................12 5.1 Tela de Login...........................................................................................12 5.2 Teste de software....................................................................................14 5.3 Qualidade de software.............................................................................16 6.0 Capability Maturity Model...................................................................................17 6.1 Motivos da escolha do CMM...................................................................18 6.2 Classes....................................................................................................18 6.3 Heranças.................................................................................................18 6.4 objetos.....................................................................................................19 6.5 Polimorfismo............................................................................................19 7 CONCLUSÃO.......................................................................................................21 6 1 INTRODUÇÃO Uma escola que fica localizada em São Paulo, contratou uma nova empresa de desenvolvedores com intuito de suprir suas necessidades. Mostraremos uma escola fictícia com o intuito de mostrar nossos conhecimentos das disciplinas Economia e Mercado, mapeando os agentes econômicos, prazo de conclusão do projeto e o investimento financeiro. Engenharia de Software II, definir e documentar os requisitos funcionais, especificação das interfaces, elaborar um planejamento de teste para os requisitos funcionais etc... Projeto de Interface com o Usuário, desenvolver protótipos de interfaces e detalhar para cada Interface apresentada. E por último Programação Orientada a Objetos I, descrever tecnicamente os fundamentos acadêmicos sobre: objetos, classes, herança, polimorfismo e iremos identificar estes elementos técnicos em nosso sistema. 7 2 DESENVOLVIMENTO 2.1 Colégio vencer O colégio vencer localizada em São Paulo, foi fundada em 23/04/1998 por dois estudantes, formados na Escola Estadual São Paulo, localizada em Parque Dom Pedro, região central de SP. Após os dois terem concluído no colégio os recém-formados Eduardo Dias e Pedro Carvalho entraram pra faculdade, eles estudaram pedagogia e desde muito cedo trabalharam. Pedro sempre gostou de tecnologias e Eduardo de preservar a natureza, e no futuro esses dois elementos iriam combinar pra suas vidas profissionais. 2.2 Abertura do colégio No dia 23 de abril de 1998 o colégio abriu suas portas para dar início as suas aulas, o colégio teve um apoio financeiro do governo, com isso os responsáveis dos alunos apenas deveriam fazer a matricula de seus filhos na escola. No começo a escola teve muitos problemas ao efetuar os cadastros em suas maquinas devido a quantidade de pessoas querendo matricular seus filhos. A escola veio com uma proposta nova que chamou atenção de muitos, naquela época gerou muito debate entre pais e alunos. A proposta da escola era que os alunos usassem mais os computadores para escrever do que próprio lápis e caderno, eles acreditavam que com isso chamaria mais atenção de seus alunos e de fato teve resultados bons. De início os pais não gostaram dessa ideia de substituir o modo tradicional de ensino, a escola teve uma reunião com os pais para responder todas as perguntas que eles tinham para fazer, os responsáveis da escola disseram para os pais que as aulas ainda teria lápis, caneta e caderno, e eles estavam testando esse novo modo de ensino para atrair ainda mais a atenção dos alunos e evitar o desperdiço de folha. Eduardo e Pedro tiveram essa ideia, por conta de Pedro gostar de tecnologia e Eduardo de preservar a natureza. Com esse novo modo de ensino a escola enfrentou diversos problemas com as maquinas dos alunos, cadastro com mensagem de erro, trabalho não sendo entregopor conta das maquinas não está entendendo o que o usurário deseja fazer entre outros. Com isso a escola contratou 8 um grupo de desenvolvedores para corrigir esses problemas e para atender essas necessidades. 3 Economia Agentes econômicos – o colégio de ensino fundamental e médio, terão agora um novo sistema para reservas de empréstimos de equipamentos e recursos de apoio aos professores. Visando melhoria nas aulas e organização, foi solicitado a elaboração de um programa que organizasse o manejo dos equipamentos de auxílio das aulas, tais eles, Projetor de Slides, Sistema de Áudio e Microfone, Caixa Amplificada, Notebooks, Kits Multimídia, TV com DVD, TV com VCR e DATA-SHOWS. Essa organização se deu para que todos tenham a certeza de que no dia que precisar dos equipamentos para a aula os mesmos estarão lá. Será em forma de reserva, o professor entra no sistema e faz a sua reserva para o dia da aula, assim fica totalmente automatizado as reservas e não acontece de ninguém ficar sem os aparelhos no dia da aula. O estudo de viabilidade econômica e financeira é fundamental quer para projetos relativos à criação de uma nova empresa, quer para projetos na perspectiva de uma empresa já em atividade e que necessite de avaliar um eventual projeto de investimento a realizar e qual o seu impacto na empresa. Durantes quinze dias foi trabalhado o desenvolvimento do “Front-end” interface, e vinte dias para o desenvolvimento do “Backend” banco de dados e implementação da regra de negócio, servidor e hospedagem. O investimento com toda a elaboração do software ficou da seguinte forma: DOMÍNIO R$100,00 HOSPEDAGEM R$50,00 DESIGN E LAYOUT R$1.000,00 PROGRAMADOR R$600,00 OUTROS GASTOS R$150,00 Todo o investimento ficou conforme tabela acima, ficando um total de R$1.900,00 reais. 9 4 Problemas com o método atual Nesse atual processo de controle de reserva de equipamentos no qual financeiramente não é muito viável, é obsoleto e caro, pois envolve despesas diversas isso inclui uso de papel, encadernação, tinta, etc. Também é notável uma qualidade questionável do serviço de controle à disposição. Além disso, o sistema organizacional pode ser prejudicada uma vez que, eventualmente, uma vez que pode haver diversos erros tais como reservas duplas, falta de registros no ato da reserva e também lentidão na hora da reserva.... O sistema atual de reserva de equipamentos apresenta as seguintes dificuldades: Falta dos registros que pode ocorrer por diversos motivos, esquecimento, perca dos registros ou alterações erradas. E também a falta de monitoramento das atividades de reserva pode ser um problema. E por fim os gastos com os registros, boletins e comprovantes que por muitas vezes são emitidos manualmente e carece de atualizações que são por muitas vezes um grande problema, assim sendo um modelo difícil de organizar. 4.1 Proposta de um sistema mais eficaz Dados os diversos problemas apresentados pelo modelo atual e as diversas necessidades apresentadas, concluiu-se que o sistema deverá possuir as seguintes características mínimas: Reserva de equipamentos; Consulta de equipamentos; Impressão de Relatórios sempre atualizados e instantaneamente; Implantação de níveis de acesso para usuários como: Administrador: terá total controle sobre o Sistema, podendo gerenciar usuários, cadastrar e consultar salas, equipamentos, turno, fazer reservas e gerar relatórios; 4.2 Estrutura do sistema O sistema possui camadas de aplicações e cada uma é encarregada de gerir um determinado escopo, cada uma dessas camadas possui diversos requisitos que cada um com suas regras de negócio. Os requisitos são divididos em dois grupos: 10 4.3 Requisitos funcionais: Cadastro do usuário Entrada de dados preenchimentos dos campos de texto, nome, e-mail inputs em geral. Esses dados são enviados a um banco de dados relacional para uma melhor organização e consulta. Uma mensagem irá aparecer confirmando se o cadastro foi bem sucedido, caso não, uma mensagem de erro será exibida. Também será implementado um tratamento de erros no qual consiste em que o usuário não insira números nos campos de nome e que no envio dos dados todas strings fique em minúsculo para sua respectiva inserção no banco de dados. Modificação do cadastro: Aqui os dados de perfil do usuário podem ser alterados, os dados no banco de dados são atualizados junto a data no qual foi atualizado. Mensagem de confirmação bem sucedido do cadastro caso tenha sido efetuado com sucesso, senão, mensagem de erro. Exclusão do cadastro: Aqui pode ser feito a exclusão do perfil do usuário assim como todos dados no banco de dados. O sistema verifica se o usuário é cadastrado, se for o usuário é excluído. Mensagem de confirmação bem sucedido da exclusão do cadastro caso tenha sido efetuado com sucesso, senão, mensagem de erro. Reservar equipamento: O usuário cadastrado seleciona o equipamento desejado e o feedback de reserva é no próprio botão mudando para a cor vermelha e mudando a descrição de reservar para reservado. Os dados com a identificação do equipamento, nome e identificação do usuário e data são inseridos no banco de dados e também é exibido as informações da locação na aba de consulta. Data de reserva do equipamento: Essa é a segunda etapa de processo da locação sendo a primeira a escolha do equipamento. Será exibido um campo para inserção da data no formato dd/mm/aa. O sistema não deverá permitir efetuar a reserva do mesmo equipamento 11 na mesma data e horário. Os dados contendo a data será enviado ao banco de dados. Mensagem de confirmação bem sucedido da exclusão do cadastro caso tenha sido efetuado com sucesso, senão, mensagem de erro. Marcar como favorito: O usuário pode separar um equipamento de interesse em uma aba de favoritos se caso o equipamento já estiver na aba de favorito basta clicar no mesmo ícone para remover da lista de favoritos. As informações contendo id do produto e uma variável booleana contendo o valor true é enviado ao banco de dados. Mensagem de adicionado aos favoritos será exibido, senão, mensagem de removido dos favoritos será exibido. 4.4 Requisitos não funcionais: Volume de utilização: O sistema deverá suportar uma carga máxima de 1000 usuários simultâneos com degradação de desempenho de, no máximo, 10% em qualquer operação assim maximizando o desempenho da aplicação. Flexibilidade: Manutenção com pelo menos 6 meses no suporte ao produto deverá ser capaz de dar suporte a um outro dispositivo de interconexão em não mais do que 1 hora de trabalho Integridade/segurança: Não será possível ter acesso a outros perfis, fazer alterações e ter acesso a outros perfis, cada um possui uma senha e o sistema não permitirá a criação de perfil com senhas fracas. Compatibilidade: Caso de futuras atualizações e necessidades de migração o sistema deverá reconhecer arquivos de versões antigas e transformar os arquivos para o novo formato automaticamente, após confirmação pelo usuário. 12 Usabilidade: Todas as variáveis de entrada terão valores default e tais valores serão usados sempre que dados de entrada estiverem faltando ou inválidos. Disponibilidade: O sistema deve estar sempre disponível, caso ocorra alguma interrupção ele deve ser restaurado o mais rápido possível. Design responsivo: Garante que a interfaces seja renderizada em uma variedade de dispositivos e tamanhos de janelas ou telas. 5 Interface de usuário 5.1 Tela de Login A tela inicial apresenta a tela de cadastro e login do usuário, será aqui onde o usuário terá um perfil que será registrado em um banco de dados contendo e-mail, senha e foto (opcional). Esse perfil é onde se encontra dados referente a locações feitas. 2 Menu de opções Essa tela apresenta um menu de opções lateral enquanto o conteúdo de cada aba é apresentado ao meio da tela. No total são três opções possíveis: 13 1 Consultarreservas: Aqui onde fica registrado todas locações feitas pelo usuário contendo informações do equipamento locado e da data no qual termina a locação 2 Reservar, menu de peças: Onde são feitas as entradas de dados. Aqui é feita a locação do equipamento, primeiramente é apresentado a lista contendo todos equipamento a serem locados contendo o botão para concluir a reserva e um pequeno botão na parte superior sendo a função desse botão de adicionar o equipamento selecionado a uma lista de favoritos, lista essa que tem a função de salvar previamente um equipamento que esteja no estado “reservado. Como citado anteriormente os botões de locação tem dois estados sendo esses Reservar: quando a peça ainda não foi locada, está disponível para locação e ele apresenta a cor verde e o estado Reservado: análogo ao estado anterior, aqui indica que a peça já está em locação e apresenta a cor vermelha. 14 2.1 Reservar, definir data: Após selecionada a peça para locação será aberto uma janela na qual deve ser escolhido a data do período da locação, após esse período o equipamento deve ser entregue e o registro de locações pendentes serão limpos 3 Marcados: Essa é a lista de equipamentos reservados, o objetivo aqui é que se um determinado equipamento de interesse esteja no estado “Reservado”, daí ele pode colocá-lo em uma lista de itens desejados assim futuramente ser reservado. Também é apresentado a data no qual termina locação assim sendo liberado para locação 5.2 Teste de software Teste de Software é um processo que faz parte do desenvolvimento de software, e tem como principal objetivo revelar falhas/bugs para que sejam corrigidas até que o produto final atinja a qualidade desejada / acordada. 15 Profissionais que trabalham com testes (denominados analistas de testes, técnicos de testes, homologador, ou simplesmente testes) estão habituados a realizar uma bateria de testes de diferentes naturezas e propósitos, envolvendo não apenas os testes funcionais da aplicação, mas diversas outras atividades como: avaliação da especificação de requisitos, avaliação de projeto técnico, verificações em outros documentos, testes de performance e capacidade, avaliação de interface, dentre outros. Essa é será uma etapa importante no processo do desenvolvimento do sistema apresentado aqui, para garantir a total eficiência de todos os processos anteriores. Existe vários tipos de testes e o que será implementado nesse projeto será o teste de caixa preta. No teste de caixa preta o objetivo é verificar a saída dos dados usando entradas de vários tipos. Tais entradas não são escolhidas conforme a estrutura do programa. Quanto mais entradas são fornecidas, mais rico será o teste. Caso de teste 1: Gerar um artigo completo com os dados de entrada do usuário cadastrado com sucesso (nenhum campo pode ficar em branco).: Caso de teste 2: Gerar um relatório de banco com os dados de entrada do usuário todos dados devem estar devidamente em suas querys. Caso de teste 3: Fazer vários cadastros e gerar um artigo que verifique se cada usuário recebe uma chave única no banco de dados. Caso de teste 4: Fazer a alteração de um cadastro e gerar um relatório para verificar se as modificações de cadastro foram aplicadas Caso de teste 5: Fazer várias alterações em diversos cadastros para verificar se as modificações de cadastro estão sendo aplicadas onde deviam ser aplicadas 16 Caso de teste 6: Gerar um relatório com a exclusão de um cadastro e verificar se as informações referentes ao cadastro estão sendo eliminadas. Caso de teste 7: Gerar um relatório com dados da reserva de equipamentos e verificar se todos dados estão sendo enviados ao banco de dados (nenhum campo pode ficar em branco).: Caso de teste 8: Gerar um relatório com dados de várias reservas de equipamentos e verificar se todos dados estão sendo enviados ao banco de dados e que estão sendo alocadas em suas devidas querys (nenhum campo pode ficar em branco).: Caso de teste 9: Gear um relatório com a entrada das datas das reservas (datas passadas ao dia da reserva ou em datas que excedem o limite será exibido uma mensagem de erro. 5.3 Qualidade de software A qualidade de um produto existe para que se tenha boa aceitação no mercado, é um dos principais objetivos da Engenharia de Software, principalmente para que chegue até o cliente, um produto que satisfaça suas necessidades Devido a isso, muitos métodos, técnicas e ferramentas são desenvolvidos para apoiar a produção com qualidade. O conceito da qualidade tem hoje importância fundamental para alavancar a competitividade das empresas. Atualmente, a preocupação com a qualidade deixou de ser um diferencial competitivo e passou a ser um pré-requisito básico para participação no mercado, para esse projeto foi escolhido o CMM. 6.0 Capability Maturity Model O CMM identifica os níveis através dos quais uma organização deve evoluir para alcançar uma cultura de excelência na engenharia de processos. Como cada 17 nível de maturidade do CMM forma a base necessária sobre a qual o próximo nível será construído, normalmente tentar pular níveis é improdutivo, porque não haverá estabilidade na melhoria do processo, justamente pela falta da base que a sustentaria. Ou seja, cada marco alcançado deve ser consolidado antes de avançar ao seguinte. Através de todos os cinco níveis, a capacidade do processo interage com pessoas e tecnologias, conforme a organização vai amadurecendo a gestão de/por processos. No Nível 1 os processos são caracterizados como ad hoc e geralmente são instáveis. Ad hoc significa “para esta finalidade”, “para isso” ou “para este efeito”. É uma expressão latina, geralmente usada para informar que determinado acontecimento tem caráter temporário e que se destina para aquele fim específico. Por esse motivo nos referimos a processos instáveis como ad hoc. No Nível 2 os processos básicos de gerenciamento de projetos têm parâmetros estabelecidos em variáveis como custo, cronograma e funcionalidade. Processos: A empresa já identifica os processos de negócio/macroprocessos, processos, subprocessos. No Nível 3 os processos começam a ser documentados, por intermédio de diagramas interfuncionais, padronizados e integrados, tanto em relação a engenharia e ao gerenciamento, a um processo padrão/referência da empresa. Neste nível a empresa já começa a aprimorar os processos essenciais. No Nível 4 medidas sobre a performance e qualidade do produto/serviço são coletadas. Os recursos ao longo dos processos essenciais são identificados e alocados e atribui-se a responsabilidade a um process owner, líder do processo. No Nível 5 a empresa atinge seu mais elevado nível de maturidade do ponto de vista de processos. A empresa foi desenhada pela lógica dos processos essenciais. A premissa da melhoria contínua e o monitoramento por intermédio de 18 indicadores para realimentar a melhoria já estão amplamente disseminados na organização. 6.1 Motivos da escolha do CMM O modelo CMM foi escolhido porque é uma metodologia útil para auxiliar no gerenciamento de processos de uma organização. Sua adoção é indicada para organizações que buscam a redução de custos e o aumento da produtividade. 6.2 Classes Uma classe é uma estrutura que abstrai um conjunto de objetos com características similares. Uma classe define o comportamento de seus objetos - através de métodos - e os estados possíveis destes objetos - através de atributos. Em outras palavras, uma classe descreve os serviços oferecidos por seus objetos e quais informações eles podem armazenar 6.3 Heranças A herança diz respeito à extensibilidade de classes no modelo orientado a objetos. Quando se diz estender determinada classe, entende-se que uma nova classe será criada, contendo suas próprias propriedades e características e, agregando a esta nova classe as propriedades e características deoutra já existente a qual é conhecida também como uma classe Genérica (ou superclasse). Já a nova classe é conhecida como classe especializada (ou subclasse). 19 A aplicação da herança no projeto está em partes onde se usa muito determinada função, como os botões de reservar por exemplo. Assim escrevendo apenas uma vez a lógica e criando interrelações entre classes (classe pai e classes filhas). A vantagem clara é o reuso de código. 6.4 objetos Um objeto, na vida real, é qualquer coisa a qual pudermos dar um nome. Um objeto, em programação orientada a objetos, é uma instância (ou seja, um exemplar) de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Atributos são características de um objeto. Basicamente a estrutura de dados que vai representar a classe. 6.5 Polimorfismo A segunda característica e funcionalidade oferecida pela OO que apresentamos neste material é o polimorfismo, o qual significa “muitas formas”. O Polimorfismo permite, em uma de suas metodologias de aplicação, que diferentes classes tenham métodos com a mesma assinatura (mesmo contrato), porém estes métodos (em suas respectivas classes) podem possuir comportamentos diferentes, de acordo à necessidade de cada classe que o implementa. A implementação do polimorfismo pode ser realizada fazendo uso de interfaces, ou classes abstratas, onde ocorrem apenas a implementação das assinaturas dos métodos, ou seja, do contrato. Desta forma o comportamento deve ser implementado nas classes concretas que implementam as interfaces ou estendem as classes abstratas. A aplicação do polimorfismo no projeto é mais geral representando a lógica central que é aplicado em diferentes escopos, enquanto implementações mais específicas determinam como o programa vai se comportar nessas situações. 20 7 CONCLUSÃO Com a contratação de novos desenvolvedores, a escola teve suas necessidades suprida, coisas como cadastro de novos alunos e trabalho escolar, não era mais um problema para o colégio. Abordamos no trabalho alguns conceitos importantes de programação orientada a objetos e seus fundamentos acadêmicos sobre: objetos, herança e polimorfismo. Na economia apresentando uma tabela de gastos que o colégio terá com a contração dos novos desenvolvedores. Na parte engenharia de software dois, apresentamos muitos assuntos importantes e nosso destaque fica com requisitos funcionais e requisito não funcionais, mostramos como o cadastro é criado em nosso sistema, modificação de cadastro e exclusão de cadastro. Também abordamos flexibilidade, integridade, compatibilidade, usabilidade e disponibilidade. Os assuntos abordados nos desenvolvimentos trouxeram novos conhecimentos aos que fizeram parte desse trabalho, por isso passamos nossos conhecimentos obtidos no PIM (Projeto integrado multidisciplinar) aos que tiverem esse trabalho em mãos. 21 Referências AZEVEDO, Celina Borges. Metodologia científica ao alcance de todos. Terceira Edição. Barueri, SP: Manole, 2013. Qualidade de Software: André Koscianski, Michel dos Santos Soares PROGRAMAÇÃO ORIENTADA A OBJETOS: CONCEITOS E TÉCNICAS Editora Érica (Livro Digital) Testes de software: Produzindo sistemas melhores e mais confiáveis Leonardo Molinari, 2009.
Compartilhar