Você está na página 1de 21

Aula03 – 10.08.

23

Engenharia de
Software
MSc. Cláudia Jovo Gune – 2023
1-Introdução à Engenharia de Software

“Reflexão em torno da aula passada”


Conteúdos 1.2 - Importância da Engenharia de Software;
1.3 - Evolução da Eng. Software;
1.4 - Histórico da Eng. Software.

2 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


Perguntas de Reflexão
Pergunta de Reflexão 1: Qual é a importância de compreender os conceitos básicos de
software, como categorias, componentes e características, na prática da Engenharia de
Software? Como esse conhecimento pode influenciar a qualidade e o sucesso de um projeto de
desenvolvimento de software?

Pergunta de Reflexão 2: Ao considerar a abordagem em camadas da Engenharia de Software


(ferramentas, métodos, processos e foco na qualidade), como cada uma dessas camadas
contribui para a criação de software de alta qualidade? Como a interação entre essas camadas
pode influenciar a eficácia e a eficiência do desenvolvimento de software?

3 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


Perguntas de Reflexão
Pergunta de Reflexão 3: Ao explorar as categorias de software, desde os genéricos até os
personalizados, como as organizações podem tomar decisões informadas sobre a escolha
entre usar um software genérico disponível no mercado ou investir em um software
personalizado para atender às necessidades específicas? Quais são os benefícios e desafios
associados a cada abordagem?

4 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.2 - Importância da Engenharia de Software
A Engenharia de Software é importante por uma série de razões que abrangem
desde a eficiência na criação de sistemas de software até a garantia de qualidade e
confiabilidade desses sistemas. Aqui estão algumas das principais razões pelas
quais a Engenharia de Software é considerada tão crucial:

1. Qualidade do Software: A ES define práticas e padrões que garantem a criação


de software de alta qualidade, funcional e confiável. Isso ajuda a evitar erros, bugs e
falhas que poderiam afectar negativamente os utilizadores e a reputação da
empresa.

5 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.2 - Importância da Engenharia de Software (cont…)

2. Economia de Recursos: Ao seguir processos e metodologias bem definidos, a


ES ajuda a otimizar o uso de recursos, reduzindo custos relacionados a retrabalho,
correções e manutenção.

3. Atendimento a Requisitos: A Engenharia de Software enfatiza a importância de


definir e compreender os requisitos do software. Isso garante que o software atenda
às expectativas dos utilizadores e da organização, evitando mal-entendidos e
desvios no desenvolvimento.

6 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.2 - Importância da Engenharia de Software (cont…)

4. Controle de Riscos: A abordagem sistemática da ES permite a identificação e


mitigação de riscos durante o desenvolvimento. Isso reduz a probabilidade de
problemas graves e ajuda a tomar decisões informadas.

5. Agilidade e Flexibilidade: Metodologias ágeis, que são parte da Engenharia de


Software, permitem adaptação rápida a mudanças nos requisitos e nas demandas do
mercado, permitindo que as empresas se mantenham competitivas.

7 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.2 - Importância da Engenharia de Software (cont…)

6. Colaboração Eficaz: A Engenharia de Software promove a colaboração entre


equipes de desenvolvimento, permitindo que elas trabalhem de maneira harmoniosa
e produtiva.

7. Satisfação do Cliente: Com software bem projectado e funcional, a Engenharia


de Software contribui para a satisfação dos clientes, melhorando a experiência do
utilizador e a reputação da empresa.

8 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.3 - Evolução da Eng. Software
a) Década de 1960 - Primeiros Passos:
❖ A ES começou a ser formalizada como uma disciplina na década de 1960, à
medida que os sistemas de software se tornavam mais complexos e desafiadores
de gerir.
❖ O termo "Engenharia de Software" foi cunhado por volta de 1968 pela NATO.
❖ Modelos de desenvolvimento em cascata foram introduzidos, representando uma
abordagem sequencial e linear para o desenvolvimento de software.

9 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.3 - Evolução da Eng. Software (cont..)

b) Década de 1970 - Surgimento de Metodologias:


❖ Surgiram as primeiras metodologias de desenvolvimento de software.
❖ A linguagem de programação C foi criada por Dennis Ritchie, tornando-se uma
ferramenta crucial para o desenvolvimento de software.

c) Década de 1980 - Abordagens de Qualidade:


❖ O foco começou a se expandir para a qualidade do software, levando ao
desenvolvimento de práticas de ES voltadas para garantia de qualidade.
❖ Surgiram as primeiras metodologias ágeis, como o Extreme Programming (XP),
que enfatizava a colaboração e a adaptação contínua.
10 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com
1.3 - Evolução da Eng. Software (cont..)

d) Década de 1990 - Paradigmas Orientados a Objectos:


❖ Os paradigmas orientados a objectos ganharam destaque, com linguagens como
Java e C++ se tornando populares.
❖ Modelagem UML (Unified Modeling Language) ganhou reconhecimento como
uma forma padronizada de representar designs de software.
e) Década de 2000 - Crescimento da Agilidade:
❖ As metodologias ágeis, como Scrum e Kanban, ganharam grande aceitação,
enfatizando a colaboração, iteração e entrega incremental.
❖ A computação em nuvem e a virtualização trouxeram novas possibilidades para
o desenvolvimento e implantação de software.
11 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com
1.3 - Evolução da Eng. Software (cont..)

f) Década de 2010 - DevOps e Além:


❖ Surgiu o movimento DevOps, focando na integração e colaboração entre equipes
de desenvolvimento e operações.
❖ A inteligência artificial e a aprendizagem de máquina começaram a ser
aplicadas no desenvolvimento de software, melhorando a automação e a tomada
de decisões.

g) Década de 2020 - Continuidade e Inovação:


❖ A ES continua a se adaptar às mudanças tecnológicas, com foco crescente na
automação, segurança cibernética, qualidade de código e entrega contínua.
12 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com
1.4 - Histórico da Eng. Software
A história da ES irá nos fornecer uma perspectiva retrospectiva dos eventos
passados e dos marcos que definiram a disciplina, enquanto a evolução da ES
descreveu-nos o processo contínuo de transformação e aprimoramento que a
disciplina continua a passar. Ambos os conceitos são importantes para compreender
a trajectória e o estado actual da Engenharia de Software.

13 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.4 - Histórico da Eng. Software(cont..)
i) Década de 1940 - 1950:
❖ Nesta década, surgiram os primeiros computadores electrônicos durante a
Segunda Guerra Mundial, impulsionando a necessidade de programação de
software. No entanto, a programação era feita directamente em linguagem de
máquina, exigindo um conhecimento profundo da arquitectura do computador.

❖ A falta de métodos estruturados levou a códigos extensos e complexos.

14 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.4 - Histórico da Eng. Software(cont..)
ii) Década de 1960:
❖ Nesta década, com o aumento da complexidade dos sistemas de software,
surgiu a necessidade de abordagens mais estruturadas. Foi nesse contexto que o
termo "Engenharia de Software" surgiu, destacando a importância de aplicar
princípios de engenharia ao desenvolvimento de software.

❖ A programação estruturada, proposta por Edsger Dijkstra, introduziu a ideia de


utilizar estruturas de controle para melhorar a legibilidade e a manutenção do
código.

15 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.4 - Histórico da Eng. Software(cont..)
iii) Década de 1970:
❖ Nesta década, surgiram abordagens mais formais para o desenvolvimento de
software. O modelo em cascata, proposto por Winston W. Royce, introduziu a ideia
de fases sequenciais de desenvolvimento.

❖ Também foi nessa década que surgiram as metodologias de desenvolvimento


estruturado, que se concentravam na decomposição do sistema em partes
menores e gerenciáveis.

16 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.4 - Histórico da Eng. Software(cont..)
iv) Década de 1980:
❖ Nesta década, a programação orientada a objectos começou a ganhar destaque,
com linguagens como C++ e Smalltalk.

❖ Além disso, nessa época, as metodologias ágeis começaram a ser desenvolvidas,


com destaque para o método Scrum, que enfatiza a colaboração, a adaptação e a
entrega incremental.

17 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.4 - Histórico da Eng. Software(cont..)
v) Década de 1990:
❖ Nos anos 90, a UML foi introduzida como uma forma padronizada de representar
designs de software.

❖ A computação em rede e a ascensão da internet também trouxeram novos


desafios para o desenvolvimento de software, levando a um foco maior na
segurança e na escalabilidade.

18 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.4 - Histórico da Eng. Software(cont..)
vi) Década de 2000 - Presente:
❖ A partir dos anos 2000, a ES continuou a evoluir com o advento da computação
em nuvem, da virtualização e da automação.

❖ A metodologia DevOps emergiu, enfatizando a colaboração entre equipes de


desenvolvimento e operações para melhorar a entrega de software.

❖ A inteligência artificial e a aprendizagem de máquina também começaram a ser


aplicadas no processo de desenvolvimento.

19 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


1.4 - Histórico da Eng. Software(cont..)

Nota: A história da Engenharia de Software reflete a jornada de transformação da


programação manual e desestruturada para as práticas modernas de
desenvolvimento de software, incluindo abordagens ágeis, modelagem visual, testes
automatizados e a busca constante por melhorias na qualidade e eficiência dos
sistemas de software.

20 MSc. Cláudia Jovo Gune – 2023 ES Curso de Informática cijovo@gmail.com


Proxima aula

2-Princípios e Métodos de Desenvolvimento

2.1 - Fundamentos da Engenharia de Software;

Você também pode gostar