A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

RUP - Rational Unified Process

Apresentações semelhantes


Apresentação em tema: "RUP - Rational Unified Process"— Transcrição da apresentação:

1 RUP - Rational Unified Process
FACULDADE DOS GUARARAPES RUP - Rational Unified Process Rômulo César

2 Objetivos Introdução Fases & Ciclo de Vida
Características Principais do RUP Fases & Ciclo de Vida Disciplinas Básicas e de Apoio Framework Descrição de Atividades Artefatos Guias

3 Introdução ao RUP

4 Tendências... Necessidade de sistemas cada vez maiores e mais complexos. Necessidade por Sofisticação Sistemas cada vez mais adaptados às necessidades dos usuários Inclusão de melhoramento substanciais a cada versão Exigência de rapidez no desenvolvimento Competitividade de mercado.

5 Necessidades Um processo integrado que: Provenha guias
Direcione as tarefas Especifique os artefatos Ofereça ferramentas e métodos Apresente critérios para monitorar e medir o produto e processo “A presença de um bem definido e bem gerenciado processo é o elemento que diferencia os projetos produtivos dos projetos mal sucedidos” (Booch et al, 1999)

6 Processo Unificado Framework genérico e adaptável à uma grande classe de sistemas Baseado em componentes interconectados por interfaces bem definidas. Integrado a linguagem UML Aspectos Diferenciais: Direcionado por Casos de Uso Centrado em Arquitetura Iterativo e Incremental

7 Histórico do RUP IBM - Rational Unified Process
Rational Objectory Process 4.1 Outras fontes Abordagem da Rational Atualmente o RUP encontra-se na versão 2000 (upgrade da versão 5.5). UML Objectory Process Abordagem da Ericsson

8 Práticas e Conceitos Chaves
Modelagem Visual Iterativo e Incremental Dirigido do Casos de Uso Centrado em Arquitetura

9 Modelagem Visual Porque Modelar ?
Um modelo é uma visão simplificada do sistema. Mostra a essência do sistema sobre uma perspectiva particular e esconde detalhes não essenciais. Serve para Aumentar o entendimento de sistemas complexos Explorar e comparar diferentes projetos Formar uma base para implementação Capturar os requisitos precisamente Comunicar as decisões de forma não-ambígua. Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

10 Modelagem Visual UML Uso de notações gráficas e textuais semanticamente ricas para capturar elementos do projeto de software Permite o nível de abstração ser aumentado, preservando uma sintaxe e semântica rigorosa Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

11 Iterativo-Incremental
O desenvolvimento ocorre em várias iterações, cada uma resultando em incrementos de funcionalidades do sistema. It.1 R2 R2 R3 R3 R1 R1 R4 R4 R5 R6 R6 R5 R7 R7 It.2 It.3 Definição inicial de requisitos Planejamento de iterações Desenvolvimento de iteração N Validação com usuário da it. N Plano iteração N

12 Iterativo e Incremental Benefícios
Análise antecipada de riscos com a integração progressiva do sistema Melhor acomodação de solicitações de mudanças Maior qualidade devido ao refinamento contínuo do produto Melhor facilidade de aprendizagem e amadurecimento do processo Aumento da reusabilidade Em cada iteração: são identificados e especificados os casos de uso mais relevantes; é feita a análise e projeto dos casos de uso (das funcionalidades descritas pelos casos de uso), usando-se a arquitetura como guia; são implementados componentes que realizam o que foi projetado; verifica-se se os componentes satisfazem os casos de uso escolhidos; A escolha dos casos de uso é baseada em uma análise dos riscos envolvidos no projeto. A prioridade é sempre dos casos de uso que apresentam os maiores riscos. Estes devem ser realizados primeiro, para resolver os riscos o quanto antes!

13 Iterativo x cascata Em cada iteração:
são identificados e especificados os casos de uso mais relevantes; é feita a análise e projeto dos casos de uso (das funcionalidades descritas pelos casos de uso), usando-se a arquitetura como guia; são implementados componentes que realizam o que foi projetado; verifica-se se os componentes satisfazem os casos de uso escolhidos; A escolha dos casos de uso é baseada em uma análise dos riscos envolvidos no projeto. A prioridade é sempre dos casos de uso que apresentam os maiores riscos. Estes devem ser realizados primeiro, para resolver os riscos o quanto antes!

14 Disciplinas das Iterações Básicas
Requisitos (requirements) Análise & Projeto (analysis & design) Implementação (implementation) Teste (tests) Implantação (deployment) Em cada iteração: são identificados e especificados os casos de uso mais relevantes; é feita a análise e projeto dos casos de uso (das funcionalidades descritas pelos casos de uso), usando-se a arquitetura como guia; são implementados componentes que realizam o que foi projetado; verifica-se se os componentes satisfazem os casos de uso escolhidos; A escolha dos casos de uso é baseada em uma análise dos riscos envolvidos no projeto. A prioridade é sempre dos casos de uso que apresentam os maiores riscos. Estes devem ser realizados primeiro, para resolver os riscos o quanto antes!

15 Disciplinas das Iterações De Apoio
Ger. Projeto (Project management) Ger. de Ambiente (Environment) Ger. de Configuração e Mudança (Configuration and change management) Em cada iteração: são identificados e especificados os casos de uso mais relevantes; é feita a análise e projeto dos casos de uso (das funcionalidades descritas pelos casos de uso), usando-se a arquitetura como guia; são implementados componentes que realizam o que foi projetado; verifica-se se os componentes satisfazem os casos de uso escolhidos; A escolha dos casos de uso é baseada em uma análise dos riscos envolvidos no projeto. A prioridade é sempre dos casos de uso que apresentam os maiores riscos. Estes devem ser realizados primeiro, para resolver os riscos o quanto antes!

16 Integração entre as Disciplinas
Em cada iteração: são identificados e especificados os casos de uso mais relevantes; é feita a análise e projeto dos casos de uso (das funcionalidades descritas pelos casos de uso), usando-se a arquitetura como guia; são implementados componentes que realizam o que foi projetado; verifica-se se os componentes satisfazem os casos de uso escolhidos; A escolha dos casos de uso é baseada em uma análise dos riscos envolvidos no projeto. A prioridade é sempre dos casos de uso que apresentam os maiores riscos. Estes devem ser realizados primeiro, para resolver os riscos o quanto antes! Fonte: Rational

17 Iterações no RUP Fonte: Rational Em cada iteração:
são identificados e especificados os casos de uso mais relevantes; é feita a análise e projeto dos casos de uso (das funcionalidades descritas pelos casos de uso), usando-se a arquitetura como guia; são implementados componentes que realizam o que foi projetado; verifica-se se os componentes satisfazem os casos de uso escolhidos; A escolha dos casos de uso é baseada em uma análise dos riscos envolvidos no projeto. A prioridade é sempre dos casos de uso que apresentam os maiores riscos. Estes devem ser realizados primeiro, para resolver os riscos o quanto antes! Fonte: Rational

18 Processo Dirigido por Casos de Uso
Casos de Uso são utilizados para conduzir todo o processo de software. Serve de base para a geração e integração dos diversos modelos e artefatos produzidos em todas as etapas do processo Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

19 Diagrama de Casos de Uso
Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

20 Casos de Uso Especificação (Pro.Net)
Nome do requisito [RFXX001] Prioridade: (Essencial, Importante, Desejável) Ator(es) Requisitos associados Descrição: Explicação do propósito do caso de uso Desenhos ou rascunhos das telas da aplicação, ou captura das telas dos protótipos Pré-condições: Estado em que a aplicação deve estar ou um fator externo necessário para que o caso de uso possa ser realizado Pós-condições: Lista de possíveis estados em que a aplicação pode ficar imediatamente após o término da execução do caso de uso, ou alteração de um fator externo à aplicação. Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

21 Casos de Uso Especificação (Pro.Net)
Fluxo principal Descreve passo a passo o que os atores e a aplicação fazem. Especifica se este Caso de Uso inclui ou estende outro. Faz referência a um fluxo alternativo ou de erro caso haja necessidade devido a alguma condição. Fluxos alternativos [FA 001] <Descreve uma seqüência que foge ao fluxo principal descrito, mas que não é um erro.> Fluxos de erro [FE 001] <Descreve os passos a serem seguidos para cada situação de erro identificada (ex: consulta a dados que deveriam estar no banco, falha na comunicação via rede etc.)> Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

22 Casos de Uso são usados para ...
Modelar o processo do negócio Especificar requisitos Planejar iterações Realizar os modelo de projeto Implementar os componentes e seus casos de teste Descrição dos manuais e/ou procedimentos de uso e instalação Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

23 Arquitetura de Software
Proporciona uma perspectiva mais clara do sistema. Melhor compreensão e organização do sistema Base sólida para o desenvolvimento Descreve a estrutura de como os requisitos devem ser implementados “Uma arquitetura de software (em algum ponto no tempo) é uma organização ou estrutura de componentes que interagem entre si através de interfaces”. IEEE Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

24 Estrutura de Camadas Vejamos algumas características do processo:
Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

25 Componentes Parte encapsulada do sistema.
não trivial, com certa independência e passível de substitução que satisfaz uma clara funcionalidade Oferecem interfaces bem-definidas que permitem prover e esconder serviços e informações. Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

26 Diferentes Visões de uma Arquitetura
Visão da estrutura do sistema sobre o ângulo de stakeholders específicos usuários, analistas, desenvolvedores, etc. Visões Típicas Visão de Casos de Uso Visão Lógica Visão de Implementação Visão de Processo Visão de Implantação Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

27 Visão de Casos de Uso Conjunto de Casos de Uso que englobam comportamentos e riscos que devem ser levados em consideração pela arquitetura. Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

28 Visão Lógica Classes de projeto mais importantes e sua organização em pacotes e subsistemas, que por sua vez são estruturados em camadas. Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

29 Demais Visões Típicas Visão de Implementação:
organização dos módulos em pacotes e camadas. Visão de Processos: descrição das threads (linhas de execução) e suas interações e configurações. Necessária quando existe alto grau de concorrência. Visão de Implantação: descrição dos nós físicos (hardwares) para as configurações de plataforma Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

30 RUP: Um Processo Centrado em Arquitetura de Software
“ RUP oferece uma forma metodológica de projetar, desenvolver e validar uma arquitetura” Arquitetura é construída através de refinamentos sucessivos Inicia-se com um protótipo de arquitetura executável e gradualmente se torna um sistema. Serve para demonstrar funções específicas Em particular aquelas que satisfazem requisitos não funcionais. Serve para analisar riscos Relacionados a desempenho, capacidade, confiabilidade, entre outros. Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.

31 Importância de uma Arquitetura
Auxilia no gerenciamento da complexidade do projeto e na manutenção de sua integridade Garante manutenabilidade e aderência a requisitos não funcionais Base efetiva para o reuso em larga-escala Guia para a gerência de projeto Vejamos algumas características do processo: Usa UML - toda especificação, modelagem e documentação gerada no processo é feita com UML. Baseado em Componentes - significa que o sistema que está sendo desenvolvido é construído através de componentes de software, que interagem entre si através de interfaces bem definidas, favorecendo a reusabilidade do sistema. Framework para o Desenvolvimento - o RUP foi feito para atender a todo tipo de projeto de desenvolvimento de software. Isto significa que ele é muito abrangente, com quase tudo o que se pode imaginar em termos de atividades, modelos, papéis, produtos, etc. Assim, o RUP deve ser configurado para ser usado eficientemente. Essas são algumas das características do RUP. Entretanto, os aspectos que realmente definem o processo são a orientação a casos de uso, o fato dele ser centrado na arquitetura, iterativo e incremental. As próximas transparências detalham cada um desses aspectos.


Carregar ppt "RUP - Rational Unified Process"

Apresentações semelhantes


Anúncios Google