Aula 2 - Processos de Software

524 visualizações

Publicada em

Modelos de Processos de Software, Modelo Cascata (waterfall), Desenvolvimento incremental, Engenharia de Software Orientada a Reuso, Atividades do Processo, Especificação, Prototipação

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

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

Nenhuma nota no slide

Aula 2 - Processos de Software

  1. 1. Engenharia de Softwares e Gerência de Projetos Prof. Rudson Kiyoshi Souza Carvalho Anhanguera - 2015 Engenharia de Software - Parte 2
  2. 2. Engenharia de Softwares e Gerência de Projetos.
  3. 3. Processos de Software
  4. 4. O que é um processo de Software?
  5. 5. • Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software. Essas atividades podem envolver o desenvolvimento de software a partir do zero em uma linguagem padrão de programação como C# ou Java. Processo de Software
  6. 6. Modelos de Processos de Software • O modelo de um processo de software é uma representação simplificada de um processo de software, e existem vários modelos de processo de software (ou paradigmas de engenharia de software) Obs. cada uma representa uma tentativa de colocar ordem em uma atividade inerentemente caótica
  7. 7. Modelos de Processos de Software
  8. 8. Modelo em Cascata (Waterfall)
  9. 9. Modelo em Cascata • Popularizado na década de 1970; • Características: • Composto por uma sequência de atividades; • Uma atividade começa a executar quando a outra termina; • Resultado de uma etapa é utilizado na etapa seguinte; • Guiado por documentos; • Ciclo de vida mais antigo e mais utilizado.
  10. 10. Modelo em Cascata • Análise e definição de requisitos • Objetivos, funções e restrições são definidos, com á ajuda de clientes e usuários, e servem como uma especificação do sistema, indicando o que deve ser implementado. • Design de sistemas e software • Envolve a descrição do sistema e do software em termos de unidades abstratas e de suas relações, indicando como o software deve ser implementado. • Implementação e testes de unidade • As unidades do software devem ser codificadas e testadas individualmente. • Integração e testes de sistema • As unidades são integradas e testadas • Entrega, operação e manutenção • O sistema é instalado e colocando em operação. A manutenção envolve a correção de erros e evolução do sistema para atender a novos requisitos. Engenharia de Software © 2008 Jair C Leite
  11. 11. Problemas Comuns no Modelo em Cascata • Projetos reais raramente seguem o fluxo sequencial que o modelo propõe; • ︎ Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural; • ︎ O cliente deve ter paciência. Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento (na instalação); • ︎ Difícil identificação de sistemas legados (não acomoda a engenharia reversa).
  12. 12. Desenvolvimento Incremental
  13. 13. Desenvolvimento Incremental • O desenvolvimento incremental é baseado na ideia de desenvolver uma implementação inicial, expô-la aos comentários dos usuários e continuar por meio da criação de várias versões até que um sistema adequado seja desenvolvido.
  14. 14. Desenvolvimento Incremental
  15. 15. Problemas Comuns no Desenvolvimento Incremental • Do ponto de vista de gerenciamento, a abordagem incremental tem dois problemas: • O processo não é visível. Os gerentes precisam de entregas regulares para mensurar o progresso. • A estrutura do sistema necessita de diversas refatorações para acomodar as mudanças, e esta tarefa consome tempo e dinheiro.
  16. 16. Engenharia de Software Orientada a Reuso • Códigos, componentes ou sistemas completos que possuem semelhanças com a implementação desejada são identificados, modificados/ adaptados para serem incorporados ao projeto.
  17. 17. Engenharia de Software Orientada a Reúso
  18. 18. Atividades do Processo • Processos reais de software são intercalados com sequências de atividades técnicas, de colaboração e de gerenciamento, com o intuito de especificar, projetar, implementar e testar um sistema de software.
  19. 19. Especificação do Software • É o processo de compreensão e definição dos serviços requisitados do sistema e identificação de restrições relativas à operação e ao desenvolvimento do sistema.
  20. 20. Especificação de Software
  21. 21. Projeto e Implementação • É o processo de conversão de uma especificação do sistema em um sistema executável. Sempre envolve processo de projeto e programação de software, mas, se for usada um abordagem incremental para o desenvolvimento, também pode envolver o refinamento da especificação do software. • Definição da arquitetura • Projeto de Interfaces e Componentes • Modelo de Dados • Codificação
  22. 22. Validação de Software • Tem a intenção de mostrar que um software se adequa à suas especificações ao mesmo tempo que satisfaz as especificações do cliente. • Testes de desenvolvimento • Testes de sistema (integrado) • Teste de aceitação
  23. 23. Evolução do Software • Com o decorrer do tempo o software pode mudar, e o mesmo deverá ser flexível para acomodar futuras mudanças.
  24. 24. Prototipação • O objetivo é entender os requisitos do usuário e, obter uma melhor definição dos requisitos do sistema. • Podendo ajudar a validar requisitos e estudar soluções especificas para apoiar o projeto de interface do usuário.
  25. 25. Prototipação
  26. 26. Entrega Incremental • É uma abordagem para desenvolvimento de software na qual alguns dos incrementos desenvolvidos são entregues ao cliente e implementados para uso em um ambiente operacional.
  27. 27. Estudo de Caso Faz Site • Atividade individual. • Para o estudo de caso Faz Site, crie um processo de software que na concepção de vocês garantiriam a entrega do projeto em questão com sucesso.

×