Rational Unified Process - Início | Faculdade de...
Transcript of Rational Unified Process - Início | Faculdade de...
10/22/2014
1
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Rational Unified Process
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Processo Define quem irá fazer o que, quando, e como a fim de
alcançar um objetivo.
Requisitos novos
ou alterados
Sistema novo
ou melhoradoProcesso de Engenharia
de Software
10/22/2014
2
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Detalhamento de Processos Objetivos
Prover um guia para as atividades
Especificar que artefatos e quando devem ser desenvolvidos
Direcionar as tarefas dos grupos e indivíduos
Oferecer um critério para monitorar e medir o processo
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Melhores Práticas Desenvolver software iterativamente
Gerenciar requisitos
Usar arquiteturas baseadas em componentes
Modelar o software visualmente
Verificar continuamente a qualidade do software
Controlar as alterações no software
10/22/2014
3
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP
Um processo de engenharia de software
Um framework para outros processos
Utiliza as melhores práticas de desenvolvimento de software
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP x Casos de Uso
RUP é dirigido por caso de uso (use-case driven)
Casos de uso dirigem numerosas atividades Criação e validação dos
modelos de projeto Definição dos casos de teste
no modelo de teste Planejamento de iterações Criação do manual do
usuário
10/22/2014
4
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP x Arquitetura
RUP é centrado na arquitetura
A arquitetura é central em relação aos esforços Os requisitos são
analisados para montaruma arquitetura
A arquitetura orienta a implementação e mudanças
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP
LogicalView
ImplemationView
ProcessView
DeploymentView
Use-CaseView
Usuário FinalFuncionalidade
Analistas/TestadoresComportamento
Integradores de SistemaPerformanceEscalabilidadeThroughput
ProgramadoresGerenciamento de Software
Engenharia de SistemasTopologia de SistemaInstalação/EntregaComunicação
10/22/2014
5
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP estabelecidos lógica do domínio da aplicação e escopo do projeto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP coleta de requisitos mais detalhados, análise e plano para construção do sistema
10/22/2014
6
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP Várias iterações para produção do sistema
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP Várias iterações para produção do sistema
10/22/2014
7
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP teste, ajuste de performance e treinamento de usuário
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP
10/22/2014
8
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Desenvolvimento Iterativo Análise do Risco
Desenvolvimento em Cascata
Desenvolvimento Iterativo
10/22/2014
9
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Desenvolvimento Iterativo
Teste
Modelagem de Negócio
Requisitos
Análise & Projeto
Deployment
Avaliação
Implementação
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Desenvolvimento Iterativo Vantagens
Os riscos são atacados mais cedo
Mudanças nos requisitos são absorvidas mais rapidamente
Refinamento de arquitetura
Aprendizado e aprimoramento
Aumento do reuso
10/22/2014
10
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Gerência de Requisitos Dificuldades
Requisitos não são óbvios Requisitos não são
sempre facilmente expressos em palavras
Existem vários tipos de requisitos em diferentes níveis de detalhes
O número de requisitos pode explodir
Requisitos estão interligados
Existem várias pessoas interessadas nos requisitos
Requisitos mudam.
Atacando Analisando o problema
Entendendo as necessidades dos “stakeholders”
Definindo o sistema
Gerenciando o escopo do projeto
Refinando a definição do sistema
Gerenciando mudança de requisitos
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Arquitetura Baseada em Componentes Suporte ao Desenvolvimento Baseado em Componentes
Com o processo iterativo
Baseado na arquitetura
Através da UML - com pacotes, camadas e subsistemas
Testes graduais
10/22/2014
11
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Gerência de Mudanças
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Conceitos Chave
10/22/2014
12
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Elementos do RUP Workflow
Workers ou Papel
Atividades
Artefatos
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Elementos do RUP
Descrever um Caso de Uso
Pacote de Caso de UsoCaso de Uso
Responsável por
Analista
Artefato
Informação que é produzida, modificada, ou usada pelo processo
Worker
Papel desempenhado por um indivíduo ou grupo
Atividade
Unidade de trabalho
10/22/2014
13
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Disciplinas Workflow de atividades correlatas
Alguns elementos, como risco e testes, são introduzidos em diferentes disciplinas
Relação entre disciplina e modelos
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Disciplinas
10/22/2014
14
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Workflow
Sequência de atividades que produzem um resultado de valor observável
Geralmente expresso em um diagrama de atividade
Organização Cada disciplina tem seu
Workflow
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Workflow
Modelo deProjeto
Modelo deImplementação
Modelo de Teste
realizado pelo
implementado pelo
Requisitos
Implementação
Teste
Modelo de Caso de Uso
Modelagem deNegócio
verificado pelo
Modelo de Negócio
Análise & Projeto
10/22/2014
15
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Detalhes de Workflow
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Detalhes de Workflow
As atividades não são feitas em sequência
Mostra os artefatos necessários e os gerados
Agrupa atividades relacionadas de outras disciplinas
10/22/2014
16
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Workers - Papel
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Workers – Aparecem em Detalhes de Workflow
10/22/2014
17
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Atividade Unidade de trabalho com um propósito claro Utilizado para planejamento e verificação de progresso Passos
Planejando Executando Revisando
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
AtividadeExemplos:
Identificar casos de uso e atores Worker: Analista de Sistemas
Revisar o projeto Worker: Revisor de Projeto
Executar teste de desempenho Worker: Testador de desempenho
10/22/2014
18
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Atividade
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Atividade A atividade Find use case and actors se decompõe nos passos:
Identificar os atores Identificar os casos de uso Descrever a interação entre os atores e uc Organizar em pacotes Apresentar o modelo em um diagrama Avaliar os resultados
10/22/2014
19
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Artefatos Unidade produzida por uma atividade
Pode assumir as formas: Modelo (UML Model)
Elemento de Modelo (Ator)
Documento (Visão)
Código (Componente)
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Artefatos
10/22/2014
20
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Artefatos Mantidos por controle de versão
Artefatos não são somente documentos
Guias e checkpoints Fornecem uma referência de como fazer
Permitem verificar a qualidade do artefato
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Artefatos Templates
Documento de visão (MS Word)
Exemplos Modelo (Modelo de Caso de Uso, de Projeto, etc)
Documento (Documento da Arquitetura do Software)
Código-Fonte
Executáveis
10/22/2014
21
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Documentos Documentos de Visão
Documentos de Risco
Documentos de Análise de Negócio (Processo)
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Tool Mentors Guiam a execução das atividades em uma ferramenta
Ex:
Documenting the Deployment Model Using Rational Rose
10/22/2014
22
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fundamentos
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Visão Concordar com o problema a ser resolvido Identificar os stakeholders Definir os limites do sistema Identificar as restrições
Políticas Econômicas Ambientais Praticabilidade Sistema
10/22/2014
23
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Visão Formular a expressão do problema
O problema <descrição do problema>
Afeta <os stakeholders afetados>
O impacto deste é <qual é o impacto do problema>
Uma solução adequada poderia <lista de beneficios>
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Planejamento Plano de desenvolvimento de software
Bom entendimento do que vai ser criado
Plano da Fase: granularidade alta
Plano de Iteração: granularidade baixa
“The product is only as good as the plan for the product”Charles Fishman“The plan is nothing; the planning is everything.”Dwight D. Eisenhowe
10/22/2014
24
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Riscos Definição: é uma variável que pode obter um valor
que dificulte ou até mesmo torne o desenvolvimento inviável
Tipos Risco direto Risco indireto
Atributos Probabilidade de ocorrência Impacto no projeto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Riscos Investigando e avaliando riscos
Identificar os riscos Analisar e priorizar os riscos Definir estratégias de evasão Definir estratégias de ataque Definir estratégias de contingência
Indicadores “Plano B”
Rever os riscos durante a iteração Rever os riscos no final da iteração
10/22/2014
25
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Tipos de Riscos Riscos de Requisitos
Riscos Tecnológicos
Riscos de Habilidades
Riscos Políticos
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Riscos de Requisitos Ponto inicial do processo de desenvolvimento: Casos de Uso
(interação típica que o usuário tem com o sistema)
Esboçar esqueleto do modelo conceitual do domínio –Modelo de domínio.
Fornece muita compreensão. Ponto inicial para construção de classes
Encontrar detalhes importantes e se concentrar neles
Construção de Protótipo
10/22/2014
26
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Riscos Tecnológicos Construir um protótipo que experimente as partes da
tecnologia que você está pensando em utilizar
Como os componentes do projeto se encaixam
Dificuldade de serem modificados
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Riscos de Habilidades
Treinamento é um bom modo de evitar erros
Bom instrutor
Treinamento em pequenas porções
Se não puder ter consultores, faça revisões de tempo em tempo
Leitura e grupos de estudo
10/22/2014
27
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Riscos Políticos
Política Corporativa
Planos de governo
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Riscos
“Quem estiver primeiro no campo de batalha e esperar a aparição do inimigo estará descansado para o combate; quem vier depois e tiver de apressar-se, chegará exausto.”Sun Tzu
10/22/2014
28
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Business Case Plano econômico para realizar a Visão, isto é, saber se o projeto vale a
pena.
Avaliação do ROI (Return On Investment)
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Arquitetura Artefato: Software Architecture Document
Quais são os componentes?
Como os componentes se encaixam?
Existe algum framework?
Visões arquiteturais
10/22/2014
29
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Arquitetura
Visão Lógica
Usuário finalFuncionalidade
Visão de Processo
Visão deImplementação
Visão de“Deployment”
Visão deCasos de Uso
IntegradoresPerformanceEscalabilidade
EngenhariaTopologiaInstalação
ProgramadoresGerenciamento de Software
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Prototipagem Iterativamente e incrementalmente criar versões do sistema.
Verificação dos requisitos
Redução de riscos
10/22/2014
30
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Avaliação Regular Foco nos problemas no processo e os problemas no produto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Mudanças Artefato: Change Request
Provê um histórico das mudanças e das decisões tomadas
Gerenciar o escopo do projeto
Avaliar o impacto das decisões
10/22/2014
31
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Suporte do Usuário Criar um produto utilizável
Manuais, ajuda e treinamento
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Processo Adotar um processo que se encaixa ao projeto
A produção de artefatos varia de projeto a projeto
10/22/2014
32
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Conclusões Sem visão?
O projeto pode perder escopo ou desviar do propósito
Sem processo? A equipe pode perder a visão de quem esta fazendo o
que e quando
Sem planejamento? Você perde a capacidade de rastrear o progresso
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Conclusões Sem controle de riscos?
Você pode focar no ponto errado e pisar em “minas”
Sem Business Case? Você corre-se o risco de jogar tempo e investimento fora
Sem arquitetura? Podem ocorrer problemas com escalabilidade, falso reuso
e performance
10/22/2014
33
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Conclusões Sem prototipagem?
Como você e o usuário saberão que o sistema funciona?
Sem avaliação? Tenha coragem e enfrente a verdade!
Sem Change Request? Como rastrear, priorizar os pedidos do cliente
Sem suporte do usuário? Como o usuário vai obter informação sobre o sistema?
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Estrutura de processo: Duas Dimensões A primeira dimensão representa o aspecto
dinâmico do processo como é ordenado, e é expresso em termos de ciclo, fases, iterações e marcos.
A segunda dimensão representa o aspecto estático do processo: sua descrição em termos de componentes de processo, atividades, fluxos, artefatos e trabalhadores.
10/22/2014
34
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
tempo
Inception Elaboration Construction Transition
Fases
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Inception Elaboration Construction Transition
Iteração#1
… … …Iteração#n
Iteração#n+1
Iteração#m
Iteração#m+1
IteraçãoPrelim.
Versões
Fases e Iterações
10/22/2014
35
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Estrutura dinâmica Desenvolvimento Iterativo
R
D
C
T
Uma Iteração
R
D
C
T
R
D
C
T
R
D
C
T
R: Análise de exigênciasD: Projeto
C: Código, Teste de unidadeD: Integração
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
LifecycleObjectives
LifecycleArchitecture
Initial OperationalCapability
tempo
Inception Elaboration Construction Transition
Cada fase deve ser concluída com um Milestone (Major Milestone)
Milestone (Marco)
10/22/2014
36
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Inception (Iniciação )
Estabelecer o escopo e os limites, com critérios de aceitação bem definidos
Discriminar os casos de usos críticos
Exibir uma arquitetura candidata
“Adivinhar” o custo e o calendário
Preparar o ambiente do projeto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Iniciação - Milestone
Examina os objetivos e decide seguir ou cancelar o projeto -Viabilidade
Critério de avaliação Entendimento e acordo com os requisitos Credibilidade do custo/tempo Acerto das prioridades
10/22/2014
37
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Iniciação - Milestone
Produtos: Visão geral dos requisitos do projeto:
Modelo de Caso de Uso inicial (10-20%)
Estimativa dos recursos necessários
Mini Mundo
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Elaboração
Assegurar que os requisitos e planos estão estáveis
Estabelecer uma arquitetura
Provar que a arquitetura funciona
Produzir um protótipo evolucionário
Estabelecer um ambiente
10/22/2014
38
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Elaboração
Deve terminar em torno de um quinto do tempo do projeto
Desenvolvedores já sentem a vontade para dar estimativas de tempo
Todos os riscos significativos foram identificados
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Elaboração - Milestone
Examina os objetivos, arquitetura e riscos do projeto
Critério de avaliação Requisitos, visão e arquitetura estáveis Verificar que, com os protótipos, todos os riscos
foram atacados Planos de Iteração da fase de construção Despesas atuais batem com estimadas
10/22/2014
39
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Elaboração - Milestone
Todos o Stakeholders concordam que a visão atual pode ser alcançada se o plano atual for executado para desenvolver o sistema completo, no contexto da arquitetura atual ?
Produtos: Modelo de Caso de Uso (80%)
Plano de desenvolvimento
Avaliação revisada dos riscos
Protótipo da arquitetura
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Construção
Atingir qualidade o mais breve possível
Desenvolver incrementalmente e lançar as versões de teste (alpha, beta)
Completar o desenvolvimento de todos os Casos de Uso
10/22/2014
40
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Construção
Estabelecer(detalhar) as iterações e definir que funcionalidades entregar em cada uma delas
Casos de Uso com maior prioridade e/ou risco de desenvolvimento primeiro
Cada iteração é um mini-projeto: Análise, projeto,codificação, teste e integração
As iterações são incrementais na função Integração contínua
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Construção - Milestone
Sistema e manual
Critério de avaliação O sistema já esta maduro o suficiente pra ser
entregue?
Os stakeholders estão prontos para usá-lo?
Despesas reais versus planejadas continuam aceitaveis?
10/22/2014
41
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Construção - Milestone
Produtos: Modelo de Caso de Uso e de Projeto completos
Manual do usuário
O software integrado e pronto para a utilização dos usuários
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Transição
Teste de validação
Conversão do ambiente para produção
Treinamento de usuários e manutenção
Otimização
Alcançando auto-suporte do usuário
10/22/2014
42
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Transição - Milestone
Os objetivos foram cumpridos Coincide com o fim da fase de concepção de
outro ciclo Critério de avaliação
O usuário está satisfeito Despesas reais versus planejadas continuam
aceitaveis?
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Transição - Milestone
Produtos: Versão final do produto
Manual do usuário atualizado
Modelos atualizados
10/22/2014
43
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP – Detalhando os Workflows
Gerência do ProjetoAmbiente
Modelagem do Negócio
Implementação
Teste
Análise & Projeto
Preliminary Iteration(s)
Iter.#1
FasesCore Workflows
Iterações
Workflows de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Ger. de Configuração
Requisitos
Elaboration TransitionInception Construction
Tempo
Workflows de Engenharia
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de Modelagem de Negócios
Proposta Entender a estrutura dinâmica da organização na qual um sistema
será distribuído.
Entender os problemas atuais na organização alvo e identificar potenciais melhorias
Derivar exigências de sistema necessárias para o suporte da organização alvo.
10/22/2014
44
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Notação para a modelagem do negócio
Usuários empresariais.
Os processos empresariais são representados por casos de uso de negócio e realizações de caso de uso empresarial.
O papel que as pessoas exercem numa organização é representado por trabalhadores empresariais.
As “coisas” que uma organização administra ou produz são representadas através de entidades empresariais.
O Fluxo de Modelagem de Negócios
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Cenários de Modelagem de Negócios
Organograma
Modelagem de domínio
Um negócio, muitos sistemas
Modelo de negócio genérico
Negócio novo
O Fluxo de Modelagem de Negócios
10/22/2014
45
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Trabalhadores
Analista de Processo de Negócio
Projetista de negócio
Artefatos
O documento de visão empresarial
Um modelo de casos de uso empresarial
Um modelo de objeto empresarial
O Fluxo de Modelagem de Negócios
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Modelagem de Negócios
10/22/2014
46
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP – Detalhando os Workflows
Gerência do ProjetoAmbiente
Modelagem do Negócio
Implementação
Teste
Análise & Projeto
Preliminary Iteration(s)
Iter.#1
FasesCore Workflows
Iterações
Workflows de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Ger. de Configuração
Requisitos
Elaboration TransitionInception Construction
Tempo
Workflows de Engenharia
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de RequisitosProposta
Estabelecer e manter acordo com os clientes e outros interessados no que o sistema deveria fazer
Definir os limites do sistema
Fornecer base para cálculo do custo e tempo para desenvolver o sistema
10/22/2014
47
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de RequisitosRequisitos
Funcionais
Não-funcionais Utilidade
Robustez
Desempenho
Suporte
Segurança
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de Requisitos
10/22/2014
48
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de RequisitosTrabalhadores em Requisitos
Analista de Sistema
Especificador do Caso de Uso
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP – Detalhando os Workflows
Gerência do Projeto
Ambiente
Modelagem do Negócio
Implementação
Teste
Análise & Projeto
Preliminary Iteration(s)
Iter.#1
FasesCore Workflows
Iterações
Workflows de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Ger. de Configuração
Requisitos
Elaboration TransitionInception Construction
Tempo
Workflows de Engenharia
10/22/2014
49
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de Análise e ProjetoTrabalhadores
Arquiteto
Projetista
Artefatos O modelo de Projeto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de Análise e Projeto
10/22/2014
50
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP – Detalhando os Workflows
Gerência do ProjetoAmbiente
Modelagem do Negócio
Implementação
Teste
Análise & Projeto
Preliminary Iteration(s)
Iter.#1
FasesCore Workflows
Iterações
Workflows de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Ger. de Configuração
Requisitos
Elaboration TransitionInception Construction
Tempo
Workflows de Engenharia
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de Implementação
Proposta:
Implementar classes e objetos em temos de componentes;
Testar os componentes desenvolvidos como unidades;
Integrar em sistema executável os resultados produzidos por implementadores individuais ou equipes.
10/22/2014
51
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de ImplementaçãoImplementação no RUP:
Construções
Integração
Protótipos
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de ImplementaçãoTipos de protótipos:
Comportamental
Estrutural
10/22/2014
52
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de Implementação Trabalhadores
Implementador
Integrador do sistema
Arquiteto
Revisor de Código
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de ImplementaçãoArtefatos Subsistema de implementação
Componente
Plano de construção de integração
10/22/2014
53
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de Implementação
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP – Detalhando os Workflows
Gerência do Projeto
Ambiente
Modelagem do Negócio
Implementação
Teste
Análise & Projeto
Preliminary Iteration(s)
Iter.#1
FasesCore Workflows
Iterações
Workflows de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Ger. de Configuração
Requisitos
Elaboration TransitionInception Construction
Tempo
Workflows de Engenharia
10/22/2014
54
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de TesteProposta:
Verificar as interações de componentes;
Verificar a própria integração de componentes;
Verificar que todas as exigências tenham sido implementadas corretamente;
Identificar e assegurar que todos os defeitos descobertos estejam corrigidos antes do software ser distribuído.
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Qualidade
Dimensões de teste Dimensão da qualidade
Confiabilidade
Funcionalidade
Desempenho
Estágios do teste Teste de unidade
Teste de integração
Teste de sistema
Teste de aceitação
Fluxo de Teste
10/22/2014
55
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Tipos de testesPadrãoConfiguraçõesFunçãoInstalaçãoIntegridadeCarregamentoDesempenhoStress
Fluxo de Teste
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
TrabalhadoresProjetista de teste
Testador
Fluxo de Teste
10/22/2014
56
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
ArtefatosPlano de teste
Resultados de testes
Fluxo de Teste
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de Teste
10/22/2014
57
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Proposta:
Testar o software em seu ambiente operacional final;
Empacotar o software para entrega;
Distribuir o software;
Instalar o software;
Treinar os usuários finais;
Fluxo de Implantação
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Modos de distribuição
Software em sistemas feitos sobre encomenda
Software pronto
Software descarregável pela internet
Fluxo de Implantação
10/22/2014
58
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
TrabalhadoresGerente de distribuiçãoGerente de projetoEscritor técnicoDesenvolvedor de cursoProvadorImplementador
Fluxo de Implantação
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Artefatos fundamentaisSoftware executável
Artefatos de instalação
Material de suporte
Material de treinamento
Fluxo de Implantação
10/22/2014
59
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de Implantação
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP – Detalhando os Workflows
Gerência do Projeto
Ambiente
Modelagem do Negócio
Implementação
Teste
Análise & Projeto
Preliminary Iteration(s)
Iter.#1
FasesCore Workflows
Iterações
Workflows de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Ger. de Configuração
Requisitos
Elaboration TransitionInception Construction
Tempo
Workflows de Engenharia
10/22/2014
60
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Proposta:
Localizar e manter a integridade dos recursos de evolução do projeto;
Os membros da equipe de projeto devem poder identificar e localizar a versão apropriada do artefato;
Fluxo de Gerenciamento de configuração
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Gerenciamento de configuração
Gerenciamento de solicitação de mudança
Fluxo de Gerenciamento de configuração
10/22/2014
61
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
TrabalhadoresGerente de configuração
Gerente de controle de mudança
Implementadores
Integradores
Fluxo de Gerenciamento de configuração
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
ArtefatosPlanos de gerenciamento de
configuração
Solicitações de mudança
Fluxo de Gerenciamento de configuração
10/22/2014
62
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP – Detalhando os Workflows
Gerência do Projeto
Ambiente
Modelagem do Negócio
Implementação
Teste
Análise & Projeto
Preliminary Iteration(s)
Iter.#1
FasesCore Workflows
Iterações
Workflows de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Ger. de Configuração
Requisitos
Elaboration TransitionInception Construction
Tempo
Workflows de Engenharia
10/22/2014
63
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de Gerenciamento de ProjetoPropostas
Fornecer uma estrutura para gerenciar projetos de software intensivos.
Fornecer diretrizes práticas para planejar, prover pessoal, executar e monitorar projetos.
Fornecer uma estrutura para gerenciar risco.
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Propostas fora do RUP
Administrar pessoal.
Administrar orçamentos.
Administrar contratos com os provedores e clientes.
O Fluxo de Gerenciamento de Projeto
10/22/2014
64
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
O Fluxo de Gerenciamento de Projeto
Propostas RUP Planejamento de um projeto iterativo pelo ciclo de vida e planejamento
de uma iteração em particular.
Administração de risco.
Monitoramento de progresso de um projeto iterativo e medidas.
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Como planejar um processo iterativo? De quantas iterações eu preciso?
Quanto tempo elas deveriam ter?
Como determinar o conteúdo e objetivos de uma iteração?
Como rastreio o progresso de uma iteração?
O Fluxo de Gerenciamento de Projeto
10/22/2014
65
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Objetivos: Alocar tarefas e responsabilidades a uma equipe de pessoas.
Monitorar o progresso relativo para o plano e descobrir problemas potenciais conforme o projeto é desenvolvido.
O Fluxo de Gerenciamento de Projeto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Dois níveis de planos Plano de fase
Datas dos fatos principais
Perfil da provisão de pessoal
Datas dos fatos secundários
Plano de iteração Datas importantes
O Fluxo de Gerenciamento de Projeto
10/22/2014
66
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Riscos Uma variável que pode levar um valor que arrisca
ou elimina o sucesso de um projeto.
Risco direto
Risco indireto
O Fluxo de Gerenciamento de Projeto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Como competir com riscos
Fuga de risco
Transferência de risco
Aceitação de risco Moderar o risco Definir um plano de contingência
O Fluxo de Gerenciamento de Projeto
10/22/2014
67
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
MedidasExemplos de Metas:Monitorar o progresso relativo ao plano
Melhorar a satisfação do cliente
Melhorar a produtividade
Melhorar a previsibilidade
Aumentar a reutilização
O Fluxo de Gerenciamento de Projeto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
MedidasMelhorar a satisfação do cliente:Definir a satisfação do cliente
Medir a satisfação do cliente sobre vários lançamentos
Verificar que a satisfação melhora
O Fluxo de Gerenciamento de Projeto
10/22/2014
68
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Trabalhadores
Gerente de Projeto
Revisor de Projeto
Gerente de Configuração
Engenheiro de Processo
O Fluxo de Gerenciamento de Projeto
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Artefatos O plano de desenvolvimento de software
O caso empresarial
O plano de iteração
A avaliação de estado
A ordem de trabalho
O banco de dados de medida do produto
O Fluxo de Gerenciamento de Projeto
10/22/2014
69
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
RUP – Detalhando os Workflows
Gerência do Projeto
Ambiente
Modelagem do Negócio
Implementação
Teste
Análise & Projeto
Preliminary Iteration(s)
Iter.#1
FasesCore Workflows
Iterações
Workflows de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Ger. de Configuração
Requisitos
Elaboration TransitionInception Construction
Tempo
Workflows de Engenharia
10/22/2014
70
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Proposta:
Seleção e aquisição de ferramentas;
Configurações de ferramentas para harmonizar a organização;
Serviços técnicos para suportar o processo.
Fluxo de ambiente
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
TrabalhadoresEspecialista de ferramentas
Administrador de sistemas
Fluxo de ambiente
10/22/2014
71
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
ArtefatoCaso de desenvolvimento
Fluxo de ambiente
Engenharia de SoftwareProf. Flávio de Oliveira Silva, Ph.D.
Fluxo de ambiente