Prévia do material em texto
UNIVERSIDADE PAULISTA – UNIP EaD Projeto Integrado Multidisciplinar Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Marcos Fernandes da Silva – 2306188 Ivan Santos –2331886 Fernando Vieira da Gama - 2312943 Sistema de Reserva de Equipamentos Projeto de Sistema para reserva de equipamentos audiovisuais Limeira 2024 Marcos fernandes da Silva – 2306188 Ivan Santos – 2331886 Fernando Vieira da Gama - 2312943 Sistema de Reserva de Equipamentos Projeto de Sistema para reserva de equipamentos audiovisuais Projeto Integrado Multidisciplinar em Análise e Desenvolvimento de Sistemas Projeto Integrado Multidisciplinar para obtenção do título de tecnólogo em Análise e Desenvolvimento de Sistemas, apresentado à Universidade Paulista – UNIP EaD. Orientador (a): Profa. Gislaine Stachissini Limeira 2024 Resumo O projeto integrado multidisciplinar tem como questão a solução de um sistema para efetuar reservas de equipamentos de forma online, em substituição ao atual. Como parte de uma solução mais eficaz, tem como objetivo, desenvolver um software para a escola Vencer Sempre, que irá auxiliar os colaboradores e professores com o controle das reservas de equipamentos audiovisuais disponíveis no centro acadêmico, evitando assim, o conflito entre uma reserva e outra. Neste projeto, será apresentado casos de testes fundamentais, visando verificar o controle de estoque de materiais áudio visuais, gerando informações necessárias de gerenciamento e aplicando melhorias na organização e administração dos recursos. Como prévia, foi apresentado o mínimo produto viável, ou MVP, para demonstrar a viabilidade dos processos em relação ao custo-benefício da implantação do sistema e a importância de seu uso/aquisição. Nesta documentação visa aplicar os conhecimentos adquiridos sobre as disciplinas de economia e mercado, engenharia de software II, projeto interface com o usuário, e programação orientada a objetos I. Palavras Chaves: Engenharia de Software, Programação orientada a objetos, Interfaces com Usuário. Abstract The integrated multidisciplinary project addresses the solution of an online equipment reservation system, replacing the current one. As part of a more effective solution, the goal is to develop software for the Always Win school, which will assist employees and teachers with the control of reservations for audiovisual equipment available at the academic center, thus avoiding conflict between one reservation and another. In this project, fundamental test cases will be presented, aiming to verify the control of audiovisual materials inventory, generating necessary management information, and applying improvements in the organization and administration of resources. As a preview, the minimum viable product, or MVP, was presented to demonstrate the viability of the processes in relation to the cost-benefit of the system implementation and the importance of its use/acquisition. This documentation aims to apply the knowledge acquired about economics and market, software engineering II, user interface project, and object-oriented programming I. Keywords: Software Engineering, Object-Oriented Programming, User Interfaces. Sumário Resumo ........................................................................................................................... 2 Abstract ........................................................................................................................... 3 Introdução ....................................................................................................................... 5 1. Sistema para Reserva de equipamentos Audiovisuais........................................... 6 2. Agentes econômicos que atuam diretamente com a empresa de Software solicitada que fornecerá o sistema ............................................................................... 6 2.1. Viabilidade econômica para implementação do projeto ...................................... 7 3. Engenharia de Software ............................................................................................. 8 3.1. Requisitos funcionais ............................................................................................. 8 3.2. Requisitos não funcionais ...................................................................................... 9 3.3. Metodologia de qualidade de Software ................................................................. 9 3.4. Planejamento de testes para os requisitos funcionais ...................................... 11 3.5. Descrição de testes para os requisitos ............................................................... 12 4. Interface com o usuário ........................................................................................... 13 4.1. Protótipo de interface com alta fidelidade .......................................................... 14 4.2. Processamento de entrada e saída de informação ............................................ 18 5. Programação orientada a Objeto ............................................................................ 19 5.1. Elementos técnicos da POO no sistema ............................................................. 20 6. Conclusão ................................................................................................................. 22 Referências ................................................................................................................... 23 5 Introdução Este trabalho acadêmico se propõe a explorar a concepção e implementação de um “Sistema para Reserva de Equipamentos Audiovisuais”. O sistema será desenvolvido em colaboração com agentes econômicos que atuam diretamente com a nossa equipe de desenvolvedores de software solicitada. A viabilidade econômica do projeto será analisada para garantir que o sistema seja economicamente sustentável. A Engenharia de Software será a espinha dorsal deste projeto, com foco especial nos requisitos funcionais e não funcionais do sistema. A qualidade do software será garantida através da adoção de metodologias de qualidade de software. Além disso, um planejamento de testes rigoroso será realizado para garantir que todos os requisitos funcionais sejam atendidos. A interface do usuário será projetada para ser intuitiva e fácil de usar. Um protótipo de interface com alta fidelidade será desenvolvido para garantir que a interface atenda às necessidades dos usuários. O sistema também será projetado para processar eficientemente as entradas e saídas de informação. Por fim, o sistema será desenvolvido usando a Programação Orientada a Objetos (POO), uma abordagem de programação que oferece flexibilidade e eficiência. Os elementos técnicos da POO serão incorporados ao sistema para garantir que ele seja robusto e escalável. Em suma, este trabalho acadêmico visa fornecer uma visão abrangente do desenvolvimento de um sistema de reserva de equipamentos audiovisuais, desde a análise econômica até a implementação técnica. Espera-se que este trabalho contribua significativamente para a literatura existente sobre o desenvolvimento de sistemas de reserva e forneça insights valiosos para futuros projetos nesta área. 6 1. Sistema para Reserva de equipamentos Audiovisuais O avanço da tecnologia tem proporcionado uma ampla gama de equipamentos audiovisuais que são essenciais para diversas atividades, especialmente no ambiente escolar e acadêmico. Estes equipamentos incluem, mas não se limitam a projetores, câmeras, microfones, sistemas de som e muitos outros. No entanto, a gestão eficiente desses recursos pode ser um desafio, dada a suademanda e a necessidade de manutenção adequada. Neste contexto, surge a necessidade de um “Sistema para Reserva de Equipamentos Audiovisuais” solicitado pela escola Vencer Sempre. Este sistema visa facilitar o processo de reserva, garantindo que os equipamentos estejam disponíveis quando necessário e que sejam adequadamente mantidos. Além disso, um sistema de reserva bem projetado pode ajudar a evitar conflitos de agendamento e garantir uma distribuição justa dos recursos. Este sistema pode ser desenvolvido como uma aplicação web ou móvel, permitindo aos usuários visualizarem a disponibilidade de equipamentos em tempo real, fazer reservas e até mesmo receber notificações quando os equipamentos estiverem disponíveis. Além disso, o sistema pode incluir funcionalidades para rastrear o uso do equipamento, facilitando a identificação de problemas e a programação de manutenções preventivas. 2. Agentes econômicos que atuam diretamente com a empresa de Software solicitada que fornecerá o sistema Por ser um projeto pequeno, arquitetura e layout de baixa complexidade, segue- se padrões de qualidade a fim de se obter um projeto de custo-benefício favorável para ambos os envolvidos (desenvolvedora e solicitante, que no caso, o cliente Colégio Vencer Sempre). Ao aceite da proposta regulada, as etapas de desenvolvimento serão iniciadas através do cronograma e prazos definidos e viabilizando seus processos e entrega por módulos funcionais de importância. 7 2.1. Viabilidade econômica para implementação do projeto Viabilidade econômica nada mais é do que avaliar se certo projeto pode ou não ser realizado e os melhores meios de operacionalizá-lo. Trata-se de um recurso para obter informações sobre a rentabilidade das ações planejadas e para compreender seus reais impactos sobre a organização, seja na expansão dos negócios, na própria abertura da empresa ou em qualquer nova ação direcionada ao mercado, seu uso é de suma importância e jamais deve ser negligenciado. Para isso, são feitas análises sobre o mercado, de receita, a respeito do público consumidor, concorrência, sobre as próprias soluções oferecidas pelo negócio, projeções de custos e investimentos, rentabilidade, concorrência, tendências, mão de obra e qualquer outra informação relevante para o projeto em questão. Por meio do conjunto certo de informações, os empreendedores podem projetar um plano que seja realmente viável e que possa ser adotado de maneira segura, estabelecendo diretrizes que previnam prejuízos ou que impeçam investimentos equivocados e sem perspectiva de retorno. De acordo com as informações levantadas junto com o Colégio Vencer Sempre, concluiu-se que é viável a implantação de um sistema informatizado com total controle dentro do departamento para tornar prático o empréstimo e/ou reserva de equipamentos. Prazo para a conclusão do projeto e investimento financeiro Para implantação desta aplicação, o processo de confecção deverá ser concluído no prazo de 120 dias. Para efeito produtivo, a escola precisará de: - Um analista de sistemas para coletar requisitos, planejar e documentar, - Um desenvolvedor para codificar a aplicação. Juntos, esses profissionais validarão os requisitos na conclusão do processo para produzir o resultado. Um lucro de 20% sobre as despesas será obtido pela corporação. 8 3. Engenharia de Software A Engenharia de Software é uma disciplina da ciência da computação que se concentra na criação, implementação e manutenção de sistemas de software. Ela utiliza princípios de engenharia para produzir software de alta qualidade que atenda às necessidades dos usuários e seja entregue dentro do prazo e do orçamento estabelecidos. A Engenharia de Software abrange uma variedade de áreas, incluindo análise de requisitos, projeto de software, programação, teste de software, manutenção de software e gerenciamento de projetos de software. Cada uma dessas áreas é essencial para garantir que o software seja confiável, eficiente e atenda aos requisitos especificados. A importância da Engenharia de Software aumentou significativamente com a digitalização crescente de vários setores da sociedade. Hoje, o software desempenha um papel crucial em muitos aspectos de nossas vidas diárias, desde aplicativos móveis e sites de comércio eletrônico até sistemas de controle de tráfego aéreo e software médico. Portanto, a necessidade de software de alta qualidade e a demanda por engenheiros de software qualificados nunca foram tão grandes. 3.1. Requisitos funcionais Os requisitos funcionais envolvem o correto funcionamento do software, estão relacionados com a interação do usuário ao seu uso, o que se aplica a interface, botões de eventos e retornos visuais sobre suas ações. Os requisitos funcionais definem o que o sistema deve fazer e descrevem as funções e os comportamentos esperados do software. O software deve permitir a alteração, inclusão, exclusão e visualização da reserva de equipamentos. O(s) agendamento(s) só pode(m) ser realizado(s) caso o(s) equipamento(s) esteja(m) disponível(is) e visível no sistema ao usuário solicitante, com período de data mínima e máxima, estipulada pela Escola/Secretaria/Centro Gestor. Por fim, deverá ter um campo de digitação livre para que quem estiver alocando o equipamento, deixe uma observação, se necessário. 9 3.2. Requisitos não funcionais Os requisitos não funcionais estão ligados às características comportamentais do software em termos de desempenho, usabilidade, confiabilidade, segurança, disponibilidade e manutenibilidade. Os requisitos não funcionais são partes não funcionais em relação ao usuário, ou seja, funções e atuações da aplicação não visíveis ao usuário comum. - Docentes não tem acesso às reservas dos demais - Sistema deve ser responsivo, para adaptação a diferentes dispositivos de acesso - O sistema deve possuir visão de hierarquia (ADM/USUARIO/CONVIDADO), omitindo acesso - Usuários adm devem possuir acesso a cadastro e agendamento - Docentes somente agendamentos - Convidado abre solicitação para uso (Caso um palestrante) 3.3. Metodologia de qualidade de Software Um sistema de gestão da qualidade busca padronizar os procedimentos de uma organização para a produção de seu produto, garantindo a satisfação do cliente e a melhoria contínua dos processos. Podemos usar os sistemas ISO e CMMI como exemplos, mas como este software é tão básico, o tempo e os gastos de instalação seriam inviáveis. Com base nessas premissas, o Software Process Improvement Brasileiro (MPS.BR), desenvolvido em 2003 pela Associação para Promoção da Excelência do Software Brasileiro (Softex), foi a escolha selecionada neste caso, que busca incentivar as pequenas e médias empresas produtoras de software no Brasil a adotarem técnicas de maior qualidade e mais econômicas que melhor atendam às necessidades do país para implementação de uma metodologia frente às normas de qualidade, que são fundamentais para garantir a conformidade e a melhoria contínua dos processos em uma organização. Entendimento das Normas de Qualidade: O primeiro passo é compreender completamente as normas de qualidade relevantes para o seu setor ou indústria. Isso 10 pode incluir normas ISO, como a ISO 9001 (gestão da qualidade), ISO 14001 (gestão ambiental), ISO 27001 (segurança da informação), entre outras. Desenvolvimento de Políticas e Procedimentos: Com base nas normas de qualidade e nas lacunas identificadas, desenvolve-se políticas e procedimentos claros e documentados para orientar as operações da organização. Esses documentos devem estar alinhados com os requisitos das normas e serem comunicados efetivamente a todos os funcionários. Treinamento e Conscientização: É essencial fornecer treinamento adequado para os funcionários em relação às novas políticas eprocedimentos. Isso garante que todos compreendam suas responsabilidades e contribuam para a conformidade com as normas de qualidade. Implementação de Sistemas de Gestão: Implementa-se sistemas de gestão que facilitam o cumprimento das normas de qualidade. Isso pode incluir sistemas de gestão de qualidade, sistemas de gestão ambiental, sistemas de gestão da segurança da informação, entre outros, dependendo das necessidades da organização. Monitoramento e Medição de Desempenho: E estabelecido indicadores-chave de desempenho (KPIs) para monitorar e medir o desempenho em relação aos requisitos das normas de qualidade. Isso permite que a organização avalie continuamente sua conformidade e identifique áreas para melhorias adicionais. Melhoria Contínua: Promove-se uma cultura de melhoria contínua em toda a organização, incentivando os funcionários a identificarem e implementar oportunidades de melhoria em processos, produtos e sistemas. Atualização e Revisão: As normas de qualidade são atualizadas regularmente. Certificar-se de manter-se atualizado com as versões mais recentes das normas relevantes e revisar periodicamente a metodologia para garantir que ela continue sendo eficaz e esteja alinhada com os requisitos atuais. 11 3.4. Planejamento de testes para os requisitos funcionais ROTEIRO DE TESTES O Roteiro de Teste é uma maneira de realizar testes manuais em softwares, como por exemplo, em Testes Funcionais. Este roteiro é elaborado a partir dos documentos de especificação de um determinado caso de uso, como: especificação funcional, guia de interface e modelagem do banco de dados. O roteiro de teste também é conhecido como Projeto de Teste, Script de Teste ou Especificação de Teste. Ele é importante no momento da execução dos testes. Pois, o testador consegue realizar uma sequência de passos de forma prática, sem a necessidade de consultar todos os documentos de especificação no momento dos testes. Assim, ele podendo focar apenas na execução dos testes. Além do que é especificado pelo cliente, o roteiro de teste também possui procedimentos que testam a eficiência do sistema. Em geral um roteiro de teste é composto por um conjunto de Casos de Teste, mas além dos casos de teste há também as seções de Localização e de Objeto de Teste. Uma Localização pode conter 1 (um) ou mais Objetos de Teste. Ele pode ser definido como a ideia global de um conjunto de Casos de Testes. Por exemplo, na localização descrita anteriormente, Tela Manter Funcionários, um possível Objeto de Teste seria Cadastro de funcionários no sistema. Outro objeto de teste para esta mesma localização poderia ser Alteração de funcionários no sistema. O Objeto de Teste pode conter 1 (um) ou mais Caso de Teste. São nos casos de testes, onde estão inseridos os procedimentos necessários para a execução de um determinado teste no sistema. Um Caso de Teste é composto por uma descrição, por uma pré-condição, pelo procedimento e pelo resultado esperado, que será definido a seguir. Na descrição está descrita a ideia específica do caso de teste; A pré-condição é um requisito para o comportamento do sistema antes da execução do caso de teste; 12 No procedimento base estão os passos para a execução do caso de teste, este procedimento não deve fugir do foco descrito na descrição do caso de teste; O resultado esperado ou favorável descreve como o sistema deveria se comportar após a execução do procedimento do caso de teste. 3.5. Descrição de testes para os requisitos TESTE 1 OBJETIVO DE TESTE: Validar o processo de login PRÉ-REQUISITO: Software instalado PROCEDIMENTO BASE: Usuário digitar login e senha corretamente RESULTADO FAVORÁVEL: Logado com sucesso TESTE 2 OBJETIVO DE TESTE: Validar o processo de login PRÉ-REQUISITO: Software instalado PROCEDIMENTO BASE: Usuário digitar login e senha incorretamente RESULTADO FAVORÁVEL: Usuário e/ou senha inválidos. Favor digitar novamente TESTE 3 OBJETIVO DE TESTE: Testar cadastro PRÉ-REQUISITO: Software instalado PROCEDIMENTO BASE: Usuário tentar fazer o cadastro pela 1ª vez RESULTADO FAVORÁVEL: Usuário cadastrado com sucesso TESTE 4 OBJETIVO DE TESTE: Testar cadastro PRÉ-REQUISITO: Software instalado PROCEDIMENTO BASE: Usuário tentar fazer o cadastro possuindo um cadastro RESULTADO FAVORÁVEL: Usuário já cadastrado. Por favor, faça o login TESTE 5 OBJETIVO DE TESTE: Fazer uma reserva PRÉ-REQUISITO: Estar logado PROCEDIMENTO BASE: Clicar em "fazer uma reserva" RESULTADO FAVORÁVEL: Tela de reservas exibida TESTE 6 OBJETIVO DE TESTE: Confirmar reserva PRÉ-REQUISITO: Estar logado PROCEDIMENTO BASE: Clicar em "Confirmar" RESULTADO FAVORÁVEL: Reserva registrada com sucesso 13 4. Interface com o usuário O campo de estudo conhecido como interação humano-computador (IHC) é dedicado a compreender como os indivíduos se envolvem com tecnologias digitais, incluindo computadores, dispositivos móveis e aplicativos. O objetivo da IHC é criar tecnologias que sejam mais fáceis de usar, mais eficientes e acessíveis, mantendo em mente as necessidades e expectativas dos usuários. A análise do comportamento humano e o design de tecnologias mais intuitivas e fáceis de usar são partes integrantes dos estudos de IHC, que visam produzir sistemas que satisfaçam as necessidades e objetivos dos usuários. Assim, a IHC melhora a experiência do usuário ao utilizar a tecnologia digital em diversos ambientes, desde aplicações empresariais até bens de consumo pessoais. A tecnologia está a tornar-se uma ferramenta mais útil para responder às necessidades diárias, à medida que se torna mais fácil maximizar a produtividade e a qualidade de vida das pessoas através de uma interação homem-computador mais intuitiva e eficaz. Interação é um processo que engloba as ações do usuário na interface de um sistema e suas interpretações das respostas reveladas por essa interface. Em termos mais simples, a interação pode ser definida como o processo de comunicação que ocorre entre um usuário e um aplicativo de software. O projeto foi inteiramente construído com a ferramenta Figma, e conta com um design simples e intuitivo, que suporta a interação de telas touch screen ou mouse e teclado. Os botões possuem um padrão de cores, com ícones que auxiliam no entendimento de suas funções. 14 4.1. Protótipo de interface com alta fidelidade Imagem 1: Tela de Loguin e tela de Cadastro/ FONTE: Autoria própria Tela de login: Ao inicializar o programa o usuário se depara com a primeira tela de interação, a de login. Aqui o usuário poderá acessar o sistema através de sua conta (caso possua uma), fornecendo seu email e senha. Se porventura tenha esquecido sua senha, há a possibilidade de recuperá-la. Caso não possua uma conta, poderá clicar no link abaixo do botão “Acessar’’ onde será direcionado para uma tela que possa cadastrar-se. Ou ainda, sendo um convidado, poderá clicar na última opção e ser redirecionado para onde fará o login. 15 Tela de cadastro: Ao clicar em ‘‘Cadastrar-se’’ na tela de login, o usuário será encaminhado para área de cadastro. Para que seja possível criar um acesso é necessário que o indivíduo conceda as informações solicitadas, no caso o seu nome completo, um email válido e senha. Após esses passos, deve clicar no botão “Cadastrar” e será encaminhado para o programa principal. Imagem 2: Tela de Convidado e tela de Administrador / FONTE: Autoria própria Tela do convidado: Caso o utilizador seja um convidado será conduzido à esta tela. A principal diferença é que ele não criará uma conta diretamente no sistema, afinal o seu acesso será temporário, e dentro de algumas horas será bloqueado. O indivíduo deverá solicitar 16 acesso de antemão na secretaria da escola, que irá requerer seus dados para validá-los. Após este processo, lhe serácedida uma chave de acesso, com ID e senha. Tela do Administrador: Na área do administrador, há funções que somente as pessoas de maior cargo da escola têm acesso, ou seja, são dados confidenciais. Diferentemente de um colaborador ou convidado, um ADM tem a possibilidade de saber quem são os usuários cadastrados, quais reservas estão ativas e quem as fez, quais os equipamentos disponíveis na escola, o histórico de reservas e quem reservou, e poderão realizar reservas caso necessitem. Imagem 3: Tela de colaborador/ FONTE: Autoria Própria Tela do colaborador Quando efetuar o login, o colaborador é dirigido à esta tela. Aqui ele poderá iniciar o processo de reserva de um equipamento ou consultar os equipamentos já reservados 17 selecionando uma das opções disponíveis. Se desejar encerrar a sessão basta clicar no ícone na parte superior à direita do visor. Imagem 4: Tela de Equipamentos e tela de agendamentos/ FONTE: Autoria própria Tela de equipamentos Selecionada a opção “Nova reserva”, a lista de equipamentos será exibida ao usuário. Para reservar o equipamento de sua preferência é só pressionar o botão com seu nome. Note que está escrito ao lado direito se o equipamento está ou não disponível, no entanto, só será liberado reservá-lo estando disponível. Além disso, todas as reservas devem ser feitas com pelo menos um dia de antecedência. Tela de agendamento Levando como exemplo que o equipamento selecionado foi o microfone, a tela de agendamento será apresentada. Em suas características temos o nome do equipamento no topo, que varia de acordo com a escolha. Na parte interativa, o utilizador deverá 18 escolher a data e horário de retirada e devolução do aparelho, tendo em vista os prazos definidos pela secretaria da escola. Também poderá incluir uma observação em formato de texto se julgar necessário. Clicando em “Confirmar” a reserva será executada e retornaremos à tela inicial. Tela de reservas feitas Clicando no botão “Minhas reservas” o indivíduo é encaminhado a área onde poderá consultar as reservas feitas e poderá modificá-las. Levando em consideração que imprevistos podem ocorrer, caso queira editar a data de devolução ou até mesmo de retirada, ele deve pressionar o botão à direita do equipamento, com ícone de lápis. Se a intenção for excluir uma reserva, é necessário clicar no botão com ícone de lixeira e escolher o item que deve ser excluído. Também é permitido incluir um novo item pressionando o botão do lado inferior esquerdo. 4.2. Processamento de entrada e saída de informação A entrada de dados consiste na ação em que o algoritmo recebe dados do mundo real através de alguma interação, como um texto digitado, por exemplo, e logo após ocorre o processamento da informação, chegando à saída de dados. Ela caracteriza-se no retorno da informação processada ao usuário, podendo ser exibida por uma imagem numa tela, uma impressão etc. Neste projeto há diferentes tipos de entrada de dados, dentre eles: botões interativos e áreas de texto. Nos botões a entrada de dados seria a própria ação de pressioná-lo, e a sua saída dependerá de para que foi programado. Podemos utilizar como exemplo o botão “Nova reserva” da tela do colaborador, onde ao pressioná-lo, o sistema o entende como uma entrada de dados, que logo abrirá a tela de equipamentos como a saída de dados. Já nas áreas de texto, o sistema solicita a informação que deve ser feita por meio da escrita. Cumprida esta demanda, o sistema irá processar a informação e dará a saída do dado, como informar o email e senha na tela de login e em resultado ter acesso ao programa principal. 19 5. Programação orientada a Objeto A programação orientada a objetos é um modelo/paradigma de programação onde diversas classes possuem características que definem e ou simulam um objeto na vida real. Cada classe determina o comportamento do objeto definido por métodos e seus estados possíveis definidos por atributos. Objeto (Abstração) Objetos em programação representam coisas no mundo real, bem como conceitos abstratos com suas características e comportamentos específicos. Um objeto tem sua estrutura interna que combina variáveis, funções e estruturas de dados. Usando o nome do objeto e a sintaxe de acordo com a linguagem de programação, você pode visualizar os valores do objeto e chamar as funções que ele predefiniu. Os elementos de um objeto se dividem em duas categorias principais: propriedades e métodos. As propriedades, também conhecidas como atributos, incluem informações sobre o objeto. Por exemplo, se considerarmos um objeto Carro, algumas de suas propriedades serão: cor, marca, modelo ou ano de fabricação. Classe A classe é um modelo que define a estrutura e as características comuns de todos os objetos desse tipo. Você pode criar vários objetos a partir de uma única classe, cada um terá seus próprios valores e poderá executar as operações definidas por essa classe. A classe não ocupa espaço na memória do computador, enquanto um objeto ocupa, pois carrega dados. Você também pode encontrar o termo “instância “. No contexto da POO, é sinônimo de objeto. Herança O reuso de código é uma das grandes vantagens da programação orientada a objetos. Muito disso se dá por uma questão que é conhecida como herança. Essa característica otimiza a produção da aplicação em tempo e linhas de código. Para entendermos essa característica, vamos imaginar uma família: a criança, por exemplo, está herdando características de seus pais. Os pais, por sua vez, herdam algo dos avós, o que faz com que a criança também o faça, e assim sucessivamente. A herança é uma técnica poderosa que ajuda a evitar duplicidade de código e promove a sua reutilização. Cria-se hierarquias de classes que refletem nas relações entre os objetos do mundo real. 20 Polimorfismo é a característica única de linguagens orientadas a objetos que permite que diferentes objetos respondam a mesma mensagem cada um à sua maneira. Em termos de programação, polimorfismo representa a capacidade de uma única referência invocar métodos diferentes, dependendo do seu conteúdo. Assim, usa-se uma referência da superclasse para armazenar referências para instâncias de subclasses. Entretanto, através dessa “referência genérica” só é possível acessar os métodos das subclasses que pertençam à interface comum com a superclasse. Quando referências de uma superclasse são utilizadas para referenciar instâncias de subclasses, a compilação fará a checagem pelos tipos da referência. Na hora da execução, porém, o que conta é a classe a qual pertence a instância referenciada. Esse mecanismo que permite ao Java decidir em tempo de execução qual o método que será ativado em função da classe a qual pertence a instância referenciada é chamado de ligação dinâmica. 5.1. Elementos técnicos da POO no sistema Elemento técnico da poo (Abstração) em relação a aplicação desenvolvida para escola Vencer Sempre, cada objeto criado terá representação de acesso as funcionalidades (atributos e métodos) sobre a regra de negócio da aplicação. (Encapsulamento) No contexto do caso de uso do projeto à escola Vencer Sempre, as classes são constituídas pelas regras de negócio (Administrador/Usuário/Convidado) onde cada uma delas compõem de seus próprios atributos e métodos construídos no corpo de suas respectivas classes. As classes são criadas em relação ao levantamento de requisitos e suas funcionalidades no que se presume o sistema. (Herança) Cada atuante na aplicação é uma PESSOA, com atributos nome, idade, documentos, endereço, foi-se criada uma classe com atributos padrão-base chamada PESSOA para que as classes filhas, (ADM/USUARIO/CONVIDADO) tenham acesso aos atributos base da classe pai PESSOA, usando assim a técnica de reuso de código. 21 (Polimorfismo) Para os eventos funcionaisdo sistema, foi usado polimorfismo no reuso de perfis atribuído a cada ator atuante na aplicação, como cada usuário tem privilégios específicos de acesso ao sistema, o uso de polimorfismo como parametrização, apontando como ponto atuante o seu perfil, ativa o método com a sua funcionalidade específica em relação ao usuário declarado, fazendo assim o reuso de métodos declarados para a aplicação. 22 6. Conclusão Este trabalho acadêmico proporcionou uma análise detalhada e abrangente do desenvolvimento de um “Sistema para Reserva de Equipamentos Audiovisuais” para a escola Vencer Sempre. Através de uma análise econômica meticulosa, foi possível identificar não apenas a viabilidade do projeto, mas também os principais agentes econômicos envolvidos, destacando a importância da colaboração e do compromisso mútuo para o sucesso do projeto. A Engenharia de Software desempenhou um papel crucial neste estudo, garantindo que todos os aspectos técnicos do sistema fossem cuidadosamente considerados e implementados. Isso incluiu a identificação dos requisitos funcionais e não funcionais, a adoção de metodologias de qualidade de software e a realização de um planejamento de testes rigoroso. Esses elementos são fundamentais para garantir que o sistema seja robusto, eficiente e capaz de atender às necessidades dos usuários. O sistema proposto promete revolucionar a forma como a escola Vencer Sempre gerencia seus equipamentos audiovisuais. Ao facilitar o processo de reserva e manutenção de equipamentos, o sistema promete melhorar a eficiência operacional e a satisfação do usuário. Além disso, o sistema pode incluir funcionalidades para rastrear o uso do equipamento, facilitando a identificação de problemas e a programação de manutenções preventivas. A implementação deste sistema representa um avanço significativo na gestão de recursos audiovisuais em ambientes acadêmicos. Ao facilitar o processo de reserva e manutenção de equipamentos, o sistema promete melhorar a eficiência operacional e a satisfação do usuário. Este trabalho acadêmico demonstrou que a combinação de análise econômica rigorosa e engenharia de software eficaz pode resultar em sistemas robustos e eficientes que atendem às necessidades dos usuários e melhoram a gestão de recursos. Este estudo representa um marco importante na literatura sobre o desenvolvimento de sistemas de reserva e fornece insights valiosos para futuros projetos nesta área. Através deste trabalho, esperamos inspirar outros a continuar explorando e inovando nesta área vital. 23 Referências CONTABILIDADE, S. Estudo de Viabilidade econômica: o que é e qual a importância? Com.br, 17 set. 2021. Disponível em: . Acesso em: 11 mar. 2024 SILVA, P. O que é Interação Humano Computador? Disponível em: . Acesso em: 31 mar. 2024. VOLPATO, E. O que é usabilidade? - TESTR - Medium. Disponível em: . Acesso em: 31 mar. 2024. FIGUEIREDO, E. Requisitos Funcionais e Requisitos Não Funcionais. Disponível em: . Acesso em: 11 mar. 2024. GHERMANDI, F. Sistema de Gestão da Qualidade: Blog LUZLUZ Planilhas, 2 Jun. 2021. Disponívelem:. Acesso em: 11 mar. 2024 MARCELA. Roteiro de Teste de Software Exemplo: Exemplo de Roteiro de Testes de Software. Disponível em: . Acesso em: 22 mar. 2024. GASPAROTTO, H. M. POO: Os 4 pilares da Programação Orientada a Objetos. Disponível em: . Acesso em: 11 mar. 2024. POO: o que é programação orientada a objetos? Disponível em: . Acesso em: 11 mar. 2024. https://www.segatocontabilidade.com.br/viabilidade-economica https://homepages.dcc.ufmg.br/~figueiredo/disciplinas/aulas/req-funcional-rnf_v01.pdf https://homepages.dcc.ufmg.br/~figueiredo/disciplinas/aulas/req-funcional-rnf_v01.pdf https://blog.luz.vc/como-gerenciar-projetos/sistema-de-gestao-da-qualidade/ https://blog.luz.vc/como-gerenciar-projetos/sistema-de-gestao-da-qualidade/ https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264 https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264 https://www.alura.com.br/artigos/poo-programacao-orientada-a-objetos