RUP - Rational Unified Process
Disciplina: ESOF2
Prof. Adriana M. Martins
RUP - Rational Unified Process
Objetivo
 Introduzir
os conceitos que fundamentam o Processo
Unificado.
 Mostrar
a importância da adoção de um processo de
desenvolvimento de software.
Aula 01
RUP - Rational Unified Process
Agenda
 Introdução
 Processo

Unificado:
Dirigido por Casos de Uso

Centrado em Arquitetura

Iterativo e Incremental
Aula 01
RUP - Rational Unified Process
Introdução - Situação atual:

-
-
Pontos a considerar:
Computadores mais poderosos e acessíveis;
Crescimento da Internet e a troca de informações.
Usuários esperam cada vez mais dos sistemas desde uma
simples edição de textos até a manipulação de figuras,
diagramas e multimídia.
-

Nós estamos sempre querendo mais!!
Aula 01
RUP - Rational Unified Process
Introdução - Situação atual:

-
No processo de desenvolvimento de software:
Haverá sempre mais pessoas envolvidas;
Necessidade de ser mais rápidos (fazer em menos
tempo).
-
 Se
não houver melhorias no processo de
desenvolvimento de software não haverá aptidão para
desenvolver softwares complexos conforme as
exigências de mercado.
Aula 01
RUP - Rational Unified Process
Introdução - A “Crise” do Software:
 Insatisfação
dos usuários é freqüente;
 A qualidade do software é geralmente suspeita;
 Poucas medidas e critérios de qualidade aplicados;
 O software existente é difícil de ser mantido mas
precisa permanecer até ser substituído.
Aula 01
RUP - Rational Unified Process
Introdução - A “Crise” do Software - Causas:
 Introdução




de erros no processo:
Má especificação;
Mau projeto;
Má implementação;
Testes incompletos ou mal feitos.
 Problemas
de comunicação;
 Problemas de Gerência dos Projetos ;
 Falta de treinamento em novas técnicas de
desenvolvimento.
Aula 01
RUP - Rational Unified Process
Introdução - Desenvolvimento Convencional:
Modelo Cascata
Aula 01
RUP - Rational Unified Process
Introdução - Modelo Cascata - O que deu errado?
O
Modelo Cascata é baseado em suposições
oriundas dos processos de engenharia convencionais;
 Algumas
dessas suposições não foram confirmadas
na prática. Exemplo:
Todos os requisitos podem ser precisamente
identificados antes do desenvolvimento;
 Os requisitos são estáveis;
 O projeto pode ser feito totalmente antes da
implementação.

Aula 01
RUP - Rational Unified Process
Introdução - Modelo Cascata:
Resultado de projetos de
software realizados nos EUA no
início da década de 90 (Todos
baseados no modelo Cascata):

30%
53% custaram até 200% acima
da estimativa inicial.

Estimou-se que US$ 81 bilhões
foram gastos em projeto
fracassados só no ano de 1995.

70%
Acabados
Inacabados
Aula 01
RUP - Rational Unified Process
Considerações:

O mercado está em mudança constante.
As tecnologias inevitavelmente mudam e
evoluem;
 A vontade e objetivos dos usuários mudam,
muitas vezes, de forma imprevisível.

Aula 01
RUP - Rational Unified Process
Como podemos melhorar?
 Precisamos
de um processo que integre as
várias etapas do desenvolvimento de software.
 Precisamos
de um caminho comum;
 Um
processo que seja um guia ordenado das
atividades da equipe de desenvolvimento.
Aula 01
RUP - Rational Unified Process
Como podemos melhorar?
É
preciso:
Saber dirigir as tarefas de um indivíduo e da
equipe como um todo;
-
-
Especificar qual o produto esperado;
Oferecer critérios de monitoramento e
medições do produto e atividades.
-
Aula 01
RUP - Rational Unified Process
Como podemos melhorar?
A
presença de um processo bem definido e
bem gerenciado é uma grande diferencial entre
projetos muito produtivos e projetos sem
sucesso.
Aula 01
RUP - Rational Unified Process
O que é um processo de Desenvolvimento de software?
 Um
processo:
Define quem está fazendo o que, quando e
como, para alcançar um determinado objetivo;

Provê guias para um desenvolvimento mais
eficiente de qualidade de software;

Reduz riscos e incrementa possibilidade de
previsão;


Provê uma cultura e visão comum.
Aula 01
RUP - Rational Unified Process
O Processo Unificado - Definições:
“ O UP é um processo de Engenharia de Software que
busca, através de uma abordagem disciplinada,
atribuir e gerenciar tarefas e responsabilidades com o
objetivo de proporcionar o desenvolvimento, dentro
de custos e cronogramas previsíveis, de softwares
de alta qualidade que atendam corretamente as
necessidades de seus usuários finais.”
Aula 01
RUP - Rational Unified Process
O Processo Unificado - Definições:
O
UP é um guia, um passo-a-passo que descreve:
- como desenvolver sistemas;
- os tipos de pessoas envolvidas e
- os tipos de artefatos produzidos, fornecendo até
mesmo templates para vários deles.
Aula 01
RUP - Rational Unified Process
Processo Unificado – Histórico:
O UP é balanceado porque ele é um produto fim de 3
décadas(30 anos) de desenvolvimento e uso prático. Seu
desenvolvimento como produto segue um caminho:


ERICSSON - 1967 -
(Blocos interconectados, Tráfico de Casos, versão
simplificada da UML)
T
E
M
P
O

OBJECTORY - (1987 -1995), (Ivar Jacobson, conceito Casos de
Uso e Workflows(modelos))

RATIONAL- 1995 - (Adquiriu o Objectory, ênfase na Arquitetura e
desenvolvimento iterativo)

UML - Necessidade de padronização - Grady Booch, James
Rumbaugh, Ivar Jacobson se juntaram à Rational no esforço de padronizar
a UML. Outros (IBM,HP,Microsoft)
Aula 01
RUP - Rational Unified Process
Processo Unificado – Histórico:
Rational Unified Process 5.0
1998
Rational Objectory Process 4.1
1996-1997
Teste Funcional
Teste Desempenho
Gerência Requisitos
Gerência Configuração
Engenharia Negócios
Engenharia Dados
Projeto UI
Abordagem Rational
UML
Objectory Process 1.0-3.8
1987-1995
Abordagem Ericsson
Aula 01
RUP - Rational Unified Process
Processo Unificado X UML:
O
resultado desejado é um software robusto,
resistente e escalável. Para isto é necessário um
processo e uma linguagem.
 UML
nos dá uma forma padrão para visualizar,
especificar, construir, documentar e comunicar os
artefatos de um sistema de software.
Aula 01
RUP - Rational Unified Process
Por que a orientação a objetos?
 Capacidade
de aproveitar novas plataformas e
ferramentas;
 Facilidade de manutenção;
 Economia de custos;
 Encapsulamento das aplicações existentes;
 Melhores interfaces;
 Maior produtividade;
 Rápido desenvolvimento de aplicações estratégicas;
 Reuso de software.
Aula 01
RUP - Rational Unified Process
O Ciclo de Vida do Processo Unificado
Aula 01
RUP - Rational Unified Process
O Processo Unificado

Conceitos-Chave:
-
Dirigido por Casos de Uso;
-
Centrado na Arquitetura;
-
Iterativo e Incremental.

Isto faz o Processo Unificado ÚNICO.
Aula 01
RUP - Rational Unified Process
O Processo Unificado – Dirigido por Casos de Uso

Características:
Conhecer perspectivas e necessidades dos usuários;
- Todos os Casos de Uso juntos formam o modelo de
Casos de Uso;
- Baseados nos Casos de Uso, desenvolvedores criam
uma série de modelos que implementam os Casos de
Uso.
-
Aula 01
RUP - Rational Unified Process
O Processo Unificado – Dirigido por Casos de Uso
Benefícios: casos de uso (use cases) associam
todos os fluxos (workflows) de forma conjunta.


Dirigem várias atividades de desenvolvimento:





Criação e validação da arquitetura do sistema
Criação de casos de teste
Planejamento das iterações
Criação de documentação do usuário
Implantação do sistema
Sincronizam conteúdo dos modelos criados em cada
fluxo (workflow).

Aula 01
RUP - Rational Unified Process
O Processo Unificado – Centrado na Arquitetura

Características:

Várias visões tal qual temos na Construção Civil.
Influências na Arquitetura:
 Casos de Uso (de 5 a 10% deles são casos chave do
sistema – o “coração”);
 Máquinas,Sistema Operacional,Banco de Dados,Protocolos
de Comunicação,Framework para interfaces gráficas,Blocos
reusáveis disponíveis.

O processo ajuda o arquiteto a focar nos objetivos
corretos, tais como entendimento, adaptação para futuras
mudanças e reuso.

Aula 01
RUP - Rational Unified Process
O Processo Unificado – Centrado na Arquitetura
 Benefícios:
Fornece uma base sólida para a construção do
software;
 Melhor compreensão do sistema e organização
do desenvolvimento.

Aula 01
RUP - Rational Unified Process
O Processo Unificado – Centrado na Arquitetura
 Descrição
arquitetura envolve elementos de modelo
mais importantes - coleção de visões dos modelos do
sistema.
 UP
prescreve um refinamento sucessivo à
arquitetura.
A
arquitetura representa a forma, enquanto que os
casos de uso representam a funcionalidade.
 Arquitetura
e os casos de uso devem ser
balanceados.
Aula 01
RUP - Rational Unified Process
O Processo Unificado – Iterativo e Incremental

É prático dividir o projeto em mini-projetos:
Cada mini-projeto é uma iteração que resulta num
incremento;
a) Iterações referem-se a passos do fluxo;
b) Incrementos referem-se a crescimentos do produto;
-
Cada iteração lida com um conjunto de Casos de Uso que
juntos permitem a usabilidade do produto;

Uma próxima iteração começa quanto a anterior foi
concluída com sucesso.

Aula 01
RUP - Rational Unified Process
O Processo Unificado – Iterativo e Incremental

Benefícios:
Reduzir os riscos de custos para os gastos de um simples
incremento;

Reduzir o risco de não conseguir o PRODUTO no tempo
planejado;


Maior velocidade no desenvolvimento, focos menores;
As necessidades dos usuários serão refinadas em
sucessivas iterações.

Aula 01
RUP - Rational Unified Process
Visão Geral
Aula 01
RUP - Rational Unified Process
Conceitos Relacionados
1. Pessoas (workers):
Papel representado por uma pessoa ou grupo no processo
de software.
• Cada pessoa é responsável por um conjunto de atividades.
•
2. Projeto:
Possui uma seqüência de mudanças / várias iterações /
padrão organizacional.
•
Aula 01
RUP - Rational Unified Process
Conceitos Relacionados
3. Produto:
•
Não é apenas código.
Artefato: qualquer tipo de informação criada.
Artefatos são criados pelas pessoas em
cada uma de suas atividades (lista de
desejos, lista de manutenção, lista de
testes).
4. Processo:
•
•
Direciona o projeto.
Template para criação de instâncias (projetos).
Aula 01
Download

ESOF2 INF - Aula 1- Introducao