Visão Geral do RUP (Rational Unified Process)

Documentos relacionados
! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Visão Geral do RUP.

Rational Unified Process (RUP)

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Engenharia de Software II

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

Engenharia de Software

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

RUP/PSDS. Introdução e Comparação

Engenharia de Software. Herbert Rausch Fernandes

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

RUP. Prof. Edison A M Morais.

Processos de Software

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

RUP RATIONAL UNIFIED PROCESS

Engenharia de Software II

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Introdução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions

Requisitos de Sistemas

Visão Geral RUP (Rational Unified Process) Professor: Tiago Reis RUP

Engenharia de Software

Processos de Software

RUP RATIONAL UNIFIED PROCESS CONCEITOS CHAVES. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Processo Unificado (PU) Unified Process

Processos de software

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Engenharia de Software

Processos de Software

Guia do Processo de Teste Metodologia Celepar

ENGENHARIA DE SOFTWARE

RUP Unified Process. Profª Jocelma Rios

14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo.

ISO/IEC Processo de ciclo de vida

Halison Miguel Edvan Pontes

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Unidade VII Ferramentas de PDS. Luiz Leão

Processo Unificado. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

RUP RATIONAL UNIFIED PROCESS. Prof. Fabiano Papaiz IFRN

MODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Análise e projeto de sistemas

Prof. Fábio Lúcio Meira

Análise e Projeto Orientados a Objetos Professora: Elisa Yumi Nakagawa PAE: Cristiane Aparecida Lana 2 semestre de 2015

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Processos de. Desenvolvimento de Software

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

IntroduçãoaoProcesso. Prof. Anderson Cavalcanti UFRN-CT-DCA

Engenharia de Software Processo de Desenvolvimento de Software

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

Análise de Sistemas. Aula 5

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

RUP Rational Unified Process

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

Processos de Software

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Modelos Prescritivos de Processo

Aula 3.1 Introdução e Visão Geral do Processo Unificado

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

Processos de Software

Processo de Desenvolvimento de Software

ARQUITETURA E DESENHO

2. Processos em Engenharia de Software

Análise e Projeto Orientado a Objetos

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Concepção lança o projeto

Engenharia de Software

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Análise e Projeto Orientados a Objetos

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Levantamento, Análise e Gestão Requisitos. Aula 02

Introdução ao Processo Unificado. Prof. Edjandir Corrêa Costa

Prof. Dr. Thiago Jabur Bittar

Engenharia Software. Ení Berbert Camilo Contaiffer

PROCESSOS DE SOFTWARE

Manutenção Leitura: Sommerville; Pressman

Paradigmas de Software

Prof. Esp. Fabiano Taguchi

2

Implantando o RUP e CMM2

Introdução a UML (Unified Modeling Language)

Atividades típicas do processo de desenvolvimento

UML e seus diagramas

Levantamento, Análise e Gestão Requisitos. Aula 01

Delimitar claramente o escopo do projeto Estimar custo, tempo e retorno do investimento (feasibility)

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

Transcrição:

Visão Geral do RUP (Rational Unified Process)

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 Desenvolvimento de software com UML2

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) Desenvolvimento de software com UML3

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

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

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 Desenvolvimento de software com UML6

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 Desenvolvimento de software com UML7

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 Desenvolvimento de software com UML8

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 Desenvolvimento de software com UML9

O que é Processo Unificado Modelo de Proc esso Padrão Descrição de atividades que compõem um processo que adota UML Mais simples que a proposta da Rational Produt o c om erc ial Desenvolvido e mantido pela Rational Integrado a uma suíte de produtos Disponível em CD-ROM / Internet http://psds.portalcorporativo.serpro/rup_portugues/index.htm http://www.labes.ufpa.br/quites/rup/ Conhecido como Rational Unified Process E-coach: treinamento a distância http://www.rational.com/rup Para o treinamento online, clicar em Trials & Betas Desenvolvimento de software com UML10

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

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 Desenvolvimento de software com UML12

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 Desenvolvimento de software com UML13

Iterativo e Incremental R A/P I/T I R A/P I/T I R A/P I/T I Tempo R A/P I/T I Fonte: Rational Desenvolvimento de software com UML14

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 Desenvolvimento de software com UML15

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 Desenvolvimento de software com UML16

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

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; Desenvolvimento de software com UML18

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; Desenvolvimento de software com UML19

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; Desenvolvimento de software com UML20

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; Desenvolvimento de software com UML21

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ãofuncionais; Com a arquitetura definida, o processo de construção é mais simples; Desenvolvimento de software com UML22

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; Desenvolvimento de software com UML23

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. Desenvolvimento de software com UML24

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

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

Fases do RUP Concepção Elaboração Construção Transiçã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 Desenvolvimento de software com UML27

Fases e Iterações Cada fase pode comportar diversas iterações Concepção Elaboração Construção Transição Iteração preliminar 1 2 i i+2 i+3... j j+1... tempo grandes marcos Desenvolvimento de software com UML28

Marcos Concepção Elaboração Construção Transição tempo 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 O projeto poderá ser anulado ou completamente repensado caso o marco não seja atingido. Desenvolvimento de software com UML29

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 Desenvolvimento de software com UML30

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

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

Conceitos-chave Desenvolvimento de software com UML33

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 Desenvolvimento de software com UML34

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

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 Desenvolvimento de software com UML36

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

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 Desenvolvimento de software com UML38

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

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

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

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

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 Desenvolvimento de software com UML43

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

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

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 Desenvolvimento de software com UML46

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! Desenvolvimento de software com UML47

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 Desenvolvimento de software com UML48

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 Desenvolvimento de software com UML49

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

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 Desenvolvimento de software com UML51

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,... Desenvolvimento de software com UML52

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 Desenvolvimento de software com UML53

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. Desenvolvimento de software com UML54

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 Os A Visão planos e de os iteração requisitos para do produto a fase de são construção estáveis. têm detalhes e fidelidade A arquitetura suficientes é estável. para permitir o avanço do trabalho. Os As planos abordagens de iteração principais para a a serem fase de usadas construção no teste são e garantidos na avaliação por foram estimativas comprovadas. confiáveis. Todos O teste os e envolvidos a avaliação concordam de protótipos que executáveis a visão atual demonstraram poderá ser que atendida os principais se o plano elementos atual for de executado risco foram para tratados desenvolver e resolvidos o com sistema credibilidade. completo, no contexto da arquitetura atual. A despesa real em oposição à despesa planejada com recursos é aceitável. Desenvolvimento de software com UML55

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? Desenvolvimento de software com UML56

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 Desenvolvimento de software com UML57