Prévia do material em texto
UNIVERSIDADE PAULISTA – UNIP EaD Projeto Integrado Multidisciplinar Curso superior de Tecnologia em Análise e Desenvolvimento de Sistema Bruna Dias Bernardo Carvalho – 2351267 Desenvolvimento de um software em Linguagem C, que gerencie todas as tarefas de cadastro e relatórios de uma startup de Soluções Ambientais. Barueri 2024 Bruna Dias Bernardo Carvalho – 2351267 Desenvolvimento de um software em Linguagem C, que gerencie todas as tarefas de cadastro e relatórios de uma startup de Soluções Ambientais. 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. Prof. Sirley Vitorio Barueri 2024 Bruna Dias Bernardo Carvalho – 2351267 Desenvolvimento de um software em Linguagem C, que gerencie todas as tarefas de cadastro e relatórios de uma startup de Soluções Ambientais. Multidisciplinar (PIM IV) Aprovado em: ___________ Banca Examinadora ______________________/____/_____ Prof. Sirley Vitorio UNIVERSIDADE PAULISTA – UNIP EaD Resumo Este projeto foi elaborado utilizando a linguagem de programação C, com o objetivo de aprimorar as operações da empresa e fornecer relatórios precisos para facilitar a tomada de decisões. Durante o processo de desenvolvimento, foi enfatizada a importância de incorporar um software para monitorar o progresso das tarefas e demandas empresariais, possibilitando a geração de relatórios abrangentes para manter os gestores bem-informados. Os temas abordados neste projeto derivam dos conhecimentos adquiridos em disciplinas como Engenharia de Software I e Linguagem e Técnicas de Informação, os quais foram essenciais para viabilizar a construção do sistema. Após a identificação do problema e a exploração dos conceitos pertinentes, foi demonstrada a implementação do software, seu funcionamento e os testes realizados para verificar sua eficácia. Abstract This project was designed using the C programming language, with the aim of improving the company's operations and providing accurate reports to facilitate decision-making. During the development process, the importance of incorporating software to monitor the progress of business tasks and demands was emphasized, enabling the generation of comprehensive reports to keep managers well-informed. The topics addressed in this project derive from the knowledge acquired in disciplines such as Software Engineering I and Language and Information Techniques, which were essential to enable the construction of the system. After identifying the problem and exploring the pertinent concepts, the implementation of the software, its operation and the tests carried out to verify its effectiveness were demonstrated. Sumário Resumo 4 Abstract 5 1. Introdução 7 2. Contexto 7 3. Agentes Econômicos e Requisitos 8 3.1. Agentes econômicos 8 4. Requisitos funcionais e não funcionais 9 4.1. Regras e requisitos 10 4.2. Qual metodologia escolher? 11 6 Programação Orientada a Objetos I 30 REFERENCIAS BIBLIOGRAFICAS 34 Introdução Administrar tarefas e produzir relatórios são aspectos essenciais para o sucesso empresarial, especialmente em um cenário cada vez mais digitalizado e tecnológico. A ausência de um software que execute essas funções representa um grande obstáculo, por isso, decidimos desenvolver um software em Linguagem C dedicado ao gerenciamento de cadastros e relatórios para uma startup de Soluções Ambientais. Os benefícios advindos da implementação desse software são diversos: integração de setores e informações, redução de custos, aumento da eficiência operacional, facilitação do acompanhamento de resultados, segurança da informação e agilidade na comunicação entre equipes. Uma gestão eficaz das empresas depende de uma comunicação rápida e precisa entre todos os departamentos. Com todos os dados devidamente cadastrados e atualizados em tempo real, as tarefas cotidianas se tornam mais ágeis, o que resulta em uma equipe mais produtiva. Com relatórios precisos e atualizados em mãos, é possível tomar decisões mais embasadas sobre o rumo da empresa. No contexto empresarial atual, a adoção de tecnologia é uma necessidade premente. Empresas que negligenciam esse aspecto correm o risco de ficar para trás no mercado. 1.1 Linguagens de Programação As linguagens de programação são sistemas de regras e instruções que possibilitam a comunicação entre humanos e computadores. Elas servem para criar programas e softwares, que consistem em conjuntos de comandos compreensíveis pela máquina, permitindo automatizar tarefas, processar dados e interagir com sistemas computacionais. Cada linguagem de programação tem sua própria forma de escrever e interpretar comandos, definindo como as instruções devem ser estruturadas e entendidas. Assim, elas funcionam como uma ponte entre a linguagem natural dos programadores e a linguagem de máquina entendida pelos computadores. Para converter o código escrito em uma linguagem de programação para a linguagem de máquina, são usados compiladores ou interpretadores. Existem várias linguagens de programação, cada uma criada para atender a propósitos específicos. Algumas são de alto nível, o que significa que fornecem abstrações que simplificam a expressão de lógica complexa, enquanto outras são de baixo nível, oferecendo controle mais direto sobre os recursos do hardware. Exemplos populares incluem Python, Java, C++, JavaScript, entre outras. Além disso, as linguagens de programação podem ser categorizadas em paradigmas, como programação orientada a objetos, programação funcional e programação procedural. Esses paradigmas ditam a estrutura e o estilo de programação mais adequados para diferentes situações. Na área da programação, a escolha da linguagem frequentemente depende das necessidades do projeto, dos requisitos de desempenho, das preferências do desenvolvedor e do ambiente em que o software será executado. A constante evolução das linguagens de programação reflete os avanços na tecnologia e as demandas da indústria, garantindo que os programadores tenham à disposição ferramentas cada vez mais poderosas e eficientes para criar software inovador. 1.2 Linguagem C A linguagem de programação C é reconhecida como uma das mais significativas e amplamente adotadas na história da computação. Concebida por Dennis Ritchie no início da década de 1970 no laboratório Bell da AT&T, sua criação originalmente visava dar suporte ao sistema operacional UNIX. Caracterizada pela sua simplicidade e eficiência, a linguagem C oferece um equilíbrio notável entre controle de baixo nível sobre o hardware e abstração suficiente para facilitar o desenvolvimento de software complexo. Essa flexibilidade a tornou ideal para uma variedade de aplicações, desde sistemas operacionais até jogos e sistemas embarcados. A sintaxe da linguagem C é conhecida por sua concisão e clareza, facilitando a leitura e escrita de código. Ela suporta programação procedural, estruturas de controle de fluxo, manipulação de ponteiros e acesso direto à memória, permitindo aos programadores otimizar seus códigos para desempenho quando necessário. Uma das características mais marcantes da linguagem C é sua portabilidade. Os programas escritos em C podem ser compilados e executados em uma variedade de plataformas, desde dispositivos microcontroladores até supercomputadores, com poucas modificações no código-fonte, o que contribui significativamente para sua longevidade e relevância. Além disso, o desenvolvimento da linguagem C influenciou diretamente a criação de outras linguagens, como C++, C#, Objective-C, entre outras. Sua Biblioteca Padrão (C Standard Library) oferece um conjunto robusto de funções para diversas operações, desde manipulação básica de entrada/saída até gerenciamento dinâmico de memória. Em resumo, a linguagem de programação C é um elemento fundamentalno universo da computação, desempenhando um papel crucial no desenvolvimento de sistemas operacionais, aplicativos de software e em áreas emergentes como sistemas embarcados e IoT. Seu legado perdura, e os programadores continuam a valorizar sua eficiência e versatilidade. 1.3 O que é Software Um software é uma coleção de instruções e dados que capacitam um computador a executar tarefas específicas. É uma peça central em qualquer sistema computacional, desempenhando um papel crucial na realização de operações, processamento de dados e execução de diversas funções. Os dois principais tipos de software são o software de sistema e o software de aplicação. Software de Sistema: · Sistemas Operacionais: Esses programas são responsáveis por gerenciar os recursos do hardware do computador e oferecer serviços essenciais para outros softwares. Exemplos incluem o Microsoft Windows, macOS, Linux e Android. · Drivers: Esse tipo de software é responsável por facilitar a comunicação entre o sistema operacional e dispositivos de hardware específicos, como impressoras, placas de vídeo, entre outros. · Utilitários: Essas ferramentas são projetadas para auxiliar na manutenção, gerenciamento e otimização do sistema. Elas incluem antivírus, desfragmentadores de disco, entre outros. Software de Aplicação: · Aplicativos: Esses programas são desenvolvidos com o propósito de realizar tarefas específicas para o usuário. Isso abrange uma ampla variedade de softwares, desde processadores de texto, planilhas e editores de imagem até navegadores da web, jogos e aplicativos de mídia. · Software Empresarial: Esse tipo de software é criado para atender às demandas específicas de organizações e empresas, oferecendo soluções como sistemas de gerenciamento de recursos humanos (RH), sistemas de contabilidade, entre outros. · Aplicativos Móveis: Esses softwares são criados para dispositivos móveis, como smartphones e tablets, oferecendo uma ampla gama de funcionalidades. Eles abrangem desde aplicativos de redes sociais até aplicativos de saúde e produtividade. Os programas são desenvolvidos por programadores utilizando linguagens de programação específicas. Podem ser distribuídos de diversas formas, como em CDs, DVDs, downloads da internet ou disponibilizados como um serviço online (Software as a Service - SaaS). A constante evolução do software é evidenciada pelas frequentes atualizações dos aplicativos, que adicionam novos recursos, corrigem bugs e aprimoram a segurança. Em resumo, o software é uma parte essencial da experiência de computação moderna, impulsionando a funcionalidade e a utilidade dos dispositivos digitais em várias áreas da vida cotidiana. 2. Desenvolvimento 2.1 O Software Foi decidido batizar o software como "EcoBernardo", uma escolha que faz uma alusão ao cuidado com o meio ambiente (eco) e incorpora um toque pessoal ao incluir o nome de família "Bernardo". O propósito central do software é gerenciar e monitorar as tarefas realizadas pelos colaboradores da empresa. Por meio dele, os colaboradores têm a capacidade de registrar suas atividades em tempo real. Essa funcionalidade é fundamental, pois permite que a empresa obtenha relatórios detalhados e informações precisas sobre as operações em andamento. Dessa forma, a empresa pode tomar decisões informadas e manter suas atividades sempre atualizadas, garantindo eficiência e produtividade em andamento. Dessa forma, a empresa pode tomar decisões informadas e manter suas atividades sempre atualizadas, garantindo eficiência e produtividade. 2.2 Tela de login O desenvolvimento do software irá começar com a tela de login, onde os funcionários podem acessar o sistema e realizar funções como cadastrar os dados dos clientes da indústria. Ao executar o código no terminal, podemos verificar que o login foi realizado com sucesso. 2.3 Tela de menu inicial Após fazer login com sucesso, o usuário terá acesso à tela principal do sistema, onde poderá navegar pelas principais funcionalidades disponíveis. Ao executar o código no terminal, as opções disponíveis serão apresentadas para o usuário. Ao selecionar a "opção 1", é possível criar uma descrição para a tarefa e atribuí-la a um responsável. Ao optar pela "opção 2", o software irá exibir todas as tarefas criadas, fornecendo informações como descrição, responsável e status de cada uma. Quando a "opção 3" é selecionada, o software apresentará um relatório contendo todas as tarefas registradas. 2.4 Cadastro de clientes Além da funcionalidade de criar tarefas, o EcoBernardo também oferece a opção de cadastrar clientes para melhor controle sobre quem deve ser atendido. Ao executar o código no terminal, essa funcionalidade estará disponível para ser utilizada. Ao preencher os dados da empresa, o sistema irá salvar as informações cadastradas. Conclusão A conclusão de que em um cenário empresarial caracterizado por uma crescente complexidade e uma competição acirrada, a eficácia na gestão de informações é essencial para o sucesso e o crescimento sustentável de uma empresa. Nesse contexto, a adoção de um software especializado no gerenciamento de tarefas de cadastro e relatórios surge como um componente vital, proporcionando benefícios substanciais que vão além da mera organização de dados. A capacidade de produzir relatórios detalhados e personalizáveis oferece insights valiosos, permitindo que os gestores tomem decisões informadas e estratégicas. A análise em tempo real dos dados possibilita uma resposta ágil às mudanças no ambiente de negócios, contribuindo para a adaptação eficaz da empresa. A implementação de um software especializado para o gerenciamento de cadastro e relatórios não é apenas uma simples atualização tecnológica, mas sim uma estratégia fundamental para impulsionar a eficiência, garantir conformidade, economizar recursos e posicionar a empresa para o sucesso em um ambiente empresarial dinâmico e desafiador. Este é um investimento que vai além da esfera tecnológica, impactando positivamente a gestão, a competitividade e a capacidade de adaptação da empresa no cenário atual. REFERENCIAS BIBLIOGRAFICAS GOGONI, Ronaldo. O que é software? 2019. disponível em: https://tecnoblog.net/responde/o-que-e-software/. Acesso em: 20/11/2023. MENDES, Tatyane. Linguagem de programação: conheça os principais conceitos e ferramentas desse universo, 06/2022. disponível em: https://napratica.org.br/linguagem-de-programacao/. VAZ, Juliana. O que é linguagem C, 10/2022. Disponível em: https://ebaconline.com.br/blog/o-que-e-linguagem-c. 7 7 7 image1.png image2.png image3.png image4.png image5.png image6.jpeg image7.jpeg