PRINCÍPIOS DA ENGENHARIA DE
SOFTWARE – AULA 02
Prof.: Franklin M. Correia
NA AULA ANTERIOR......
 Introdução a Engenharia de Software
 O que é software?
 O que é Engenharia de Software?
 Conce...
O QUE TEMOS PARA HOJE ? ...CONTINUANDO....
 Modelos de processos de software:
 Evolucionário
 Tipos
 Problemas
 Proto...
DESENVOLVIMENTO EVOLUCIONÁRIO
 Intercala atividades
 Especificação
 Desenvolvimento
 Validação
DESENVOLVIMENTO EVOLUCIONÁRIO
 Tipos Fundamentais
 Desenvolvimento Exploratório
 Trabalhar com o cliente
 Explorar os ...
DESENVOLVIMENTO EVOLUCIONÁRIO
 Desenvolvimento Throw-Away
 Compreender os requisitos
 Desenvolver melhor definição de r...
DESENVOLVIMENTO EVOLUCIONÁRIO
Descrição do
Esboço
Especificação
Desenvolvimento
Validação
Versão
Inicial
Versões
intermedi...
DESENVOLVIMENTO EVOLUCIONÁRIO - COMENTÁRIO
Mais eficaz que o modelo em cascata em
sistemas que atendem as necessidades ime...
 O processo não é visível
 Gerentes precisam de produtos regulares para medir
o progresso.
 Sistemas desenvolvidos rapi...
 Indicado para sistemas de pequeno e meio porte
 Problemas com gerenciamento graves para
sistemas grandes e com ciclo de...
PROTOTIPAÇÃO
 Possibilita que o desenvolvedor crie um modelo
do software que deve ser construído;
 Serve para o desenvol...
PROTOTIPAÇÃO
fim
início
construção
produto
refinamento
protótipo
avaliação
protótipo
construção
protótipo
projeto
rápido
o...
PROTOTIPAÇÃO - ATIVIDADES
 Obtenção dos requisitos
 O desenvolvedor e clientes decidem quais os objetivos
gerais do sist...
 Construção do protótipo
 Implementação do projeto rápido
 Avaliação do protótipo
 Desenvolvedor e cliente avaliam o p...
 Refinamento dos requisitos
 Cliente e desenvolvedor refinam os requisitos
 Iterações ocorrem até que o desenvolvedor e...
 Cliente não sabe que o software que ele vê não
considerou, durante o desenvolvimento, a qualidade
global e a manutenção ...
ENGENHARIA BASEADA EM COMPONENTES
 CBSE – Component-Based Software Engeineering
 Foco no Reuso
 Depende de componentes ...
ENGENHARIA BASEADA EM COMPONENTES
Especificação
de requisitos
Análise de
componentes
Modificação
de requisitos
Projeto de ...
ENGENHARIA BASEADA EM COMPONENTES
Especificação
de requisitos
Análise de
componentes
Modificação
de requisitos
Projeto de ...
ENGENHARIA BASEADA EM COMPONENTES
 Análise de componentes
 De acordo com a especificação de requisitos
informada, busca-...
ENGENHARIA BASEADA EM COMPONENTES
Especificação
de requisitos
Análise de
componentes
Modificação
de requisitos
Projeto de ...
ENGENHARIA BASEADA EM COMPONENTES
 Modificação de Requisitos
 Os requisitos são analisados baseados nos
componentes disp...
ENGENHARIA BASEADA EM COMPONENTES
Especificação
de requisitos
Análise de
componentes
Modificação
de requisitos
Projeto de ...
ENGENHARIA BASEADA EM COMPONENTES
 Projeto de sistema com reuso
 O framework(FW) do sistema é projetado ou um
existente ...
ENGENHARIA BASEADA EM COMPONENTES
Especificação
de requisitos
Análise de
componentes
Modificação
de requisitos
Projeto de ...
ENGENHARIA BASEADA EM COMPONENTES
 Desenvolvimento e integração
 O SW não pode ser adquirido externamente;
 Desenvolvid...
 Vantagens:
 Reduzir a quantidade de software a ser desenvolvido;
 Reduz custo e risco;
 A entrega é mais rápida.
 De...
 Mudança é inevitável
 Processos de funcionamento organizacional
 Sistemas
 Requisitos
 Prioridades de gerenciamento
...
 A especificação é desenvolvida junto ao SW;
 Conflita com organizações
 Especificação completa é parte do contrato
 N...
ITERAÇÃO DE PROCESSOS DE DESENVOLVIMENTO
 O processo não é executado uma única vez
 Repetido inúmeras vezes
 Sistema é ...
ITERAÇÃO – ENTREGA INCREMENTAL
 Especificação, projeto e implementação dividido
em incrementos;
 Incrementos desenvolvid...
ITERAÇÃO – ENTREGA INCREMENTAL
Definir
requisitos
iniciais
Atribuir
requisitos aos
incrementos
Projetar
arquitetura
do sis...
Próximos SlideShares
Carregando em…5
×

Introdução a engenharia de software aula 02

1.183 visualizações

Publicada em

Introdução a Engenharia de Software - Aula 02
Curso de Licenciatura em Ciência da Computação
IFibaiano - Senhor do Bonfim

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.183
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
61
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução a engenharia de software aula 02

  1. 1. PRINCÍPIOS DA ENGENHARIA DE SOFTWARE – AULA 02 Prof.: Franklin M. Correia
  2. 2. NA AULA ANTERIOR......  Introdução a Engenharia de Software  O que é software?  O que é Engenharia de Software?  Conceitos importantes  Tipos de Produtos  Processo de software  Fazes do processo de software  Modelos de Processo de software  Modelo em cascata
  3. 3. O QUE TEMOS PARA HOJE ? ...CONTINUANDO....  Modelos de processos de software:  Evolucionário  Tipos  Problemas  Prototipação  Baseado em componentes  Iteração de processo de desenvolvimento  Entrega incremental  Desenvolvimento espiral  Atividades de Processo de desenvolvimento  Especificação de Software  Projeto e implementação de software  Validação de software  Evolução de software
  4. 4. DESENVOLVIMENTO EVOLUCIONÁRIO  Intercala atividades  Especificação  Desenvolvimento  Validação
  5. 5. DESENVOLVIMENTO EVOLUCIONÁRIO  Tipos Fundamentais  Desenvolvimento Exploratório  Trabalhar com o cliente  Explorar os requisitos  Entrega final  O sistema evolui de acordo aos requisitos compreendidos  Evolução a partir de novas solicitações
  6. 6. DESENVOLVIMENTO EVOLUCIONÁRIO  Desenvolvimento Throw-Away  Compreender os requisitos  Desenvolver melhor definição de requisitos para o SW  Protótipo para representar os requisitos mal compreendidos
  7. 7. DESENVOLVIMENTO EVOLUCIONÁRIO Descrição do Esboço Especificação Desenvolvimento Validação Versão Inicial Versões intermediárias Versões Intermediárias Versão Final
  8. 8. DESENVOLVIMENTO EVOLUCIONÁRIO - COMENTÁRIO Mais eficaz que o modelo em cascata em sistemas que atendem as necessidades imediatas do cliente Vantagem por ter os requisitos desenvolvidos de forma incremental, de acordo com o entendimento do usuários sobre o problema a resolver. Problemas do ponto de vista de engenharia e gerenciamento...
  9. 9.  O processo não é visível  Gerentes precisam de produtos regulares para medir o progresso.  Sistemas desenvolvidos rapidamente escrever documentos não é viável economicamente;  Os sistemas são mau estruturados  Mudança contínua compromete a estrutura  Mudanças torna-se cada vez mais difícil. DESENVOLVIMENTO EVOLUCIONÁRIO - PROBLEMAS
  10. 10.  Indicado para sistemas de pequeno e meio porte  Problemas com gerenciamento graves para sistemas grandes e com ciclo de vida longo  Dificuldade de manter com equipes grandes desenvolvendo partes diferentes do sistema  Difícil integrar as contribuições das equipes DESENVOLVIMENTO EVOLUCIONÁRIO
  11. 11. PROTOTIPAÇÃO  Possibilita que o desenvolvedor crie um modelo do software que deve ser construído;  Serve para o desenvolvedor identificar os requisitos do software  Uso adequado quando o cliente define um conjunto de objetivos gerais para o software  Não identifica requisitos de entrada, saída e processamento detalhado;
  12. 12. PROTOTIPAÇÃO fim início construção produto refinamento protótipo avaliação protótipo construção protótipo projeto rápido obtenção dos requisitos
  13. 13. PROTOTIPAÇÃO - ATIVIDADES  Obtenção dos requisitos  O desenvolvedor e clientes decidem quais os objetivos gerais do sistema, requisitos, e as áreas que precisam de definições adicionais  Projeto rápido  Representação dos aspectos que são visíveis aos usuários  Abordagem de entrada e formato de saída
  14. 14.  Construção do protótipo  Implementação do projeto rápido  Avaliação do protótipo  Desenvolvedor e cliente avaliam o protótipo  Verificam se tudo está conforme o conversado anteriormente  Alteram se necessário PROTOTIPAÇÃO - ATIVIDADES
  15. 15.  Refinamento dos requisitos  Cliente e desenvolvedor refinam os requisitos  Iterações ocorrem até que o desenvolvedor entenda o que precisa ser feito e atenda as necessidades do cliente;  Construção do produto  O protótipo é descartado e inicia-se o processo de construção da versão de produção obedecendo aos critérios de qualidade; PROTOTIPAÇÃO - ATIVIDADES
  16. 16.  Cliente não sabe que o software que ele vê não considerou, durante o desenvolvimento, a qualidade global e a manutenção a longo prazo.  Não aceita bem a ideia que a versão final do software vai ser construída e "força" a utilização do protótipo como produto final. PROTOTIPAÇÃO - COMENTÁRIOS
  17. 17. ENGENHARIA BASEADA EM COMPONENTES  CBSE – Component-Based Software Engeineering  Foco no Reuso  Depende de componentes reusáveis e algum framework de integração desses componentes  Exemplo:  SAP – Genérico em sua maioria mas pode ser específico para uma empresa ou área de empresa
  18. 18. ENGENHARIA BASEADA EM COMPONENTES Especificação de requisitos Análise de componentes Modificação de requisitos Projeto de SW com Reuso Desenvolvimento e integração Validação de sistema
  19. 19. ENGENHARIA BASEADA EM COMPONENTES Especificação de requisitos Análise de componentes Modificação de requisitos Projeto de SW com Reuso Desenvolvimento e integração Validação de sistema
  20. 20. ENGENHARIA BASEADA EM COMPONENTES  Análise de componentes  De acordo com a especificação de requisitos informada, busca-se usar um componente já existente;  O componente pode resolver apenas parte do requisito;  Ex: tela de cadastro de cliente  Componente para fazer a pesquisa pelo CPF do cliente  Componente para fazer a pesquisa do CEP do endereço
  21. 21. ENGENHARIA BASEADA EM COMPONENTES Especificação de requisitos Análise de componentes Modificação de requisitos Projeto de SW com Reuso Desenvolvimento e integração Validação de sistema
  22. 22. ENGENHARIA BASEADA EM COMPONENTES  Modificação de Requisitos  Os requisitos são analisados baseados nos componentes disponíveis na base de componentes;  Caso não encontre componentes para refletir exatamente o requisito, este é modificado;  Se as modificações forem impossíveis faz-se novamente a análise dos componentes;
  23. 23. ENGENHARIA BASEADA EM COMPONENTES Especificação de requisitos Análise de componentes Modificação de requisitos Projeto de SW com Reuso Desenvolvimento e integração Validação de sistema
  24. 24. ENGENHARIA BASEADA EM COMPONENTES  Projeto de sistema com reuso  O framework(FW) do sistema é projetado ou um existente é reusado;  Os projetistas levam em consideração os componentes reusados, organizando o FW para eles;  Pode ser necessário projetar algum novo SW caso os componentes reusáveis não estejam disponíveis;
  25. 25. ENGENHARIA BASEADA EM COMPONENTES Especificação de requisitos Análise de componentes Modificação de requisitos Projeto de SW com Reuso Desenvolvimento e integração Validação de sistema
  26. 26. ENGENHARIA BASEADA EM COMPONENTES  Desenvolvimento e integração  O SW não pode ser adquirido externamente;  Desenvolvido e os componentes são integrados para criar o novo sistema;  Integração com os COTS (Commercial Off The-Shelf Systems)  A integração, neste modelo, pode ser parte do desenvolvimento.
  27. 27.  Vantagens:  Reduzir a quantidade de software a ser desenvolvido;  Reduz custo e risco;  A entrega é mais rápida.  Desvantagens  Compromisso com Requisitos  Podem levar a um software que não atenda as necessidades reais do cliente  Perda de controle da evolução ENGENHARIA BASEADA EM COMPONENTES - COMENTÁRIOS
  28. 28.  Mudança é inevitável  Processos de funcionamento organizacional  Sistemas  Requisitos  Prioridades de gerenciamento  Novas tecnologias ITERAÇÃO DE PROCESSOS DE DESENVOLVIMENTO
  29. 29.  A especificação é desenvolvida junto ao SW;  Conflita com organizações  Especificação completa é parte do contrato  Não existe especificação completa até que o incremento final seja especificado.  Requer novo formato de contrato  Órgãos governamentais encontram dificuldades ITERAÇÃO DE PROCESSOS DE DESENVOLVIMENTO
  30. 30. ITERAÇÃO DE PROCESSOS DE DESENVOLVIMENTO  O processo não é executado uma única vez  Repetido inúmeras vezes  Sistema é retrabalhado  Desenvolvimento iterativo é fundamental ao SW  Processo de iteração por entrega incremental  Processo de iteração por desenvolvimento espiral
  31. 31. ITERAÇÃO – ENTREGA INCREMENTAL  Especificação, projeto e implementação dividido em incrementos;  Incrementos desenvolvidos um de cada vez;  Decisões de requisitos e projetos postergada;  Podem levar a SW:  mau estruturados;  Difícil de compreender e manter;  Abordagem intermediária  O cliente identifica os serviços a serem fornecidos pelo sistema;
  32. 32. ITERAÇÃO – ENTREGA INCREMENTAL Definir requisitos iniciais Atribuir requisitos aos incrementos Projetar arquitetura do sistema Desenvolver incremento de sistema Validar incremento Integrar incremento Validar Sistema Sistema Final

×