Buscar

EngSW Aula 04 RUP v1.6

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Teoria de Engenharia de 
Software
Aula 4
RUP - Processo Unificado de Software
Prof. Rafael Targino
rtargino@unicarioca.edu.br
2
O conteúdo desta aula foi parcialmente 
baseado nos slides disponíveis do livro:
Engenharia de Software
Engenharia de Software – Conceitos e Práticas
Raul Sidnei Wazlawick, Elsevier, 1a edição, 2013
2
3
Resumo da Última Aula
• O que é um Processo?
• Processo de Desenvolvimento de Software
– Cascata
– Modelo Evolucionário
– Prototipação
– Iterativo e Incremental
– Espiral
– RUP
– Metodologias Ágeis
Engenharia de Software
4
Conteúdo da Aula
• O Processo Unificado
– Caracterização do UP
– Fases e Iterações
• Disciplinas do RUP
– Elementos do RUP
– Disciplinas
• Fluxos de Trabalhos (Workflows) do RUP
– Principais Workflows
– Marcos
Engenharia de Software
3
5
Processo Unificado (UP)
• Criado por Jacobson, Booch, & Rumbaugh, 
na década de 1990.
– Usa uma abordagem de orientação a objetos em 
sua concepção e é projetado e documentado 
utilizando a notação UML
• Resultado de mais de 30 anos de experiência 
acumulada em projetos, notações e 
processos.
• Inicialmente desenvolvido e comercializado 
pela Rational, e desde 2003 pertence a IBM.
– Usando o seu nome original RUP
Engenharia de Software
6
Dimensões necessárias para 
Desenvolver Sistemas
Engenharia de Software
Processo
Linguagem de Modelagem Ferramentas
RUP / Processo Unificado
UML Ferramentas CASE
4
7
Implementações UP
• RUP (Rational Unified Process)
• AUP (Agile Unified Process
• OpenUP 
• EUP (Enterprise Unified Process)
• OUM 
• RUP-SE 
Para simplificação neste curso, usaremos RUP 
e UP como sinônimos!
Engenharia de Software
8
O RUP é um processo muito 
Prescritivo
Métodos 
Prescritivos
Métodos 
DescritivosX
5
9
• A parte estática do RUP, é descrita através dos conceitos de 
papéis, atividades, artefatos e fluxos de trabalho.
PAPÉIS
ATIVIDADES
ARTEFATOS
FLUXO DE TRABALHO
define o comportamento e as responsabilidades assumidas por uma 
pessoa ou um conjunto de pessoas trabalhando em equipe.
tarefa que um indivíduo executa quando está exercendo um 
determinado papel e produz um resultado importante para o 
contexto do projeto.
sequencias de atividades que são executadas para a 
produção de um resultado valioso para o projeto.
pedaço de informação que é produzido, modificado ou 
utilizado em um processo.
Elementos do RUP
Processo de Requisitos – RUP
%$
6
Analisar o ProblemaAtividade: 
Analisar o 
Problema
Papel responsável em 
executar o conjunto de 
tarefas da Atividade
Tarefas da Atividade
Artefatos de Entrada
Artefatos de Saída
12
Descritivo de uma Tarefa
Engenharia de Software
7
13
Descritivo de uma Tarefa (continuação)
Engenharia de Software
14
Outras Característica
• É Dirigido por Casos de Uso
– Para o UP o conjunto de casos de uso deve definir 
e esgotar toda a funcionalidade possível do 
sistema.
• É Centrado na Arquitetura
– As funcionalidades aprendidas com a elaboração 
dos diversos casos de uso devem ser integradas a 
esta arquitetura de forma incremental.
Engenharia de Software
8
15
Principais Característica
• É Iterativo e Incremental.
– UP preconiza o desenvolvimento baseado em 
ciclos iterativos de duração fixa, onde a cada 
iteração a equipe incorpora à arquitetura as 
funcionalidades necessárias para realizar os casos 
de uso abordados no ciclo.
• É Focado em Riscos.
– Em função das priorizações dos casos de uso 
mais críticos nos primeiros ciclos iterativos, pode-
se dizer que o UP é focado em riscos
Engenharia de Software
16
Organização do RUP
RUP é organizado:
• Por tempo
– Fases e Iterações
• Por Conteúdo
– Disciplinas 
9
17
Organização do RUP por Tempo - Fases
• Concepção (Iniciação): Definir o escopo do 
projeto e alcançar a cooperação entre todos os 
stakeholders.
• Elaboração: Especificar os requisitos 
prioritários e estabelecer a arquitetura.
• Construção: Finalizar a implementação do 
Produto.
• Transição: Garantir que o produto esteja 
disponível para seus usuários finais.
18
4 Fases do RUP
• Iniciação (Concepção)
– Definição do escopo do projeto, identificação dos atores, 
casos de uso e descrição dos mais significativos
– Também chamada de Concepção
• Elaboração
– Análise do sistema, definição da arquitetura do sistema
• Construção
– Desenvolvimento iterativo e incremental do produto
• Transição 
– Atividades de “entrega” do software
Engenharia de Software
10
19
Organização do RUP por Conteúdo - Disciplinas
20
Iterações
• Dentro de cada fase podem existir uma ou mais 
iterações. 
• Software é desenvolvido em cada iteração, que 
pode incluir uma liberação de software (release) 
interna ou externa que torna-se um ponto de 
avaliação do progresso do projeto.
Engenharia de Software
11
21
Fases X Disciplinas
• Em cada Fase do RUP deve-se visitar todas 
as 9 Disciplinas
• Algumas Disciplinas terão mais esforço que 
outras dentro de uma Fase
• Algumas Disciplinas devem ser visitadas 
para no mínimo dizer que nada precisa ser 
feito.
Engenharia de Software
22
Gráfico das Fases x Disciplinas
Engenharia de Software
Iteração 1
Foco nas 
disciplinas de 
Análise de 
Negócios e 
Requisitos
12
23
Gráfico das Fases x Disciplinas
Engenharia de Software
Iteração 2
O Foco é em 
validar a 
Arquitetura e o 
que possuir 
mais riscos
24
Gráfico das Fases x Disciplinas
Engenharia de Software
Iteração 3
O Foco é em 
validar a 
Arquitetura e o 
que possuir 
mais riscos
13
25
Gráfico das Fases x Disciplinas
Engenharia de Software
Iteração 4, 
5, 6.... n
O Foco é na 
construção do 
software e nos 
testes
26
Gráfico das Fases x Disciplinas
Engenharia de Software
Iteração 4, 
5, 6.... n
O Foco é na 
implantação do 
sistema em 
produção
14
27
Questão de Concurso
• O RUP (Rational Unified Process) é uma metodologia 
de projeto de software criada pela Rational. O 
processo analítico do RUP divide o ciclo de vida de 
desenvolvimento de software em 4 fases. Assinale a 
alternativa que não indica uma fase do ciclo de vida 
de desenvolvimento de software, de acordo com o 
RUP.
a) Transição. 
b) Concepção. 
c) Elaboração. 
d) Implantação. 
e) Construção. 
Engenharia de Software
28
Exercício
• Cite, em poucas palavras, o que significa 
desenvolver software iterativamente?
• Considerando o processo de “Ministrar um 
Curso Semestral” em um universidade, em 
que o professor possui as seguintes 
atividades: preparar material do curso, 
ministrar aula, aplicar a prova e corrigir a 
prova, diga:
– Como seriam o encadeamento dessas atividades 
usando o processo em cascata e o processo RUP?
Engenharia de Software
15
29
Conteúdo da Aula
• O Processo Unificado
– Caracterização do UP
– Fases e Iterações
• Disciplinas do RUP
– Elementos do RUP
– Disciplinas
• Fluxos de Trabalhos (Workflows) do RUP
– Principais Workflows
– Marcos
Engenharia de Software
30
Papéis e Atividade
16
31
Detalhamento das Disciplinas
Engenharia de Software
32
Detalhamento das Disciplinas
• Disciplinas técnicas (núcleo)1. Modelagem de negócio;
2. Requisitos;
3. Análise e desenho;
4. Implementação;
5. Teste;
6. Implantação;
• Disciplinas de apoio:
7. Gerencia de configuração;
8. Gerenciamento de projetos;
9. Ambiente.
17
33
Observação sobre os Papéis e Artefatos de 
cada Disciplina
• Em negrito, estão destacados os papéis 
e artefatos principais de cada disciplina 
que podem ser cobrados em prova
• Em conjunto com o Objetivo de cada 
Disciplina
34
1. Modelagem de Negócio
• Objetivos
– Entender a estrutura e a dinâmica da organização 
na qual o sistema deve ser implantado.
– Entender os problemas atuais e identificar 
melhorias potenciais.
– Garantir um entendimento comum entre clientes, 
usuários e desenvolvedores.
– Derivar os requisitos de sistemas necessários.
18
35
1. Modelagem de Negócio
• Principais papéis:
– Analista de Negócio
– Desenhista de processo de negócio
– Stakeholders
– Revisores
• Principais artefatos:
– Documento de visão de negócios
– Modelo de casos de uso de negócio
– Modelo de objetos de negócio
– Especificação suplementar de negócio
– Glossário de negócio
36
2. Requisitos
• Objetivos
– Estabelecer e manter acordo entre 
stakeholders sobre o que o sistema deve 
fazer
– Prover aos desenvolvedores um melhor 
entendimento dos requisitos do sistema
– Definir as fronteiras do sistema
– Prover a base para planejamento do 
conteúdo técnico das iterações
– Prover a base para estimativas de duração e 
custo
19
37
2. Requisitos
• Principais papéis :
– Analista de Sistemas
– Especificador de casos de uso
– Desenhista de interfaces com usuário
• Principais artefatos:
– Glossário
– Descrição dos casos de uso
– Protótipos de interface com usuário
38
3. Análise e Projeto
• Objetivos
– Traduzir os requisitos em uma especificação 
que descreva como implementar o sistema
– Selecionar a melhor estratégia de 
implementação
– Estabelecer uma arquitetura robusta para a 
aplicação
20
39
3. Análise e Projeto
• Principais papéis :
– Arquiteto
– Projetista
– Projetista de banco de dados
– Revisor
• Principais artefatos:
– Modelo de análise
– Modelo de Projeto
– Documento de Arquitetura de software
40
4. Implementação
• Objetivos
– Definir a organização do código em termos 
de subsistemas e camadas
– Implementar classes, objetos e 
componentes
– Testar unidades criadas
– Integrar em um ambiente executável os 
resultados produzidos individualmente
21
41
4. Implementação
• Principais papéis :
– Implementador
– Integrador de sistemas
– Arquiteto
– Revisor de código
• Principais artefatos:
– Implementação de subsistema
– Componente
– Plano de integração
42
5. Testes
• Objetivos
– Verificar a interação dos atores com cada 
componente.
– Verificar a integração entre os 
componentes.
– Verificar a implementação correta de todos 
os requisitos.
– Identificar e garantir que todos os defeitos 
descobertos sejam tratados.
22
43
5. Testes
• Principais papéis :
– Desenhista de testes
– Testador
• Principais artefatos:
– Plano de testes
– Modelo de testes
– Resultados dos testes
– Modelo de carga
– Defeitos gerados
44
• Objetivos
– Testar o software no ambiente final 
(produção).
– Empacotar o software para implantação.
– Distribuir o software.
– Instalar o software.
– Treinar os usuários finais. 
– Migrar o software existente (se for o caso) e 
converter sua base de dados
6. Implantação
23
45
• Principais papéis:
– Gerente de implantação
– Gerente de projetos
– Redator
– Implementador
• Principais artefatos:
– Software executável.
– Artefatos de instalação: scripts, ferramentas, 
arquivos, guias, etc.
– Notas de release.
– Material de apoio e treinamento.
6. Implantação
46
• Objetivos
– Rastrear e manter a integridade do projeto.
– Habilitar membros da equipe a identificar e 
localizar artefatos, selecionar a versão 
adequada e avaliar o histórico do artefato.
– Acompanhar a evolução do projeto.
7. Gerenciamento de configuração e 
mudanças
24
47
• Principais papéis :
– Gerente de configuração
– Gerente de controle de mudanças
– Implementador
– Integrador
– Arquiteto
• Principais artefatos:
– Plano de gerenciamento de configurações
– Requisições de mudança
– Modelo de implementação
– Métricas e relatórios de status
7. Gerenciamento de configuração e 
mudanças
48
• Objetivos
– Prover uma estrutura para gerenciar 
projetos de desenvolvimento.
– Prover diretrizes práticas para planejar, 
executar, apoiar e monitorar projetos.
– Prover uma estrutura para gerenciar riscos.
8. Gerenciamento de Projetos
25
49
• Principais papéis:
– Gerente de projetos
• Principais artefatos:
– Plano de desenvolvimento de projeto
– Plano de iterações
– Modelo de negócio
– Medidas do projeto
8. Gerenciamento de Projetos
50
• Objetivos
– Seleção e aquisição de ferramentas
– Configuração e personalização de 
ferramentas
– Configuração de processos
– Melhoria dos processos
– Prover serviços de apoio: infraestrutura, 
administração de contas, backup, etc.
9. Ambiente
26
51
• Principais papéis:
– Analista de processos de Negócio
– Analista de sistemas
– Desenhista de interfaces com usuário
– Arquiteto
– Redator
– Administrador do sistema
– Especialista em ferramentas
• Principais artefatos:
– Diretrizes gerais
9. Ambiente
52
Exercício
• Utilizando o exercício anterior do processo 
de “Ministrar um Curso Semestral”, quais 
seriam as disciplinas envolvidas nas 
atividades: preparar material do curso, 
ministrar aula, aplicar a prova e corrigir a 
prova (considere um curso que possui 
apenas uma prova ao final)
– Definir Ementa
– Ensino
– Tirar Dúvidas (conteúdo e questões de provas)
– Administrar presença e notas
Engenharia de Software
27
53
Conteúdo da Aula
• O Processo Unificado
– Caracterização do UP
– Fases e Iterações
• Disciplinas do RUP
– Elementos do RUP
– Disciplinas
• Fluxos de Trabalhos (Workflows) do RUP
– Principais Workflows
– Marcos
Engenharia de Software
54
Fluxos de Trabalho (Workflows)
• O Fluxo de trabalho é um agrupamento de 
atividades que são realizadas em um sequencia 
típica de eventos e apresentadas com artefatos 
informados e resultantes.
• Cada Disciplina do RUP possui um Fluxo de Trabalho 
bem definido
• O Fluxo de Trabalho é dividido em várias Atividades 
e as Atividades podem ser detalhadas em tarefas 
(com seus respectivos artefatos de entrada e saída)
• O Conjunto de Fluxo de Trabalho do RUP é o que 
especifica o processo de desenvolvimento de 
software que deve ser seguido
Engenharia de Software
28
Exemplo de 
Fluxo de 
Trabalho –
Gerência de 
Projetos
Engenharia de Software
Atividades
56
Exemplo de Atividade do Fluxo de 
Trabalho Gerência de Projetos
Engenharia de Software
Papéis
Tarefas
Artefatos
29
57
Customização dos Fluxos de 
Trabalho
• O RUP e todos os seus Fluxos de Trabalho, 
com todas as suas atividades e artefatos não 
precisam ser adotados na íntegra.
• O RUP pode ser adaptado (configurado) 
dependendo do tipo de software sendo 
desenvolvido, de características do ambiente 
de desenvolvimento (tamanho da equipe, 
técnicas usadas, etc.) e da própria 
organização
Engenharia de Software
58
Navegação em Todos as Disciplinas e 
Fluxos de Trabalho do RUP
• http://www.funpar.ufpr.br:8080/rup/process
/workflow/ovu_core.htm
• http://www.wthreex.com/rup/portugues/index.htm
Engenharia de Software

Outros materiais