O documento discute a evolução da engenharia de software ao longo dos anos. Começa explicando que os softwares precisam mudar para acompanhar as mudanças nos requisitos, senão podem ficar obsoletos. Em seguida, descreve as primeiras eras do desenvolvimento de software, desde os anos 1950 até os dias atuais, focando nos avanços tecnológicos e nas abordagens de engenharia de software ao longo do tempo.
Descrição original:
Título original
Capitulo i Aula 2 - Eng de Sostware Evolucao de Software
O documento discute a evolução da engenharia de software ao longo dos anos. Começa explicando que os softwares precisam mudar para acompanhar as mudanças nos requisitos, senão podem ficar obsoletos. Em seguida, descreve as primeiras eras do desenvolvimento de software, desde os anos 1950 até os dias atuais, focando nos avanços tecnológicos e nas abordagens de engenharia de software ao longo do tempo.
O documento discute a evolução da engenharia de software ao longo dos anos. Começa explicando que os softwares precisam mudar para acompanhar as mudanças nos requisitos, senão podem ficar obsoletos. Em seguida, descreve as primeiras eras do desenvolvimento de software, desde os anos 1950 até os dias atuais, focando nos avanços tecnológicos e nas abordagens de engenharia de software ao longo do tempo.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 1
INTRODUÇÃO Os sistemas geralmente refletem situações do mundo real e, com isso, há uma necessidade que o software mude acompanhando as mudanças de requisitos impostos pelo ambiente em que está inserido. Se o sistema não sofre essas mudanças, pode ficar obsoleto e cair em desuso.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 2
SOFTWARE Softwares: São programas de computador e documentação associada. Produtos de software podem ser desenvolvidos para um cliente específico ou para o mercado em geral. Engenharia de software: É uma disciplina de engenharia cujo foco está em todos os aspectos da produção de software, desde os estágios iniciais da especificação do sistema até sua manutenção, quando o sistema já está sendo usado.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 3
HARDWARE/SOFTWARE - CARACTERÍSTICAS Hardware:
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 4
HARDWARE/SOFTWARE - CARACTERÍSTICAS A taxa de defeitos em função do tempo para hardware. Essa relação, normalmente denominada “curva da banheira”, indica que o hardware apresenta taxas de defeitos relativamente altas no início de sua vida. Os defeitos são corrigidos e a taxa cai para um nível estável (felizmente, bastante baixo) por certo período. Entretanto, à medida que o tempo passa, a taxa aumenta novamente, conforme os componentes de hardware sofrem os efeitos cumulativos de poeira, vibração, impactos, temperaturas extremas e vários outros males ambientais. Resumindo, o hardware começa a desgastar-se.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 5
HARDWARE/SOFTWARE - CARACTERÍSTICAS Software:
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 6
HARDWARE/SOFTWARE - CARACTERÍSTICAS Defeitos ainda não descobertos irão resultar em altas taxas logo no início da vida de um programa. Entretanto, esses serão corrigidos e a curva se achata como mostra a seguinte figura. A curva idealizada é uma simplificação grosseira de modelos de defeitos reais para software. Porém, a implicação é clara: software não se desgasta, mas sim se deteriora!
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 7
SOFTWARE - EVOLUÇÃO O envelhecimento de um software é um processo inevitável, mas é possível de ser compreendido e suas causas previstas, para que sejam minimizados os impactos dos danos causados por esse envelhecimento. Ele pode se dividir em duas vertentes: quando as mudanças necessárias não são implementadas e o sistema não é adequado às novas regras de negócio utilizadas, e a segunda é quando as adaptações são feitas de maneira desordenada e acarretam problemas para o sistema como um todo, gerando novos erros e diminuindo sua manutenibilidade.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 8
SOFTWARE - EVOLUÇÃO
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 9
SOFTWARE – EVOLUÇÃO - OS PRIMEIROS ANOS Os primeiros softwares surgiram na década de 50 No desenvolvimento de sistemas computadorizados, o hardware sofreu contínuas mudanças, enquanto o software era visto por muitos como uma reflexão posterior. A programação de computador era uma arte secundária para a qual havia poucos métodos sistemáticos. O desenvolvimento do software era feito, virtualmente, sem administração até que os prazos começassem a se esgotar e os custos a subir abruptamente. Durante esse período, era usada uma orientação batch (em lote) para a maioria dos sistemas. Notáveis exceções foram os sistemas interativos, tais como o primeiro sistema da American Airlines e os sistemas de tempo real orientados à defesa, como o SAGE.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 10
SOFTWARE – EVOLUÇÃO - OS PRIMEIROS ANOS Na maior parte, entretanto, o hardware dedicava-se à execução de um único programa que, por sua vez, dedicava-se a uma única aplicação específica. Também nos primeiros anos, o hardware de propósito geral tornara-se lugar- comum. O software, por outro lado, era projetado sob medida para cada aplicação e tinha uma distribuição relativamente limitada. O software dito "pacote", isto é, programas para serem vendidos a um ou mais clientes, estava em sua infância. A maior parte do software era desenvolvida e em última análise usada pela própria pessoa ou organização. Você escrevia-o, colocava-o em funcionamento e, se ele falhasse, era você quem o consertava.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 11
SOFTWARE – EVOLUÇÃO - A SEGUNDA ERA Os sistemas computadorizados estenderam-se de meados da década de 1960 até o final da década de 1970. A multiprogramação e os sistemas multiusuários introduziram novos conceitos de interação homem-máquina. As técnicas interativas abriram um novo mundo de aplicações e novos níveis de sofisticação de software e hardware. Sistemas de tempo real podiam coletar, analisar e transformar dados de múltiplas fontes, daí controlando processos e produzindo saída em milissegundos e não em minutos. Os avanços do armazenamento online levaram à primeira geração de sistemas de gerenciamento de banco de dados. Também foi caracterizada pelo uso do produto de software e pelo advento de "software houses".
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 12
SOFTWARE – EVOLUÇÃO - A SEGUNDA ERA O software era desenvolvido para ampla distribuição num mercado interdisciplinar. Programas para mainframes e minicomputadores eram distribuídos para centenas e às vezes milhares de usuários. Muitos puseram-se a desenvolver pacotes de software e ganhar muito dinheiro. À medida em que o número de sistemas baseados em computador crescia, bibliotecas de software começaram a se expandir.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 13
SOFTWARE – EVOLUÇÃO - A TERCEIRA ERA Os sistemas computadorizados começaram em meados da década de 1970 e continuam até hoje. Os sistemas distribuídos e múltiplos computadores, onde cada um, executando funções concorrentemente e comunicando-se um com o outro, aumentaram intensamente a complexidade dos sistemas baseados em computador. As redes globais, as comunicações digitais de largura de banda ("bandawidth") elevada e a crescente demanda de acesso "instantâneo" a dados exigem muito dos desenvolvedores de software. Também foi caracterizada pelo advento e o generalizado uso de microprocessadores, computadores pessoais e poderosas estações de trabalho "workstations" de mesa. O microprocessador gerou um amplo conjunto de produtos inteligentes. Do automóvel a fornos microondas, de robôs industriais a equipamentos para diagnóstico de soro sangüíneo.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 14
SOFTWARE – EVOLUÇÃO - A TERCEIRA ERA Em muitos casos, a tecnologia de software está sendo integrada a produtos por equipes técnicas que entendem de hardware mas que freqüentemente são principiantes em desenvolvimento de software. O computador pessoal foi o catalisador do crescimento de muitas empresas de software. Enquanto as empresas de software da segunda era vendiam centenas ou milhares de cópias de seus programas, as empresas da terceira era vendem dezenas e até mesmo centenas de milhares de cópias. O hardware de computador pessoal está se tornando rapidamente um produto primário, enquanto o software oferece a característica capaz de diferenciar.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 15
SOFTWARE – EVOLUÇÃO - A QUARTA ERA As tecnologias orientadas a objetos, orientadas a documentos, estão ocupando o lugar das abordagens mais convencionais para o desenvolvimento de software em muitas áreas de aplicação. As técnicas de "quarta geração" para o desenvolvimento de software já estão mudando a maneira segundo a qual alguns segmentos da comunidade de software constroem programas de computador. Os sistemas especialistas e o software de inteligência artificial finalmente saíram do laboratório para a aplicação prática em problemas de amplo espectro do mundo real. O software de rede neural artificial abriu excitantes possibilidades para o reconhecimento de padrões e para capacidades de processamento de informações semelhantes às humanas.
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 16
SOFTWARE – EVOLUÇÃO - A QUARTA ERA
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 17
DÚVIDAS ACRÉSCIMOS E INQUIETAÇÕES
DOCENTE: Dr. Arfino Ichamo Aquimo Email: aaquimo@unirovuma.ac.mz 21 de abril de 2022 18