Visão Geral do RUP
UnibratecAnálise e Gerencia de ProjetosProfº Henrique Vila Nova
Visão Geral do RUP
Introdução Casos de Uso Arquitetura de Software Fluxo de Atividades da Metodologia Fases do RUP
CONCEPÇÃO ->ELABORAÇÃO ->CONSTRUÇÃO -> TRANSIÇÃO
Boas Práticas
Introdução ao RUP Conjunto das Melhores Práticas em
Engenharia de Software Não Define uma Metodologia
È uma Plataforma de Processos Metodologia é o resultado de uma Configuração ou
instanciação dos processos
Ferramentas sugeridas pelo RUP Ferramentas Rational A Linguagem UML
Rational Unified Process (RUP) Características
Iterativo e Incremental O Sistema é construído incrementalmente através de
vários mini-projetos que se repetem (iterativos)
Orientado a Objetos Guiado por Casos de Uso A Arquitetura tem papel central Planejado por Riscos
Reduz riscos e aumenta a previsibilidade
Casos de Uso
É uma forma específica de uso do sistema através da execução de alguma de suas funcionalidades
É uma funcionalidade, mostrada por uma seqüencia de mensagens trocadas entre o sistema e um ou mais usuários externos(atores), junto com as ações executadas pelo sistema
Casos de Uso (por que usar?) Descrevem o que acontece dentro
do sistema Ajuda a comunicação entre
clientes e desenvolvedores Mostram apenas o que o sistema
faz, e não como. Capturam o comportamento do sistema,
sem a necessidade de especificar como esse comportamento será implementado
Casos de Uso Representação Gráfica
Solicitar Estrato Solicitar Saldo
Usuário da Internet Programa Navegador
Solicitar Saldo
Casos de Uso
Representação Gráfica 2
Cliente
Solicitar Saldo
Sacar Dinheiro
Transferir Entre Contas
Uma Associação entre m ator e um caso de uso indica que há uma comunicação.
Casos de Uso
Representação Gráfica 3
Cliente
Realiza um pedido
Transferir Entre Contas
Empresa de Entrega
Casos de Uso na UML Significa um caminho através de um
Caso de uso Uma instância de um caso de
Exemplos Sacar Dinheiro Tentativa de Saque MAS senha Incorreta Tentativa de Saque MAS Saldo Insuficiente
Realizar Login Login com Sucesso Longin Incorreto Esqueci minha Senha
Casos de Uso - Pacotes Servem para Agrupar Casos de Uso
Relacionados Critérios para Agrupamento:
Ator Funcionalidade correlatas Processos Camadas
Casos de Uso Modelo que Descreve os casos de Uso do
Sistema e Atores relacionados
Especificação de Casos de UsoEspecificação de Casos de Uso
Modelos de Casos de usoModelos de Casos de uso
Arquitetura de Software
Nos Requisitos, a arquitetura aparece assim; “Nossa aplicação deve operar via WEB
nas plataformas UNIX, Macintoch. OS/2 e Win”.
“O produto deve ser Compativel com Corba”.
“O Sistema deve garantir excelente tempo de resposta”.
Arquitetura de Software
O que é Arquitetura?
Componentes de Software Suas Propriedades Visíveis externamente O Relacionamento entre os Componentes
Arquitetura de Software
Como Descrever a Arquitetura? Elemenos que tratam vários aspectos
“Organização do Sistema em Termos de Componentes”
Estruturas Globais de Controle Protocolos de Comunicação Interações entre Componentes Distribuição Física Escalabilidade e desempenho Evolução do Sistema
Arquitetura de Software Elemenos a serem Representados em um
documento de Arquitetura de Software
Objetos Servidor
Módulos
HardwareCliente
ProtocolosBD´s
ATRAVÉS DE DIFERENTES VISÕESATRAVÉS DE DIFERENTES VISÕES
Arquitetura de Software
Visões: Casos de Uso Lógica Implementação Processos Distribuição
Arquitetura de Software
Visões de Caso de Uso Ilustra os casos de Uso e cenários
arquiteturalmente importantes
extrato
Transferencia Login
Arquitetura de Software
Visão Lógica Ilustra os Subsistemas, Pacoes ou
Classes Envolve Diagramas
Classes, Estados e Objetos
Financeiro
Estoque
Contabilidade
Arquitetura de Software Visão de Implementação
Captura decisões de implementação Organização dos Componentes
EXEComponent1
Arquivo Fonte Executavel
Arquitetura de Software Visão de Processos
Mapeamento de Classes e Subsistemas
Caixa Eletronico
ControladorDispositivos
Conexão Servidor
Controlador GUI
End1
End2
End1
End2
<process>
<Thread>
<Thread>
<Thread>
<Thread>
Arquitetura de Software Visão de Distribuição
Distribuição Física do Sistema Objetos Responsáveis pelo controle de Processamentos
:Cliente-INTERNET
* *
:ServidorReceita :SERVIDOR DE BD-Rede Local
**
:Impressora
*
*
:Contribuinte
:Browser:ControleTransação
:ControleDeclarações
Arquitetura de Software
Importancia Abstrair informações detalhadas
do Sistema Provem Informações como:
Análise do Sistema como um todo Tomada de Decisões (técnicas ou
Gerenciais) Redução de Riscos
Arquitetura de SoftwareTelaLogin TelaMeni TelaPagamentoSISCard
Fachada
ControladorLogin ContrladorPagamentoSISCard Comprovante
FachadaComunicaçãoOperadoraCartao
CadastroContasInternet CadastroContasCorrente CadastroPagamentoCartao PagamentoCartao
Hora
ContaInternet
Data
ContaCorrente
RepositorioContasCorrenteBDR
RepositorioPagementoCartaoBDR
RepositórioContasInternetBDR
Diagrama Exemplo
0..N 0..N 0..N
1 1 1
1 1
1 1 1
1
1
1
1 1
11
11
1
1
11
1
1
1
1
1
1
11
1
11
1
1
1
1 1
1
1
1 1
1
1
1
RepositorioContasInternet
RepositorioContasCorrente
RepositorioPagamentoCartão
RepositorioOperadoraCartão
Fluxo de Atividades Planejamento e Gerenciamento
IniciarProjeto
EstudarViabilidade
AprovarProjeto
IdentificarRiscos
AtestarConclusãodo Projeto
ExecutarPlano de Iteração
AvaliarIteração Finalizar
Projeto
ReavaliarRiscos
Desenvolver Plano de Iteração
DesenvolverPlano de Projeto
Priorizar Casos de Uso
Contratante
Gerente de Projeto
Arquiteto
Fluxo de Atividades Modelagem de Negócio
AnalistaDe ProcessosDe Negócio
Localizar ProcessoNo Ambiente
Organizacional
Descrever Processo de Negócio
Identificação Oportunidade de
Melhoria
Re-projetar processos de baixa
perfomance
Fluxo de Atividades
Requisitos
Projetista da Interface
Analista de Sistemas
Revisor de Requisitos
UsuárioPrototipar Interface
Levantar Requisitos do Sistema
Detalhar Especificação de Caso de
Uso
Estruturar Modelo de
Casos de Uso
Revisar Requisitos
Homologar Requisitos
Fluxo de Atividades
Análise e Projeto
Revisor de ProjetoProjetar
Casos de Uso
Analisar Casos de
Uso
Projetar Banco de
Dados
Projetar Arquitetura
Homologar Requisitos
Projetar Subsistema
s
DBA
Analista de Sistemas
Arquiteto de
Software
Fluxo de Atividades Implementação
Estruturar Modelo de Implementação
Planejar Integração
Corrigir Defeitos
Integrar Sistemas
Implementar Componentes
Arquiteto
Programador
Revisor de Código
Integrador
Realizar TestesUnitários
Revisar Código
Fluxo de Atividades
Testes
Implementar Testes
Executar Testes
Elaborar Plano de Testes
Avaliar Testes
Testador
Programador
ProjetistaDe Testes Projetar
Testes
Fases do RUP
Concepção
Elaboração
Construção
Transição
Fases do RUP Gráfico do Fluxo de Processos do RUP
Fases do RUP
Concepção Características
1. Justifica a Necessidade d Projeto2. Prove a Viabilidade do Sistema3. Sua Necessidade4. Definição de Limites (estimativas) para
Orçamento, Cronograma e Retorno de Investimento
Fases do RUP
Objetivos Definir o Escopo do Software
Visão do Projeto Definir os Critérios de Aceitação do Produto
final O que faz parte e o que não faz parte do
Sistemas Descobrir Casos de Uso Críticos Estimar por Alto o Custo e o Cronograma
de todo o Projeto
Concepção
Fases do RUP
Objetivos (continuação) Levantar os Potenciais Riscos Preparar o Ambiente de suporte do
Projeto Definir e preparar os processos e
ferramentas a serem utilizados Definir e, eventualmente demonstrar
com protótipos
Concepção
Fases do RUP Grafico
Concepção
Fases do RUP Elaboração
Objetivos Capturar a maioria dos Requisitos Construir a Arquitetura do Sistema
Na Forma de um Executavel Produzir protótipos Descartaveis
Requisitos ou Projeto Reusabilidade de Componentes Viabilidade Técnica
Implantar o ambiente de surpote Detalhar Planejamento
Fases do RUPElaboração
Grafico
Fases do RUP
Construção/Implementação Características
Produzir Versões para Beta-Testes Ênfase na produção de um Software
operacional Envolve Análise, Projeto e Implementação
dos Requisitos Levantados na Elaboração 80% dos Casos de Uso já foram levantados A Implementação Finaliza o sistema, atingindo
100% das funcionalidades implementas
Fases do RUP
Objetivos Finalizar 100% dos casos de uso
implementados Testes Unitários Versão Beta para Intetrgação
Construção
Fases do RUPConstrução
Grafico
Fases do RUP Transição
Garante que o Software estará Disponivel aos usuários Finais
Garante a Confiança de que o Software pode entrar em Produção
Beta-Testes Pequenos Ajustes Configuração do ambiente ou software Questões de Usabilidade ou Instalação
Fases do RUP Verifica se realmente atende às
necessidades dos usuários e do negócio do cliente.
Descobri riscos não identificados anteriormente
Corrigir problemas de Documentação Focalizar áreas nas quais os usuários
necessitam de melhor treinamento e informação
Fases do RUPTransição
Grafico