520 likes | 842 Views
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.
E N D
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
Solicitar Estrato Solicitar Saldo Solicitar Saldo Usuário da Internet Programa Navegador Casos de Uso • Representação Gráfica
Solicitar Saldo Sacar Dinheiro Transferir Entre Contas Casos de Uso • Representação Gráfica 2 Cliente Uma Associação entre m ator e um caso de uso indica que há uma comunicação.
Realiza um pedido Transferir Entre Contas Casos de Uso • Representação Gráfica 3 Empresa de Entrega Cliente
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 Cliente Protocolos BD´s 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
Estoque Contabilidade Financeiro Arquitetura de Software • Visão Lógica • Ilustra os Subsistemas, Pacoes ou Classes • Envolve Diagramas • Classes, Estados e Objetos
Arquitetura de Software • Visão de Implementação • Captura decisões de implementação • Organização dos Componentes Arquivo Fonte Executavel
Arquitetura de Software • Visão de Processos • Mapeamento de Classes e Subsistemas <Thread> <process> <Thread> <Thread> <Thread>
Arquitetura de Software • Visão de Distribuição • Distribuição Física do Sistema • Objetos Responsáveis pelo controle de Processamentos :Controle Transação :Controle Declarações :Browser
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 • Diagrama Exemplo 0..N 0..N 0..N 1 1 1 1 1 1 RepositorioOperadoraCartão 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Repositorio ContasInternet 1 Repositorio ContasCorrente RepositorioPagamentoCartão 1 1 1 1 1 1 1
IniciarProjeto AtestarConclusãodo Projeto Aprovar Projeto Contratante Executar Plano de Iteração IdentificarRiscos Estudar Viabilidade Avaliar Iteração FinalizarProjeto Gerente de Projeto DesenvolverPlano de Projeto Desenvolver Plano de Iteração Reavaliar Riscos Priorizar Casos de Uso Arquiteto Fluxo de Atividades • Planejamento e Gerenciamento
Localizar Processo No Ambiente Organizacional Identificação Oportunidade de Melhoria Descrever Processo de Negócio Re-projetar processos de baixa perfomance Analista De Processos De Negócio Fluxo de Atividades • Modelagem de Negócio
Fluxo de Atividades • Requisitos Prototipar Interface Revisor de Requisitos Usuário Projetista da Interface Revisar Requisitos Homologar Requisitos Levantar Requisitos do Sistema Detalhar Especificação de Caso de Uso Estruturar Modelo de Casos de Uso Analista de Sistemas
Fluxo de Atividades • Análise e Projeto Arquiteto de Software Projetar Arquitetura Revisor de Projeto Projetar Subsistemas Projetar Casos de Uso Analista de Sistemas Analisar Casos de Uso Homologar Requisitos Projetar Banco de Dados DBA
Fluxo de Atividades • Implementação Estruturar Modelo de Implementação Arquiteto Integrar Sistemas Planejar Integração Integrador Corrigir Defeitos Programador Implementar Componentes Realizar Testes Unitários Revisor de Código 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 • 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 • Concepção • 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
Fases do RUP • Concepção • 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
Fases do RUP • Concepção • Grafico
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 RUP • Elaboraçã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 • Construção • Objetivos • Finalizar 100% dos casos de uso implementados • Testes Unitários • Versão Beta para Intetrgação
Fases do RUP • Construçã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 RUP • Transição • Grafico