análise e gerenciamento de requisitos com casos de uso módulo 1 melhores práticas da engenharia...
TRANSCRIPT
![Page 1: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/1.jpg)
Análise e Gerenciamento de Requisitos com Casos de Uso
Módulo 1Melhores Práticas da
Engenharia de Software
![Page 2: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/2.jpg)
Objetivos
• Lista de sintomas dos problemas encontrados no Desenvolvimento de Software.
• Definição das Seis Melhores Práticas.• Descrição das Atividades para resolver os
problemas da Engenharia de Software para cada Melhor Prática.
• Apresentação do Processo Unificado (UP), dentro do contexto das Seis Melhores Práticas.
![Page 3: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/3.jpg)
Problemas do Desenvolvimento de Software
SINTOMAS:
Necessidades de Negócio e Usuário não atendem. Muitas mudanças de requisitos. Módulos não integram. Difícil de manter. Descoberta tardia das falhas. Baixa qualidade e iteratividade com o usuário. Baixa performance sob condições normais. Esforço não coordenado da equipe. Problemas de build-e-release (construção e lançamento de
versão).
![Page 4: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/4.jpg)
Mapeamento dos Sintomas para causas raiz
Necessidades erradas
Requisitos Mutantes
Módulos isolados
Difícil manter
Tarde demais
Baixa qualidade
Baixa performance
Equipe descoordenada
Problemas de Build-e-release
Requisitos insuficientes
Comunicação Ambígua
Arquiteturas fragmentadas
Complexidade desnecessária
Inconsistências
Testes insuficientes
Avaliação subjetiva
Desenvolvimento em cascata
Mudanças não controladas
Automação Insuficiente
Sintomas Causas Raiz Melhores Práticas
Desenvolver iterativamente
Gerenciar Requisitos
Arquiteturas componentizadas
Modelar Visualmente (UML)
Verificação de Qualidade
Gerenciar Mudanças
Gerenciar Requisitos
Verificação da Qualidade
Gerenciar Mudanças
Gerenciar Requisitos
Verificação da Qualidade
Gerenciar Mudanças
Requisitos insuficientes
Comunicação ambígua
Mudanças não controladas
Requisitos insuficientes
Comunicação ambígua
Mudanças não controladas
Requisitos mutantes
Requisitos mutantes
![Page 5: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/5.jpg)
Melhores PráticasProcesso Prático
Melhores PráticasProcesso Prático
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modelar Visualmente (UML)Verificar Qualidade
Gerenciar Mudanças
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modelar Visualmente (UML)Verificar Qualidade
Gerenciar Mudanças
Desenvolver Iterativamente
![Page 6: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/6.jpg)
Características do Desenvolvimento em Cascata
• Demora na confirmação e resolução de Riscos.
• Mensura progresso por produto-entregue que são indicadores ruins.
• Demora nas integrações e testes.
• Implantações só no final.• A maioria dos resultados ocorre
em iterações não planejadas.Código e Teste
Design
Integraçãodos Módulos
Teste de Sistema
Processo CascataProcesso Cascata
Análise de Requisitos
Planejamento
![Page 7: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/7.jpg)
Características do Desenvolvimento Iterativo
• Resolve os maiores riscos antes que haja custos elevados.• Facilita maior participação e feedback do usuário.• Faz testes e integração contínua. • Foca em marcos de projeto curtos e objetivos. • Torna possível a entrega parcial de executáveis.
T E M P OT E M P O
Iteração 1 Iteração 2 Iteração 3 P
RD
CI
T
PR
DC
IT
PR
DC
IT
![Page 8: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/8.jpg)
Desenvolvimento Iterativo
![Page 9: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/9.jpg)
Comportamento dos Riscos
TempoTempo
Ris
coR
isco
Risco no Processo Cascata
Risco no Processo Iterativo
Redução de RiscoRedução de Risco
![Page 10: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/10.jpg)
Gerenciar Requisitos
Melhores PráticasProcesso Prático
Melhores PráticasProcesso Prático
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modelar Visualmente (UML)Verificar Qualidade
Gerenciar Mudanças
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modelar Visualmente (UML)Verificar Qualidade
Gerenciar Mudanças
![Page 11: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/11.jpg)
• Tenha certeza que está resolvendo o problema certo e entregando o sistema certo.
• Para ter uma ação completa:– Entenda o Problema.– Detalhe, organize, e documente os requisitos.– Gerencie mudanças de requisitos do sistema.
Gerenciamento de Requisitos
![Page 12: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/12.jpg)
Use Arquiteturas Componentizadas
Melhores PráticasProcesso Prático
Melhores PráticasProcesso Prático
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas Modelar Visualmente (UML)
Verificar QualidadeGerenciar Mudanças
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas Modelar Visualmente (UML)
Verificar QualidadeGerenciar Mudanças
![Page 13: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/13.jpg)
Arquitetura Robusta Baseada em Componentes
• Robusta– Atende aos requisitos atuais e futuros.– Melhora a extensibilidade da aplicação.– Permite reuso de funcionalidades.– Encapsula funções e dados do sistema.
• Baseado em componentes– Reuso e customização de componentes. – Escolha de componentes comerciais disponíveis.– Integra o sistema existente incrementalmente.
![Page 14: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/14.jpg)
Arquitetura Baseada Em Componentes
• Base para Reuso– Componentes – Bibliotecas de Componentes
• Base para Gerência de Projetos– Planejamento– Otimização de Recursos– Entregas
• Controle Intelectual– Emcapsulamento– Mantém integridade das regras Repositórios
Integração
Escopo deNegócio
Escopo de Aplicação
Arquitetura baseada em componentes
distribuídos em camadas
![Page 15: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/15.jpg)
Modelar Visualmente (UML)
Melhores PráticasProcesso Prático
Melhores PráticasProcesso Prático
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modele Visualmente (UML)Verificar Qualidade
Gerenciar Mudanças
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modele Visualmente (UML)Verificar Qualidade
Gerenciar Mudanças
![Page 16: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/16.jpg)
Por que modelar visualmente?• Captura estrutura e comportamento.• Apresenta a colaboração entre os elementos.• Mantém design e implementação consistentes.• Esconde ou expõe detalhes. • Promove a comunicação não ambígua.• Facilita a evolução do conhecimento.
Diagramas Estáticos
Diagramas deAtividade
Modelos
Diagramas de Seqüência
Diagramas de Colaboração
Diagramasde Estado
Diagramas deDeployment
Diagramas de Componente
Diagramas deObjetos
Diagramas de ClassesDiagramas de
Casos de Uso
Diagramas Dinâmicos
UML, uma linguagem padronizada.
![Page 17: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/17.jpg)
Verificar Qualidade Continuamente
Melhores PráticasProcesso Prático
Melhores PráticasProcesso Prático
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modelar Visualmente (UML)Verificar Qualidade
ContinuamenteGerenciar Mudanças
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modelar Visualmente (UML)Verificar Qualidade
ContinuamenteGerenciar Mudanças
![Page 18: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/18.jpg)
Teste das Dimensões de Qualidade
ConfiabilidadeConfiabilidadeTeste a aplicação em Teste a aplicação em sua consistência de sua consistência de comportamento.comportamento.
PerformancePerformanceTeste o tempo de Teste o tempo de
resposta da aplicação resposta da aplicação on-line e com picos on-line e com picos elevados de uso.elevados de uso.
FuncionalidadeFuncionalidadeTeste a aderência Teste a aderência de cada cenário de cada cenário de caso de uso.de caso de uso.
UsabilidadeUsabilidadeTeste a aplicação Teste a aplicação sob a perspectiva sob a perspectiva
de conveniência de de conveniência de uso pelo usuário.uso pelo usuário.
SuportabilidadeSuportabilidadeTeste a capacidade da Teste a capacidade da
aplicação ser mantida aplicação ser mantida em produção.em produção.
![Page 19: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/19.jpg)
Verificação Contínua da Qualidade do SoftwareC
usto
TransiçãoConstruçãoElaboraçãoConcepção
Problemas de Software são de100 a 1000 vezes mais caros
se encontrados e consertados depois de instalados
Custo para consertar Software Custo com a perda de
oportunidades Custo com a perda de clientes
![Page 20: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/20.jpg)
Mo
de
lo U
ML
e A
plic
açã
o T
est
es
Iteração 1Iteração 1
Test Suite 1Test Suite 1
Iteração 2Iteração 2
Test Suite 2Test Suite 2
Iteração 3Iteração 3
Test Suite 3Test Suite 3
Teste cada iteração
Test Suite 4Test Suite 4
Iteração 4Iteração 4
![Page 21: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/21.jpg)
Gerenciar Mudanças
Melhores PráticasProcesso Prático
Melhores PráticasProcesso Prático
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modelar Visualmente (UML)Verificar Qualidade
Gerenciar Mudanças
Desenvolver IterativamenteGerenciar Requisitos
Arquiteturas Componentizadas
Modelar Visualmente (UML)Verificar Qualidade
Gerenciar Mudanças
![Page 22: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/22.jpg)
Requisições de Mudanças vêm de várias fontes durante o ciclo
de vida do sistema.
Gerenciamento das Requisições de Mudanças
Entradas do Help Desk
Entradas dos Desenvolvedores e Testadores
Entradas dos Usuários e Clientes
Marketing
Nova Característica
Novo Requisito
Bug
Processo deAprovação
das Requisiçõesde Mudança
Comitê de Controle
(CCM)
Canal Único de Aprovação
Requisição de Mudança (RM)
Req
Design
Código
Teste
Manut
Weinberg, ‘95
![Page 23: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/23.jpg)
As melhores práticas reforçam umas as outras
Envolvimento dos usuários no desenv. dos requisitos
Melhores PráticasMelhores Práticas
Desenvolver Iterativamente
Gerenciar Requisitos
Utilizar Arquiteturas Componentizadas
Modelar Visualmente (UML)
Verificar Qualidade
Gerenciar Mudanças
Desenvolver Iterativamente
Gerenciar Requisitos
Utilizar Arquiteturas Componentizadas
Modelar Visualmente (UML)
Verificar Qualidade
Gerenciar Mudanças
Validação antecipada das decisões arquiteturais
Ataca complexidade deDesign / Implementação
incrementalmente
Mede qualidade freqüentemente
Desenvolvimento incremental de baselines
![Page 24: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/24.jpg)
Processo Unificado e as Melhores Práticas
• Abordagem Iterativa• Guias para atividades e artefatos• Foco do Processo na Arquitetura• Casos de uso que direcionam o projeto
de arquitetura e a implementação• Modelos que abstraem o sistema
![Page 25: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/25.jpg)
Definição de Processo
O processo define Quem está fazendo O que, Quando, e Como a fim de chegar a um determinado objetivo.
Novo ou alterado
Requisitos
Novo ou alterado
Sistema
Processo de Processo de
RequisitosRequisitos
![Page 26: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/26.jpg)
Concepção Elaboração Construção Transição
Estrutura do Processo – Fases
Tempo
Lidar com riscos relacionados ao negócio.
(notação financeira do projeto)
Lidar com riscos relacionados aos assuntos técnicos do projeto.
Lidar com riscos relacionados a “ter a massa de trabalho pronta”
Lidar com riscos relacionados à logística de entrega da aplicação para o ambiente de produção
![Page 27: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/27.jpg)
Fronteiras (ou Marcos) das Fases
ConcepçãoConcepção ElaboraçãoElaboração ConstruçãoConstrução TransiçãoTransição
Objetivos doCiclo de Vida e Decisão de Viabilidade do Projeto
Ciclo de Vida da ArquiteturaValidada
CapacidadeOperacionalInicial
ReleaseFinal doProduto
![Page 28: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/28.jpg)
Iterações e Fases
Uma iteração é uma seqüência distinta de atividades baseadas em um plano existente e critérios de avaliação, resultando na liberação de um artefato (produto - interno ou externo).
Iteração PreliminarIteração Preliminar IteraçãoIteraçãoArquiteturalArquitetural
Iteração de Iteração de ConstruçãoConstrução
Iteração de Iteração de TransiçãoTransição
IteraçãoIteraçãode Trans.de Trans.
ConcepçãoConcepção ElaboraçãoElaboração ConstruçãoConstrução TransiçãoTransição
Marcos e Objetivos Menores: Releases
Iteração Iteração ArquiteturalArquitetural
Iteração de Iteração de ConstruçãoConstrução
![Page 29: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/29.jpg)
Evolução dos Artefatos Através do Ciclo de Vida
Artefatos do Projeto são produzidos iterativamente.
![Page 30: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/30.jpg)
Colocando tudo junto
Disciplinas agrupam
atividades logicamente.
Em uma iteração, você passa por todas as disciplinas.
![Page 31: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/31.jpg)
Disciplinas produzem modelos
Modelos
Modelo de Caso de Uso de Negócio
Implementado por
Modelo de Objetos de Negócio
Modelo deDesign
Modelo de Implementação
Modelo deCaso de Uso
Realizado por
Automatizado por
Realizado por
Disciplinas ImplementaçãoImplementaçãoAnálise &Análise &DesignDesign
RequisitosRequisitosModelagemModelagemde Negóciode Negócio
![Page 32: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/32.jpg)
Guia das DisciplinasWorkflow da
Modelagem de Negócios
Workflow de Requisitos
![Page 33: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/33.jpg)
Visão Geral dos Conceitos do Processo Unificado
![Page 34: Análise e Gerenciamento de Requisitos com Casos de Uso Módulo 1 Melhores Práticas da Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc11b497959413d8c99a3/html5/thumbnails/34.jpg)
Revisão
• As melhores práticas são guias da Engenharia de Software para atacar as causas dos problemas do Desenvolvimento de Software;
• As melhores práticas reforçam umas as outras;• Um processo guia a equipe de quem, o que,
quando e como fazer as atividades;• Processo Unificado é uma forma de colocar em
ação as Melhores Práticas.