Você está na página 1de 43

PCCC – Prática Como

Componente Curricular
Engenharia de Software

Nome do Tutor
O que vocês vão aprende hoje
• O que é RUP
• Quais as fases e disciplinas do RUP
• O que são Artefatos
• E quais são os principais artefatos do
RUP e que vocês vão aprender e
desenvolver durante essa disciplina
O que é RUP?
• É um processo de engenharia de Software

E o que é um processo de
engenharia de software?
Processo de engenharia de software

• É a definição de um conjunto completo de actividades


necessárias para transformar os requisitos do utilizador
num conjunto consistente de artefactos que representam
um produto de software e, mais tarde, transformar
alterações nesses requisitos num novo conjunto consistente
de artefactos [Jacobson 1999]
– define quem faz o quê, quando e como para atingir um
determinado objectivo

• A presença de um processo bem definido e bem gerido é


um aspecto determinante de diferenciação entre projectos
produtivos e projectos mal-sucedidos
Processo de engenharia de software

• Exemplos
– sequêncial ou Cascata
– iterativo e Incremental
– evolucional ou Prototipação
– espiral
– ágil
– RAD
– quarta geração
RUP - Rational Unified Process
• É composto por um conjunto de atividades
– bem definidas
– com responsáveis
– com artefatos de entrada e saída
– com dependências entre as mesmas e ordem de
execução
– com modelo de ciclo de vida
– descrição sistemática de como devem ser realizadas
– Utiliza UML (Unified Modeling Language)
RUP - Rational Unified Process
• O RUP, como processo de
desenvolvimento de software, tem 4
regras:
– servir de guia;
– especificar quais artefatos devem ser desenvolvidos
e quando devem ser desenvolvidos;
– dirigir as tarefas individuais e do time como um todo;
– oferecer critérios para monitorar e medir os produtos
e atividades do projeto.
RUP - Rational Unified Process
• Processo Unificado
– dirigido por casos de uso
– baseado em componentes
– centrado em arquitetura
– iterativo e Incremental
– framework genérico de um processo de
desenvolvimento
Dirigido por casos de uso
• Os casos de uso são utilizados como o
principal recurso para o estabelecimento
do comportamento desejado do sistema
(especificação) e para sua verificação e
validação (testes).
Baseado em componentes
• A característica principal do RUP é ser
baseado em componente (parte física e
atualizável do sistema), ou seja, o
software desenvolvido é formado por
componentes de software que se
comunicam através de interfaces bem
definidas.
Centrado na arquitetura
• No RUP os use cases e a arquitetura vão sendo
desenvolvidos em paralelo. O conceito de
arquitetura engloba os aspectos mais
relevantes, tanto estáticos, como dinâmicos, do
sistema.
Iterativo e Incremental
• O RUP utiliza pequenos ciclos de projeto (mini-
projetos) que correspondem à uma iteração e
que resultam em um incremento no software.
Iterações referem-se a passos e incrementos a
evoluções do produto.
• UP repete vários ciclos até o término do sistema
• Cada ciclo de vida possui 4 fases:
– Concepção,
– Elaboração,
– Construção, e
– Transição.
Fases do Ciclo de Vida

Iniciação Elaboração Construção Transição

tempo

• Iniciação Define o escopo do projeto e sua viabilidade


• Elaboração Plano do Projeto, especificação de
características e definição de baseline da arquitetura
• Construção Construção do produto
• Transição Substituição do antigo sistema e implantação
do novo
Cronograma, esforço e recursos
por fase
Iniciação Elaboração Construção Transição

Esforço ~5 % 20 % 65 % 10%
Cronogra 10 % 30 % 50 % 10%
ma
Ciclo de Vida - Iniciação
• Fase de compreensão do problema e da tecnologia
através da definição dos casos de uso mais críticos;
• Nesta fase, é estabelecido o objetivo do projeto, do
comum acordo entre os envolvidos, determinando assim
seu escopo e se o projeto é viável do ponto de vista do
negócio da organização;
• Principal marco desta fase o Documento de
Visão;
• Nesta fase geralmente empenha-se as seguintes
atividades:
– Definição do Escopo do Projeto
– Caso de Negócio
– Ambiente do Projeto
Ciclo de Vida - Elaboração
• Fase de descrição da arquitetura do software na qual os
requisitos que mais impactam na arquitetura são
capturados em forma de casos de uso.
• Identificação dos riscos do projeto (requisitos,
tecnológicos, especialização e políticos)
• No final da fase de elaboração deve ser possível estimar
custos, elaborar o cronograma e o plano de construção
do sistema.
Ciclo de Vida - Construção
• Fase na qual o software é construído e preparado para a
transição para os usuários. Além do código,
propriamente dito, também são produzidos os casos de
teste e a documentação;
• É também a fase onde se concentra o
gerenciamento de recursos e o controle das operações,
visando otimização de custos e qualidade.
Ciclo de Vida - Transição
• Nesta fase, temos como objetivo assegurar que o
software esteja disponível para os usuários finais
• Assim temos como marco a entrega ao usuário final
• Atividades realizadas
– Planos de Implantação
– Manuais de Usuário
– Testes no Release
– Feedback
– Entrega do Produto
Iterativo e Incremental
• Cada fase é dividida em iterações

Concepção Elaboração Construção Transição

Itera- ... Itera- Itera- Itera- Iteração n Itera- Itera- Itera-


ção1 ção n ção n ção n ção n ção n ção n

release release release release release release release produto

• Cada iteração gera um artefato ou um


conjunto deles (release)
Qualquer tipo de
informação criada, modificada
ou usada por um processo.
Iteração e Workflow
Passos dentro de
uma iteração
Fases
Core Workflows Concepção Elaboração Construção Transição
Requisito

Uma iteração na
Análise fase de Elaboração

Desenho

Implemen-
tação

Teste

Iteração ite r. ite r. ite r. ite r. ite r. ite r. ite r.


Preliminar #1 #2 #n #n+1 # n +2 #m #m +1
Iterativo e Incremental
• Não é tão eficaz entender todo o
problema, desenhar toda a solução, e
construir o sistema e então testar o
produto em separado.
Um processo iterativo é requerido para permitir um
entendimento crescente de todo o problema através de
sucessivos refinamentos.
Framework

• O RUP é desenhado para ser flexível e


extensível
Não existe Processo Universal
Disciplinas do RUP
Modelagem do negócio
• Entender a estrutura e dinâmica da organização
• Entender os problemas e identificar as
melhorias em potencial
Modelagem do negócio
Requisitos
• Estabelecer e manter a concordância entre o
cliente e “stakeholders” sobre o que o sistema
vai fazer
• Definir os limites do sistema
• Prover um base para estimar tempo e custo de
desenvolvimento
Requisitos
Análise & Projeto
• Transformar os requisitos em um projeto do que
o sistema vai ser
• Construir uma arquitetura robusta para o
sistema
• Adaptar o projeto para as limitações do
ambiente de execução
Análise & Projeto
Implementação
• Definir a organização do código
• Implementar classes e objetos em termo de
componentes
• Testar as unidades
• Integrar as unidades
Implementação
Testes
• Encontrar e documentar defeitos
• Validar se o sistema atende ao que especificado
• Validar se o sistema foi construído como
projetado
Testes
Implantação
• Garantir que o sistema está disponível
para o usuário final
Implantação
Gerencia de configuração e
mudanças
• Controlar os artefatos produzidos no
desenvolvimento do projeto
• Evita a ocorrência dos seguintes
problemas
– Atualizações simultâneas
– Múltiplas versões
– Notificação limitada
Gerencia de configuração e
mudanças
Gerenciamento de Projeto
• Framework para gerenciamento do projeto
• Disponibilizar guias para planejar, executar,
acompanhar e monitorar o projeto
• Gerenciamento de riscos
Gerenciamento e planejamento
Ambiente
• Focado nas atividades relacionadas a
adaptação do processo
– Processo organizacional Processo do
projeto
– Refinamento do processo do projeto
Ambiente
Artefatos relevantes
Modelo de caso
de uso

Glossário
Detalhamento
Do caso de uso

Especificação
suplementar
Referencias
• http://davidferreirafz.files.wordpress.com/2
008/02/engenharia-de-software-rup.pdf
• Descrição do modelo CMM pdf
• Norma IEEE 830 - requisitos aqui
• RUP = RUP 2002.05.00 Portugues

Você também pode gostar