Visão Geral do RUP Unibratec Análise e Gerencia de Projetos Profº Henrique Vila Nova

Preview:

Citation preview

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