Introdução ao RUP
Introdução ao RUP
(Rational Unified Process)
Régis Simão 2/30
Introdução ao RUP
Agenda
Introdução: Processos de Desenvolvimento
Sintomas e causas de falhas no desenvolvimento de software Melhores práticas de software
O Rational Unified Process (RUP) Estrutura Estática do RUP
Estrutura Dinâmica do RUP
Introdução ao RUP
Uma só pessoa pode construí-la
Requer:
Modelo mínimo
Processo simples
Ferramentas simples
I. Introdução: Modelo de SW
Régis Simão 4/30
Introdução ao RUP
Construída eficientemente e em um tempo
razoável por uma equipe
Requer:
Modelo
Processo bem definido
Ferramentas mais sofisticadas
I. Introdução: Modelo de SW
Introdução ao RUP
I. Introdução: Modelo de SWRégis Simão 6/30
Introdução ao RUP
Ferramentas
Processo
Notação
I. Introdução: Modelo de SW
Introdução ao RUP
Requisitos novos
ou modificados
Sistema novo
ou modificado
Processo de Desenvolvimento
de Software
Introdução: O Quê é um Processo de Desenvolvimento de SW?
Define
Quem
deve fazer
Quê
,
Quando
e
Como
deve fazê-lo
Não existe um processo de software universal. As características
de cada projeto (equipe de desenvolvimento, recursos, etc.)
Régis Simão 8/30
Introdução ao RUP
Introdução: Ciclo de vida
Introdução ao RUP
Introdução: Ciclo de vida
Régis Simão 10/30
Introdução ao RUP
Introdução: Ciclo de vida
Introdução ao RUP
Sintomas e causas de falhas no desenvolvimento de software
Sintomas
Incompreensão das necessidades do usuário final Inabilidade para lidar com mudanças de requisitos Módulos que não se ajustam
Software difícil de manter ou estender
Descoberta tardia de problemas no projeto Baixa qualidade do software
Desempenho inaceitável do software
Problemas de comunicação na equipe, não sabendo quem fez o quê Um processo ruim de desenvolvimento, confuso e não documentado
Régis Simão 12/30
Introdução ao RUP
Sintomas e causas de falhas no desenvolvimento de software
Causas
Gerenciamento falho dos requisitos (exigências) Comunicação ambígüa e imprecisa
Arquiteturas frágeis
Complexidade subjugada
Incositências não detectadas em requisitos, projeto e implementações Teste insuficiente
Introdução ao RUP
Melhores práticas de software
Desenvolver o software iterativamente Gerenciar os requisitos
Usar arquiteturas baseadas em componentes Modelar visualmente o software (UML)
Verficar continuamente a qualidade do software Controlar mudanças do software
Régis Simão 14/30
Introdução ao RUP
O Rational Unified Process
Processo de Desenvolvimento definido pela Rational Corporational
Principais pesquisadores: Grady Booch, Ivar Jacobson, James Rumbaugh Comprada pela IBM em 2002
Faz uso das melhores práticas de software É um produto É um framework de processo Ciclo de Vida: Cascata Espiral Incremental Prototipagem
Introdução ao RUP
O Rational Unified Process
Régis Simão 16/30
Introdução ao RUP
O Rational Unified Process
Introdução ao RUP
O Rational Unified Process
Estrutura Estática: Descrição do Processo
Descreve quem faz o quê, como e quando. Trabalhadores (Papeis): quem
Atividades: como Artefatos: o quê Fluxos: quando
Régis Simão 18/30
Introdução ao RUP
O Rational Unified Process
Estrutura Estática
Disciplinas de Engenharia
Business Modeling (Modelagem de Negócio) Requirements (Requisitos)
Analysis & Design (Análise e Desenho) Implementation (Implementação)
Test (Testes)
Deployment (Implantação)
Disciplinas de Apoio
Environment (Ambiente)
Project Management (Gestão de Projeto)
Introdução ao RUP
O Rational Unified Process
Estrutura Estática
Detalhamento do Fluxo de
Trabalho (Workflow
Detail):Analyse the Problem
Fluxo de Trabalho da
Disciplina Requisitos
Régis Simão 20/30
Introdução ao RUP
O Rational Unified Process
Introdução ao RUP
O Rational Unified Process
Estrutura Dinâmica: Desenvolvimento Iterativo
Inclui o conceito de desenvolvimento iterativo através de:
Fases
Marcos (Milestones) Iterações
4 fases são definidas: Inicial (Inception), Elaboração (Elaboration), Construção (Construction) e Transição (Transition)
Cada fase conclui com um Marco
Dentro de cada Fase pode haver várias Iterações
Dentro de cada Iteração é executado o processo cascata definido na Estrutura Estática.
Dependendo da Fase em que se está, as disciplinas terão mais ou menos ênfases dentro das iterações.
Régis Simão 22/30
Introdução ao RUP
O Rational Unified Process
Introdução ao RUP
O Rational Unified Process
Estrutura Dinâmica:
A fase Inicial visa delimitar o escopo do projeto e estudar a viabilidade do desenvolvimento. As tarefas mais importantes são:
contexto do sistema solicitado é compreendido;
escopo do projeto é delimitado;
uma arquitetura inicial é descrita;
os riscos críticos são identificados e atacados; e
uma solução inicial para o problema (protótipos) é apresentada.
A fase Elaboração consiste em planejar o projeto, especificar a
características e construir a arquitetura base. As tarefas que se destacam são:
uma arquitetura estável é criada;
os riscos sobre os planos e os custos são identificados;
cronograma de execução de tarefas, os níveis de qualidade e de segurança, e os tempos de respostas são definidos;
Régis Simão 24/30
Introdução ao RUP
O Rational Unified Process
Estrutura Dinâmica:
Já a fase Construção consiste na construção propriamente dita ou implementação do produto. As principais tarefas são:
a identificação, descrição e realização dos casos de uso são finalizadas;
análise e projeto são finalizados;
implementação e 90% dos testes são realizados;
a integridade da arquitetura é mantida, modificando-a quando necessário; e
os riscos críticos são monitorados.
A fase Transição consiste na entrega do produto. As atividades mais importantes são:
as versões beta são preparadas;
ambiente de operação é configurado; os manuais são preparados;
os treinamentos dos usuários são realizados; e
Introdução ao RUP
O Rational Unified Process
Três aspectos importantes dos RUP
Guiado por Casos de Uso Centrado na Arquitetura Iterativo e Incremental
Régis Simão 26/30
Introdução ao RUP
O Rational Unified Process
Introdução ao RUP
O Rational Unified Process
Três aspectos importantes dos RUP: Centrado na Arquitetura
Usuário
Banco de Dados
View
Controller
Model
Browser Servlet Session Bean Entity Bean JSP
1.
2.
3.
4.
5.
6.
7.
Régis Simão 28/30
Introdução ao RUP
O Rational Unified Process
Três aspectos importantes dos RUP: Centrado na Arquitetura
Arquitetura define decisões sobre:
A organização do software: um programa só ou dividido em várias partes, que partes? Onde estas partes vão executar?
A definição dos elementos (que classes?, que módulos?) e as suas interfaces (que funções?, que procedimentos?, que métodos?)
Os elementos vão estar agrupados em bibliotecas ou subsistemas
A forma de comunicação entre os elementos
Arquitetura não diz respeito somente a estrutura e ao comportamento, mas ao uso, funcionalidade, desempenho, reutilização e restrições tecnológicas, econômicas e estéticas.
Introdução ao RUP
O Rational Unified Process
Régis Simão 30/30