Rational Unified Process (RUP)

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

Visão Geral do RUP.

RUP RATIONAL UNIFIED PROCESS. Prof. Fabiano Papaiz IFRN

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

Análise de Sistemas. Aula 5

Visão Geral do RUP (Rational Unified Process)

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

UML Unified Modeling Language Linguagem de Modelagem Unificada

Processo de Desenvolvimento

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)

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

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

UML e seus diagramas

Requisitos de Sistemas

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

Engenharia de Software. Herbert Rausch Fernandes

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

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

Engenharia de Software II

Disciplina - Requisitos. Grupo Yuni Luiz Eduardo Káthia

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

INF1013 MODELAGEM DE SOFTWARE

Análise e projeto de sistemas

RUP RATIONAL UNIFIED PROCESS

RUP Unified Process. Profª Jocelma Rios

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

UML (Unified Modelling Language)

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

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

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

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

Processo Unificado (PU) Unified Process

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

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

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

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

Prova Discursiva Engenharia de Software

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

Engenharia de Software

Requisitos de Software e UML Básico. Janaína Horácio

Engenharia de Software

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

Hélio Engholm Jr. Novatec

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

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

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

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

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

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

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

Introdução a UML (Unified Modeling Language)

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Introdução ao RUP Rational Unified Process

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Engenharia de Software

Prof. Dr. Thiago Jabur Bittar

Marcelo Henrique dos Santos

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

RUP Rational Unified Process

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

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

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

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Prof. Esp. Fabiano Taguchi

Processos de Software

APÊNDICE D Unified Model Language (UML)

UML. Modelando um sistema

Transcrição:

Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que a suportam, sendo a mais conhecida o Rational Rose. O Rational Unified Process (RUP) é uma metodologia completa criada pela Rational para viabilizar que grandes projetos de software sejam bem sucedidos. O RUP é na verdade um produto composto de material de referência na forma de páginas HTML, descrevendo toda a metodologia. Assim podemos ter três definições para o Rational Unified Process (RUP): O RUP é uma maneira de desenvolvimento de software que é iterativa, centrada à arquitetura e guiada por casos de uso. É descrita em vários livros e artigos. Uma das maiores fontes de informações é o próprio produto IBM RUP, que contém guias detalhados, exemplos e modelos cobrindo todo o ciclo de vida do software; O RUP é um processo de engenharia de software bem definido e bem estruturado. O RUP define claramente quem é responsável pelo que, como as coisas devem ser feitas e quando fazê-las. O RUP também provê uma estrutura bem definida para o ciclo de vida de um projeto RUP, articulando claramente os marcos essenciais e pontos de decisão; O RUP é também um produto de processo que oferece uma estrutura de processo customizável para a engenharia de software. O produto IBM RUP suporta a customização e autoria de processos, e uma vasta variedade de processos, ou configuração de processos, podem ser montadas nele. Essas configurações do RUP podem ser criadas para suportar equipes grandes e pequenas, e técnicas de desenvolvimento disciplinadas ou menos formais. O produto IBM RUP contém várias configurações e visões de processos prontas que guiam analistas, desenvolvedores, testadores, gerentes de projeto, gerentes de configuração, analistas de dados, e outros membros da equipe de desenvolvimento em como desenvolver o software. Ele tem sido utilizado por muitas companhias em diferentes setores da indústria. O RUP utiliza a Linguagem Unificada de Modelagem (UML) para especificar, modelar e documentar artefatos. A UML é um padrão definido pelo Object Management Group (OMG) e ter se tornado o padrão empresarial para a modelagem orientada a objetos. Por ser flexível e configurável, o RUP pode ser utilizado em projetos de pequeno, médio e grande porte. Os princípios do RUP Um grande problema nos projetos atuais é o grande dinamismo e complexidade dos negócios nos dias de hoje. Cada vez mais os sistemas são complexos e precisam estar prontos em menos tempo. Mais do que isso, as necessidades mudam ao longo do tempo e a especificação de um sistema provavelmente será alterada durante seu desenvolvimento. Além disso, temos tecnologias novas (software e hardware) surgindo a cada dia. Algumas funcionam bem. Outras não. Visando atacar estes problemas, o RUP adota as seguintes premissas básicas:

Uso de iterações para evitar o impacto de mudanças no projeto, Gerenciamento de mudanças e Abordagens dos pontos de maior risco o mais cedo possível. Não existe uma maneira exata de aplicar o RUP, pois ele pode ser aplicado de várias formas e será diferente em cada projeto e organização. Porém, existem alguns princípios que podem caracterizar e diferenciar o RUP de outros métodos iterativos: Atacar os riscos cedo e continuamente; Certificar-se de entregar algo de valor ao cliente; Focar no software executável; Acomodar mudanças cedo; Liberar um executável da arquitetura cedo; Construir o sistema com componentes; Trabalhar junto como um time; Fazer da qualidade um estilo de vida, não algo para depois. Elementos do RUP O RUP possui cinco elementos principais: papéis, atividades, artefatos, fluxos de trabalho e disciplinas. Um papel (ou perfil) define o comportamento e as responsabilidades de um determinado indivíduo ou grupo de indivíduos trabalhando como uma equipe. Papéis não são indivíduos e nem títulos de trabalho. Um indivíduo pode assumir vários papéis. São exemplos de papéis: Analista de sistema: O indivíduo que assume este papel coordena a obtenção dos requisitos e a modelagem dos casos de uso identificando funcionalidades do sistema e estabelecendo limites do sistema; Projetista: Esse indivíduo define responsabilidades, operações, atributos, relacionamentos de uma ou mais classes e determina como elas devem ser ajustadas para serem implementadas no ambiente; Projetista de testes: Responsável pelo planejamento, projeto, implantação e avaliação de testes, incluindo a geração de plano e modelo de teste, implementando procedimentos de testes e avaliando a abrangência dos testes, resultados e a efetividade. Uma atividade é uma unidade de trabalho que um indivíduo executa quando está exercendo um determinado papel e produz um resultado importante para o contexto do projeto. Cada atividade pode ser dividida em passos. São exemplos de atividades: Planejar uma iteração: realizada pelo papel gerente de projeto; Encontrar casos de uso e atores: realizada pelo papel analista de sistemas; Rever o projeto: realizada pelo papel revisor de projeto; Executar um teste de performance: realizado pelo papel testador de performance.

Um artefato é um pedaço de informação que é produzido, modificado ou utilizado em um processo. Os artefatos são os produtos de um projeto. São as coisas produzidas durante o desenvolvimento do projeto. Artefatos são utilizados como entradas de atividades e são produzidos como saída. Os artefatos podem ter várias formas: Um modelo, como um modelo de caso de uso, um modelo de projeto; Um elemento de um modelo, como uma classe, um caso de uso, um subsistema; Um documento, como um caso de negócio, glossário, visão; Código fonte; Executáveis. A enumeração de atividades, papéis e artefatos não constituem um processo. É necessário saber a seqüência do desenvolvimento das atividades para que possam ser produzidos artefatos de valor para o projeto. Um fluxo de trabalho é uma seqüência de atividades que são executadas para a produção de um resultado valioso para o projeto. Fluxos de trabalho podem ser representados por diagramas de seqüência, diagramas de colaboração e diagramas de atividades da linguagem UML. O RUP utiliza três tipos de fluxos de trabalho: Fluxo de trabalho principal, associado com cada disciplina (figura 1); Fluxos de trabalho de detalhe, para detalhar cada fluxo de trabalho principal (figura 2); Planos de iteração, que mostram como a iteração deverá ser executada. Figura 1: Fluxo de trabalho: requisitos

Figura 2: Detalhamento de fluxo de trabalho: analisar o problema Uma disciplina é uma coleção de atividades relacionadas que fazem parte de um contexto comum em um projeto. As disciplinas proporcionam um melhor entendimento do projeto sob o ponto de vista tradicional de um processo cascata. A separação das atividades em disciplinas torna a compreensão das atividades mais fácil, porém dificulta mais o planejamento das atividades. O RUP possui nove disciplinas, divididas em disciplinas do processo e de suporte. As disciplinas de processo são: modelagem de negócios, requisitos, análise e projeto, implementação, teste e distribuição. As de suporte são: configuração e gerenciamento de mudanças, gerenciamento de projeto, e ambiente. Figura 3: Arquitetura geral do RUP

Conforme mostra a figura 3, o RUP possui duas dimensões: O eixo horizontal representa o tempo e mostra os aspectos do ciclo de vida do processo à medida que se desenvolve. Representa o aspecto dinâmico do processo. É expresso em termos de fases, disciplinas e marcos. O eixo vertical representa as disciplinas, que agrupam as atividades de maneira lógica, por natureza. Representa o aspecto estático do processo. É descrito em termos de componentes, disciplinas, atividades, fluxos de trabalho, artefatos e papéis do processo. O Ciclo de Vida de um Projeto RUP O ciclo de desenvolvimento no RUP possui quatro fases: iniciação, elaboração, construção e transição. Cada uma é concluída por um marco principal, ou seja, cada fase é basicamente um intervalo de tempo entre dois marcos principais, como é mostrado na figura 4. Figura 4: As fases e os marcos de um projeto O ciclo de desenvolvimento termina com uma versão completa do produto de software. As fases definem estados do projeto, que são definidos por riscos que estão sendo mitigados ou questões que precisam ser respondidas. A fase de iniciação, foca no tratamento de riscos relacionados com o caso de negócio. Deve ser verificado se o projeto é viável e se é financeiramente possível. Na fase elaboração, o foco deve ser nos riscos técnicos e arquiteturais. O escopo deve ser revisado e os requisitos devem estar mais compreendidos. Durante a construção, a atenção será voltada para os riscos lógicos, e a maior parte do trabalho será realizada. Na fase de transição, serão tratados os riscos associados com a logística de distribuição do produto para a base de usuários. Embora varie muito em empresas e projetos diferentes, um ciclo de desenvolvimento para um projeto de tamanho médio, possui uma distribuição de esforço e programação como é apresentado na tabela 1 e na figura 5. Tabela 1. Distribuição de esforço e programação em projetos de médio porte.

Figura 5: Distribuição de esforço e programação em projetos de médio porte Conforme descrito na documentação do RUP, cada passagem pelas quatro fases gera uma geração do software. A menos que o produto "desapareça", ele irá se desenvolver na próxima geração, repetindo a mesma seqüência de fases de iniciação, elaboração, construção e transição. Esses ciclos subseqüentes são chamados de ciclos de evolução. A cada ciclo, são produzidas novas gerações. Os ciclos de evolução podem ser disparados por melhorias sugeridas pelos usuários, mudanças no contexto do usuário, mudanças na tecnologia subjacente, reação à concorrência e assim por diante. Normalmente, a menos que ocorram mudanças significativas do produto ou da arquitetura, os ciclos de evolução têm fases de Iniciação e Elaboração bem menores, pois a definição e a arquitetura básicas do produto foram determinadas por ciclos de desenvolvimento anteriores. Conclusão Com a utilização de uma metodologia de desenvolvimento de software como o RUP, é possível obter: Qualidade de software; Produtividade no desenvolvimento, operação e manutenção de software; Controle sobre desenvolvimento dentro de custos, prazos e níveis de qualidade desejados; Estimativa de prazos e custos com maior precisão. Apesar dos benefícios, deve-se ter a consciência que os benefícios não virão de maneira imediata. É necessário adquirir treinamento adequado, adaptação da metodologia no contexto ao qual ela será utilizada, apoio especializado para as equipes de desenvolvimento e tempo para a absorção da metodologia.