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

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

Visão Geral do RUP (Rational Unified Process). Desenvolvimento de software com UML2 Objetivos deste módulo Apresentar as características do RUP Discutir.

Apresentações semelhantes


Apresentação em tema: "Visão Geral do RUP (Rational Unified Process). Desenvolvimento de software com UML2 Objetivos deste módulo Apresentar as características do RUP Discutir."— Transcrição da apresentação:

1 Visão Geral do RUP (Rational Unified Process)

2 Desenvolvimento de software com UML2 Objetivos deste módulo Apresentar as características do RUP Discutir os conceitos que existem no RUP: fases, fluxos de atividades (worklows), iterações, responsáveis, atividades e artefatos Apresentar os fluxos do RUP

3 Desenvolvimento de software com UML3 RUP e UML O que é o RUP? Processo Unificado de desenvolvimento de software Diz o quê, quando e por quem, mas não explica como Necessidade a partir do sucesso da UML como padrão de fato para especificação de software E UML? Unified Modeling Language Linguagem padrão para modelagem OO Usada para modelar e documentar os artefatos do desenvolvimento Foi proposta somente como uma linguagem, sem orientação de uso (i.e., sem um processo)

4 Desenvolvimento de software com UML4 Alguns diagramas de UML Diagrama de casos de uso Diagrama de classes Diagrama de sequência Diagrama de colaboração

5 Desenvolvimento de software com UML5 Apenas a linguagem não basta

6 Desenvolvimento de software com UML6 O que é um Processo? Conjunto de atividades a serem realizadas para construir software ou evoluir um sistema já existente Define Quem faz O quê, Quando e Como

7 Desenvolvimento de software com UML7 Processos de Software Definição: Todos os elementos do mundo real envolvidos no desenvolvimento e manutenção de um produto de software Processos vem sendo propostos pela indústria, países e academia Análise Estruturada (Yourdon, Gane) Método de Jackson Objectory (Jacobson) V-Model (Alemanha) Catalysis Rational Unified Process - RUP XP - eXtreme Programming

8 Desenvolvimento de software com UML8 Características de um Processo Eficiente Orienta o desenvolvimento, operação e manutenção de software Reduz risco e aumenta previsibilidade Utiliza boas práticas de desenvolvimento de software Permite controle sobre o desenvolvimento - dentro de custos, prazos e níveis de qualidade desejados Qualidade x produtividade

9 Desenvolvimento de software com UML9 Processo Unificado (RUP) Bases históricas: Processo Espiral Iteratividade Gerência de riscos Processo Objectory Proposto por Jacobson et al Processo direcionado por Casos de Uso

10 Desenvolvimento de software com UML10 O que é Processo Unificado Modelo de Processo Padrão Descrição de atividades que compõem um processo que adota UML Mais simples que a proposta da Rational Produto comercial Desenvolvido e mantido pela Rational Integrado a uma suíte de produtos Disponível em CD-ROM / Internet Conhecido como Rational Unified Process E-coach: treinamento a distância Para o treinamento online, clicar em Trials & Betas

11 Desenvolvimento de software com UML11 Características do RUP Usa UML Baseado em componentes Framework para processos Orientado a casos de uso Iterativo e incremental Centrado na arquitetura

12 Desenvolvimento de software com UML12 Orientado a Casos de uso O que é um caso de uso? Usados para capturar os requisitos funcionais do sistema Falam a linguagem do usuário Estão sempre associados a um ator Representação de uma funcionalidade do sistema, que fornece um resultado de valor para um usuário

13 Desenvolvimento de software com UML13 Orientado a Casos de uso Por que o RUP é orientado a casos de uso? Casos de uso são usados para especificar requisitos Durante a análise, projeto e implementação os casos de uso são realizados Durante os testes, verifica-se se o sistema realiza o que está descrito no Modelo de Casos de Uso Casos de uso são usados no planejamento e acompanhamento das iterações

14 Desenvolvimento de software com UML14 Iterativo e Incremental Tempo R A/P I/T I RR A/P I/T II RA/PI/TI Fonte: Rational

15 Desenvolvimento de software com UML15 Iterativo e Incremental Dividir para conquistar! O desenvolvimento ocorre em várias iterações, cada uma delas resultando em extensão de funcionalidade e/ou maior conhecimento do sistema Os maiores riscos devem ser tratados nas primeiras iterações

16 Desenvolvimento de software com UML16 Centrado na Arquitetura Estimula a definição de uma arquitetura robusta nas fases iniciais do desenvolvimento A arquitetura guia o projeto e implementação das diversas partes do sistema Os casos de uso dizem o que deve ser feito e a arquitetura descreve como

17 Desenvolvimento de software com UML17 Visão de Distribuição Visão Lógica Visão de Implementação Visão de Processo Visão 4+1 VISÃO LÓGICA Descreve as principais classes no projeto do sistema: classes relacionadas aos principais negócios e classes que definem os principais mecanismos estruturais e comportamentais (persistência, comunicações, tolerância a falhas, interface do usuário). VISÃO DE IMPLEMENTAÇÃO Descreve a organização dos elementos estáticos do software (código, dados e outros artefatos que os acompanham) no ambiente de desenvolvimento em termos de empacotamento, divisão em camadas e gerenciamento de configuração (propriedade, estratégia de release e assim por diante). VISÃO DE IMPLANTAÇÃO Descreve uma ou várias configurações do sistema. É o mapeamento de componentes de software (tarefas, módulos) para os nós de computação nessas configurações. VISÃO DE PROCESSO Descreve o aspecto simultâneo do sistema: tarefas (processos) e suas interações Casos de Uso

18 Desenvolvimento de software com UML18 Espírito do RUP O gerenciamento de Riscos deve ser feito continuamente A cada iteração (novos) riscos devem ser identificados e tratados; Isto garante que o desenvolvimento terá sucesso;

19 Desenvolvimento de software com UML19 Espírito do RUP Foco em Funcionalidades para o Cliente Especificação, organização e documentação dos requisitos é facilitada através dos diagramas de casos de uso; Casos de uso guiam todo o processo de desenvolvimento O que desenvolver, testar e validar em cada iteração; Casos de uso são funcionalidades para o cliente;

20 Desenvolvimento de software com UML20 Espírito do RUP Foco em Software Executável Artefatos são construídos para facilitar e documentar o processo de desenvolvimento; Mas, não é necessário construir todos os artefatos indicados pelo RUP;

21 Desenvolvimento de software com UML21 Espírito do RUP Aprenda a lidar com Mudanças Mudanças são inevitáveis no processo de desenvolvimento; Adote estratégias para gerenciar mudanças Tomada de decisão sobre uma mudança; Impacto desta mudança no sistema; Minimizar o custo desta mudança;

22 Desenvolvimento de software com UML22 Espírito do RUP Defina uma Arquitetura estável cedo Uma arquitetura do sistema é definida, implementada e testada no início do processo (Elaboração) para garantir que o sistema atenderá aos requisitos funcionais e não- funcionais; Com a arquitetura definida, o processo de construção é mais simples;

23 Desenvolvimento de software com UML23 Espírito do RUP Considere continuamente a Qualidade O controle de qualidade deve ser feito desde o início do processo de desenvolvimento Inspeção de software; Teste dos casos de uso implementados; Definição de casos de teste a partir dos casos de uso;

24 Desenvolvimento de software com UML24 Espírito do RUP Desenvolvimento Iterativo Impossível desenvolver o sistema em uma única iteração; A cada iteração mais detalhes são adicionados; Diversas vantagens: Redução da Complexidade; Facilidade para lidar com mudanças nos requisitos, cronograma, etc.

25 Desenvolvimento de software com UML25 Conceitos do RUP Fases e Iterações Fluxos de Atividades Atividades Artefatos Responsáveis

26 Desenvolvimento de software com UML26 Estrutura do RUP Processo Iterativo, baseado no modelo Espiral Iterativo: baseado em sucessivas versões Espiral

27 Desenvolvimento de software com UML27 Fases do RUP ConcepçãoElaboraçãoConstruçãoTransição Estabelecer o escopo e viabilidade econômica do projeto Eliminar principais riscos e definir arquitetura estável Desenvolver o produto até que ele esteja pronto para beta testes Entrar no ambiente do usuário

28 Desenvolvimento de software com UML28 Fases e Iterações Cada fase pode comportar diversas iterações ConcepçãoElaboraçãoConstruçãoTransição tempo Iteração preliminar 12ii+2i+3...jj+1... grandes marcos

29 Desenvolvimento de software com UML29 ConcepçãoElaboraçãoConstruçãoTransição Marco dos objetivos do ciclo de vida Marco da arquitetura do ciclo de vida Marco da capacidade operacional inicial Marco de lançamento do produto tempo Marcos O projeto poderá ser anulado ou completamente repensado caso o marco não seja atingido.

30 Desenvolvimento de software com UML30 Fluxos de Atividades do RUP Agrupam atividades correlacionadas Fluxos de atividades básicos: modelagem do negócio requisitos análise e projeto implementação testes distribuição Fluxos de atividades de suporte: gerência de configuração e mudanças gerência do projeto configuração do ambiente

31 Desenvolvimento de software com UML31 Fases, Iterações e Fluxos de Atividades Fonte: Rational

32 Desenvolvimento de software com UML32 Responsáveis, Atividades e Artefatos Os fluxos de atividades do RUP são descritos através de responsáveis, atividades e artefatos Fonte: Rational

33 Desenvolvimento de software com UML33 Conceitos-chave

34 Desenvolvimento de software com UML34 Modelagem do Negócio Objetivos: descobrir o problema por trás do problema entender a estrutura e dinâmica da organização assegurar que os clientes, usuários e desenvolvedores têm a mesma visão do negócio descobrir os requisitos do sistema necessários para suportar o negócio Desenvolver um modelo do negócio

35 Desenvolvimento de software com UML35 Modelagem do Negócio Glossário Modelo de Casos de Uso do Negócio Modelo de Objetos do Negócio Fonte: Rational

36 Desenvolvimento de software com UML36 Requisitos Objetivos: descrever o quê o sistema deve fazer, em acordo com o cliente e usuários definição de como gerenciar escopo e mudanças de requisitos delimitar o escopo do sistema e prover uma base para o planejamento das iterações definir a interface com o usuário

37 Desenvolvimento de software com UML37 Requisitos Glossário Documento de Visão Especificações Suplementare s Modelo de Casos de Uso Protótipo da Interface com o Usuário

38 Desenvolvimento de software com UML38 Análise e Projeto Objetivos: transformar os requisitos em um modelo para implementação do sistema encontrar uma arquitetura robusta para o sistema Análise: assegura que os requisitos funcionais são tratados Projeto: adapta os resultados da análise aos requisitos não funcionais e ambiente de implementação

39 Desenvolvimento de software com UML39 Análise e Projeto Fonte: Rational

40 Desenvolvimento de software com UML40 Análise e Projeto Fonte: Rational

41 Desenvolvimento de software com UML41 Implementação Objetivos: implementar os componentes necessários testar os componentes implementados como unidades integrar os componentes implementados em um sistema executável

42 Desenvolvimento de software com UML42 Implementação Modelo de Implementaçã o Componentes implementado s Subsistemas implementado s Fonte: Rational

43 Desenvolvimento de software com UML43 Testes Objetivos: verificar a interação e integração dos componentes verificar se todos os requisitos foram corretamente implementados identificar defeitos e assegurar as correções de acordo com as prioridades de entrega de cada componente

44 Desenvolvimento de software com UML44 Testes Plano de Teste Modelo de Teste Casos de Teste Procedimentos de Teste Lista de defeitos Avaliação dos Testes Fonte: Rational

45 Desenvolvimento de software com UML45 Distribuição Objetivo: entregar o produto aos usuários finais Muito dependente do contexto do negócio e do projeto => precisa ser configurado

46 Desenvolvimento de software com UML46 Distribuição Possíveis atividades: produzir o (que falta do) software scripts de instalação, documentação para o usuário, programas para conversão de dados, etc. embalar e distribuir o software instalar o software realizar migração troca de sistema antigo pelo novo, conversão de dados treinamento do usuário aceitação formal pelo cliente planejamento e condução de beta testes

47 Desenvolvimento de software com UML47 Gerência de Projeto Objetivos: prover um framework para gerenciar projetos e riscos prover orientações para o planejamento de atividades, definição da equipe, execução e monitoração de projetos Planejamento e monitoração das iterações!

48 Desenvolvimento de software com UML48 Gerência de Projeto Plano de Negócios Plano do Desenv. do Software: plano de métricas lista de riscos plano do projeto plano da iteração Fonte: Rational

49 Desenvolvimento de software com UML49 Gerência de Configuração e Mudanças Objetivos: identificar, definir e manipular itens de software controlar modificações e versões destes itens reportar e armazenar a situação dos itens e as solicitações de mudanças garantir a completude, consistência e corretude dos itens controlar o armazenamento, manipulação e entrega destes itens

50 Desenvolvimento de software com UML50 Gerência de Configuração e Mudanças Plano de gerência de configuração Fonte: Rational

51 Desenvolvimento de software com UML51 Configuração do Ambiente Objetivo: prover o processo e as ferramentas necessárias ao desenvolvimento Possíveis Atividades: configurar o RUP desenvolver guidelines selecionar e adquirir ferramentas adaptar ou desenvolver ferramentas suportar o ambiente de desenvolvimento (backups, administração de contas, etc.) treinamento implantação do RUP na organização

52 Desenvolvimento de software com UML52 Configuração do Processo Processo para um projeto x Processo para a organização Processo para um projeto considerar tamanho, reuso, tipo do ciclo (inicial x de evolução) Processo para a organização considerar cultura, pessoas, tecnologias e aplicações chave,...

53 Desenvolvimento de software com UML53 Análise Estruturada Proposta por uma diversidade de autores nas décadas de 1980 e 1990 Fundamentação: Programação Estruturada Estruturas de repetição, decisão e seqüência Projeto Estruturado Principal mecanismo de abstração: decomposição funcional Ciclo de Vida Cascata Processo Seqüencial Linear

54 Desenvolvimento de software com UML54 Marco dos Objetivos do Ciclo de Vida Análise dos objetivos do ciclo de vida do projeto e tomada de decisão de prosseguir com o projeto ou cancelá-lo Critérios de Avaliação Consentimento dos envolvidos sobre a definição do escopo e as estimativas de custo/programação. Consenso de que o conjunto correto de requisitos foi capturado e de que existe uma compreensão compartilhada desses requisitos. Consenso de que as estimativas de custo/programação, as prioridades, os riscos e o processo de desenvolvimento são adequados. Todos os riscos foram identificados e existe uma estratégia atenuante para cada um.

55 Desenvolvimento de software com UML55 Marco da Arquitetura do Ciclo de Vida Exame nos objetivos e o escopo do sistema, a opção de arquitetura e a resolução dos principais riscos. Critérios de Avaliação A Visão e os requisitos do produto são estáveis. A arquitetura é estável. As abordagens principais a serem usadas no teste e na avaliação foram comprovadas. O teste e a avaliação de protótipos executáveis demonstraram que os principais elementos de risco foram tratados e resolvidos com credibilidade. Os planos de iteração para a fase de construção têm detalhes e fidelidade suficientes para permitir o avanço do trabalho. Os planos de iteração para a fase de construção são garantidos por estimativas confiáveis. Todos os envolvidos concordam que a visão atual poderá ser atendida se o plano atual for executado para desenvolver o sistema completo, no contexto da arquitetura atual. A despesa real em oposição à despesa planejada com recursos é aceitável.

56 Desenvolvimento de software com UML56 Marco da capacidade operacional inicial Produto pronto para ser passado para a Equipe de Transição. Toda a funcionalidade desenvolvida e os testes alfa (se houver algum) foram concluídos. Manual do usuário desenvolvido e uma descrição do release atual. Critérios de Avaliação Envolvem respostas para as questões: Este release do produto é estável e desenvolvido o suficiente para ser implantado na comunidade de usuários? Todos os envolvidos estão prontos para a transição para a comunidade de usuários? As despesas reais com recursos ainda são aceitáveis se comparadas com as planejadas?

57 Desenvolvimento de software com UML57 Marco do Release do Produto Decisão se os objetivos foram atendidos e se outro ciclo de desenvolvimento deve ser iniciado. Pode coincidir com o fim da fase de iniciação do próximo ciclo. O Marco do Release do Produto é o resultado da conclusão com êxito dos Artefatos


Carregar ppt "Visão Geral do RUP (Rational Unified Process). Desenvolvimento de software com UML2 Objetivos deste módulo Apresentar as características do RUP Discutir."

Apresentações semelhantes


Anúncios Google