Images (2)

Engenharia de Software

  • Início

    Início
    A programação de computadores começa a ser usada comercialmente. Na época, os programadores trabalhavam em equipes pequenas e frequentemente se envolviam em todo o ciclo de vida do software, desde a análise até a codificação e o teste. Ainda não havia um processo formal para desenvolvimento de software.
  • UNIVAC I

    UNIVAC I
    UNIVAC I foi o primeiro computador comercialmente disponível, foi usado principalmente para fins militares, mas também foi adquirido por empresas e governos para fins comerciais e de pesquisa. Com o aumento do uso de computadores nas décadas seguintes, houve uma crescente demanda por programadores e profissionais de tecnologia da informação, impulsionando o crescimento da indústria de software e da engenharia de software.
  • FORTRAN

    FORTRAN
    O FORTRAN (Formula Translation) foi uma das primeiras linguagens de programação de alto nível desenvolvidas. Ele foi criado por um grupo de programadores liderados por John Backus na IBM. Com o desenvolvimento do compilador FORTRAN, os programadores agora podiam escrever código em uma linguagem mais abstrata e mais fácil de ler e entender, o que permitiu um aumento significativo na produtividade e na eficiência do desenvolvimento de software.
  • Linguagens de Programação

    Linguagens de Programação
    Foram criadas algumas das primeiras linguagens de programação de alto nível, como o COBOL e o BASIC, que permitiram aos programadores escrever código de forma mais fácil e rápida, ajudando a impulsionar o desenvolvimento de software em larga escala.
  • Criação do Termo "Engenharia de Software"

    Criação do Termo "Engenharia de Software"
    A primeira conferência sobre engenharia de software é realizada em Garmisch, na Alemanha na NATO Conference on Software Engineering (Conferência sobre Engenharia de Software da OTAN). O termo "engenharia de software" é oficialmente ultilizado nessa conferência, foi cunhado e usado pela primeira vez pelo professor Friedrich Ludwig Bauer. Nessa época, os projetos de software ainda eram desenvolvidos sem um processo formal.
  • Consolidação e Estabelecimento de Modelos e Metodologias de Desenvolvimento de Software

    Consolidação e Estabelecimento de Modelos e Metodologias de Desenvolvimento de Software
    Os primeiros modelos formais de processo de software são desenvolvidos, incluindo o modelo em cascata. Nesse modelo, o processo de desenvolvimento é dividido em fases sequenciais (requisitos, design, implementação, teste e manutenção). Essa abordagem foi bastante utilizada na época e ainda é usada atualmente em muitos projetos de software.
  • Linguagem de Programação C

    Linguagem de Programação C
    A criação da linguagem de programação C por Dennis Ritchie teve uma grande relevância para a Engenharia de Software. Isso porque a linguagem C se tornou uma das linguagens mais utilizadas para o desenvolvimento de software e sistemas operacionais, permitindo aos desenvolvedores escrever código altamente eficiente e portável entre diferentes plataformas.
  • MS-DOS (Microsoft Disk Operating System)

    MS-DOS (Microsoft Disk Operating System)
    A Microsoft lançou o MS-DOS (Microsoft Disk Operating System), um sistema operacional que revolucionou o mercado de software. Antes do MS-DOS, os computadores pessoais eram vendidos sem sistema operacional instalado e os usuários precisavam comprar ou desenvolver seus próprios sistemas operacionais.
  • Projeto GNU

    Projeto GNU
    O Projeto GNU é um movimento criado por Richard Stallman para desenvolver um sistema operacional completo de software livre e código aberto, conhecido como GNU. O projeto foi criado em resposta ao crescente uso de software proprietário, que impedia que os usuários pudessem estudar, modificar e distribuir o código-fonte. O objetivo do Projeto GNU era criar um sistema operacional livre e completo, que incluísse todos os componentes necessários para um sistema funcional.
  • ISO/IEC 12207

    ISO/IEC 12207
    A norma ISO/IEC 12207 foi estabelecida para fornecer um conjunto de práticas e diretrizes para o ciclo de vida do desenvolvimento de software. A adoção da norma trouxe uma série de benefícios para a engenharia de software, incluindo a padronização de processos e práticas, o que facilitou a colaboração entre equipes de desenvolvimento e melhorou a qualidade dos produtos finais. Além disso, a norma estabeleceu uma base comum para avaliação e melhoria do processo de desenvolvimento de software.
  • Object Management Group (OMG)

    Object Management Group (OMG)
    A fundação do Object Management Group (OMG), uma organização sem fins lucrativos que desenvolve padrões para a modelagem de software. O trabalho da OMG ajudou a padronizar a engenharia de software e a melhorar a interoperabilidade entre diferentes sistemas.
  • Kernel Linux

    Kernel Linux
    Linus Torvalds criou e lançou o kernel Linux como um projeto de código aberto, impulsionando o movimento de software livre e de código aberto. O Linux se tornou um dos sistemas operacionais mais populares do mundo, caracterizado por ser gratuito, de código aberto e altamente customizável. O lançamento do Linux teve um grande impacto na engenharia de software, criando uma comunidade de desenvolvedores trabalhando juntos para aprimorar o sistema operacional.
  • Python

    Python
    Guido van Rossum criou a linguagem de programação Python, que se tornou uma das linguagens mais populares do mundo devido à sua simplicidade e facilidade de aprendizado. A linguagem foi criada para ser fácil de ler e escrever, com uma sintaxe clara e expressiva. Python é usada em uma ampla variedade de aplicações, desde desenvolvimento web até aprendizado de máquina e ciência de dados.
  • Manifesto Ágil

    Manifesto Ágil
    Foi criado o Manifesto Ágil, enfatizando a entrega de software em ciclos curtos e a colaboração com os clientes. Isso promoveu valores como indivíduos e interações, software funcionando, colaboração com o cliente e resposta à mudança. O manifesto ágil teve um grande impacto na engenharia de software, levando ao surgimento de diversas metodologias ágeis de desenvolvimento de software, como Scrum e Kanban.
  • Linguagem de Programação Java

    Linguagem de Programação Java
    A Sun Microsystems lançou a linguagem de programação Java, que se tornou amplamente utilizada em todo o mundo. Assim, permitindo que programas funcionem em diferentes plataformas sem recompilação. Isso levou ao desenvolvimento de uma variedade de aplicativos e sistemas de software baseados em Java, incluindo dispositivos móveis, desktops e servidores. A linguagem também desempenhou um papel importante no desenvolvimento de tecnologias da web, como o JavaServer Pages (JSP) e o Servlets.
  • Licença Pública Geral GNU versão 2 (GPLv2)

    Licença Pública Geral GNU versão 2 (GPLv2)
    Free Software Foundation (FSF) lançou a Licença Pública Geral GNU versão 2 (GPLv2), uma das licenças mais amplamente usadas para software livre e de código aberto. A GPLv2 incluiu várias melhorias em relação à sua versão anterior, tornando mais fácil para os desenvolvedores de software distribuírem e compartilharem seus programas. Além disso, o projeto GNU lançou uma série de novas ferramentas de software livre, como o GIMP (GNU Image Manipulation Program) e o GCC (GNU Compiler Collection).
  • Period: to

    Era da Computação em Nuvem e Automação na Engenharia de Software

    A engenharia de software torna-se cada vez mais influenciada pela computação em nuvem e pelo desenvolvimento de aplicativos móveis. O surgimento de smartphones e tablets levou à crescente demanda por aplicativos móveis, deste modo os desenvolvedores começam a adotar práticas de automação, como a automação de testes, para acelerar o processo de desenvolvimento e garantir a qualidade do software.
  • AngularJS

    AngularJS
    O Google lança o framework de desenvolvimento web AngularJS, foi um marco importante para a engenharia de software, pois o framework permitiu que os desenvolvedores criassem aplicativos da web de forma mais rápida e eficiente. O AngularJS é uma estrutura de código aberto que usa HTML como linguagem de modelo e permite a criação de aplicativos da web de página única (SPA) que fornecem uma experiência de usuário suave e interativa.
  • Desenvolvimento de Software baseado em DevOps

    Desenvolvimento de Software baseado em DevOps
    O desenvolvimento de software baseado em DevOps (integração contínua e entrega contínua) ganha destaque, visando a colaboração e a automação para acelerar o processo de desenvolvimento. As práticas de desenvolvimento ágil são cada vez mais utilizadas em empresas de todos os tamanhos. A inteligência artificial e a automação de testes são cada vez mais utilizadas na engenharia de software, tornando-se uma parte importante do processo de desenvolvimento.
  • Period: to

    "Era da IA"

    Houve um aumento significativo no uso de técnicas de aprendizado de máquina e inteligência artificial em aplicações de software. Foi impulsionada por avanços na tecnologia de hardware e pela crescente disponibilidade de grandes conjuntos de dados para treinamento de modelos de machine learning.
  • Visual Studio Code

    Visual Studio Code
    A Microsoft adota uma abordagem de desenvolvimento de software de código aberto e lança o Visual Studio Code, um editor de código multiplataforma. A adoção do código aberto pela Microsoft e o lançamento do Visual Studio Code ajudaram a fortalecer a comunidade de desenvolvimento de software livre e a promover a colaboração em projetos de código aberto.
  • TensorFlow

    TensorFlow
    A criação do framework de aprendizado de máquina TensorFlow pela Google, que tornou mais fácil para os desenvolvedores criar aplicativos com recursos de inteligência artificial. A criação do TensorFlow foi um marco importante para a engenharia de software e abriu caminho para uma série de aplicações de inteligência artificial em diferentes setores.
  • Atualmente

    Atualmente
    Atualmente, a engenharia de software está em constante evolução, acompanhando o avanço da tecnologia e as demandas do mercado. Algumas tendências atuais incluem:
    * Inteligência Artificial e Aprendizado de Máquina:
    * Cloud Computing
    * Desenvolvimento Ágil
    * DevOps
    * Automação
    * Código Aberto