RUP+-+Aula-4
Download
Report
Transcript RUP+-+Aula-4
Visão Geral do RUP
Unibratec
Análise e Gerencia de Projetos
Profº 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
Solicitar Saldo
Usuário da Internet
Programa Navegador
Casos de Uso
Representação Gráfica 2
Solicitar Saldo
Sacar Dinheiro
Cliente
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
Realiza um pedido
Empresa de
Entrega
Cliente
Transferir Entre Contas
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
Modelos de Casos de uso
Especificação 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
Hardware
BD´s
Cliente
Protocolos
ATRAVÉ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
Estoque
Financeiro
Contabilidade
Arquitetura de Software
Visão de Implementação
Captura decisões de implementação
Organização dos Componentes
Component1
Arquivo Fonte
EXE
Executavel
Arquitetura de Software
Visão de Processos
Mapeamento de Classes e Subsistemas
End2
<process>
Caixa Eletronico
<Thread>
Controlador GUI
<Thread>
End1
Conexão Servidor
End1
<Thread>
<Thread>
End2
ControladorDispositivos
Arquitetura de Software
Visão de Distribuição
Distribuição Física do Sistema
Objetos Responsáveis pelo controle de Processamentos
:Impressora
*
*
:ServidorReceita
:Cliente
-INTERNET
:Browser
:Contribuinte
*
:SERVIDOR DE BD
-Rede Local
*
:Controle
Transação
*
*
:Controle
Declaraçõ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 Software
TelaLogin
TelaMeni
0..N
TelaPagamentoSISCard
0..N
1
1
FachadaComunicaçãoOperadoraCartao
0..N
1
1
1
Diagrama Exemplo
1
Fachada
Repositorio
OperadoraCartão
1
1
1
1
ControladorLogin
1
ContrladorPagamentoSISCard
1
1
1
1
1
1
1
CadastroContasInternet
1
1
1
Comprovante
1
1
CadastroContasCorrente
Hora
1
CadastroPagamentoCartao
PagamentoCartao
1
1
1
1
1
1
1
1
ContaInternet
1
Repositorio
ContasInternet
1
1
1
1
RepositórioContasInternetBDR
1
1
1
1
Repositorio
ContasCorrente
ContaCorrente
1
Repositorio
PagamentoCartão
1
1
RepositorioPagementoCartaoBDR
RepositorioContasCorrenteBDR
Data
Fluxo de Atividades
Planejamento e Gerenciamento
Iniciar
Projeto
Contratante
Estudar
Viabilidade
Gerente de
Projeto
Atestar
Conclusão
do Projeto
Aprovar
Projeto
Desenvolver
Plano de Projeto
Identificar
Riscos
Executar
Plano de Iteração
Avaliar
Iteração
Desenvolver Plano
de Iteração
Reavaliar
Riscos
Arquiteto
Priorizar Casos
de Uso
Finalizar
Projeto
Fluxo de Atividades
Analista
De Processos
De Negócio
Modelagem de Negócio
Localizar Processo
No Ambiente
Organizacional
Descrever Processo
de Negócio
Identificação
Oportunidade de
Melhoria
Re-projetar processos
de baixa perfomance
Fluxo de Atividades
Requisitos
Prototipar
Interface
Projetista da
Interface
Revisor de
Requisitos
Revisar
Requisitos
Analista de
Sistemas
Levantar
Requisitos do
Sistema
Detalhar
Especificação
de Caso de Uso
Estruturar
Modelo de
Casos de Uso
Usuário
Homologar
Requisitos
Fluxo de Atividades
Análise e Projeto
Arquiteto de
Software
Projetar
Arquitetura
Projetar
Casos de Uso
Analista de
Sistemas
Projetar
Subsistemas
Revisor de
Projeto
Analisar
Casos de Uso
Homologar
Requisitos
Projetar Banco
de Dados
DBA
Fluxo de Atividades
Implementação
Estruturar Modelo
de Implementação
Arquiteto
Integrar Sistemas
Integrador
Planejar
Integração
Corrigir Defeitos
Programador
Implementar
Componentes
Revisor de
Código
Realizar Testes
Unitários
Revisar Código
Fluxo de Atividades
Testes
Avaliar
Testes
Projetista
De Testes
Elaborar Plano
de Testes
Projetar Testes
Implementar
Testes
Programador
Executar Testes
Testador
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.
2.
3.
4.
Justifica a Necessidade d Projeto
Prove a Viabilidade do Sistema
Sua Necessidade
Definição de Limites (estimativas) para
Orçamento, Cronograma e Retorno de
Investimento
Fases do RUP
Objetivos
Definir o Escopo do Software
Concepção
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
Fases do RUP
Objetivos (continuação)
Levantar os Potenciais Riscos
Preparar o Ambiente de suporte do Projeto
Concepção
Definir e preparar os processos e ferramentas a
serem utilizados
Definir e, eventualmente demonstrar com
protótipos
Fases do RUP
Grafico
Concepção
Fases do RUP
Elaboração
Objetivos
Capturar a maioria dos Requisitos
Construir a Arquitetura do Sistema
Produzir protótipos Descartaveis
Na Forma de um Executavel
Requisitos ou Projeto
Reusabilidade de Componentes
Viabilidade Técnica
Implantar o ambiente de surpote
Detalhar Planejamento
Fases do RUP
Grafico
Elaboração
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 RUP
Grafico
Construção
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 RUP
Grafico
Transição