37
Pra que serve a engenharia de Software??? Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais Campus Ponte Nova

Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Pra que serve a engenharia de Software???

Professor: Saulo Henrique Cabral Silva

Instituto Federal de Minas GeraisCampus Ponte Nova

Page 2: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

O poder da informação....

• Atualmente a informação é um novo bem econômico A empresa quedispõe de mais informação esta em vantagem (necessidade) em relaçãoas suas competidoras

• Sobre o seu processo• Sobre os seus clientes• Sobre tendências• Logística• Saúde• Segurança

• Há um ditado que diz que: “A necessidade é a mãe das invenções”.– Organização– Otimização

• Com a informação veio a necessidade degerenciá-la...– Sistemas de informação

2

4,4 zettabytes (ZiB)1.000.000.000.000.000.000.000 de bytes.

Page 3: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Empresa que mais contrata nas grandes capitais ???

3

Page 4: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

UBER

• 50.000

• 8.700.000

• 2.000.000.000

4

Page 5: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Empresa de mídia ???

5

Page 6: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Facebook

• 2.000.000.000

• Lucro Liquido– 3.000.000.000

• 50 minutos / dia

6

Page 7: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Concorrente de Empresas de Hospedagem???

7

Page 8: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

AirBNB

8

Page 9: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Concorrente das telefonias

9

Page 10: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

WhatsAPP

10

2016

$ 19.000.000.000

Page 11: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Concorrente das emissoras ???

11

Page 12: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Youtube

• 2.500.000.000 por dia

• $ 3.500.000.000

• R$ 0,15 a R$ 0,40– por visualização

12

Page 13: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Concorrente de Sky, Net, ... ???

13

Page 14: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Netflix

• 93.000.000 de assinantes

• $ 8.830.000.000 de receita– $ 186.000 de lucro

14

Page 15: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Sistema de Informação

• Um Sistema de informação:– Envolve pessoas– Processos– Padrões– Tempo– Custo– Riscos– Tecnologias– Dados– Redes de comunicação

• Todas essas características ainda se interagem com objetivo de darsuporte e melhorar o processo de negócio de uma organizaçãoempresarial com relação as informações que nela fluem (provemvantagem para a empresa)

15

Page 16: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Engenharia de Software

• Engenharia de Software é uma área da computação voltada àespecificação, desenvolvimento e manutenção de sistemasde software, com aplicação de tecnologias e práticas degerência de projetos e outras disciplinas, visando aorganização, produtividade e qualidade.

16

O que vamos fazer hoje???

Tentaremos gerenciar um projeto de Software

Page 17: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Processo de software

17

Page 18: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Análise de um observador externo...

18

Page 19: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

PROCESSO DE SOFTWARE

19

Page 20: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

O que um modelo de processo... E para que usar ???

• Processo de software é uma metodologia para as atividadese metodologias de construção de um software.

• Pergunta: uma metodologia em engenharia de softwareprecisa de ser seguida a risca??? (grande crítica a engenharia de software)

20

O que vem a ser a palavra engenharia...???

Page 21: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

O que um modelo de processo... E para que usar ???

• Processo de software é uma metodologia para as atividadese metodologias de construção de um software.

• Pergunta: uma metodologia em engenharia de softwareprecisa de ser seguida a risca???

21

** Adapte-se **

Page 22: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Quem realiza???

• Engenheiros de software e Gerentes, adaptam o processo àssuas necessidades.

• Os solicitantes do software tem o papel de desempenhar ostestes do software e participar de etapas da construção.

22

Page 23: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

TIPOS DE PROCESSOS DE SOFTWARE

23

Page 24: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Tipos de processos de software

• Linear– Cascata

• Iterativo

• Evolucionário– Espiral– Prototipação

• Paralelo

• Metodologias Ágeis– Scrum– XP

24

Lembrando que: Tudo issodepende de um planejamentoda própria empresa (capital,tempo)

Page 25: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Linear

25

Requisitos

Analise

Projeto

Codificação

Testes

Operação

Page 26: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Linear

26

Requisitos

Analise

Projeto

Codificação

Testes

Operação

Page 27: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Iterativo

27

Requisitos

Analise

Projeto

Codificação

Testes

Operação

Page 28: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Paralelo

28

Requisitos Analise

Projeto

Codificação

Testes

Operação

Page 29: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

evolutivo

29

Requisitos

Analise Projeto

Codificação

TestesTransição

Versão

Versão

Versão

Tempo

Fun

cio

nal

idad

e

Page 30: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Metodologia Ágil - XP

30

Requisitos

Analise Projeto

Codificação

TestesTransição

Refabricação

Projeto simples cartões CRC

Soluções pontuais protótipos

Programação em dupla

Teste de unidades integração contínua

Testes de aceitação

Versão

Page 31: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Metodologia Ágil - Scrum

31

Page 32: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Software X Hardware

32

Page 33: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

É importante saber desenvolver Software é diferente de Fabricar Hardware

33

Page 34: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Modelagem de um sistema de software

34

Page 35: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Modelagem de um sistema de Software

• Muito complexo.

• É necessário muito planejamento, podemos aqui fazer um paralelo com a engenharia civil.

–Planta elétrica

–Planta hidráulica

–Projeto arquitetônico

–Planta baixa

35

Page 36: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Vantagens do uso de modelos no desenvolvimento de Sistemas de Software

• Gerenciamento de complexidade: Auxilia na visualização de detalhes em todas as esferas do sistema (avião – fuselagem, elétrico,...)

• Comunicação entre as pessoas envolvidas: difusão de informações entre os indivíduos (ponto de referência)

• Redução de custo no desenvolvimento: – Redução de erros durante o desenvolvimento.

– Predição de comportamento.

– pode ser discutido através de modelos.

36

Page 37: Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de

Modelos que iremos abordar na disciplina...

• Levantamento de requisitos

• Modelagem de casos de uso

• Modelagem de classes

• Modelagem de iterações

• Especificações de classes, propriedades e associações

37