Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE PAULISTA ICET - INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROJETO INTEGRADO MULTIDISCIPLINAR PIM II Nome R.A João Pedro dos Santos Almeida G7056C-2 Samuel Silvério Martins de Oliveira F34GJF-6 SÃO JOSÉ DOS CAMPOS – SP DEZEMBRO/2022 RA João Pedro dos Santos Almeida G7056C-2 Samuel Silvério Martins de Oliveira F34GJF-6 DESENVOLVIMENTO DE UM SOFTWARE QUE GERENCIE TODAS AS TAREFAS DE UMA STARTUP São José dos Campos – SP Dezembro / 2022 Projeto Integrado Multidisciplinar (PIM) desenvolvido como exigência parcial dos requisitos obrigatórios à aprovação semestral no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas da UNIP (Universidade Paulista), orientado pelo corpo docente do curso. RESUMO Este trabalho apresenta uma proposta de um sistema para recursos humanos (RH) desenvolvido em linguagem C.O mesmo conta com uma parte prática onde o usuário consegue entrar no seu perfil através do login , fazendo assim escolhe o que deseja se informar, seja isso banco de horas ou horários , e por fim mostrando o necessário para o usuário. Para garantir a qualidade do sistema e sua funcionalidade, todas as funções e etapas desenvolvidas foram testadas visando uma entrega do software 100% funcionando corretamente. Palavras Chave; Linguagem C; Usuario;Recursos Humanos; Software; Linguagem e Técnicas de Programação. Abstract This work presents a proposal for a system for human resources (HR) developed in C language. It has a practical part where the user can enter his profile through the login, thus choosing what he wants to be informed about, be it a bank of hours or schedules, and finally showing what is necessary for the user. To guarantee the quality of the system and its functionality, all functions and development stages were tested aiming at delivering the software 100% correctly working. Key words; C language; User; Human Resources; Software; Programming Language and Techniques. SUMÁRIO Pág. 1. INTRODUÇÃO.................................................................................. 5 2. LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO........................... 7 3. ENGENHARIA DE SOFTWARE I..................................................... 8 4. FUNDAMENTOS DE REDES DE DADOS E COMUNICAÇÃO........ 10 5. MATEMÁTICA PARA COMPUTAÇÃO............................................. 13 6. ÉTICA E LEGISLAÇÃO PROFISSIONAL......................................... 14 7. DESENVOLVIMENTO DO PROJETO.............................................. 15 7.1 Caracterização do ambiente de estudo 7.2 Desenvolvimento 8. CONCLUSÃO.................................................................................... 17 9. REFERÊNCIAS................................................................................. 18 1. INTRODUÇÃO Gestão de recursos humanos sempre foi algo bem presente em nossas vidas, seja ela particular ou profissional, neste software desenvolvido em C, buscamos auxiliar e também resolvermos diversas divergências que usuários e administradores encontram no dia a dia de trabalho, fazendo com que economizem tempo nesta gestão e agregue esse tempo em funções de maior prioridade. Para isso desenvolvemos um software, que você pode verificar seu salário tanto bruto (Sem ausência de descontos estabelecidos), quanto eu liquido (já livre de todos descontos). Para isso criamos algo bem intuitivo onde você insere seu login e senha, seleciona a opção deseja e mostraremos na tela de acordo com que selecionado. Dividimos o software em cargos hierárquicos, sendo especificados nas imagens abaixo. Hierarquia da empresa O autor, 2022 2.Custos da empresa O Autor,2022 Nas imagens acima , criei essas situações fictícias para simular como funcionaria nossa empresa. 2. LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO A linguagem C foi criada por Dennis Ritchie, na Bell Telephone Laboratories Inc, em 1972, com a finalidade de escrever um sistema operacional utilizando uma linguagem de alto nível (Unix), evitando-se assim uma linguagem de montagem (Assembly). C é uma linguagem de programação compilada, estruturada, imperativa, procedural e de propósito geral, ou seja, pode ser utilizada para desenvolver qualquer tipo de projeto, por exemplo, processamento de registros, sistemas operacionais e outros compiladores de outras linguagens. (George Daniel,2016) Um programa de computador é um conjunto de instruções ou comandos, escritos em uma linguagem de programação, que são executados pelo processador. Um dos primeiros passos previstos nos fundamentos da aprendizagem da Linguagem C é a apresentação dos conceitos básicos da sua estrutura sequencial. Os programas com estrutura sequencial possuem instruções, ou comandos, que são executados de forma sequencial, ou seja, um comando depois do outro. (George Daniel,2016) 3.Imagem retirada do Livro Herbert Schildt A linguagem C pode ser facilmente encontrada em grandes jogos do mercado atual, editores de imagem e vídeo, robôs, sistemas de automação, e também muitos sistemas operacionais são programados totalmente ou parcialmente em C, como por exemplo o Windows, o Linux e o Mac OS. Ela foi pensada para ser uma linguagem que lida diretamente com o hardware, o que significa que você pode encontrar com facilidade em processadores, micro controladores e drivers. A linguagem em C tem recursos que fazem com que acesso aos espaços de memória e dados dessas máquinas seja facilitado, mas isso não anula o fato de que ela também pode ser facilmente implementada em softwares ou aplicações diferentes.(Silvio Lago,2019) Neste software de gerenciamento de uma startup , utilizamos as bibliotecas “stdlib.h” e “stdio.h” , elas foram utilizadas para que possamos exibir na tela o que for solicitado e fazermos a leitura correta de dados de acordo com que desenvolvemos Utilizamos também a função “while” , para quando o usuário digite sua senha ele consiga ter acesso no que é possível dentro de seu usuário , lembrando que cada colaborador da empresa tem seu usuário e cada usuário tem liberações pré-definidas com base de seu setor. Importante citarmos que cada setor está laçado com o outro , sendo um a base do próximo , como por ser exemplo a coleta de dados do cliente e a emissão de faturamento para o mesmo. 3. ENGENHARIA DE SOFTWARE I Engenharia de Software é definida como: “O estabelecimento e uso de sólidos princípios de engenharia para que se possa obter um software economicamente viável, que seja confiável e que funcione eficientemente em máquinas reais”.(Bauer,1972) A engenharia de software tem por objetivo apoiar o desenvolvimento profissional de software, mais do que a programação individual. Ela inclui técnicas que apoiam especificação, projeto e evolução de programas, que normalmente não são relevantes para o desenvolvimento de software pessoal. (SOMMERVILLE, 2011) A Engenharia de Software pode ser vista como um processo evolutivo, no qual o software é constantemente alterado durante seu período de vida em resposta às mudanças de requisitos e às necessidades do cliente. (SOMMERVILE,2011) Utilizei muito a palavra “software’, mas o que de fato seria um, é bastante utilizado nos meios da tecnologia, mas também no meio “leigo”, traduzindo nós literalmente para o português teríamos a palavra “programa”,mas na engenharia de software ela vai além disso, como diz no livro de Sommerville, todos componentes necessários para o programar funcionar se chamam software, seja esse componente uma anotação, documento. A Engenharia de Software está preocupada acima de tudo com a qualidade do sistema, cada modelo e metodologia que ela propõe são em prol de uma qualidade satisfatória do software. Os projetos de software costumam ser divididos em conjuntos de atividades, propostos por modelos como o UML (Unified Modeling Language), podendo ou não ter algum tipo de dependências entre si, alguns podem ser paralelos e outros com algum nível de independência. Essas atividades costumam reaproveitar sistemas de outro projeto, muitas vezes até melhorando uma versão anterior usada como modelo, agilizando processos e também facilitando o projeto trabalhado. (Pressman, 2011) Software consiste em: (1) instruções (programas de computador) que, quando executadas, fornecem características, funções e desempenho desejados; (2) estruturas de dados que possibilitam aos programas manipular informações adequadamente; e (3) informação descritiva, tanto na forma impressa como na virtual, descrevendo a operação e o uso dos programas. (PRESSMAN, 2011) O mundo moderno gira em torno do software, isso é indiscutível já que ele está presente nas telecomunicações, no controle de distribuição elétrica, de água, transporte aéreo, sistema financeiro 4.DFD de nossa empresa Criamos este DFD para representar os fluxos de nossa empresa, nele mostramos passo a passo de como irá funcionar nosso software. 4. FUNDAMENTOS DE REDES DE DADOS E COMUNICAÇÃO Uma rede de dados é uma malha que serve para interligar sistemas de computadores, também chamados “nós”, o que viabiliza a transmissão de dados e resulta na internet. Esses computadores recebem, trocam e enviam tráfego de voz, dados e vídeo por meio de softwares e hardware, que juntos formam o ambiente da rede. A rede de dados possibilita o compartilhamento de informações entre pessoas espalhadas ao redor do mundo, sendo algo que ultrapassa as barreiras geológicas e possibilita que diversos serviços essenciais sejam prestados. Nesse sentido, inúmeras atividades do cotidiano da vida moderna só são possíveis graças a uma rede de dados, como enviar e receber áudio pelo smartphone, assistir a vídeos e receber e enviar e-mails. A conexão das redes acontece por meio de milhões de cabos de fibra óptica distribuídos pelo mundo, interligando os continentes até mesmo por baixo dos oceanos. A partir disso, são exigidos equipamentos e protocolos que fazem a comunicação entre os “nós”, como roteadores, modems, portas de comunicação e placas. Esses protocolos são linguagens usadas para que os sistemas de computadores possam estabelecer a comunicação entre eles, de modo que a conexão acontece quando dois “nós” estão na mesma rede. Os satélites, juntamente com as estações terrestres, formam grandes redes de comunicação praticamente instantânea. Atualmente, distância ou barreiras físicas não oferecem obstáculo à transmissão de informações. As redes de comunicações são formadas por dois elementos básicos: • um conjunto de nodos, encarregados de processar a informação que circula pela rede; • um conjunto de ligações, por meio das quais os nodos são conectados entre si e configuram a rede propriamente dita. Quanto maior é o número de nodos, maiores serão as dimensões da rede, podendo alcançar, inclusive, coberturas mundiais, como é o caso da Internet. Para que uma rede se estenda à escala mundial, é necessário combinar equipamentos que coordenem a emissão e a recepção de sinais por meio de instalações terrestres com um conjunto de satélites responsáveis pela distribuição desses sinais. Um exemplo disso é o tratamento da informação meteorológica por meio da família de satélites Meteosat, desenvolvidos pela Agência Espacial Europeia. Essa constelação de satélites compõe parte de um programa mundial para a observação do tempo, filiado à Organização Meteorológica Mundial. A missão dos satélites Meteosat que se encontram em órbitas geoestacionárias sobre o oceano Atlântico consiste em captar imagens e dados da evolução das variáveis atmosféricas e enviá-los às estações terrestres, que os processam e os interpretam. Quando a rede de comunicações é utilizada pelo público em geral, é denominada de rede pública. Cada vez mais, contudo, as redes cobram maior importância para seu uso profissional. É o caso, por exemplo, das redes Vsat (Very Small Aperture Terminais), que são redes via satélite com intervalo de frequências muito pequeno projetadas para usos privados específicos. As redes baseadas em sistemas de comunicação telefônica são as maiores e com mais ampla projeção atualmente, pois combinam diversas tecnologias de modulação, as quais permitem a difusão de sinais de voz, dados e imagens. A transmissão via Internet é um dos pilares desse tipo de comunicação. As redes de comunicação podem ser de dois tipos: • redes de radiodifusão (rádio e TV), que são unidirecionais, ou seja, somente transmitem a informação aos usuários (foto superior). • redes de telefonia e de transmissão de dados, que são bidirecionais, pois permitem aos usuários tanto receber quanto enviar informações (foto inferior). Em cada caso, o usuário precisa dispor de um terminal adequado (o receptor de TV, o telefone móvel, um computador) para conectar-se à rede e ter acesso aos serviços oferecidos. (Paulo Magno) Quando temos uma rede não confiável podemos ter alguns problemas bem graves , dado ao dia-a-dia de uma empresa , isso interfere e muito em algumas atividades , abaixo citarei algumas dessas dificuldades, veja: Lentidão para iniciar as máquinas Fraco desempenho das páginas da internet Ambiente virtual não-confiável Ataque DDoS Cortar acesso a softwares e serviços Dificuldade em fazer backup 5.Imagem de uma infra de rede O autor,2022 Acima , é a infra que utilizamos nessa startup que estamos administrando , nela se encontra 7 computadores , um para colaborador da empresa e a TV que como citada , é necessário conexão Os fios que estão passados na imagem são os denominados Patch Cord (cabo de rede),ele faz parte da Camada 1 do modelo OSI (Física),que é a ligação o ponto inicial para o usuário. O switch faz parte da camada 2 (Enlace) responsável pela distribuição da rede , onde os usuários conseguem ter acesso ao que tem permissão. Já o roteador faz parte da camada 3 , ele é responsável pela Rede ,nesta camada é onde surge o endereço de IP, responsável pelo endereçamento dos pc/tv , na imagem citada, a rede em si é necessária para destinar o melhor caminho a seguir, uma melhor fluidez para o usuário. 5. MATEMÁTICA PARA COMPUTAÇÃO Tendo em vista que estamos criando uma Startup , logo deduzimos que se trata ainda de uma empresa de pequeno porte ,tendo em base startups que eu já conheci se tratam de empresas que estão começando no mercado ,porém tem ideias inovadores que podem mudar o cenário atual, geralmente como exemplificado na contextualização proposta pelo corpo docente ela tem como base 7 funcionários ,utilizei a matemática para fazer uma média salarial pegando sempre por base atuais salários nos cargos que exemplifiquei. Simplifiquei da melhor maneira que achei necessário, colocando salário bruto x salário líquido, já com alguns descontos, fiz o uso de ferramentas como Excel e calculadoras de salário Em questão das margens de lucro, coloquei valores fictícios utilizando a mesma lógica, de valor produção, retirando impostos que são pagos por todos serviços prestados. A sociedade atual tem tratado o computador com extrema importância. Com ele, profissionais como cientistas e engenheiros de computação, programadores, analistasde sistemas, etc. têm ocupado posição de destaque. Todos esses profissionais têm como base disciplinas como lógica, algoritmos, estrutura de dados, matemática discreta, geometria, estatística, etc., e todas estas disciplinas estão fundamentadas na matemática descoberta ao longo dos séculos anteriores. No universo dinâmico da era atual, não dá para pensar em viver sem os conhecimentos básicos abordados, principalmente no que se refere aos profissionais da área de computação, sejam eles técnicos ou voltados ao gerenciamento de projetos. Esta base é diferencial para os profissionais que querem alcançar o sucesso, mas também é fundamental para a sobrevivência nos dias atuais, diante da quantidade de informações e dos avanços tecnológicos, que são extremamente rápidos. Pode-se dizer então, que para compreender o mundo contemporâneo, é necessário acompanhá-lo. Para isso a matemática, aliada à computação, tornou-se linguagem imprescindível. 6. ÉTICA E LEGISLAÇÃO PROFISSIONAL A Lei Geral de Proteção de Dados Pessoais (Lei n. 13.709, de 14 de agosto de 2018) foi aprovada em 2018 e entraria em vigor a partir de 14 de agosto de 2020. Houve pedido de adiamento da vigência da lei para maio de 2021, mas a proposta foi rejeitada pelo Congresso, entrando a legislação em vigor em 18 de setembro. A lei representa um marco histórico na regulamentação sobre o tratamento de dados pessoais no Brasil, tanto em meios físicos quanto em plataformas digitais. Além de mudar a maneira como instituições privadas coletam, armazenam e disponibilizam informações de usuários, a LGPD é destinada às instituições públicas – portanto, deve ser seguida por União, estados, Distrito Federal e municípios (STJ,2018) A LGPD é aplicável a qualquer operação de tratamento realizada por pessoa natural ou por pessoa jurídica de direito público ou privado, independentemente do meio, do país de sua sede ou do país no qual estejam localizados os dados, desde que a operação de tratamento de dados seja realizada no Brasil; a atividade de tratamento tenha por objetivo a oferta de bens ou serviços ou o manejo de dados de indivíduos localizados no país; ou, ainda, que os dados pessoais objeto do tratamento tenham sido coletados em território nacional (STJ,2018) É essencial saber que a lei traz várias garantias ao cidadão, que pode solicitar que dados sejam deletados, revogar um consentimento, transferir dados para outro fornecedor de serviços, entre outras ações. E o tratamento dos dados deve ser feito levando em conta alguns quesitos, como finalidade e necessidade, que devem ser previamente acertados e informados ao cidadão. Por exemplo, se a finalidade de um tratamento, feito exclusivamente de modo automatizado, for construir um perfil (pessoal, profissional, de consumo, de crédito), o indivíduo deve ser informado que pode intervir, pedindo revisão desse procedimento feito por máquinas. (SERPRO,2020) Em tese e lei veio para valer a todos, com a tentativa de legislar nossas informações, como de praxe as nossas informações já não eram de fácil acesso sem nos permitimos, porém não existia nada que nos assegurava isso , através da LGPD podemos nos sentir mais seguros e caso haja algum tipo de intromissão temos como denunciar e punir quem cometer esse crime. 7. DESENVOLVIMENTO DO PROJETO TEMA Desenvolvimento de um software que gerencie todas as tarefas de uma startup. Na proposta do enunciado, tivemos como objetivo citados em aulas o desenvolvimento do conhecimento adquirido passado pelos professores, através dele construímos nosso PIM. Na introdução desenvolvi ambas informações fictícias baseadas com a realidade , realizei algumas pesquisas e as fiz, assim como na temática de programação procurei resumir a parte teórica explicando com imagem e focando um pouco mais no desenvolvimento do software ,como citado no tema mostramos a linguagem que usamos e como usamos ela para o funcionamento do nosso software, tais quais foram While No programa elaborado usamos as bibliotecas “stdio.h” para as entradas e saídas e criação de arquivos txt, a utilização da “stdlib.h” para alocação de memorias . “string.h” para a manipulação de Strings e “locale.h” para o uso de pontuações da linguagem local. Seguinte usamos funções separadas para melhorar a leitura e entendimento do código, as posicionando anteriormente, posteriormente e em arquivo separado. Estruturas foram criadas sobre o pretexto de armazenar dados de mesmo tio para facilitar o armazenamento em uma única variável. A utilização de laços de repetição(for e Do-While) e de seleção (if-esle e switch case) para melhorar a visibilidade e encurtar a escrita. O sistema começa no menu inicial que leva o funcionário para as funções de seu departamento. A separação é feita através de um login que tem uma senha especifica criada e que somente o supervisor de cada setor tem acesso (ex. Apenas o supervisor do setor contábil tem a senha para programa levar as devidas funções). Posteriormente, é exibido na tela opções prontas para escolha. Os CEOs da empresa tem acesso aos relatórios referentes as operações que se localizam em arquivos txt. O Relatório é feito pelos supervisores e apenas os donos tem acesso. Em matemática para computação, foram usados cálculos simples referentes aos pagamentos em custos de operações. Em sua maioria foram utilizadas contas simples como multiplicações, divisões, somas, subtração e porcentagem. O sistema começa no menu inicial que leva o funcionário para as funções de seu departamento. A separação é feita através de um login que tem uma senha especifica criada e que somente o supervisor de cada setor tem acesso (ex. Apenas o supervisor do setor contábil tem a senha para programa levar as devidas funções). Posteriormente, é exibido na tela opções prontas para escolha. Os CEOs da empresa tem acesso aos relatórios referentes as operações que se localizam em arquivos txt. O Relatório é feito pelos supervisores e apenas os donos tem acesso. Já na parte de Engenharia de Software, fiz uma pesquisa breve em alguns livros em nossa biblioteca virtual, pesquisei também na internet diversas opiniões sobre o assunto até chegar nas conclusões apresentadas neste trabalho. Em redes procurei fazer um trabalho pouco mais extenso devido a quantidade de informações necessárias e essências para podermos também apresentar e fazer com que a empresa funcione corretamente, desenvolvi também a imagem apresentada no trabalho, onde mostro como foi feita a distribuição de rede para a empresa. Ética, usamos bastante o conhecimento e inclusive itens das diversas palestras que tive esse ano sobre a LGPD, deixando bem claro qual real objetivo do mesmo, palestras das quais me ajudaram em boa parte do desenvolvimento do PIM, auxiliando na construção ate mesmo do código. 8. CONCLUSÃO Com base nas pesquisas realizadas ,conclui que o RH e a Informática formam um casamento perfeito , tendo em vista que podemos literalmente informatizar todo o processo do setor, contribuindo com inclusão de normas padrões , como citadas na pesquisa a LGPD , que se tornou obrigatória e cada dia mais vemos a interação de ambos contribuindo para o melhor sempre. Esse bom relacionamento por exemplo, se vê em hospitais públicos e particulares , onde dentro do sistema usado pela rede hospitalar qualquer funcionário que nele tem acesso pode ser consultado com certa facilidade nome ,documentos, parentescos e ate mesmo endereços residências e de trabalho e ai que entra ambos , o RH com uma melhor gestão sobre pessoas ,sempre dando instruções de como agir, do que você pode ou não fazer dentro do seu ambiente de trabalho, mas sempre teremos alguém que não é capaz de seguir regras, e ai que entramos, colocando restrições a usuários, detectando erros,entre outras coisas. Paracriamos um trabalho baseado nessas ideias, utilizamos o nosso dia a dia ,porém devido a alta complexidade colocamos tudo aquilo que julgamos necessário para o cotidiano e que sentimos certa deficiência em sua ausência. Procuramos montar uma empresa bem simples, porém com visões humanos, dado a proposta se tratar de uma startup, defiramos que os CEO’S além de administrar fariam parte do time de vendas, até porque ninguém para vender do que os próprios donos, eles seriam o primeiro no caso de prospecção. Pensamos também em caso de não haver prospecção o cliente entraria em contato e teríamos a nossa recepcionista para filtrar para qual setor direcionar, ambos CEOS respondem por todos setores, porém eles tem foco diferentes, um supervisiona a parte de RH e o outro o financeiro, pois dentro do nosso software encontramos relações com ambos. Tivemos o maior cuidado possível na criação da empresa fazendo que nada inflija LGPD e traga consequências negativas devida a sua alta complexidade e sensibilidade de dados em seu portfólio. Como por exemplo restringimos em nossos softwares o acesso a diversas coisas que apenas os proprietários poderão tem acessos. Deixei a cargo dos auxiliares o suporte técnico também, pois por se tratar de duvidas não tão complexas podendo ser resolvidas de maneira rápida e pratica e deixando apenas situação mais delicadas a seus superiores. Este projeto só mostrou o quanto podemos evoluir a relação de programação com todos tipos de áreas espalhadas, podendo de maneira delicada dominarmos um pouco de cada coisa, nos trazendo diversas experiências e conhecimento que so podem ser adquiridos de outras áreas com conversas, projetos e também da um visão de ampliação deste mercado que ao meu ver vem sendo pouco explorado tendo condições de uma evolução gigantesca. 9. REFERÊNCIAS - Palestra dada para instrução sobre LGPD Livro – Engenharia de software conceitos básicos - kaul sidnei wazlawick 2013, p. 4 Revista - Conheça a importância da Engenharia de Software – por Fabio Janio Livro - Engineering Software Products: An Introduction to Modern Software Engineering, - TRADUZIDO POR PEARSON – IAN SOMMERVILE https://www.serpro.gov.br/lgpd/menu/a-lgpd/o-que-muda-com-a-lgpd - Instruções da LGPD https://www.inf.pucrs.br/~pinho/LaproI/htm - estudo realizado por professores sobre linguagem c SOMMERVILLE, I. Engenharia de software. 10.ed. São Paulo: Adison-Wesley, 2019. 9788543024974 https://plataforma.bvirtual.com.br/Leitor/Publicacao/168127/pdf/0 Livro - Treinamento em Linguagem C – por Victorine Viviane MizrahiLivro Livro - C: Completo e Total Herbert Schildt BOYER, CARL B., A History of Mathematics, John Wiley & Sons, inc, 1ª edição, 1991. DAGHLIAN, JACOB, Lógica e Álgebra de Boole, Editora Atlas, 4ª edição, 1995. NUSSENZVEIG, MOYSÉS, Curso de Física Básica, Vol. I, II, III e IV, Editora EdgardBlücher, 1ª edição, 1998. DALCÍDIO, CLÁUDIO, Fundamentos da Matemática Computacional, Editora Sagra, 1ª edição, 1987.
Compartilhar