Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

28/02/2025
1
Introdução à Engenharia de Software
2
• Engenharia de Software
– ICET – Instituto de Ciências Exatas e Tecnologia.
– carga: 04 horas-aula semanais;
– conceituação de Engenharia de Software, Crise do Software. Modelos 
iterativos e incrementais, gerenciamento de projetos de software. 
Processo e Produto de Software.
• Avaliação:
– Provas, trabalhos e listas.
Atenção: buscar na secretaria o código e 
detalhamento do curso!!
Informações sobre o Curso
3
NOGUEIRA, Marcelo
Engenharia de Software: um Framework
Ciência Moderna, 2009
Bibliografia Básica
PRESSMAN, R. S.
Engenharia de Software
Makron Books, 2006
SOMMERVILLE, Ian.
Engenharia de Software
Prentice Hall, 2007
https://plataforma.bvirtual.com.br/Leitor/Publicacao/276/pdf/3
1
2
3
28/02/2025
2
4
• MAGELA, Rogério - Engenharia de Software Aplicada – Ed. 
Alta Books, 2006.
• PAULA FILHO, Wilson de Pádua - Engenharia de Software –
Ed. LTC, 2009.
• PFLEEGER, Shari Lawrence. - Engenharia de Software - Ed. 
Prentice Hall Brasil, 2004. 
• ENGHOLM JUNIOR, Hélio. Engenharia de Software na 
Prática. Ed. Novatec, 2010.
• SCHACH, Stephenr. Engenharia de Software. Ed. Mcgraw Hill 
– Artmed, 2008.
Bibliografia Complementar
5
• Paulo Freitas
• paulo.freitas@docente.unip.br
• representante(s) de turma:
–Ação enviar e-mail de contato ao professor
Contato
6
• Engenharia:
– aplicação sistemática de conhecimentos científicos na criação e 
construção de soluções com boa relação custo / benefício.
• Software:
– instruções / programas de computador que quando executados 
produzem o resultado, função e desempenho desejados.
Definições
4
5
6
28/02/2025
3
7
• Engenharia de Software:
– aplicação de abordagem sistemática, disciplinada e quantificável no 
desenvolvimento, operação e manutenção de software.
IEEE, STD 610 – 1990
– estabelecimento e uso de sólidos princípios de engenharia na 
obtenção de um software confiável, eficiente e economicamente 
viável.
Fritz Bauer - 1969
Definições
8
• Métodos: descrições de como proceder frente a um amplo 
conjunto de atividades.
– Planejamento
– Análise de requisitos
– Concepção e projeto
– Implementação
– Codificação
– Testes e manutenção.
Engenharia
9
• Técnica: procedimentos definidos no âmbito de uma etapa de 
um método. Definem uma sequência de atividades, produtos a 
serem entregues, controles que asseguram qualidade, etc.
• Ferramentas: apoio aos métodos e técnicas
Engenharia
7
8
9
28/02/2025
4
10
• Diferenças do software em relação a outros itens construídos 
pelo homem:
– é imaterial;
– não sofre desgaste, não é um produto no sentido usual da palavra;
– custos relacionados ao desenvolvimento apenas, não há “matéria 
prima”;
– abstrato e parcial. Para reduzir a complexidade, modelo de apenas 
uma parte da realidade.
– imperceptível. Percebido por seu processo, interface, resultados, etc.
Software
11
• Objetivos:
– aplicar, modelos, formalismos / técnicas e ferramentas da ciência da 
computação (e áreas afins) na produção / desenvolvimento
sistemático de software.
– aplicar métodos, técnicas e ferramentas para o gerenciamento do 
processo de produção (custos, prazos, equipe, qualidade, etc.)
– produzir documentação formal do produto, do processo, dos critérios 
de qualidade e manuais.
Engenharia de Software
12
• Origem: reunião em Garmisch (Alemanha – Out/68). 
Discussão sobre problemas no desenvolvimento de Software.
http://homepages.cs.ncl.ac.uk/brian.randell/NATO/index.html
• Motivação: 
– baixa qualidade do SW;
– sem atender requisitos;
– “estouro” de orçamento e tempo previsto;
– vez por outra “ingerenciáveis”
Engenharia de Software
10
11
12
28/02/2025
5
13
“[The major cause of the software crisis is] that the machines have become 
several orders of magnitude more powerful! To put it quite bluntly: as long 
as there were no machines, programming was no problem at all; when 
we had a few weak computers, programming became a mild problem, 
and now we have gigantic computers, programming has become an 
equally gigantic problem”
Edsger Dijkstra
The Humble Programmer
Engenharia de Software
14
15
• Projeto da Agência Espacial Européia;
• Objetivo: supremacia européia no espaço;
• 10 anos de pesquisa e desenvolvimento;
• Custo estimado em US$ 8 Bilhões;
• Capacidade 6 toneladas;
• Vôo inaugural em 04/Jun/96;
Exemplo: Ariane 5
13
14
15
28/02/2025
6
16
• Explosão 40 seg. após decolagem;
• Destruição do foguete e carga (avaliada em US$ 500 Milhões)
• Foguete detonou cargas explosivas de autodestruição;
• Forças aerodinâmicas estavam destruindo o foguete, tinha 
perdido o controle de direção (altitude);
Exemplo: Ariane 5 (cont.)
17
• Motivo: computadores principal e back-up deram shut-down
ao mesmo tempo!!
• Ocorreu um “run-time error”;
• Programa de conversão de ponto flutuante para inteiro (de 16 
bits) recebeu como entrada um valor que estava fora da faixa 
permitida.
Resultado da conversão não era mais necessário após a 
decolagem.
Exemplo: Ariane 5 (cont.)
18
• Primeira Geração (início em 1950):
– sob medida (customizado) e distribuição limitada;
– processamento em Batch;
– desenvolvimento sem técnicas de engenharia (programação arte);
– programador / usuário, sistemas sem documentação;
– grande evolução da ciência, pouca da técnica.
Evolução do Software
16
17
18
28/02/2025
7
19
• Segunda Geração (após 1965):
– melhoria das técnicas de interação com usuário;
– sistema em tempo real / multiusuário;
– gerenciamento de banco de dados;
– surgimento de pacotes de software e softwarehouses;
– evolução das técnicas de manutenção.
Evolução do Software
20
• Terceira Geração (após 1980):
– sistemas distribuídos;
– acesso instantâneo a bancos de dados;
– sistemas especialistas (inteligência embutida);
– software embarcado, integração com outras tecnologias;
– crescimento das empresas de software, diferenciação;
– hardware de “baixo custo”.
Evolução do Software
21
• Quarta Geração (após 1990):
– redes neurais e algoritmos genéricos (reconhecimento de padrões e 
aprendizado);
– linguagens específicas a um domínio (DSL);
– computação paralela.
Evolução do Software
19
20
21
28/02/2025
8
22
Evolução do Software
23
• Custo SW suplantou o de HW
• SW visto como fator de diferenciação
Evolução do Software
24
Características de Software
• Índice de falhas (teórico):
22
23
24
28/02/2025
9
25
• Índice de falhas (real):
Características de Software
26
• Aplicações:
– software básico: programas escritos para apoiar outros –
compiladores, drivers, etc.;
– software de tempo real: análise e controle de eventos (mundo real) –
equipamentos médicos;
– software comercial: operação e administração – folha, contas a pagar, 
estoque, etc.;
– software científico e de engenharia: caracterizado por algoritmos 
numéricos – manufatura, astronomia, fadiga mecânica, etc.;
Software
27
• Aplicações (cont.):
– software embutido: residente em memória (read only) –
eletrodomésticos, controle, etc.;
– software PC: pacotes – planilhas, editor de texto, etc.;
– software WEB: instruções executáveis por browser – CGI, HTML, 
Java, Perl, etc.;
– software I.A.: algoritmos não numéricos, solução de problemas de alta 
complexidade não favoráveis à análise direta – redes neurais, jogos, 
sistemas especialistas, etc.
Software
25
26
27
28/02/2025
10
28
• Qualidade: TQM e filosofias similares produzem a cultura 
necessária ao desenvolvimento maduro
Software
29
• Processo: framework de atividades e resultados associados 
que geram um produto. Define conjunto de áreas chave de 
processo (KPA).
Software
30
• Método: conjunto de tarefas de desenvolvimento. Inclui análise 
de requisitos, projeto, implementação, testes e manutenção –
como fazer.
Software
28
29
30
28/02/2025
11
31
• Ferramentas: suporte (semi-)automatizado ao 
desenvolvimento. Instrumento apropriado ao modelo.
Software
32
• Vantagem x Desconfiança:
– criar / adquirir novo software?• “Crise” do final da década de 60:
– baixa qualidade / suspeita;
– Insatisfação;
– critérios imaturos.
• Cultura de desenvolvimento:
– ênfase em escrever / improvisar código;
– soluções imediatas;
– validação e verificação são ignorados
Qualidade: Herança
33
• Paradigmas clássicos: só é possível avaliar quando o produto 
está pronto.
• Falta de acompanhamento estatístico.
• Baixa reutilização.
• Ferramentas insuficientes / inapropriadas (ex.: CASE).
• Estimativas incorretas (T, $, PW)
Qualidade: Herança
31
32
33
28/02/2025
12
34
• Melhorias, ainda com erros de planejamento.
• Maiores exigências, menos recursos.
• Otimização mandatória.
• Opção: Engenharia de Software.
Qualidade: Atual
35
• Modelos clássicos:
– seqüencial linear (cascata)
– Rapid Aplication Development (RAD)
– Evolucionários
• Prototipação (descartáveis)
• Incremental (exploratório)
• Expiral (exploratório)
Processo
• PDCA:
– Plan: planejamento
– Do: ação / implementação
– Check: verificação / validação
– Act: correção
Processo
34
35
36
28/02/2025
13
37
Descrição geral dos objetivos é suficiente para desenvolver o 
programa
x
Visão incompleta / incorreta dos requisitos é a principal causa de 
fracasso no desenvolvimento de software
Mitos x Realidade
38
Caso o cronograma atrase, basta aumentar a equipe de 
desenvolvimento
x
Maior atraso devido à necessidade de treinamento e 
complexidade da comunicação
Mitos x Realidade
39
Meta do desenvolvimento é um programa que funcione
x
Documentação e medidas históricas são a base de 
desenvolvimento bem sucedidos
Mitos x Realidade
37
38
39
28/02/2025
14
40
• Engenharia de Software: utilização dos princípios de 
engenharia na obtenção software.
• Não esquecer os aspectos históricos que nos trouxeram até 
este ponto.
• Qualidade: base de todo o trabalho.
• PDCA: filosofia básica de trabalho.
Pontos Chave
41
40
41

Mais conteúdos dessa disciplina