1 / 24

Processos de Desenvolvimento de Software – Parte 2

Processos de Desenvolvimento de Software – Parte 2. Análise de Sistemas de Software Prof. Rodrigo Ribeiro. Atividades de um Processo. Na aula passada... Diferentes modelos de processos de software Atividades Especificação Projeto e Implementação Validação Evolução

weston
Download Presentation

Processos de Desenvolvimento de Software – Parte 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro

  2. Atividades de um Processo • Na aula passada... • Diferentes modelos de processos de software • Atividades • Especificação • Projeto e Implementação • Validação • Evolução • Variam na forma em que são executadas • Dependem do modelo de processo...

  3. Especificação de Software • Fases • Estudo de viabilidade • É possível fazer o que o usuário deseja? • Considera prazos e custos • Elicitação e análise de requisitos • Especificação de requisitos • Separar requisitos em: • Requisitos de usuário • Requisitos de sistema • Validação de requisitos • Está tudo ok e é possível fazer?

  4. Especificação de Software Estudo de viabilidade Elicitação e análise Especificação Validação Relatório de viabilidade Modelos de Sistema Req. Usuário e de sistema Documento Requisitos

  5. Projeto e Implementação • Fases • Projeto de Arquitetura • Relacionamentos entre subsistemas • Especificação Abstrata • Quais serviços devem ser oferecidos por um subsistema? • Projeto de interface • Projeto de interface entre subsistemas. • Especificação formal • Projeto de componente • Quais serviços serão oferecidos • Projeto de estrutura de dados • Projeto de algoritmos

  6. Projeto e Implementação Especificação de requisitos Projeto de interface Projeto de Arquitetura Especificação abstrata Projeto de componente Arquitetura de sistema Especificação de software Especificação de interface Especificação de componente Projeto de algoritmo Projeto de Estr. de dados Especificação de algoritmo Especificação de Estr. Dados

  7. Validação • Objetivo • Código está de acordo com requisitos? • Ferramentas • Inspeções • Revisões • Testes • Fases • Teste de unidade • Teste de sistema • Teste de aceitação • Diferença entre teste alfa e beta

  8. Validação Especificação de requisitos Especificação de sistema Projeto de sistema Projeto detalhado Teste de aceitação Teste de sistema Teste de subsistema Código e Teste unit. Projeto de Teste subsist. Operação Projeto de Teste aceit. Projeto de Teste sist.

  9. Evolução • Evolução (manutenção) • Incorporar novas características • Integração • Migração • Evolução é muito mais cara que desenvolver • Porquê? • Evolução envolve: • Possível compreensão do código existente • Re-projeto de código existente para acomodar mudanças

  10. Evolução Definir requisitos Avaliar Sistemas exist. Propor mudanças Modificar sistemas Sistemas novos Sistemas existentes

  11. Exemplos de Processos • Vimos até agora... • Diversos modelos de processos • Etapas comuns a diversos modelos • Exemplos • Personal software process – PSP • Team software process – TSP • Unified Process • Rational Unified Process – RUP • PRocesso para Aplicativos eXtensíveis e InterativoS - PRAXIS

  12. Personal Software Process • Processo para desenvolvimento “solo” • Educacional • Define vários níveis • Processos pessoais básicos • Registro de tempo, defeitos • Processos pessoais com planejamento • Estimativas de tamanho, relatórios de testes • Cronogramas • Processos pessoais com gestão de qualidade • Modelo de desenho e revisões

  13. Team Software Process • Evolução natural do PSP • Possui fins educacionais • Baseado no modelo espiral • Times pequenos de desenvolvedores • Duração média de 15 semanas (3 ciclos) • Desenvolvedores fazem mais de um papel • Qualidade, testes, gerência de projeto... • Assim como o PSP • Controle de tamanho, esforço, prazos, etc...

  14. Team Software Process • Fases • Lançamento • Ativação do projeto. • Estratégia • Seleção da estratégia de desenvolvimento • Estimativa de tamanho • Planejamento • Produção de planos de tarefas • Produção de planos de qualidade

  15. Team Software Process • Fases • Requisitos • Produção de documento de requisitos • Revisão de requisitos por usuários • Desenho • Desenho de alto nível • Documentação do desenho • Implementação • Desenho detalhado • Inspeção do desenho • Codificação e testes de unidade

  16. Team Software Process • Fases • Testes • Planejamento de testes • Integração • Sistemas • Realização de testes • Documentação de testes • Post-mortem • Avaliação do processo • Documentação dos resultados

  17. Unified Process • História da UML e U.P. • Jackobson, Booch, Rumbaugh • Características • Dirigido por casos de usos • Centrado na arquitetura • Iterativo e incremental • Baseado no modelo espiral • Produto: resultado final da espiral • Projeto: um ciclo na espiral • Não trata do que acontece nos ciclos.

  18. Unified Process • Arcabouço para diversos processos • RUP e Praxis • Muito abstrato para ser utilizado... • Deve ser “instanciado” para utilização • Dividido em • Fases (phases): foco gerencial • Fluxos (disciplines): foco técnico

  19. Unified Process • Fases • Concepção • Porquê desenvolver isso? • Elaboração • Planejamento da construção • Construção • Produção de um produto operacional • Transição • Produto colocado à disposição de usuários.

  20. Unified Process • Fluxos • Requisitos • Obter um conjunto de requisitos com o cliente • Análise • Validar, detalhar e estruturar requisitos • Desenho • Elaboração de um modelo estrutural • Implementação • Codificação • Testes

  21. Unified Process

  22. Rational Unified Process • Outros modelos de processo... • Apresentam visão única • R.U.P. pode ser visto de 3 perspectivas • Perspectiva dinâmica • Fases do modelo ao longo do tempo • Perspectiva estática • Atividades realizadas ao longo do processo • Perspectiva prática • Boas práticas a serem adotadas durante o processo

  23. Rational Unified Process • Perspectiva dinâmica • Corresponde a fases do U.P. • Perspectiva estática • Corresponde a fluxos do U.P. • Acrescidos de fluxos • Modelagem de negócios • Gestão de configurações • Implantação(Deployment) • Infra-estrutura (environment) • Perspectiva prática • Desenvolvimento iterativo • Gerenciar requisitos • Usar arquiteturas baseadas em componentes • Modelar software visualmente: UML • Verificar qualidade • Controlar mudanças

  24. Rational Unified Process • Processo completo e extensível • Às vezes, completo demais... • Número de artefatos produzido elevado • RUP • Produto comercializado pela Rational • Consultoria em processos • Ferramentas • Rational Rose • Rational Enterprise Architect • Utilizaremos o Praxis • Próxima aula...

More Related