E aí [Música] e para começarmos nossos estudos sobre engenharia de software é necessário que busquemos responder algumas questões importantes Bom primeiramente o que é softer onde ele se aplica porque utilizamos quais suas características e quais são os atributos todas essas respostas são necessárias para que nós possamos compreender o próprio conceito e finalidade da engenharia de software a conta definição de software segundo o Dicionário Aurélio nós temos aquilo que pode ser executado por um equipamento no caso o hardware e um produto comercializado que consiste num sistema de rotinas e funções trazendo mais algumas definições do Prisma
nós temos instruções programas de computador que quando executadas produzem a função e o desempenho desejados estruturas de dados que possibilitam que os programas manipulem adequadamente a informação e documentos que descrevem a operação e uso dos programas percebo agora que a definição de software é muito mais Ampla ela vai além do código englobando também as estruturas de dados necessárias assim como toda a documentação gerada é Porque usamos softwares Quais as motivações para o uso de software no nosso dia a dia são diversos os motivos automatizar um processo melhorar a qualidade das informações apoiar decisões estratégicas melhorar
a qualidade de vida dar mais credibilidade às informações de maneira geral nós usamos o software para automatizar e melhorar processos no nosso dia a dia em diferentes âmbitos e perspectivas tanto no uso pessoal quanto no uso profissional e quando olhamos para o percurso histórico do hardware e do software nós temos que no início o principal desafio era diminuir o custo do hardware e o custo do processamento armazenamento ou seja hardware era uma coisa muito cara e muitas sócios ficavam apenas na ideia pois não havia ar de suficiente para executá-los temos exemplo aqui que nos anos
50 o HD da IBM ele tinha capacidade de armazenamento de 5 megabytes hoje em dia o desafio é melhorar o curso das soluções nós temos muita capacidade de armazenamento e precisamos fazer uso de todo esse potencial assim como potencial de processamento Então temos um exemplo aqui o Micro SD de 1 terabyte do ano de 2019 ou seja um dispositivo muito menor e com uma capacidade muito Ampla de armazenamento e quando olhamos revolução do software nós podemos enxergar aí 4:00 na sua linha do tempo nos primeiros anos nós temos sistemas em lote a distribuição era limitado
o solta ele era altamente customizado e o programador era o responsável pelo programa ou seja o próprio desenvolvedor é que ia seu usuário final não existe a perspectiva de software integrado ao dia a dia das pessoas ou nas casas ou nos telefones como nós temos no dia a dia de hoje tá segunda era suja em Sistemas mais complexos a ideia de multiusuários interconectados por dispositivos de redes uma maior interação homem-máquina e Começam a surgir as bibliotecas de software aumentando o potencial de desenvolvimento na terceira era nós já temos aí sistemas distribuídos a inteligência embutida o
hardware começa a ter um custo em baixo o maior consumo quando o computador começa aí para sai do âmbito da academia do âmbito militar e começa a entrar no dia a dia das pessoas e o grande representante é o microprocessador e o PC entra na casa das pessoas a e na quarta era nós temos a tecnologia orientada a objetos computação paralela Inteligência Artificial uma dificuldade muito grande extrair todo o potencial de hard Aqui nós temos e consequentemente uma maior demanda por novos programas que consigam fazer uso e todo esse potencial é mas onde o software
está quando Nós pensamos em software é mais comum nós temos em mente alguns dispositivos como computador o tablet smartphones Smart TV videogames e até mesmo nos robôs Mas será que é só isso nós temos o solta integrado em vários outros dispositivos e em vários outros setores da sociedade no caso como alguns exemplos nós temos as chamadas casas inteligentes cujas dispositivos são interconectados por meio de wi-fi a chamada internet das coisas a integração de tecnologias aos automóveis nos casos do computador de bordo tecnologias assistivas que permite uma maior acessibilidade Por parte dos portadores de necessidades especiais
tecnologias Integradas ao agronegócio e a integração das tecnologias nos eletrodomésticos no caso como exemplo temos aqui uma chá é inteligente e como exemplo da Integração dos softwares no dia a dia nós temos um vídeo chamado a day made of Glass trata-se de uma peça publicitária que foi veiculado em 2011 e é possível você assistir a versão integral no YouTube nós temos aqui um compilado para mostrarmos a vocês algumas perspectivas tecnológicas que foram apresentados nesse vídeo e que hoje em dia já estão perfeitamente integradas nosso dia a dia eu peço que vocês prestem atenção nas possibilidades
de uso de software nesses positivos vamos lá E aí E aí [Música] E aí [Música] Oi e aí gostaram do vídeo Eu espero que você tenha entendido todo o potencial de uso de software nesses novos dispositivos alguns já existem outros estão ainda em plano de desenvolvimento mas é importante observar mos todo o potencial de uso do software Oi e aí eu volto a perguntar Vocês onde o sol três tá agora a pergunta é bem diferente é possível nós identificarmos numa única fala todas as possibilidades de uso softer impossível né a gente tem principalmente Depois desses
nosso vídeo e quais as principais características de um software segundo Prisma são quatro as principais características primeiro o software é abstrato e intangível ou seja não é possível tocar um softer você ele consiste em algo Lógico que depende de um meio físico para executar importante abstrato ao contrário do Hardware quem nunca ouviu uma piadinha o rádio é aquilo que a gente chuta e o sol ter aquilo que a gente xinga é justamente a característica dos softwares a abstração e o solta é feito sob medida embora indústria caminho para a construção com base em Componentes que
possam ser reaproveitados em diversos projetos a maioria dos ovos ainda continua a ser construída de forma personalizada isso quer dizer que mesmo e software de prateleiras atende a questões específicas de um público restrito ao seu escopo e o software também ele é projetado por engenharia tanta fabricação de rádio desenvolvimento de software Depende de pessoas Isso é fato mas a relação entre pessoas envolvidas e trabalho realizado é completamente diferente quando se pensa em hardware e software as abordagens são diferentes e os custos de software concentrou-se no processo de engenharia isso quer dizer que projetos de software
não podem ser geridos como se fossem projetos de fabricação que é uma característica do hardware e por fim o software não se desgasta o que significa isso o software não é suscetível aos males ambientais que fazem com que o hard esse desgaste não existem peças de reposição no software ou seja cada defeito indica um erro no projeto ou na codificação assim a manutenção de um solta ele é muito mais complexa do que em um Rider como estudaremos nas próximas aulas vamos dar uma olhadinha numa ilustração para entendermos o melhor essa característica importante cima do software
eu trago para vocês a partir de pressa um 2011 dois gráficos o primeiro deles nós chamamos de curva do Hardware que mostra o ciclo de vida de um hardware com suas taxas de falhas em função do tempo quando o raio é relançado nós temos um início com muitas falhas e muitos raios são descartados já nessa fase o que a gente chama de mortalidade infantil quando isso é superado durante um tempo o rádio funciona bem mas como nós já colocamos o rádio ele é suscetível a fatores ambientais então com o passar do tempo ele sofre um
desgaste E aí sua taxa de falhas volta a subir então rádio ele começa e termina com índice alto de falhas quando Nós pensamos no softer a curva é um pouco diferente nós temos aqui duas indicações estás onde começar a ver a chamada curva idealizada a dispensa embaixo Quando o Sol ter lançado ele tem muitas falhas que a gente chama de bugue esses bugs eles vão sendo ajustados e depois que isso é superado o software atingir uma constante ele nunca mais vai falhar é porque tudo foi superado e o software não é suscetível aos fatores ambientais
só que nós temos a chamada curva real a curva real ela tem esse nome porque dificilmente um software não sofre alterações durante a sua vida útil então nós temos aqui na curva real é uma alta taxa de falhas no início e depois ela vai sendo superada por em cada vez que ocorre uma modificação essa taxa de falha se espera novamente e nós temos isso acontecendo sempre que uma modificação ocorrer no software então nós temos aqui cada vez mais difícil a possibilidade de atingir aquela constante e essa é a chamada curva real do software em síntese
nós temos um hardware que com o passar do tempo ele vai ser abandonado ele vai pifar digamos assim e o software não tem esse tipo de desgaste o que acontece com software é que ele se torna obsoleto ele não atende mais a novas necessidades que surgiram mas para aquilo que ele foi projetado e codificado ele sempre vai realizar a tarefa da mesma maneira E quanto a sua forma de desenvolvimento nós podemos dizer que existem dois tipos de produtos de software para entendemos melhor um pouco disso nós vamos fazer uma analogia com aquisição de uma roupa
quando nós queremos uma roupa nós podemos adquirida de duas maneiras na primeira nós podemos ir até uma costureira ou um Alfaiate e fazer uma roupa sob medida ou nós podemos ir até uma loja uma confecção e comprar um produto que já esteja pronto e que nos agrade então nós temos um produto sobre encomenda no caso da costureira um produto genérico que não foi feito especialmente para nós mas que nos agradou e nós adquirimos conforme as nossas necessidades Isso também funciona para o softer Então é só nós fazemos a troca da questão da roupa pelo software
os produtos sob encomendas são softwares criados especialmente para um cliente que tem suas necessidades específicas e a ponta os sistemas tudo o que ele necessita já os produtos genéricos são os que nós chamamos de software de prateleira os quais nós procuramos vamos até a internet vamos até uma loja analisamos conforme as nossas necessidades e adquirimos o produto Esse é um software que não é desenvolvido especificamente para um cliente mas para um nicho de mercado para um escopo em específico dessa maneira nós temos Então os dois tipos de produtos de software o chamados produtos customizados e
os produtos genéricos nós temos em Summer viu alguns atributos essenciais para o considerado bom software primeiro deles é a manutenibilidade segundo o Summer viu o software deve ser escrito de forma que possa evoluir para atender necessidades dos clientes Esse é o atributo crítico porque a mudança de software é um requisito inevitável de um ambiente de negócio e mudança ou seja um software tem que ser capaz de sofrer manutenção a confiança e proteção à confiança do software inclui uma série de características como confiabilidade proteção e segurança um software confiável não deve causar prejuízos físicos ou econômicos
no caso de falha do sistema usuários maliciosos não deve ser capazes de acessar Ou prejudicar o sistema trata-se portanto de um atributo essencial ao bom solteiro a eficiência o software não deve desperdiçar os recursos do sistema como memória e ciclos de processador portanto eficiência e capacidade de resposta tempo de processamento uso de memória dentre outras características muito importante para o seu bom funcionamento a e por último aceitabilidade e usabilidade o software deve ser aceitável para o tipo de usuário para o qual foi projetado Isso significa que deve ser compreensível usável e compatível com outros sistemas
usados por ele E agora fica uma pergunta como um software é construído nós vamos responder isso com os estudos que faremos nas próximas aulas aprofundando o conceito da engenharia de software processo modelo de processos e análise de requisitos e por hoje é isso pessoal nos vemos um próximo vídeo tchau E aí E aí E aí [Música]