[Música] Olá alunos sejam bem-vindos a mais uma aula da nossa disciplina hoje nós vamos falar um pouquinho sobre a engenharia de programas e desenvolvimento de software bem inicialmente é muito importante falarmos de com fundamental é para o desenvolvimento do software de controle de processos de manufatura essa questão da evolução dos programas de computador tá fundamental essa evolução é muito importante nós estamos em um processo muito acelerado de novas tecnologias e é importante também né que vocês entendam né dessa engenharia desse processo que existe né Para que também consigam acompanhar um pouquinho aí do que que
está surgindo a engenharia de programas pessoal ainda tem um desafio Qual o desafio dessa engenharia né seria desafiador pensando em tantos dispositivos em tantas automações máquinas Poderosas que nós temos bem o desafio Justamente a complexidade do sistemas né então é uma necessidade muito grande de integração com outros sistemas e também como foi falado um pouco da do desafio é justamente essa aceleração essa evolução constante e acelerada obviamente das tecnologias né É muito difícil acompanhar toda essa atualização que vem que surgindo se você pensar que a todo uma engenharia a toda uma um todo investimento para
que se consiga construir um software construir um sistema E aí quando você às vezes conclui essa etapa de desenvolver algo com essa evolução tão crescente então acelerada dos processos e das tecnologias Pode ser que alguma coisa Fique obsoleta nesse caminho então é sim grande desafio é sim complexo tudo esse processo e é muito importante que a gente acompanhe e procure estar sempre um passo à frente Principalmente quando estamos lidando aí com máquinas lidando com tecnologias com software hoje com a questão da Inteligência Artificial é importante procurar estar sempre um passo à frente para que você
tenha um tempo né e que também seja possível que essas atualizações aconteçam falando um pouquinho aqui sobre o ciclo de vida de software o ciclo de vida de software é um conjunto de Fases pelas quais um software passa desde a sua concepção até a sua retirada do mercado bem então todo software se você já acompanha se você já perceberam geralmente o software eles são atualizados anualmente né eu vou dar um exemplo aqui por exemplo você tá um grande desenvolvedor por exemplo Autodesk que é a desenvolvedora e da do AutoCAD por exemplo geralmente ela lança o
software por exemplo 2000 vamos assim 2023 né em 2023 ela vai lançar o software CAD 2024 é muito comum eles lançarem um software Futuro no ano anterior Ok é quer dizer no ano presente e aí você o que que acontece quando termina aquele ano aquele ciclo eles atualizam aí você tem que realmente fazer essa atualização hoje é muito comum de diante das complexidades Inclusive tem uma palavrinha que é muito estranha mas ela acontece hoje com mais facilidade com muito software que é a interoperabilidade e diante dessa necessidade né de criar um software que seja interoperável
ele ele precisa também acompanhar todo esse processo todo esse e tecnológica Mas ele tem também precisa conversar com outros softwares Ok então essa questão do ciclo é você agora quando termina um ano ou aquela atualização ou Obrigatoriamente o software entra num processo de atualização para que aquela pessoa não fique talvez ali com com aquele drive ainda errado que venha sofrer com as atualizações dando problema né no processamento então por exemplo é muito comum também esse softwares que a gente trabalha são sofres complexos como eu falei aqui são software que são pesados eles travam naturalmente então
se ele for incompatível se eu tiver usando uma máquina que ela ela está ali com processador mais recente com o sistema operacional mais recente e se eu pousar um software que é ultrapassado a chance de dar alguma trava nele a gente usa esse termo tá então lá ele entre aspas aqui bugar né o sistema é muito mais possível que isso aconteça se eu não tiver com tudo atualizado Então hoje muitas marcas estão fazendo isso nós sempre ao final de um ciclo ela meio que força a atualização tá você consegue meio que fazer uma reprogramação dessa
atualização mas você não consegue prosseguir muitas coisas sem que de fato Em algum momento você para ali para atualizar esse software Ok as principais fases são especificação de requisitos análise de projeto implementação teste e manutenção então assim geralmente a maioria dos softwares eles têm uma versão inicial de entrada né Acho que vocês fazem ali os testes e tudo mais e a partir desses testes eles conseguem evoluir com esse projeto para talvez um relacionamento um aprimoramento daquela daquela plataforma ali para que de fato ela volte ele para o mercado e consiga cumprir bem ali o seu
papel diante do que for necessário e do que esse software se propor a fazer tá então tem software questão de controles tem softssação de gestão tem sofres que são de criação mesmo né de modelagem tem softwares que estão ligados a simulação então todos eles têm um propósito Ok então dentro da proposta que cada um possui ali existe esses testes existe esse esse refino ali para que ele possa cumprir bem o seu papel e claro né que ele não dê problemas durante o uso esse é muito importante é fundamental principalmente porque nós falamos aí de uma
questão de uma cadeia produtiva né se eu tenho um gargalo nisso eu tenho um problema com o software todo o meu processo produtivo pode comprometido por causa disso especificação de requisitos a especificações de requisitos é a fase em que se define o que o software deve fazer é importante que os requisitos sejam claros e precisos para que o software atenta as necessidades do usuário foi um pouco do que eu falei com vocês certo todo software tem porque desistir e ele tem dentro dele comandos e soluções que você consegue trabalhar tá tem alguns softwares que eles
são tão complexos e tão grandes né em possibilidades que muitas empresas às vezes não utilizam na sua totalidade Ok então assim tem essa questão não fala de especificar os requisitos tá ligado de fato o que se destina que ele sofra um outro ponto importante que vocês precisam ficar bem bem cientes todo software tem ali requisitos em relação a máquina que ele vai operar Ok então assim vamos falar em computadores Ok você pensar em computador Às vezes a pessoa tem um computador que já está ultrapassado que não tem memória suficiente ele não tem armazenamento suficiente ele
não tem né tudo que é necessário ali para que ele solte rodar dentro do que é esperado Mas aí você instala ele na máquina e quer trabalhar com ele ele tem o mínimo exigido tá todo software vai ter o mínimo exigido se você colocar o mínimo ele fala beleza dá para você trabalhar com mínimo Mas saiba que pode acontecer algum problema durante a utilização o ideal é que você tenha este este essa configuração esse tanto de armazenamento esse tanto de memória que tenha essa capacidade Enfim então ele sempre traz para você ali Pontos importantes que
você como usuário precisa ficar ligado né e procurar atender para que todo o processo ocorra muito bem é um pouquinho então aqui sobre esses requisitos nós vamos falar sobre análise tudo bem análise é a fase que se identificam comportamento do sistema e suas interações com o ambiente nessa fase são definidos os casos de uso e os diagramas de sequência o projeto é a fase se define arquitetura do sistema e como ele será implementado tá nessa fase Então são definidas os diagramas de classes e as especificações das interfaces tá então todo software tem uma interface tem
uma arquitetura que aquilo que você vê ele na frente quando você está operando determinado software vamos lá implementação a implementação pessoal é a fase em que o código é escrito Ok e é importante que o código Seja claro com siso fácil de manter quando a gente fala assim essa implementação que pode para isso né todo software tem uma programação então o código Tudo bem mas que é importante crescer entenda também esse processo tá os testes os testes são fundamentais para garantir que o software funciona corretamente eles são realizados aí né são testes de unidade integração
e sistema a manutenção é que aí quando as coisas estão acontecendo né é a fazem que o software é corrigido tá ele é corrigido e procura-se essa evolução ao longo do tempo tá é importante então que o software seja fácil de manter e evoluir então muitas programações que são feitas são esse processo ele é pensado por isso que eu falei com vocês é muito comum ter um software e ele sofrer atualizações ao longo do ano né então ele tem ciclo obviamente mas ele ele é programado para atualizar ele é programado para ter uma evolução pode
ser no sistema no operacional dele mas pode ser também de interface tá então quando eu citei o Autocad por exemplo ou tocar e ele já sofreu algumas evoluções na interface ele tinha uma uma interface ele tinha um jeito de você encontrar as ferramentas para você trabalhar para você modelar e hoje ele tem uma outra interface né que acompanha um pouco dessa evolução de como que os outros softwares também se comporta isso é muito importante as grandes empresas elas ficam muito ligadas nesse processo sistemas operacionais para controle em tempo real os sistemas operacionais para controle em
tempo real são sistemas que garantem as tarefas que devem ser executadas dentro dos prazos pré-definidos tá então assim Claro existem diversos softwares existem diversos sistemas operacionais que fazem isso Tá Mas o ponto chave que eu acredito que é importante vocês entenderem é que a funcionalidade dessa ferramenta que é controlar esses prazos execução nesses prazos né que isso não fique comprometido por uma questão de de código de configuração nesse software tá então é claro que provavelmente as empresas elas vão procurar ali por softwares que são mais conhecidos inclusive e você precisa estar sempre ligado e procurando
se atualizar saber mais sobre aquilo a ferramenta né Para que conseguir gerir todo o processo bem a engenharia de programas para automação industrial ela envolve o desenvolvimento de softwares né para questão ligada a Sistema de Controle supervisão monitoramento de processo industriais tá é esse essa atividade ela envolve ali a criação de programas em linguagens específicas como a linguagem de de laser além de testes e depuração de programas tá Eu já falei um pouquinho disso com vocês em aulas anteriores já as arquiteturas básicas de computadores para controle em tempo real elas envolvem aí né o uso
de processadores específicos tá isso com baixa latência e alta capacidade de processamento esses processadores são geralmente acompanhados de memória RAM e Rum né além de modos de entrada e saída os controladores programáveis eles são dispositivos eletrônicos projetados para controlar máquinas e equipamentos industriais tá eles permitem ali a programação lógica para controlar o funcionamento de máquinas e equipamentos tá claro isso sempre tem uma conexão né bem específica uma linguagem que é pré-estabelecida e tudo isso pessoal vamos sempre conectar né a gente tá falando de automação industrial e a gente conecta isso toda essa estrutura que é
necessária para que haja o início meio e fim de uma criação de um produto ok e essa questão dos controladores é um ponto também chave importante a gente está lidando aqui com dispositivos eletrônicos e o que eu falei com vocês por exemplo que há uma evolução tecnológica uma aceleração muito forte em relação a novas tecnologias que vão surgindo inclusive quando a gente está falando de questões eletrônicas tá então é muito comum em relação a parte eletrônica alguns elementos ficarem obsoletos né Tem muita coisa hoje que você encontrava anteriormente nos computadores que não existem mais ou
então que ficaram de fato obsoletos por exemplo hoje a gente tem muita coisa em nuvem era muito comum você já deve ter visto isso as pessoas usavam antigamente disquetes as pessoas usavam o CD rum né para fazer armazenagem Teve uma época que surgiram os MP três aí eram dispositivos em que se carregava depois veio a época dos pendrives Depois vieram dos cartões ainda existe isso né você encontra ainda esse tipo de dispositivo de armazenamento de armazenagem mas é hoje é bem mais seguro e bem mais prático a gente armazenar as coisas em nuvem é uma
evolução da tecnologia se eu posso fazer armazenagem em nuvem Eu posso também talvez dedicar um pouco mais de espaço dentro de uma máquina para amplificar talvez ali um outro elemento importante né dentro de uma máquina dentro de um computador porque as pessoas não vão mais precisar de colocar em um HD como era utilizado anteriormente né Eu acho que ainda tem computadores assim mas cada vez mais em desuso por causa dos riscos né de perda da pessoa perder dados ali por causa de um de um dispositivo como um HD por exemplo né Qualquer movimento ele pode
danificar o disco interno dele e você perder todos os dados Ok então é importante entendo isso e a importância de se acompanhar toda evolução e procurar estar sempre um passo à frente pesquisando sobre as tecnologias pesquisando sobre as máquinas pesquisando um pouco sobre pesquisando sobre os software O que que tá surgindo no mercado que qual é a próxima evolução Qual que é o próximo passo né Para que você consiga quando aquilo chegar está bem estabilizado ali e conseguir cumprir com suas programações ok os sistemas operacionais eles são responsáveis por gerenciar as atividades do sistema ok
e segurar que as tarefas sejam executadas dentro dos prazos determinados Tudo bem então nós temos sim uma questão de controle em tempo real e aquilo tem que ser acompanhado e claro tem toda uma questão do sistema de segurança que precisa ser bem executado né então é tudo isso é para que não haja gargalos no processo tem pessoa falando um pouquinho para vocês aqui sobre as interfaces de programação de aplicações né conhecidas aí como Ápice essas apps não vão falar assim né são conjuntos de rotinas protocolos e ferramentas de construção de software elas permitem então uma
comunicação entre diferentes sistemas e possibilitam também a integração de hardware e software a gente estudou um pouquinho em aulas passadas aí sobre essa questão né do hardware e sofre então nós temos aí por exemplo apps para sistemas embarcados né Por exemplo o cam e o spi falando sobre programação orientada a objetos essa questão pessoal é um paradigma de programação que utiliza objetos para representar entidades do mundo real ela se baseia em quatro conceitos fundamentais é o encapsulamento a herança o polimorfismo e abstração tá ela permiteração de software modular reutilizável e de fácil manutenção que um
exemplo né nesse slide para vocês de uma programação são orientada a objetos incluindo pessoal a engenharia de programas de desenvolvimento de softwares elas são fundamentais para automação industrial desenvolvimento de sistemas embarcados requer conhecimento em eletrônica programação e sistemas operacionais em tempo real as ferramentas de desenvolvimento e a linguagem de programação evoluem constantemente permitido então uma criação de sistemas cada vez mais sofisticados e eficientes Foi o que eu falei com vocês durante a aula né dessa desse processo acelerado que nós temos e que a cada vez mais não só as máquinas Nem só não só os
raduantes estão evoluindo Ok e claro cada vez mais também toda estrutura toda o sistema para fazer aquilo funcionar está diminuindo né alguns estão até desaparecendo como eu falei com vocês ali sobre citando a nuvem como exemplo e o software né ele ele vem constante evolução vem sendo aprimorado para que o usuário tenha uma experiência A utilizá-lo então a interface os comandos a questão para fazer gestão de um processo né então cada vez mais é uma evolução e um cuidado né para que todo o processo ocorra né do início ao fim com segurança sem perda de
dados que é muito importante então acompanha essa evolução e fique muito antenado é Claro porque cada vez mais quando a gente lida com tecnologia com questões eletrônicas isso vai ser ter né um upgrade ali constante todos os anos e talvez até mais vezes ao longo de um ano né com dependendo do que for sistema e dependendo do que De qual benefício essa evolução vem a produzir né Porque quanto mais benefícios mais acelerados se torna ali um processamento ou uma produção Ok bem pessoal chegamos então ao final da nossa aula eu quero te convidar aí a
participar do nosso fórum e também a fazer o estudo dirigido tudo bem Um grande abraço e até a nossa próxima aula [Música]