SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Introdução à Engenharia de
Software
Conceitos fundamentais
A situação do software
 A sofisticação do software ultrapassou nossa
capacidade de construir um software que extraia o
potencial do hardware.
 Nossa capacidade de construir programas não pode
acompanhar o ritmo da demanda de novos
programas.
 Nossa capacidade de manter os programas
existentes é ameaçada por projetos ruins e recursos
inadequados
A grandeza do software na atualidade
 A economia de todas as
nações desenvolvidas
são dependentes de
software
 Muitos sistemas são
controlados por software
 Veja – Agosto 2009
Custos de software
 Os custos de software geralmente determinam os
custos de sistemas.
 Em um PC:
 Windows 7 Professional – R$629,00
 MS Office 2010 Professional – R$1399,00
 MS Visual Studio .NET 2010 Professional – R$1899,00
 Licença de acesso para um usuário SAP – R$999,00 (por
ano!)
 O maior custo de software é a manutenção.
 A engenharia de software se preocupa com
custo/benefício (ROI)
Qualidade — Terminologias
 Erro: erro humano
 Defeito: resultado do erro evidenciado em algum
desenvolvimento ou manutenção do produto
 Falha: divergência entre o comportamento
requerido para o sistema e o comportamento real.
Perguntas frequentes
 O que é software?
 Qual a diferença entre Engenharia de Software e
Ciências da Computação?
 Qual é a diferença entre Engenharia de Software e
Engenharia de Sistemas?
 O que é um processo de software
 O que é um modelo de processo de software?
 Quais são os custos da Engenharia de Software?
 O que são métodos de Engenharia de Software?
 O que é CASE (Computer-Aided Software Engineering)
 Quais são as características de um software bom?
 Quais são os principais desafios da Engenharia de
Software?
O que é Software?
 Programas de computador e documentação
associada.
 Produtos de Software podem ser, basicamente:
 Genéricos: produzidos e vendidos no mercado a
qualquer cliente
 Produtos sob encomenda: são desenvolvidos para um
cliente em particular – MySoftware.
Participantes do desenvolvimento de
software sob encomenda
Qual é a diferença entre Engenharia de
Software e Ciências da Computação?
 A Ciência da Computação
se preocupa com as
teorias e os métodos
fundamentais.
 A Engenharia de Software
se dedica aos problemas
práticos da produção de
software.
 As teorias da Ciência da
Computação não são
suficientes por si só.
Qual é a diferença entre Engenharia de
Software e Engenharia de Sistemas?
 Engenharia de sistemas se ocupa de todos os
aspectos de desenvolvimento e da evolução de
sistemas baseado em computadores, incluindo
hardware, software e engenharia do processo.
 A Engenharia de Software é parte deste processo.
 Engenheiros de sistemas estão envolvidos na
especificação do sistema, na definição de sua
arquitetura geral, integração e desenvolvimento.
O que é um processo de software?
 Um conjunto de atividades cujo objetivo é o
desenvolvimento ou evolução do software.
 Atividades comuns a todo processo de
desenvolvimento de software são:
 Especificação – o que o sistema deveria fazer (ou não -
constraints);
 Desenvolvimento – produção do software;
 Validação – verificação de que o software é o que o
cliente quer;
 Evolução – modificações do software em resposta às
mudanças de requisitos.
O que é um modelo de processo de software?
 Uma descrição simplificada de um processo de software,
que é representada a partir de uma perspectiva
específica.
 Exemplos de tipos de modelos de processos de
software:
 Workflow – sequência de atividades;
 Fluxo de dados ou atividades – demonstra o fluxo da
informação;
 Papel/Ação – quem faz o que.
 Modelos genéricos de desenvolvimento
 Waterfall;
 Desenvolvimento evolucionário;
 Especificação formal;
 Modelagem a partir de componentes reutilizáveis.
Quais são os custos de Engenharia de
Software?
 De maneira geral:
 60% dos custos são custos de desenvolvimento;
 40% são custos de teste.
 Para software personalizado, o custo de evolução
frequentemente ultrapassa os custos de
desenvolvimento.
 Custos podem variar, dependendo do tipo de
software que está sendo desenvolvido e os
requisitos de atributos como performance e
confiabilidade.
 A distribuição dos custos depende do modelo de
desenvolvimento que está sendo utilizado.
O que são métodos de Engenharia de
Software?
 Uma abordagem estruturada para o
desenvolvimento de software que inclui:
 Descrição de modelos – gráficos, textuais, documentais,
etc.
 Regras – restrições aplicadas a modelos de sistemas.
 Padrões de design - recomendações de melhores
práticas.
 Guias de processo – quais atividades seguir,
O que é CASE (Computer-Aided Software
Engineering)?
 Sistema de software cujo objetivo é fornecer suporte
automatizado para as atividades de processo de
software. Sistemas CASE são frequentemente
utilizados para apoiar a aplicação dos métodos.
Quais são os atributos de um bom
software?
 Atender aos requisitos solicitados pelo usuário
 Performance
 Manutenibilidade – o software precisa evoluir para
atender a novos requisitos.
 Confiabilidade – em caso de falha o software não
pode causar danos significativos ao usuário.
 Eficiência – usar os recursos do sistema com
parcimônia.
 Usabilidade – o software deve poder ser utilizado
pelos usuários para os quais ele foi desenhado.
Quais são os principais desafios
enfrentados pela Engenharia de Software?
 Sistemas legados – antigos, mas valiosos.
 Heterogeneidade – diversidade crescente de
plataformas, de software distribuído, mistura muito
grande de software e hardware.
 Demanda x Tempo de entrega
Leitura e discussão
 Governo fará censo para avaliar apagão de mão de
obra de TI
 Saídas para evitar o apagão de mão de obra em TI
 CIOs sofrem com a falta de talentos de TI no Brasil
 Jogos Olímpicos de Londres geram 60 GB de
informações por segundo
Construindo uma casa versus um software
 A casa
 Identificar e analisar os
requisitos
 Produzir e documentar todo
o projeto
 Detalhar as especificações
 Identificar e projetar os
componentes
 Construir cada componente
 Testar cada componente
 Integrar os componentes
 Fazer as modificações
finais
 Manutenção contínua
 O software
 Análise e definição dos
requisitos
 Projeto do sistema
 Projeto do programa
 Escrever os programas
 Testes das unidades
 Teste de integração
 Teste do sistema
 Entrega do sistema
 Manutenção
Os papéis na equipe de desenvolvimento

Mais conteúdo relacionado

Mais procurados

Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
elliando dias
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
Cloves da Rocha
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De Software
Robson Silva Espig
 

Mais procurados (20)

Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
Cap1 introd-engenharia de software
Cap1 introd-engenharia de softwareCap1 introd-engenharia de software
Cap1 introd-engenharia de software
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Processos de Software
Processos de SoftwareProcessos de Software
Processos de Software
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De Software
 
152191 11993
152191 11993152191 11993
152191 11993
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RON
 
Documento de requisitos
Documento de requisitosDocumento de requisitos
Documento de requisitos
 

Destaque

Engenharia de Software Baseada em Componentes
Engenharia de Software Baseada em ComponentesEngenharia de Software Baseada em Componentes
Engenharia de Software Baseada em Componentes
elliando dias
 
Introduçao a engenharia agricola trabalho(1)
Introduçao a engenharia agricola   trabalho(1)Introduçao a engenharia agricola   trabalho(1)
Introduçao a engenharia agricola trabalho(1)
Rômulo Alexandrino Silva
 
ENGENHARIA AGRICOLA E AMBIENTAL UFV 2003
ENGENHARIA AGRICOLA  E AMBIENTAL UFV 2003ENGENHARIA AGRICOLA  E AMBIENTAL UFV 2003
ENGENHARIA AGRICOLA E AMBIENTAL UFV 2003
Gustavo Petra
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
Tiago Pinhão
 
Engenharia Mecânica FMU
Engenharia Mecânica FMUEngenharia Mecânica FMU
Engenharia Mecânica FMU
FMU - Oficial
 
.Didatica organizacao do_trabalho_pedagogico-1
.Didatica organizacao do_trabalho_pedagogico-1.Didatica organizacao do_trabalho_pedagogico-1
.Didatica organizacao do_trabalho_pedagogico-1
Rômulo Rodrigues
 

Destaque (20)

TCC - Engenharia de Software Baseada em Componentes
TCC - Engenharia de Software Baseada em ComponentesTCC - Engenharia de Software Baseada em Componentes
TCC - Engenharia de Software Baseada em Componentes
 
Desenvolvimento baseado em componentes
Desenvolvimento baseado em componentesDesenvolvimento baseado em componentes
Desenvolvimento baseado em componentes
 
Engenharia de Software Baseada em Componentes
Engenharia de Software Baseada em ComponentesEngenharia de Software Baseada em Componentes
Engenharia de Software Baseada em Componentes
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentes
 
Dru - Desenvolvimento para Reuso
Dru - Desenvolvimento para ReusoDru - Desenvolvimento para Reuso
Dru - Desenvolvimento para Reuso
 
Codasp 82 anos
Codasp 82 anosCodasp 82 anos
Codasp 82 anos
 
Engenharia de Software - Introdução à Ciências da Computação - Engenharia Civil
Engenharia de Software - Introdução à Ciências da Computação - Engenharia CivilEngenharia de Software - Introdução à Ciências da Computação - Engenharia Civil
Engenharia de Software - Introdução à Ciências da Computação - Engenharia Civil
 
Introduçao a engenharia agricola trabalho(1)
Introduçao a engenharia agricola   trabalho(1)Introduçao a engenharia agricola   trabalho(1)
Introduçao a engenharia agricola trabalho(1)
 
ENGENHARIA AGRICOLA E AMBIENTAL UFV 2003
ENGENHARIA AGRICOLA  E AMBIENTAL UFV 2003ENGENHARIA AGRICOLA  E AMBIENTAL UFV 2003
ENGENHARIA AGRICOLA E AMBIENTAL UFV 2003
 
Engenharia Informática vs Sistemas de Informação-II seminario do DEI-UAN-alex...
Engenharia Informática vs Sistemas de Informação-II seminario do DEI-UAN-alex...Engenharia Informática vs Sistemas de Informação-II seminario do DEI-UAN-alex...
Engenharia Informática vs Sistemas de Informação-II seminario do DEI-UAN-alex...
 
Engenharia informatica
Engenharia informaticaEngenharia informatica
Engenharia informatica
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Engenharia Mecânica FMU
Engenharia Mecânica FMUEngenharia Mecânica FMU
Engenharia Mecânica FMU
 
Afinal, o que é Engenharia Mecânica - profissaoengenheiro.com.br
Afinal, o que é Engenharia Mecânica - profissaoengenheiro.com.brAfinal, o que é Engenharia Mecânica - profissaoengenheiro.com.br
Afinal, o que é Engenharia Mecânica - profissaoengenheiro.com.br
 
Engenharia mecanica
Engenharia mecanicaEngenharia mecanica
Engenharia mecanica
 
Modelo Espiral
Modelo EspiralModelo Espiral
Modelo Espiral
 
.Didatica organizacao do_trabalho_pedagogico-1
.Didatica organizacao do_trabalho_pedagogico-1.Didatica organizacao do_trabalho_pedagogico-1
.Didatica organizacao do_trabalho_pedagogico-1
 
Introdução à Engenharia de Produção - 01
Introdução à Engenharia de Produção - 01Introdução à Engenharia de Produção - 01
Introdução à Engenharia de Produção - 01
 
03 Modelo de processo de software
03 Modelo de processo de software03 Modelo de processo de software
03 Modelo de processo de software
 
Engenharia genética
Engenharia genéticaEngenharia genética
Engenharia genética
 

Semelhante a 02 Introdução à engenharia de software - conceitos fundamentais

Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
miroslayer
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
Tiago Vizoto
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
wilsonguns
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - Wikipedia
Robson Silva Espig
 
1 Qss
1 Qss1 Qss
1 Qss
lcbj
 

Semelhante a 02 Introdução à engenharia de software - conceitos fundamentais (20)

Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
 
Aula1 introducao engsw
Aula1 introducao engswAula1 introducao engsw
Aula1 introducao engsw
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
 
Es aula01
Es   aula01Es   aula01
Es aula01
 
Agilidade em projetos de software
Agilidade em projetos de softwareAgilidade em projetos de software
Agilidade em projetos de software
 
Introdução a informática: do Windows ao Excel
Introdução a informática: do Windows ao ExcelIntrodução a informática: do Windows ao Excel
Introdução a informática: do Windows ao Excel
 
Sld 3
Sld 3Sld 3
Sld 3
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - Wikipedia
 
Arquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialArquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencial
 
1 Qss
1 Qss1 Qss
1 Qss
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
Producto X Processo X Projecto de Engenharia de Software
Producto X Processo X Projecto de Engenharia de SoftwareProducto X Processo X Projecto de Engenharia de Software
Producto X Processo X Projecto de Engenharia de Software
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdf
 

Mais de Waldemar Roberti (6)

07 Modelagem (Sommer)
07 Modelagem (Sommer)07 Modelagem (Sommer)
07 Modelagem (Sommer)
 
06 Requisitos
06 Requisitos06 Requisitos
06 Requisitos
 
05 agile
05 agile05 agile
05 agile
 
04 Unified process
04 Unified process04 Unified process
04 Unified process
 
01 Introdução - Contextualização Engenharia de Software
01 Introdução - Contextualização Engenharia de Software01 Introdução - Contextualização Engenharia de Software
01 Introdução - Contextualização Engenharia de Software
 
00 Apresentação
00 Apresentação00 Apresentação
00 Apresentação
 

Último

República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
LidianeLill2
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 

Último (20)

República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
Acessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeAcessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidade
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 

02 Introdução à engenharia de software - conceitos fundamentais

  • 1. Introdução à Engenharia de Software Conceitos fundamentais
  • 2. A situação do software  A sofisticação do software ultrapassou nossa capacidade de construir um software que extraia o potencial do hardware.  Nossa capacidade de construir programas não pode acompanhar o ritmo da demanda de novos programas.  Nossa capacidade de manter os programas existentes é ameaçada por projetos ruins e recursos inadequados
  • 3. A grandeza do software na atualidade  A economia de todas as nações desenvolvidas são dependentes de software  Muitos sistemas são controlados por software  Veja – Agosto 2009
  • 4. Custos de software  Os custos de software geralmente determinam os custos de sistemas.  Em um PC:  Windows 7 Professional – R$629,00  MS Office 2010 Professional – R$1399,00  MS Visual Studio .NET 2010 Professional – R$1899,00  Licença de acesso para um usuário SAP – R$999,00 (por ano!)  O maior custo de software é a manutenção.  A engenharia de software se preocupa com custo/benefício (ROI)
  • 5. Qualidade — Terminologias  Erro: erro humano  Defeito: resultado do erro evidenciado em algum desenvolvimento ou manutenção do produto  Falha: divergência entre o comportamento requerido para o sistema e o comportamento real.
  • 6. Perguntas frequentes  O que é software?  Qual a diferença entre Engenharia de Software e Ciências da Computação?  Qual é a diferença entre Engenharia de Software e Engenharia de Sistemas?  O que é um processo de software  O que é um modelo de processo de software?  Quais são os custos da Engenharia de Software?  O que são métodos de Engenharia de Software?  O que é CASE (Computer-Aided Software Engineering)  Quais são as características de um software bom?  Quais são os principais desafios da Engenharia de Software?
  • 7. O que é Software?  Programas de computador e documentação associada.  Produtos de Software podem ser, basicamente:  Genéricos: produzidos e vendidos no mercado a qualquer cliente  Produtos sob encomenda: são desenvolvidos para um cliente em particular – MySoftware.
  • 8. Participantes do desenvolvimento de software sob encomenda
  • 9. Qual é a diferença entre Engenharia de Software e Ciências da Computação?  A Ciência da Computação se preocupa com as teorias e os métodos fundamentais.  A Engenharia de Software se dedica aos problemas práticos da produção de software.  As teorias da Ciência da Computação não são suficientes por si só.
  • 10. Qual é a diferença entre Engenharia de Software e Engenharia de Sistemas?  Engenharia de sistemas se ocupa de todos os aspectos de desenvolvimento e da evolução de sistemas baseado em computadores, incluindo hardware, software e engenharia do processo.  A Engenharia de Software é parte deste processo.  Engenheiros de sistemas estão envolvidos na especificação do sistema, na definição de sua arquitetura geral, integração e desenvolvimento.
  • 11. O que é um processo de software?  Um conjunto de atividades cujo objetivo é o desenvolvimento ou evolução do software.  Atividades comuns a todo processo de desenvolvimento de software são:  Especificação – o que o sistema deveria fazer (ou não - constraints);  Desenvolvimento – produção do software;  Validação – verificação de que o software é o que o cliente quer;  Evolução – modificações do software em resposta às mudanças de requisitos.
  • 12. O que é um modelo de processo de software?  Uma descrição simplificada de um processo de software, que é representada a partir de uma perspectiva específica.  Exemplos de tipos de modelos de processos de software:  Workflow – sequência de atividades;  Fluxo de dados ou atividades – demonstra o fluxo da informação;  Papel/Ação – quem faz o que.  Modelos genéricos de desenvolvimento  Waterfall;  Desenvolvimento evolucionário;  Especificação formal;  Modelagem a partir de componentes reutilizáveis.
  • 13. Quais são os custos de Engenharia de Software?  De maneira geral:  60% dos custos são custos de desenvolvimento;  40% são custos de teste.  Para software personalizado, o custo de evolução frequentemente ultrapassa os custos de desenvolvimento.  Custos podem variar, dependendo do tipo de software que está sendo desenvolvido e os requisitos de atributos como performance e confiabilidade.  A distribuição dos custos depende do modelo de desenvolvimento que está sendo utilizado.
  • 14. O que são métodos de Engenharia de Software?  Uma abordagem estruturada para o desenvolvimento de software que inclui:  Descrição de modelos – gráficos, textuais, documentais, etc.  Regras – restrições aplicadas a modelos de sistemas.  Padrões de design - recomendações de melhores práticas.  Guias de processo – quais atividades seguir,
  • 15. O que é CASE (Computer-Aided Software Engineering)?  Sistema de software cujo objetivo é fornecer suporte automatizado para as atividades de processo de software. Sistemas CASE são frequentemente utilizados para apoiar a aplicação dos métodos.
  • 16. Quais são os atributos de um bom software?  Atender aos requisitos solicitados pelo usuário  Performance  Manutenibilidade – o software precisa evoluir para atender a novos requisitos.  Confiabilidade – em caso de falha o software não pode causar danos significativos ao usuário.  Eficiência – usar os recursos do sistema com parcimônia.  Usabilidade – o software deve poder ser utilizado pelos usuários para os quais ele foi desenhado.
  • 17. Quais são os principais desafios enfrentados pela Engenharia de Software?  Sistemas legados – antigos, mas valiosos.  Heterogeneidade – diversidade crescente de plataformas, de software distribuído, mistura muito grande de software e hardware.  Demanda x Tempo de entrega
  • 18. Leitura e discussão  Governo fará censo para avaliar apagão de mão de obra de TI  Saídas para evitar o apagão de mão de obra em TI  CIOs sofrem com a falta de talentos de TI no Brasil  Jogos Olímpicos de Londres geram 60 GB de informações por segundo
  • 19. Construindo uma casa versus um software  A casa  Identificar e analisar os requisitos  Produzir e documentar todo o projeto  Detalhar as especificações  Identificar e projetar os componentes  Construir cada componente  Testar cada componente  Integrar os componentes  Fazer as modificações finais  Manutenção contínua  O software  Análise e definição dos requisitos  Projeto do sistema  Projeto do programa  Escrever os programas  Testes das unidades  Teste de integração  Teste do sistema  Entrega do sistema  Manutenção
  • 20. Os papéis na equipe de desenvolvimento