processos de desenvolvimento de software – parte 2 análise de sistemas de software prof. rodrigo...
TRANSCRIPT
![Page 1: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/1.jpg)
Processos de Desenvolvimento de Software – Parte 2
Análise de Sistemas de Software
Prof. Rodrigo Ribeiro
![Page 2: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/2.jpg)
Atividades de um Processo Na aula passada...
Diferentes modelos de processos de software Atividades
Especificação Projeto e ImplementaçãoValidaçãoEvolução
Variam na forma em que são executadasDependem do modelo de processo...
![Page 3: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/3.jpg)
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 requisitosEspecificação de requisitos
Separar requisitos em: Requisitos de usuário Requisitos de sistema
Validação de requisitos Está tudo ok e é possível fazer?
![Page 4: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/4.jpg)
Especificação de Software
Estudo de viabilidade
Relatório deviabilidade
Elicitação e análise
Modelos de Sistema
Especificação
Req. Usuárioe de sistema
Validação
Documento Requisitos
![Page 5: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/5.jpg)
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
![Page 6: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/6.jpg)
Projeto e ImplementaçãoEspecificaçãode requisitos
Especificaçãoabstrata
Projeto de Arquitetura
Arquitetura desistema
Especificaçãode software
Projeto de interface
Especificaçãode interface
Projeto de componente
Especificaçãode componente
Projeto deEstr. de dados
Especificaçãode Estr. Dados
Projeto de algoritmo
Especificação de algoritmo
![Page 7: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/7.jpg)
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
![Page 8: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/8.jpg)
ValidaçãoEspecificaçãode requisitos
Teste de aceitação
Especificaçãode sistema
Projetode sistema
Projeto detalhado
Teste de sistema
Teste de subsistema
Código eTeste unit.
Projeto de Teste subsist.
Projeto de Teste sist.
Projeto deTeste aceit.
Operação
![Page 9: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/9.jpg)
Evolução Evolução (manutenção)
Incorporar novas características IntegraçãoMigração
Evolução é muito mais cara que desenvolverPorquê?Evolução envolve:
Possível compreensão do código existente Re-projeto de código existente para acomodar mudanças
![Page 10: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/10.jpg)
Evolução
Definir requisitos
Avaliar Sistemas exist.
Propor mudanças
Modificarsistemas
Sistemas novos
Sistemasexistentes
![Page 11: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/11.jpg)
Exemplos de Processos Vimos até agora...
Diversos modelos de processosEtapas comuns a diversos modelos
ExemplosPersonal software process – PSPTeam software process – TSPUnified Process
Rational Unified Process – RUP PRocesso para Aplicativos eXtensíveis e InterativoS -
PRAXIS
![Page 12: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/12.jpg)
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
![Page 13: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/13.jpg)
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...
![Page 14: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/14.jpg)
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
![Page 15: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/15.jpg)
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
![Page 16: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/16.jpg)
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
![Page 17: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/17.jpg)
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.
![Page 18: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/18.jpg)
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 gerencialFluxos (disciplines): foco técnico
![Page 19: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/19.jpg)
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.
![Page 20: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/20.jpg)
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
![Page 21: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/21.jpg)
Unified Process
![Page 22: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/22.jpg)
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
![Page 23: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/23.jpg)
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
![Page 24: Processos de Desenvolvimento de Software – Parte 2 Análise de Sistemas de Software Prof. Rodrigo Ribeiro](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc133497959413d8d7614/html5/thumbnails/24.jpg)
Rational Unified Process Processo completo e extensível
Às vezes, completo demais...Número de artefatos produzido elevadoRUP
Produto comercializado pela Rational Consultoria em processos Ferramentas
Rational Rose Rational Enterprise Architect
Utilizaremos o Praxis Próxima aula...