Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE PAULISTA – UNIP EaD Projeto Integrado Multidisciplinar Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Sara Braga Nogueira – RA 2243249 Ian Vinicius Gonçalves de Marins – RA 2243243 PROJETO INTEGRADO MULTIDISCIPLINAR V UNIP EaD Polo República - Metrô República 2023 Sara Braga Nogueira – RA 2243249 Ian Vinicius Gonçalves de Marins – RA 2243243 PROJETO INTEGRADO MULTIDISCIPLINAR V Projeto Integrado Multidisciplinar em Análise e Desenvolvimento de Projetos Projeto Integrado Multidisciplinar para obtenção do título de tecnólogo em Análise e Desenvolvimento de Sistemas, apresentado à Universidade Paulista – UNIP EaD. UNIP EaD Polo República - Metrô República 2023 RESUMO O objetivo deste projeto é aplicar o conhecimento adquirido durante o primeiro bimestre nas disciplinas de economia e mercado, engenharia de software, programação orientada a objetos e projeto de interface com o usuário. O projeto visa utilizar esse conhecimento para desenvolver um sistema de reserva de equipamentos audiovisuais. Com base nos requisitos e pesquisas realizadas, o projeto se esforça para atender da melhor forma possível às demandas apresentadas, simulando o valor que deve ser atribuído a um projeto desse porte, tanto em termos de riqueza de detalhes quanto na criação de um protótipo totalmente funcional. Palavras-chave: projeto, reserva, protótipo, audiovisuais. ABSTRAC The objective of this project is to apply the knowledge acquired during the first bimester in the disciplines of economics and marketing, software engineering, object- oriented programming, and user interface design. The project aims to use this knowledge to develop a reservation system for audiovisual equipment. Based on the requirements and research carried out, the project strives to meet the demands presented in the best way possible, simulating the value that should be attributed to a project of this size, both in terms of richness of detail and in the creation of a fully functional prototype. Keywords: project, booking, prototype, audiovisual. Sumário 1. INTRODUÇÃO ...................................................................................................................................6 2. Mercado e Economia - Retrospetiva e previsão .......................................................................... 7 2.1 Tendências - viabilidade econômica ....................................................................................8 2.2 Desvantagem ...........................................................................................................................9 2.3 Objetivo do Software .............................................................................................................. 9 2.4 Recurso mais comuns ..........................................................................................................10 3. Engenharia de Software .................................................................................................................12 3.1 Especificação de equipamento ...........................................................................................12 3.2 Especificação de tarefas ......................................................................................................12 3.3 Regras de negócio - Acesso ao sistema ...........................................................................12 3.4 Cadastro de usuários ........................................................................................................... 12 3.5 Utilização do sistema ........................................................................................................... 13 4. Casos de uso e roteiro de testes ..................................................................................................14 4.1 Acesso ao sistema ................................................................................................................14 4.2 Tela Primaria - Administrador ............................................................................................. 15 4.3 Pesquisa e cadastro de usuários ....................................................................................... 16 4.4 Busca de usuário .................................................................................................................. 17 4.5 Cadastro de usuário ............................................................................................................. 18 4.6 Consulta de equipamentos ..................................................................................................20 4.7 Cadastro de equipamentos ................................................................................................. 21 4.8 Relatório dos equipamentos ............................................................................................... 23 4.9 Reserva de equipamento - usuário ....................................................................................24 4.10 Reservas realizadas ...........................................................................................................25 5 Protótipo .............................................................................................................................................26 5.1 Tela Login ...............................................................................................................................27 5.2 Tela Home - administrador ..................................................................................................28 5.3 Tela usuário - administrador ............................................................................................... 29 5.4 Tela resultado da busca - administrador ...........................................................................30 5.5 Tela cadastrar novo usuário - administrador ....................................................................31 5.6 Tela equipamento - administrador ..................................................................................... 33 5.7 Tela equipamento selecionado - administrador ...............................................................34 5.8 Tela cadastrar equipamento - administrador ....................................................................35 5.9 Tela relatório - administrador .............................................................................................. 37 5.10 Tela Home - usuário ...........................................................................................................38 5.11 Tela reserva de equipamento - usuário .......................................................................... 39 5.12 Tela pedidos de reserva - usuário ................................................................................... 42 5.13 Tela perfil de cliente – usuário ou administrador ...........................................................44 6. Programação Orientada a Objetos ...............................................................................................45 6.1 Contextualizando a programação orientada a objeto (POO) ........................................ 45 6.2 Classes ................................................................................................................................... 45 6.3 Objetos ................................................................................................................................... 46 6.4 Herança .................................................................................................................................. 47 6.5 Polimorfismo .......................................................................................................................... 48 6.7 Abstração ............................................................................................................................... 49 Conclusão .............................................................................................................................................51REFERÊNCIAS ................................................................................................................................... 52 6 2. INTRODUÇÃO Como parte essencial de uma boa escola, ter materiais audiovisuais à disposição dos professores e da didática é fundamental para o dia a dia. Com isso em mente, o projeto busca resolver e aprimorar a forma como esses materiais são reservados para uso durante as aulas, criando um ambiente no qual cada disciplina possa preparar e reservar o equipamento ideal para suas aulas específicas, sem interferência de outras disciplinas. Para alcançar esse objetivo, o projeto se baseia nos conceitos e conhecimentos adquiridos ao longo das disciplinas do bimestre em curso, mas também requer pesquisa e compreensão do melhor caminho a seguir para entregar um produto que atenda a todos os requisitos necessários para essa evolução. As principais características que o projeto busca abordar são: cadastro de usuários, cadastro de equipamentos e reserva dos mesmos. Espero que aprecie o conteúdo e toda a didática envolvida, que, como esperado, exigiu tempo e dedicação do grupo, mas também proporcionou aprendizado e desafio. 7 3. Mercado e Economia - Retrospetiva e previsão A capacidade de inovação é essencial para as empresas que desejam sobreviver e prosperar na economia. No campo do software, as inovações podem surgir de várias fontes, como projetos, novos modelos, grandes empresas, pequenas empresas e até mesmo de programadores entusiasmados em suas madrugadas de inspiração. Cada nova onda de digitalização reconfigura e amplia as possibilidades para a economia e o mercado de Tecnologia da Informação (TI), formando uma união que impulsiona o crescimento econômico de um país. Mesmo com o impacto da pandemia, o mercado de Tecnologia da Informação e Comunicação (TIC) do Brasil está previsto para crescer 7% em 2021, de acordo com estimativas do IDC Brasil. Enquanto o mercado de TI deve apresentar um crescimento de 11%, o setor de telecomunicações espera um crescimento de 2%. No âmbito corporativo, que engloba software, serviços e hardware, estima-se um crescimento de 10%. Em pesquisas realizadas no início de 2020, constatou-se que 60% das empresas demonstraram interesse em ampliar seus investimentos em TI, o que foi considerado o ápice da última década no país. No entanto, a chegada da pandemia alterou todos os planos, resultando nas menores taxas de investimento nos meses de maio e junho. Denis Arcieri, gerente geral da IDC Brasil, explica esse cenário. Em 2021, com uma perspectiva mais otimista, 50% das empresas estão retomando o aumento de investimentos no setor, com foco na produtividade e segurança. Acompanhando as tendências do mercado de tecnologia, como inteligência artificial, nuvem pública e modernização de sistemas de gestão de software (ERP), as empresas buscam administrar seus negócios de forma mais eficiente, reduzindo custos, equilibrando o ambiente digital e físico, introduzindo novos produtos e serviços e aprimorando a experiência e a fidelidade dos clientes. É importante destacar o avanço da subjetividade como um fator orientador das inovações responsáveis pela expansão do ambiente digital, no qual a economia prospera. Em 2022, os investimentos em cibersegurança devem ultrapassar os R$ 5 bilhões no Brasil, e a escassez de profissionais nessa área levará 76% das empresas de médio e grande porte a buscar serviços especializados. Nesse 8 contexto, os agentes econômicos envolvidos no mercado de TI e Telecom são impulsionados pelo comportamento do segmento de inovação, contribuindo para o pleno funcionamento do sistema econômico e exercendo influência direta ou indireta no circuito econômico nacional. Esses agentes desempenham diferentes papéis no sistema, podendo contribuir com a demanda ou serem responsáveis pela oferta, por exemplo. 2.1 Tendências - viabilidade econômica Dez tendências estão previstas para o mercado brasileiro de TI e Telecom em 2022, de acordo com a IDC Brasil. 1. Massificação do 5G: A tecnologia 5G irá se popularizar, oferecendo baixa latência e alta densidade de conexões, superando as barreiras de conectividade anteriores. Aumento dos ataques cibernéticos, impulsionando a demanda por serviços de detecção e resposta gerenciados (MDR). 2. Relevância estratégica da conectividade: A colaboração e o compartilhamento de conteúdo ganham importância, refletindo em gastos significativos com serviços de segurança, que atingiram quase US$ 1 bilhão (R$ 5,3 bilhões) em 2022, com crescimento anual de 10% desde o início da pandemia. 3. Integração e gerenciamento automatizado de aplicações e dados na nuvem: A nuvem se torna um elemento-chave na infraestrutura de TI, com destaque para o crescimento das nuvens privadas como serviço (DCaaS) e soluções de segurança na nuvem. 4. Avanço da inteligência artificial em outras tecnologias: Agentes automatizados e assistentes digitais em aplicações corporativas impulsionam o crescimento, com previsão de quase 30%. 5. Soluções de segurança impulsionadas pelo contexto de nuvem e colaboração: O aumento do uso da nuvem e da colaboração entre equipes demanda soluções de segurança eficientes para mapeamento e controle de informações. 6. Migração de plataformas de gestão para a nuvem: Setores como atendimento, gestão de marketing, força de vendas e comércio digital buscam migrar suas plataformas para a nuvem. 9 7. Reinvenção do mercado de impressão e ascensão dos Smart Home Devices: A adaptação do mercado de impressão e o aumento dos dispositivos para automação doméstica refletem a necessidade de um lar mais funcional e inteligente, impulsionados pelo tempo passado em casa. 8. Retomada de notebooks e tablets: O mercado educacional, tanto público quanto privado, demanda um grande volume desses dispositivos para auxiliar o processo de educação a distância. Essas tendências refletem a valorização dos recursos escassos, o aumento da produtividade por meio do investimento em TI e a padronização e utilização de sistemas de informação ou aplicativos em software para otimizar atividades em diferentes setores, incluindo o educacional. O software de gestão desempenha um papel crucial, fornecendo suporte estratégico e otimizado, permitindo uma visão gerencial holística dos equipamentos disponíveis na escola, automação de processos, diminuição de equívocos e gestão mais estratégica baseada em relatórios e agendamentos. 2.2 Desvantagem Embora os softwares de gerenciamento tragam diversas vantagens, é importante considerar também os inconvenientes que podem surgir durante sua implementação. A compra, implementação e manutenção do software podem apresentar custos significativos. Além disso, em alguns casos, a interface do sistema pode ser complexa e o suporte ao cliente pode ser inacessível. É essencial estar ciente dessas possíveis desvantagens ao adotar um software de gerenciamento. 2.3 Objetivo do Software Conforme mencionado no livro, o modelo de desenvolvimento do Sistema criado para o controle do cadastro e monitoramento da pandemia do Covid-19 foi baseado na abordagem incremental. Essa escolha foi motivada pela necessidade de um tempo reduzido de estudo. Nesse contexto, aplicaram-se princípios da Engenharia de Software, explorando o modelo cascata, no qual o sistema é dividido em partes menores, sendo desenvolvidas de forma sequencial e paralela. 10 Essa abordagem incremental possibilita entregas mais frequentes, o que facilita a identificação e correção de erros ao longo do processo. A cada interação, um conjunto utilizável de elementos é disponibilizado, seguindo o prazo de entrega estabelecido. Essa forma de desenvolvimento também simplifica a implementação e manutenção do sistema, uma vez que diferentes equipes podem se dedicar ao desenvolvimento de partes distintas. 2.4 Recurso mais comuns O software de gestão proporciona suporte para que o administrador, os líderes e a equipe possamconduzir os projetos e atividades de forma eficiente, registrando todos os dados e informações relevantes. É como ter um reflexo da realidade da escola e do estoque de equipamentos na ferramenta! Os recursos comuns aos sistemas de gerenciamento envolvem diversos profissionais que trabalham juntos para garantir a entrega final do software dentro do prazo máximo de 90 dias (três meses). O gestor de projetos é responsável pelo desenvolvimento do projeto, garantindo o cumprimento das metas e prazos estabelecidos. Ele precisa entender o produto, conversar com os clientes para definir prazos e metas, interagir com a equipe, propor e esclarecer metas, antecipar adversidades e agir de forma proativa. Um analista de sistemas é responsável por levantar os requisitos, fazer o planejamento e a documentação. O programador codifica a ferramenta e um testador realiza as validações para garantir a entrega do produto, sendo responsável pela verificação das regras do negócio e eliminando estimativas de tempo e custo, que são frequentes desafios em projetos de software. cronograma de entrega será dividido em duas etapas. Serão dedicados 40 dias, sendo 15 dias para avaliar o cronograma de entrega e possíveis custos adicionais caso haja descumprimento, o que pode gerar multas e insatisfação do cliente, aumentando os custos do projeto. Os outros 25 dias serão destinados ao entendimento dos requisitos, prototipação e validação junto ao usuário final do sistema. 11 Em seguida, serão dedicados 50 dias, divididos em duas partes. Serão destinados 20 dias para a codificação do sistema e 30 dias para a criação dos requisitos de teste e execução dos testes de entrega do produto. A implantação do software na escola não terá custos adicionais devido a questões de marketing e conformidade com normas internas. Considerando a estimativa de horas de trabalho de cada profissional, na Tabela 1, são apresentados os tempos por profissional. Vale ressaltar que os valores de custo são baseados no salário médio de cada categoria e têm caráter acadêmico. Tabela 1 - Tempo de desenvolvimento em dias, horas e custo Fonte: autoria própria. Profissional dias Tarefa 1 Tarefa 2 Tarefa 3 Tarefa 4 Custo Gestor de projeto 15 120 horas 9.500 Analista 25 200 horas 5.000 Programador 20 160 horas 5.500 Testador 30 240 horas 3.000 Total custo 23.000 Total de tempo de Desenvolvimento 90 720 horas trabalhadas Tempo estimado 1080 horas 12 4. Engenharia de Software A Engenharia de Software é responsável pela aplicação de abordagens sistemáticas, disciplinadas e mensuráveis no desenvolvimento, operação, evolução e manutenção de software. Seu objetivo principal é aplicar os princípios da engenharia na construção de software. 3.1 Especificação de equipamento A fim de permitir o acesso dos usuários ao sistema, é fundamental que o dispositivo utilizado possua um sistema operacional compatível, no mínimo. Além disso, é necessário contar com um teclado e um mouse para que o usuário possa navegar no sistema de forma adequada. 3.2 Especificação de tarefas O ReserveLog é um sistema projetado com o objetivo principal de auxiliar no controle de estoque de empresas por meio de reservas e consultas de equipamentos. Além disso, o sistema também visa facilitar o cadastro e consulta de usuários, o gerenciamento de acesso dos usuários e a conferência de estoque e reservas. 3.3 Regras de negócio - Acesso ao sistema O acesso ao sistema é realizado por meio de um login. Os usuários do sistema obtêm acesso ao login por meio de um cadastro prévio, que é realizado pelos administradores do sistema. Caso um usuário esqueça a senha, o sistema também disponibiliza a opção de reenvio de senha. Dessa forma, é possível garantir a segurança e o controle de acesso ao sistema. 3.4 Cadastro de usuários Para efetuar o cadastro de novos usuários, o administrador deve preencher corretamente os campos definidos, seguindo a formatação especificada pelo sistema. Os dados necessários para o cadastro de um novo usuário incluem: Nome E-mail Endereço 13 Disciplina Telefone Além disso, o administrador deve marcar a opção caso o novo usuário seja um novo administrador. Essas informações são essenciais para garantir um cadastro preciso e completo no sistema. 3.5 Utilização do sistema Após efetuar o login, o usuário terá acesso às diversas funcionalidades do sistema, as quais podem ser exploradas de forma intuitiva, de acordo com suas necessidades. O sistema é projetado de forma a objetificar as ações, proporcionando uma experiência fácil e intuitiva aos usuários. Uma das principais funcionalidades é a visualização dos equipamentos disponíveis para reserva. O usuário poderá verificar a disponibilidade desses equipamentos em relação às datas desejadas. Além disso, caso necessário, o usuário terá a opção de cadastrar novos equipamentos no sistema. É importante ressaltar que todas essas funcionalidades são acessíveis para os usuários com login no sistema. No entanto, algumas funcionalidades serão exclusivas para usuários com perfil de administrador. Essa restrição visa garantir uma maior segurança e controle de dados no sistema, protegendo informações sensíveis e mantendo a integridade das operações. 3.6 Metodologia frente às normas de qualidade Com o objetivo de desenvolver um sistema com menor custo, porém sem comprometer a qualidade dos processos, foi adotada a metodologia MPS.BR (Melhoria de Processo de Software Brasileiro). Essa metodologia, alinhada a padrões internacionais como CMMI, ISO/IEC 12207, ISO/IEC 15504 e ISO/IEC 25000, foi desenvolvida pela Softex com o intuito de oferecer um modelo de qualidade de software mais acessível aos brasileiros. A escolha da MPS.BR foi motivada pela necessidade de uma solução que fosse economicamente viável, considerando os custos envolvidos na conversão de moedas e na validação de outros modelos. Diante do contexto econômico e dos objetivos estratégicos do projeto, a MPS.BR se mostrou como o modelo mais 14 adequado, facilitando sua implementação e garantindo uma metodologia eficiente para a qualidade de processos de software. 3.7 Requisitos Não-Funcionais Requisitos técnicos do sistema: O sistema deve ser executado no sistema operacional Windows (Vista, 7, 8, 10). É necessário ter uma conexão estável com a internet. O sistema será desenvolvido em C#. O sistema deve contar com um banco de dados para armazenamento de informações de produtos. A interface gráfica do sistema deve incluir ícones representativos que auxiliem no processo de integração do usuário, tornando-o mais intuitivo. O sistema deve ter capacidade de adaptação da interface em diferentes dispositivos, como desktops, dispositivos móveis e notebooks, quando escalado para tal. 5. Casos de uso e roteiro de testes 4.1 Acesso ao sistema A Tabela 2 apresenta o acesso ao sistema, comum a todo tipo de usuário. Tabela 2 – Acesso ao sistema Tipo Descrição Identificação O sistema permite a entrada de dois tipos de usuários. Escopo O sistema é voltado para reservas. Descrição do Propósito O sistema Reservas permite a entrada de dois tipos diferentes de usuários. Ator primário Cliente Interessados Administradores 15 Pré-condições Ao acessar o sistema, o usuário é direcionado para uma tela de navegação e relatórios para finalizar a venda. Pós-condições Após efetuar o login, o usuário é redirecionado para a página inicial correspondente ao seu tipo de usuário. Fluxo normal: 1. O usuário abre o software. 2. É exibida a tela de login e senha. 3. O usuário preenche os campos com as informações solicitadas. 4. O sistema redireciona o usuário de acordo com suas credenciais. Fluxo alternativo: 1. Caso o usuário não tenha um login cadastrado, ele deve solicitar o cadastro ao administrador. 2. Após a solicitação, o usuário recebe por e-mail o login e senha. 3. O usuário realiza o procedimento do fluxo normal após receber as informações de logine senha. Fonte: autoria própria. 4.2 Tela Primaria - Administrador A Tabela 3 apresenta a tela primaria do sistema, disponível ao cliente Administrador. Tabela 3 - Home administrador Tipo Descrição Identificação Home Escopo O sistema é voltado para reservas. 16 Descrição do Propósito Os usuários têm a capacidade de acessar o sistema para diferentes propósitos. Ator primário Cliente Interessados Administradores Pré-condições É necessário que o usuário tenha feito o login para ter acesso ao sistema. Pós-condições O usuário é apresentado com três opções de direcionamento dentro do sistema. Fluxo normal: 1. O usuário tem disponíveis três opções no sistema. 2. Ele pode realizar consultas de usuários, consultar equipamentos e gerar relatórios de equipamentos. Fluxo alternativo: 1. Caso o usuário não consiga acessar a opção desejada, 2. Ele será redirecionado para a página inicial do sistema. Fonte: autoria própria. 4.3 Pesquisa e cadastro de usuários A Tabela 4 apresenta a descrição de caso de uso descrevendo o processo de cadastro de usuário no sistema. Tabela 4 - Pesquisa e cadastro de usuários Tipo Descrição Identificação Pesquisa e cadastro de usuários Escopo Sistema Reservas. 17 Descrição do Propósito Os usuários têm a capacidade de cadastrar manualmente novos usuários e realizar buscas no cadastro. Ator primário Cliente Interessados Administradores Pré-condições Para acessar a página de usuários, é necessário que o usuário tenha realizado o login. Pós-condições Após o login, ocorre o redirecionamento para a página de pesquisa e cadastro de usuários. Fluxo normal: 1. O usuário acessa a página de usuários. 2. Nessa página, ele tem acesso à ferramenta de pesquisa para encontrar usuários cadastrados, utilizando o id, nome ou e-mail. 3. Além da pesquisa, há também a opção de cadastrar novos usuários. Fluxo alternativo: 1. Caso o usuário não consiga acessar a opção desejada, 2. Ele será redirecionado para a página inicial do sistema. 3. Se o usuário não digitar corretamente as informações para a consulta, ocorrerá uma notificação de erro. Fonte: autoria própria. 4.4 Busca de usuário A Tabela 5 apresenta a descrição de caso de uso descrevendo o processo de busca de usuário no sistema .Tabela 5 - Busca de usuário 18 Tipo Descrição Identificação Busca de usuário Escopo Sistema Reservas. Descrição do Propósito O usuário tem acesso aos resultados da busca de usuários. Ator primário Cliente Interessados Administradores Pré-condições Para ter acesso aos resultados da busca de usuários, o usuário deve ter realizado o login, acessado a página de usuários e preenchido o campo de pesquisa de usuários. Pós-condições Uma tela contendo todas as informações do usuário solicitado é apresentada. Fluxo normal: 1. O usuário digita o ID, nome ou e-mail do usuário que deseja obter informações cadastrais. 2. O sistema exibe uma tela com todos os dados de cadastro do usuário solicitado. Fluxo alternativo: Caso o usuário não consiga acessar as informações de cadastro de outros usuários, 1. Ocorre o redirecionamento para a página inicial do sistema. Fonte: autoria própria. 4.5 Cadastro de usuário A Tabela 6 apresenta a descrição de caso de uso descrevendo o processo de busca de usuário no sistema. 19 Tabela 6 - Busca de usuários Tipo Descrição Identificação Cadastro de usuário Escopo Sistema Reserva Descrição do Propósito Tela para a realização de cadastro de novos usuários a partir do sistema do administrador. Ator primário Cliente Interessados Administradores e Sistema Pré-condições Para cadastrar um novo usuário, é necessário que o administrador tenha realizado o login, acessado a página de Usuário e selecionado a opção de cadastrar novo usuário. Pós-condições O sistema proporciona acesso à página de cadastro de novos usuários do sistema. Fluxo normal: 1. Na página inicial, o usuário seleciona a opção "Usuário". 2. Na tela de Usuário, é selecionada a opção "Cadastrar novo usuário". 3. O sistema redireciona o usuário para a página de cadastro de usuário, onde são fornecidas as informações exigidas pelo sistema. 4. O usuário deve selecionar se o usuário cadastrado será um administrador ou um usuário comum. 5. O usuário realiza o cadastro, fornecendo todas as informações requeridas. Fluxo alternativo: 1. Caso o usuário não consiga acessar a página de cadastro de novos usuários, 1.1 O sistema realiza o redirecionamento para a página inicial do sistema. 2. Caso o usuário não forneça todas as informações necessárias para realizar o 20 cadastro, 2.1 O sistema exibe uma mensagem de erro ao cadastrar novo usuário. 3. Caso os dados fornecidos não sejam suficientes ou não estejam no formato exigido pelo sistema, 3.1 O sistema exibe uma mensagem de erro ao cadastrar novo usuário e identifica em qual local os dados fornecidos não estão em conformidade. Fonte: autoria própria. 4.6 Consulta de equipamentos A Tabela 7 apresenta a descrição de caso de uso descrevendo o processo de consulta de equipamento no sistema. Tabela 7 - Consulta de equipamentos Tipo Descrição Identificação Consulta de equipamentos Escopo Sistema Reserva Descrição do Propósito Acesso às informações de estoque de equipamentos. Ator primário Cliente Interessados Usuários e Sistema de Estoque Pré-condições Para visualizar um equipamento, o usuário deve ter realizado login, acessado a página de equipamentos e selecionado o equipamento desejado. Pós-condições O sistema redireciona o usuário para a tela de informações do equipamento selecionado. Fluxo normal: 21 1. O usuário acessa a página de equipamentos. 2. O usuário seleciona o equipamento desejado. 3. O sistema exibe as informações do equipamento, como nome, estado e descrição. 4. Apenas os administradores têm permissão para modificar as informações do equipamento. 5. Apenas os administradores podem deletar o equipamento. Fluxo alternativo: 1. Caso o usuário não consiga acessar a página de consulta de equipamentos, 1.1 Ocorre o redirecionamento para a página inicial do sistema. 2. Caso o usuário tenha selecionado corretamente o equipamento desejado, mas o sistema não forneça a informação, 2.1 O sistema permite ao usuário retornar ao ponto inicial e realizar a consulta novamente. Fonte: autoria própria. 4.7 Cadastro de equipamentos A Tabela 8 apresenta a descrição de caso de uso descrevendo o processo de cadastro de equipamentos no sistema. Tabela 8 - Cadastro de equipamentos Tipo Descrição Identificação Cadastro de equipamentos Escopo Sistema Reserva Descrição do Propósito Cadastro de novos equipamentos no sistema. 22 Ator primário Cliente Interessados Usuários e Sistema de Estoque Pré-condições Para cadastrar um novo equipamento, o usuário deve ter realizado login como administrador, acessado a página de equipamentos e selecionado a opção de cadastrar novo equipamento. Pós-condições Acesso à tela de cadastro de equipamentos. Fluxo normal: 1. O usuário acessa a página de equipamentos. 2. O usuário seleciona a opção de cadastrar novo equipamento. 3. O sistema redireciona o usuário para a tela de cadastro de equipamentos. 4. O usuário preenche corretamente os campos obrigatórios, como nome e descrição do novo equipamento. 5. Caso necessário, o usuário adiciona uma foto do equipamento. 6. O usuário seleciona a opção "Cadastrar". 7. O sistema redireciona o usuário de volta para a página de equipamentos. Fluxo alternativo: 1. Caso o usuário não consiga acessar a página de cadastro de equipamentos, 1.1 Ocorre o redirecionamento para a página inicial do sistema. 2. Caso o usuário não forneça as informações necessárias para o cadastro do equipamento, 2.1 O sistema sinaliza os campos que devem ser preenchidos corretamente. 3. Caso ocorra um erro ao cadastrar um novo equipamento, o sistema exibe uma mensagem de erro e identifica em qual campo os dados fornecidos não estão em conformidade. 23 Fonte: autoria própria. 4.8 Relatóriodos equipamentos A Tabela 9 apresenta a descrição de caso de uso descrevendo o processo de relatório dos equipamentos no sistema. Tabela 9 - Relatório dos equipamentos Tipo Descrição Identificação Relatório dos equipamentos Escopo Sistema Reserva Descrição do Propósito Visualização de todos os equipamentos reservados com data e hora de utilização. Ator primário Cliente Interessados Usuários e Sistema de Estoque Pré-condições Para acessar a página de relatório, o usuário deve ter realizado login e selecionar a opção de relatório. Pós-condições Acesso à tela de relatório de equipamentos reservados e utilizados. Fluxo normal: 1. O usuário acessa a página de relatório. 2. É exibida uma tela com um calendário para navegação por data e um relatório diário de equipamentos reservados. 3. O usuário pode selecionar a opção "Histórico" para consultar o relatório de um período específico. Nessa opção, o usuário preenche o período desejado e o sistema gera um arquivo PDF com as informações do relatório para o período selecionado. Fluxo alternativo: 24 1. Caso o usuário não consiga acessar a página de relatório, 1.1 Ocorre o redirecionamento para a página inicial do sistema. 2. Caso o arquivo PDF disponibilizado pelo sistema não seja gerado corretamente ao selecionar o período do histórico, 2.1 O sistema exibe uma mensagem de erro informando a ocorrência do problema na geração do arquivo PDF. Fonte: autoria própria. 4.9 Reserva de equipamento - usuário A reserva de equipamento feita pelo usuário está disponível na Tabela 10. Tabela 10 - Reserva de equipamentos Tipo Descrição Identificação Reservas de equipamento Escopo Sistema Reserva Descrição do Propósito Reserva de equipamentos Ator primário Cliente Interessados Usuários e Sistema de Estoque Pré-condições O usuário deve fazer login e acessar a página de Reserva. Pós-condições Acessar a tela de reserva de equipamentos. Fluxo normal: 1. O usuário acessa a página de Reserva. 2. Selecionar a opção "Reservar". 25 3. Ser redirecionado para a página de reserva. 4. Digitar o nome do equipamento desejado. 5. O sistema exibirá as informações do equipamento, incluindo foto e datas de reserva. 6. Selecionar a opção de reservar o equipamento. O equipamento será reservado e a data de reserva será registrada. 7. Ser redirecionado para a página de Reserva. Fluxo alternativo: 1. O usuário não consegue acessar a página de reserva. 1.1. Ser redirecionado para a página inicial do sistema. 2. O nome do equipamento não é digitado corretamente. 2.1. A tela de informações do equipamento não será exibida. 3. A data escolhida para a reserva não está disponível. 3.1. A reserva do equipamento não será realizada. Fonte: autoria própria. 4.10 Reservas realizadas A Tabela 11 apresenta a descrição de caso de uso descrevendo reserva de equipamento pelo usuário no sistema. Tabela 11 - Reserva de equipamentos Tipo Descrição Identificação Reservas realizadas Escopo Sistema Reserva 26 Descrição do Propósito Visualização da tela de pedidos de reserva. Ator primário Cliente Interessados Usuários e Sistema de Estoque Pré-condições Para acessar a página de pedidos, o usuário deve ter realizado login e selecionar a opção de pedidos na página de reserva. Pós-condições A tela de pedidos é exibida. Fluxo normal: 8. O usuário acessa a página de pedidos. 9. Verifica se a sua reserva de equipamentos está registrada no sistema. 10. O usuário tem a opção de cancelar a reserva realizada. 11. Ao selecionar o cancelamento, uma tela de confirmação é exibida, alertando o usuário sobre a exclusão da reserva. 12. Se a reserva for cancelada, o usuário é redirecionado de volta para a página de reserva. Fluxo alternativo: 4. Caso o usuário não consiga acessar a página de pedidos, 5. Ocorre o redirecionamento para a página inicial do sistema. Fonte: autoria própria. 5 Protótipo O sistema ReserveLog possui uma interface construída com cores pastéis, visando facilitar sua adaptação para uma versão mobile. Toda a sua interface foi cuidadosamente projetada levando em consideração essa possibilidade de expansão e adaptação da ferramenta. O sistema é dividido em dois tipos de clientes: os administradores e os usuários comuns. Os administradores possuem maior controle e capacidade de manipulação do sistema, podendo realizar tarefas como 27 cadastrar usuários e equipamentos. Já os usuários comuns têm permissões mais limitadas, podendo apenas realizar reservas e cancelar reservas. 5.1 Tela Login A tela de entrada do sistema é a mesma para ambos os tipos de usuários. Ela possui dois campos de preenchimento, identificados como "Login" e "Senha", como mostrado na Figura 1. Nessa tela, ocorre o primeiro contato do sistema com a classe cliente, a qual será explorada com mais detalhes posteriormente. Esses campos são responsáveis por validar o cliente, e após esse processo, o sistema determina a interface disponível para esse cliente, levando em consideração se ele possui as credenciais de administrador válidas ou inválidas. Com base nessa validação, o usuário é redirecionado para a interface correspondente às suas permissões. Figura 1 - Tela login e senha Fonte: autoria própria. 28 5.2 Tela Home - administrador A primeira descrição é direcionada ao cliente que possui o atributo "administrador" definido como verdadeiro. A Figura 2 ilustra o acesso concedido a esse tipo de cliente. Na barra de botões centralizada à esquerda, encontramos as seguintes funcionalidades: 1. Usuário: Ao clicar neste botão, o cliente é redirecionado para uma tela de busca e cadastro de novos usuários. 2. Equipamento: Ao selecionar este botão, o cliente é direcionado para uma tela semelhante à de um usuário, mas focada exclusivamente em equipamentos. 3. Relatório: O último botão é responsável pela exibição de um relatório contendo as reservas realizadas pelos clientes comuns. É importante ressaltar que o cliente responsável por administrar essas funções não possui permissão para reservar equipamentos, sendo sua função restrita ao cadastro e atualização do sistema. Figura 2 - Home administrador 29 Fonte: autoria própria. 5.3 Tela usuário - administrador A Figura 3 retrata a interface de busca de usuários cadastrados, permitindo a pesquisa por meio do ID, nome ou e-mail do usuário. O resultado dessa busca será exibido na tela mencionada como "Figura X". Além disso, nessa mesma tela, há um botão para cadastrar um novo usuário. Todas as telas de navegação apresentam um botão de retorno à página inicial, localizado no mesmo lugar em todas elas. Essa consistência facilita a usabilidade e cria uma memória para o usuário, permitindo que ele retome rapidamente o seu processo caso acidentalmente acesse uma tela indesejada. Figura 3 - Tela usuário 30 Fonte: autoria própria. 5.4 Tela resultado da busca - administrador Na tela apresentada na Figura 4, que é retornada após a busca pelo usuário, são exibidas todas as informações cadastradas sobre ele. Nessa tela, é possível realizar a atualização dessas informações, o reenvio da senha e a exclusão do usuário caso ele não faça mais parte da escola. É importante mencionar que a responsabilidade pelo reenvio das senhas é atribuída ao administrador, visando a segurança do sistema. Como o sistema é concebido como uma solução local e exclusiva da escola, o administrador é encarregado de enviar as senhas aos usuários. A senha é gerada pelo próprio sistema, e o administrador não tem conhecimento dela. Ao entrar em seu perfil, o usuário terá a possibilidade de alterar a senha que recebeu, o que será abordado na última imagem. Figura 4 – Resultado da busca 31 Fonte: autoria própria. 5.5 Tela cadastrar novo usuário - administrador A Figura 5 segue o mesmo padrão de tela de busca, porém com a diferença de que nessa tela é possível apenas cadastrar um novo usuário. Utilizando os atributos disponíveis, podemos visualizar e classificar essa classe, assim como aclasse responsável por armazenar essas informações. Figura 5 – Cadastrar novos usuários 32 Fonte: autoria própria. Para realizar o cadastro, utilizamos a classe "Cliente", que é empregada tanto para o usuário comum, que faz apenas solicitações de reserva, quanto para o administrador. Essa classe possui atributos relacionados a cada campo presente na tela, com exceção da senha, que não é exibida durante o cadastro. A atribuição da senha é realizada pelo método <setSenha>, que, caso não receba um valor como parâmetro, gera uma senha aleatória. Na Tabela 12 e 13, podemos observar a estrutura das classes mencionadas e sua construção. Tabela 12 - Classe cliente Classe cliente Atributos Tipo id String 33 nome String senha String email String endereco String diciplina String telefone int admin bool Métodos Tipo setSenha String getSenha String Fonte: autoria própria. Tabela 13 - clienteCadastrados Classe clienteCadastrados Atributos Tipo clientes Lista<Cliente> Métodos Tipo setClientes Cliente getClientes Cliente deleteCliente Cliente deleteCliente void Fonte: autoria própria. 5.6 Tela equipamento - administrador 34 O segundo botão da tela inicial (home) direciona o administrador para a tela ilustrada na Figura 6. Nessa tela, é possível selecionar um equipamento já cadastrado e realizar o cadastro de um novo equipamento. Figura 6 - Tela equipamento Fonte: autoria própria. 5.7 Tela equipamento selecionado - administrador Após selecionar um dos equipamentos na tela anterior, o usuário é direcionado para a tela representada na Figura 7. Nessa tela, é possível realizar a alteração das informações do equipamento selecionado, seguida de uma atualização dos dados. Além disso, há a opção de remover o equipamento da lista. No atributo "estado", o administrador tem a capacidade de modificar o status do equipamento sem a necessidade de excluí-lo permanentemente. Ele pode definir o equipamento como "manutenção" ou optar por deixá-lo em seu estado atual. Figura 7 - Tela equipamento 35 Fonte: autoria própria. 5.8 Tela cadastrar equipamento - administrador Na Figura 8, é apresentada uma tela semelhante à seleção de equipamentos, porém voltada para o cadastro completo de um novo equipamento. Nessa tela, o atributo "estado" é automaticamente atribuído como "ativo" durante a criação do equipamento. Essa escolha é feita com base na lógica de que, ao adicionar um novo equipamento, é natural supor que ele esteja em pleno funcionamento, não havendo necessidade de escolher essa opção durante o cadastro inicial. Figura 8 - cadastrar equipamento 36 Fonte: autoria própria. Na Tabela 14 e 15, é possível observar a estrutura das classes "Equipamento" e "EquipamentosCadastrados", visto que o usuário requer uma classe específica para o equipamento. Tabela 14 - Classe equipamento Classe clienteCadastrados Atributos Tipo id String nome String estado String descricao String fotos Lista<String> 37 Métodos Tipo addFoto Cliente removeFoto Lista<String> Fonte: autoria própria. Tabela 15 - Classe equipamantosCadastrados Classe clienteCadastrados Atributos Tipo equipamentosCadastrados Lista<Equipamento> Métodos Tipo setEquipamantosCadastrados Lista<Equipamento> getEquipamentosCadastrados Lista<Equipamento> armazenaBD void Fonte: autoria própria. 5.9 Tela relatório - administrador A Figura 9 ilustra a interface do relatório acessado por meio do terceiro botão localizado na página inicial. A partir dessa tela, o administrador tem a capacidade de visualizar todos os equipamentos reservados, juntamente com suas datas e horários de utilização. Além disso, nessa mesma tela, existe a opção de acessar o histórico, na qual o administrador pode selecionar um período específico para visualizar reservas passadas dentro do dia vigente. Esse histórico é disponibilizado por meio de um arquivo PDF contendo as informações do período selecionado. Figura 9 - Tela relatório 38 Figura 9 - Tela relatório 5.10 Tela Home - usuário A Figura 10 representa a página inicial voltada para o usuário, na qual estão disponíveis apenas as opções de reserva e pedidos realizados, além de um calendário exibindo o dia atual. Posteriormente, discutiremos a classe que será utilizada para pesquisa e filtragem. Figura 10 - Tela home usuário 39 Fonte: autoria própria. 5.11 Tela reserva de equipamento - usuário A Figura 11 representa a tela principal do sistema, com sua função principal e o propósito de sua construção: permitir que o usuário escolha um equipamento por meio de uma seleção. Após a seleção, o sistema é atualizado para exibir a Figura 12, na qual é apresentado o equipamento selecionado juntamente com os dias em que ele está reservado. Nessa etapa, o usuário tem a possibilidade de selecionar um dia e horário disponível, caso haja disponibilidade. Figura 11 - Tela reserva de equipamento 40 Fonte: autoria própria. Figura 12 - Tela reserva de equipamento - equipamento selecionado 41 Fonte: autoria própria Nas Tabelas 16, 17 e 18 são apresentadas todas as classes relacionadas à funcionalidade de reserva. Tabela 16 - Classe reservaModelo Classe clienteCadastrados Atributos Tipo id int equipamentoEscolhido Equipamento data Data horario Lista<int> Fonte: autoria própria. Tabela 17 - Classe reservas 42 Classe clienteCadastrados Atributos Tipo reservados Lista<ReservaModelo> Métodos Tipo getReservas Lista<ReservaModelo> setReservas Lista<ReservaModelo> armazenaBD void Fonte: autoria própria. Tabela 18 - Classe data Classe clienteCadastrados Atributos Tipo ano int mes int dia int Fonte: autoria própria. 5.12 Tela pedidos de reserva - usuário Após efetuar uma reserva, o usuário tem a opção de verificar os pedidos de reserva de equipamentos, como mostrado na Figura 13, a fim de confirmar a sua reserva. Na tela de pedidos de reserva, é possível ao usuário cancelar a sua reserva. Quando o usuário decide cancelar a reserva, ele recebe uma mensagem solicitando a confirmação da ação, conforme ilustrado na Figura 14. Essa mesma abordagem é aplicada em todas as telas de confirmação, podendo ser exigida em casos como cadastrar ou excluir um usuário na tela de resultados da busca de usuário. Figura 13 - Tela pedidos de reserva 43 Fonte: autoria própria. Figura 14 - Alerta de confirmação 44 Fonte: autoria própria. 5.13 Tela perfil de cliente – usuário ou administrador A Figura 15 representa a tela do perfil do usuário, onde é possível ajustar o nível de necessidade do projeto. Nessa tela, também há uma opção para alterar a senha, a qual o sistema envia automaticamente para o e-mail do usuário após o cadastro do administrador ou para reenviá-la caso o usuário tenha esquecido a senha. Figura 15 - Tela perfil do usuário 45 Fonte: autoria própria. 6. Programação Orientada a Objetos 6.1 Contextualizando a programação orientada a objeto (POO) A programação abrange várias vertentes e neste projeto estamos explorando a programação orientada a objetos, que tem como objetivo representar de maneira fácil e compreensível a relação entre os elementos de uma classe e o mundo real. Para contextualizar algumas partes do processo de construção do projeto, vou esclarecer tecnicamente quatro características da programação orientada a objetos. 6.2 Classes A classe é uma parte fundamental para compreender a programação orientada a objetos (POO), pois permite definir a estrutura de um elemento, que pode receber atributos (dados) e métodos (comportamentos) que o representam. Com a definição da classe, podemos criar objetos, que tecnicamente são chamados de instâncias. 46 A classe serve como um modelo ou blueprint para os objetos que serão criados. Ela define as propriedades e comportamentos que os objetos terão. Os atributos são as características ou dados que um objeto possui, enquanto os métodos são as ações ou operações que um objeto pode realizar. Ao instanciar um objeto, estamos criando uma cópiada classe, preenchendo os atributos com valores específicos. Cada objeto criado a partir da mesma classe pode ter valores diferentes para seus atributos, mantendo os comportamentos definidos pelos métodos da classe. Essa abordagem de definição de classes e criação de objetos permite a reutilização de código, já que podemos criar múltiplas instâncias de uma mesma classe, cada uma com suas próprias características. Além disso, os objetos interagem entre si através de métodos, permitindo que um objeto invoque os comportamentos de outro objeto. Em resumo, a classe é o ponto de partida para definir elementos na POO, combinando atributos e métodos que representam seus dados e comportamentos. A criação de objetos a partir dessas classes permite a instância de elementos específicos com características únicas. 6.3 Objetos Um objeto é uma instância da classe, onde a classe pode ser comparada a uma receita e o objeto ao bolo que é feito a partir dessa receita. Assim como a receita pode ser utilizada para criar vários bolos, a classe pode ser usada para criar diversos objetos, cada um com seus próprios atributos. Na analogia do bolo, a classe representa a receita que contém as instruções e ingredientes necessários para criar o bolo. Essa receita é a base para a criação de múltiplos bolos, onde cada bolo é uma instância do objeto. Da mesma forma, a classe na programação orientada a objetos contém a estrutura, atributos e métodos que definem um objeto. Com base nessa classe, podemos criar vários objetos, cada um com seus atributos específicos. Por exemplo, se tivermos uma classe chamada "Carro", podemos criar diferentes objetos a partir dela, como "carro1" e "carro2", onde cada objeto pode ter atributos diferentes, como cor, modelo, ano, etc. 47 Essa capacidade de criar múltiplos objetos com atributos diferentes a partir da mesma classe é uma das vantagens da programação orientada a objetos. Ela permite a reutilização de código e a criação de objetos personalizados com base em uma estrutura comum. Em resumo, a classe serve como a receita e o objeto é o resultado da aplicação dessa receita. Com uma única classe, podemos criar diversos objetos com atributos diferentes, assim como com uma única receita podemos fazer vários bolos com sabores e decorações distintas. 6.4 Herança A herança é um dos princípios fundamentais da programação orientada a objetos (POO). Ela permite definir uma classe filha que reutiliza, estende ou modifica o comportamento de uma classe pai. A classe que é herdada por outras classes recebe o nome de classe base ou superclasse, enquanto as classes que herdam dessa classe base são chamadas de classes derivadas ou especializadas. Ao utilizar a herança, uma classe derivada pode herdar os atributos e métodos da classe pai, o que permite criar novas classes com comportamentos e dados diferentes, sem precisar criar tudo do zero. A classe derivada pode adicionar novos atributos e métodos, ou até mesmo modificar o comportamento herdado da classe base. Esse conceito de herança é útil quando há uma relação de hierarquia entre as classes. Por exemplo, considerando uma classe base chamada "Animal", podemos ter classes derivadas como "Cachorro", "Gato" e "Pássaro". Cada classe derivada herda os atributos e métodos básicos da classe Animal, mas também pode adicionar características específicas, como latir, miar ou voar. A herança promove a reutilização de código, pois evita a duplicação de atributos e métodos comuns entre as classes relacionadas. Além disso, a herança permite organizar as classes em uma estrutura hierárquica, onde as classes mais especializadas herdam características das classes mais gerais. Em resumo, a herança na POO permite criar novas classes a partir de uma classe base, herdando seus atributos e métodos. Essa abordagem proporciona 48 flexibilidade e eficiência na criação de classes especializadas, evitando a repetição de código e promovendo a estruturação hierárquica das classes. 6.5 Polimorfismo O polimorfismo na programação orientada a objetos se refere à capacidade de um método se comportar de maneira diferente dependendo do objeto que é passado como parâmetro. Em resumo, quando um método recebe um objeto que é uma classe derivada, esse método recebe um objeto novo, e a classe base que foi passada para essa nova classe não pode ser diretamente recebida nesse método. Existem dois tipos comuns de polimorfismo: sobrecarga (overload) e sobrescrita (override). A sobrecarga ocorre quando um método possui várias versões com a mesma nomeação, mas diferentes parâmetros. Isso permite que o método seja chamado com argumentos de tipos diferentes, e o compilador determinará qual versão do método deve ser executada com base nos argumentos fornecidos. A sobrecarga oferece flexibilidade na utilização de um método com diferentes tipos de dados, permitindo que diferentes versões do método sejam definidas para lidar com diferentes casos. A sobrescrita, por sua vez, ocorre quando uma classe derivada redefine um método da classe base. Isso permite que a classe derivada altere ou estenda o comportamento do método herdado da classe base. Ao chamar o método em um objeto da classe derivada, a versão sobrescrita será executada em vez da versão herdada da classe base. Dessa forma, a classe derivada pode fornecer uma implementação personalizada do método que produz resultados diferentes do esperado para o novo objeto. O polimorfismo é uma característica poderosa da programação orientada a objetos, pois permite tratar objetos de diferentes classes de maneira uniforme, facilitando a flexibilidade e a extensibilidade do código. Através da sobrecarga e da sobrescrita, é possível definir comportamentos específicos para diferentes situações e garantir que os métodos se adaptem dinamicamente aos objetos com os quais estão lidando. 6.6 Encapsulamento 49 O encapsulamento é um dos princípios fundamentais da programação orientada a objetos. Ele se refere à técnica de agrupar dados (atributos) e comportamentos (métodos) relacionados em uma única unidade chamada classe. Essa abordagem visa ocultar os detalhes internos e a implementação dos objetos, fornecendo interfaces apropriadas para interagir com eles. O principal objetivo do encapsulamento é proteger os dados encapsulados, controlando o acesso a eles e garantindo sua integridade. Isso é alcançado através da definição de modificadores de acesso, como público, privado e protegido, que determinam quais partes do código podem interagir com os atributos e métodos encapsulados. Existem três principais modificadores de acesso que podem ser aplicados aos atributos e métodos de uma classe: Público (public): Os membros públicos são acessíveis a partir de qualquer parte do programa. Eles podem ser chamados e utilizados por outras classes ou objetos sem restrições. São declarados explicitamente como públicos e representam a interface pública da classe. Privado (private): Os membros privados são acessíveis apenas dentro da própria classe. Eles não podem ser acessados diretamente por outras classes ou objetos. O acesso a esses membros é feito apenas através de métodos públicos da classe, que fornecem uma interface controlada para manipular os dados encapsulados. Protegido (protected): Os membros protegidos são semelhantes aos membros privados, mas também podem ser acessados por classes derivadas (herdeiras). Isso permite que as classes derivadas herdem e utilizem os membros encapsulados da classe base. O acesso a esses membros é controlado e restrito à hierarquia de herança. Em resumo, o encapsulamento é uma técnica poderosa que permite proteger e controlar o acesso aos dados e comportamentos de uma classe. Ele promove a segurança, a modularidade e a reutilização de código, contribuindo para a construção de sistemas mais robustos e flexíveis. 6.7 Abstração 50 A abstração é um dos conceitos fundamentais da programação orientada a objetos (POO) e serefere à capacidade de representar objetos do mundo real de forma simplificada, enfatizando apenas os aspectos relevantes para o contexto em questão. Na POO, uma classe é uma representação abstrata de um objeto ou entidade, e a abstração permite definir essa classe focando apenas nas características e comportamentos essenciais, ignorando os detalhes desnecessários. Isso é feito através da identificação das características principais e da definição dos métodos que descrevem as ações e interações possíveis com o objeto. A abstração permite criar modelos de objetos ou entidades complexas e lidar com eles de forma mais simples e compreensível. Ao abstrair um objeto, removemos detalhes específicos e nos concentramos apenas nos aspectos importantes para a aplicação em questão. Por exemplo, ao criar uma classe "Carro", podemos abstrair as propriedades essenciais, como cor, modelo e velocidade, e definir métodos como "acelerar", "frear" e "ligar". Dessa forma, a abstração permite que os programadores lidem com objetos complexos de maneira mais intuitiva, reduzindo a complexidade e focando apenas nos aspectos relevantes. Isso facilita o desenvolvimento, a manutenção e o entendimento do código, além de promover a reutilização de código e a modularidade. A abstração é um conceito chave na POO, pois nos permite criar representações simplificadas e mais compreensíveis dos objetos do mundo real, tornando a programação mais eficiente e poderosa. Ela está intimamente ligada a outros conceitos como encapsulamento, herança e polimorfismo, que juntos constituem a base da programação orientada a objetos. 51 Conclusão Projetar um sistema de reserva de equipamentos foi um desafio significativo, abrangendo diversas fases, desde a construção dos casos de uso até a análise e prototipagem. Essa experiência permitiu reforçar os conhecimentos adquiridos ao longo do bimestre nas disciplinas relacionadas. A aplicação dos princípios de engenharia de software foi fundamental, servindo como uma base sólida de informações. A prototipagem desempenhou um papel importante, proporcionando uma oportunidade de explorar programas de edição e criar uma interface de alta fidelidade. Essa abordagem tornou tangíveis os requisitos do sistema, facilitando a compreensão e permitindo uma abordagem mais eficiente das matérias relacionadas. Ao ter uma visão geral do projeto, é possível compreender os desafios envolvidos na concepção de um sistema como esse e como lidar com problemas específicos. O trabalho integrado e multidisciplinar possibilitou vislumbrar apenas uma pequena parte do que envolve o desenvolvimento de um sistema de reservas. No geral, esse projeto contribuiu para a geração de ideias e soluções para problemas específicos, fornecendo uma visão mais ampla do desenvolvimento de um sistema de reservas. 52 REFERÊNCIAS ANDREBONA. Economia de mercado: você sabe o que significa isso? Disponível em: https://andrebona.com.br/economia-de-mercado-voce-sabe-o-que- significa-isso/#:~:text=Você%20sabe%20o%20que%20é,existente. Acesso em: 28 maio 2023 CONVERGENCIADIGITAL. Cibersegurança: investimentos vão superar R$ 5 bilhões no país em 2022. Disponível em: https://www.convergenciadigital.com.br/Seguranca/Ciberseguranca%3A- investimentos-vao-superar-R%24-5-bilhoes-no-pais-em-2022-59391.html? Acesso em: 29 maio 2023. DIGITALHOUSE. O que é programação orientada a objetos? Pilares e vantagens da POO. Disponível em: https://www.digitalhouse.com/br/blog/programacao-orientada-a-objetos-o-que-e/. Acesso em: 29 maio 2023. DOCS.MICROSOFT. Herança em C# e .NET. Disponível em: https://learn.microsoft.com/pt-br/dotnet/csharp/fundamentals/tutorials/inheritance Acesso em: 29 maio 2023. G1. Investimento em tecnologia faz do Vale do Piracicaba um dos principais polos de inovação do agronegócio. Disponível em: https://g1.globo.com/economia/agronegocios/globo- rural/noticia/2022/02/13/investimento-em-tecnologia-faz-do-vale-do-piracicaba-um- dos-principais-polos-de-inovacao-do-agronegocio.ghtml Acesso em: 29 maio 2023. IDC. Previsões da IDC Brasil para 2021 apontam que mercado de TIC crescerá https://andrebona.com.br/economia-de-mercado-voce-sabe-o-que-significa-isso/#:~:text=Você%20sabe%20o%20que%20é,existente https://andrebona.com.br/economia-de-mercado-voce-sabe-o-que-significa-isso/#:~:text=Você%20sabe%20o%20que%20é,existente https://www.convergenciadigital.com.br/Seguranca/Ciberseguranca%3A-investimentos-vao-superar-R%24-5-bilhoes-no-pais-em-2022-59391.html? https://www.convergenciadigital.com.br/Seguranca/Ciberseguranca%3A-investimentos-vao-superar-R%24-5-bilhoes-no-pais-em-2022-59391.html? https://www.digitalhouse.com/br/blog/programacao-orientada-a-objetos-o-que-e/ https://learn.microsoft.com/pt-br/dotnet/csharp/fundamentals/tutorials/inheritance https://g1.globo.com/economia/agronegocios/globo-rural/noticia/2022/02/13/investimento-em-tecnologia-faz-do-vale-do-piracicaba-um-dos-principais-polos-de-inovacao-do-agronegocio.ghtml https://g1.globo.com/economia/agronegocios/globo-rural/noticia/2022/02/13/investimento-em-tecnologia-faz-do-vale-do-piracicaba-um-dos-principais-polos-de-inovacao-do-agronegocio.ghtml https://g1.globo.com/economia/agronegocios/globo-rural/noticia/2022/02/13/investimento-em-tecnologia-faz-do-vale-do-piracicaba-um-dos-principais-polos-de-inovacao-do-agronegocio.ghtml 53 7%. Disponível em: https://www.idc.com/getdoc.jsp?containerId=prLA47452221. Acesso em: 28 maio 2023. WIKIPÉDIA. Software de gerenciamento de projetos. Disponível em: https://pt.wikipedia.org/wiki/Software_de_gerenciamento_de_projetos. Acesso em: 29 maio 2023. https://www.idc.com/getdoc.jsp?containerId=prLA47452221 https://pt.wikipedia.org/wiki/Software_de_gerenciamento_de_projetos 1. 2.INTRODUÇÃO 3.Mercado e Economia - Retrospetiva e previsão 2.1 Tendências - viabilidade econômica 2.2 Desvantagem 2.3 Objetivo do Software 2.4 Recurso mais comuns 4.Engenharia de Software 3.1 Especificação de equipamento 3.2 Especificação de tarefas 3.3 Regras de negócio - Acesso ao sistema 3.4 Cadastro de usuários 3.5 Utilização do sistema 5.Casos de uso e roteiro de testes 4.1 Acesso ao sistema 4.2 Tela Primaria - Administrador 4.3 Pesquisa e cadastro de usuários 4.4 Busca de usuário 4.5 Cadastro de usuário 4.6 Consulta de equipamentos 4.7 Cadastro de equipamentos 4.8 Relatório dos equipamentos 4.9 Reserva de equipamento - usuário 4.10 Reservas realizadas 5 Protótipo 5.1 Tela Login 5.2 Tela Home - administrador 5.3 Tela usuário - administrador 5.4 Tela resultado da busca - administrador 5.5 Tela cadastrar novo usuário - administrador 5.6 Tela equipamento - administrador 5.7 Tela equipamento selecionado - administrador 5.8 Tela cadastrar equipamento - administrador 5.9 Tela relatório - administrador 5.10 Tela Home - usuário 5.11 Tela reserva de equipamento - usuário 5.12 Tela pedidos de reserva - usuário 5.13 Tela perfil de cliente – usuário ou administr 6.Programação Orientada a Objetos 6.1 Contextualizando a programação orientada a obj 6.2 Classes 6.3 Objetos 6.4 Herança 6.5 Polimorfismo 6.7 Abstração Conclusão REFERÊNCIAS
Compartilhar