A maior rede de estudos do Brasil

Grátis
29 pág.
[04] EngSW - RUP v1 6

Pré-visualização | Página 1 de 3

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)