Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma...
Transcript of Pra que serve a engenharia de Software???Engenharia de Software • Engenharia de Software é uma...
![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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/1.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/2.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/3.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/4.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/5.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/6.jpg)
• 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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/7.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/8.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/9.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/10.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/11.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/12.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/13.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/14.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/15.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/16.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/17.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/18.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/19.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/20.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/21.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/22.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/23.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/24.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/25.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/26.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/27.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/28.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/29.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/30.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/31.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/32.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/33.jpg)
É 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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/34.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/35.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/36.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022050309/5f71b6c3d664aa41fe3b58eb/html5/thumbnails/37.jpg)
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