Visão Geral do RUP.

Documentos relacionados
Rational Unified Process (RUP)

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

RUP RATIONAL UNIFIED PROCESS

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

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

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

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

Requisitos de Sistemas

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

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

Engenharia de Software

Engenharia de Software II

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

Processo Unificado (PU) Unified Process

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

Processo de Desenvolvimento

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

Engenharia de Software

Engenharia de Software Processo de Desenvolvimento de Software

Análise e projeto de sistemas

Introdução ao RUP Rational Unified Process

Processo de Desenvolvimento de Software

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

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

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

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

Análise e Projeto Orientados a Objetos

Introdução a UML (Unified Modeling Language)

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

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

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

Prof. Dr. Thiago Jabur Bittar

METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT. Prof. Fabiano Papaiz IFRN

Disciplina - Requisitos. Grupo Yuni Luiz Eduardo Káthia

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

UML Unified Modeling Language Linguagem de Modelagem Unificada

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

Guia do Processo de Teste Metodologia Celepar

Introdução à Análise e Projeto de Sistemas

UML Diagramas Estruturais Diagrama de Componentes

RUP Rational Unified Process

INF1013 MODELAGEM DE SOFTWARE

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

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Perfil Formação Acadêmica Experiência Profissional Capacitação Profissional

Cadeira: Engenharia de Software

Processo Unificado (RUP)

Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP)

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

Escolhendo um Modelo de Ciclo de Vida

CONTPATRI Plano de Garantia de Qualidade. Versão 1.1

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

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Modelos Prescritivos de Processo

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

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

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Termos de Referência para serviços especializados de consultoria Individual na área de Especialista em Transito

Escopo: PROCESSOS FUNDAMENTAIS

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Processos Ágeis de Desenvolvimento de Software

Reuso de Software Aula Maio 2012

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

Requisitos de sistemas

ISO/IEC Processo de ciclo de vida

Engenharia de Software I Modelos de Processo de Software

Prova Discursiva Engenharia de Software

METODOLOGIAS ÁGEIS FEATURE DRIVEN DEVELOPMENT E AUP

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

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

Princípios da Engenharia de Software aula 03

Tecnologias Atuais de. Desenvolvimento de Software

Análise e Projeto de Sistemas

Unidade I MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

RATIONAL UNIFIED PROCESS RUP

O Fluxo de Requisitos

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

Transcrição:

Visão Geral do RUP hermano@cin.ufpe.br

Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos Apresentar uma visão geral dos fluxos de atividades da metodologia

O que é uma metodologia? Processo de desenvolvimento Conjunto de métodos e práticas de desenvolvimento (com orientações nas linguagens, paradigmas, tecnologias e ferramentas utilizadas) É fundamental a definição de de quem faz O Que, Quando e Como

Ingredientes da metodologia Processo de desenvolvimento Com modelo de ciclo de vida Com conjunto de atividades Bem definidas Com responsáveis Com artefatos de entrada e saída Com dependências entre as mesmas e ordem de execução

Ingredientes da metodologia Métodos e Práticas de desenvolvimento Conjunto de atividades Com uma descrição sistemática de como devem ser realizadas Com detalhes específicos de acordo com a linguagem e ferramentas usadas na empresa Baseadas em UML (Unified Modeling Language)

Apenas a linguagem não basta! Linguagem padrão + Metodologia de desenvolvimento + Ferramentas de apoio + + Modelos, padrões e guias Equipes treinadas

Benefícios de uma metodologia Qualidade de software Produtividade no desenvolvimento, operação e manutenção de software Permitir ao profissional controle sobre o desenvolvimento dentro de custos, prazos e níveis de qualidade desejados Permitir ao profissional estimar custos e prazos com maior precisão.

Benefícios de uma metodologia Os benefícios não virão de imediato! É necessário Treinamento adequado Adaptação da metodologia ao contexto no qual ela será utilizada Apoio especializado para as equipes de desenvolvimento Tempo para absorção da metodologia Qualidade x Produtividade

Características da metodologia Inspirada no RUP (Rational Unified Process) E o que é o RUP? E o que é o RUP? Processo Unificado de desenvolvimento de software Conjunto de atividades a serem realizadas para produzir ou evoluir software Baseado em boas práticas de desenvolvimento Framework para processos Para usar o RUP é preciso instanciá-lo e definir padrões e guias específicos para a realidade de cada empresa/projeto

Características da metodologia O desenvolvimento de sistemas seguindo a metodologia é: Iterativo e incremental Guiado por casos de uso (use cases) Baseado na arquitetura do sistema Orientado a objetos

Iterativo e incremental Req A&P Imp I/T Imp Req A&P Imp I/T Imp Req A&P Imp I/T Imp Iteração 1 Iteração 2 Iteração 3 TEMPO

Iterativo e incremental 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, 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 Os casos de uso que apresentam os maiores riscos devem ser realizados primeiro, para resolver os riscos o quanto antes!

Guiado por casos de uso (use cases) 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

Casos de uso são usados durante todo o processo Requisitos Análise e Implementação Testes Implantação Projeto Casos de Uso fazem a ligação entre essas etapas

Baseado na arquitetura do sistema A arquitetura é prototipada e definida logo nas primeiras iterações O desenvolvimento consiste em complementar a arquitetura A arquitetura guia o projeto e implementação das diversas partes do sistema A arquitetura serve para organizar o desenvolvimento, estruturar a solução e identificar oportunidades de reuso Os casos de uso dizem o que deve ser feito e a arquitetura descreve como

Baseado na arquitetura do sistema A arquitetura é o alicerce do sistema. Quando desenvolvida com rigor, minimiza riscos técnicos, favorece o reuso de componentes e estimula o moral da equipe.

Baseada na arquitetura do sistema Idealmente, tem-se 5 visões da arquitetura Visão Lógica Visão de Implementação Visão de Processos Visão de Casos de Uso Visão de Distribuição

Orientado a objetos Análise e Projeto em UML UML é uma linguagem usada para especificar, modelar e documentar os artefatos de um sistema É um padrão da OMG e têm se tornado o padrão empresarial para modelagem OO Implementação em Java ou alguma outra linguagem de programação O-O

Conceitos chave da metodologia Fases e Iterações Fluxos de Atividades Atividades Artefatos Modelos Guias e Padrões Responsáveis (papéis e perfis, não pessoas)

Fases e iterações 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

Fases e iterações O ciclo de vida de um sistema consiste de quatro fases: Concepção Elaboração Construção Transição Marcos principais escopo arquitetura operação release tempo

Fases e iterações Cada fase é dividida em iterações: Concepção Elaboração Construção Transição Iteração preliminar Iteração arquitet. Iteração arquitet. Iteração desenv. Iteração desenv. Iteração desenv. Iteração de transição Iteração de transição Marcos secundários: releases intermediários

Disciplinas (fluxos de atividades) Agrupam atividades correlacionadas Fluxos de atividades de suporte: Gerência de projeto Gerência de configuração e mudanças Fluxos de atividades básicos: Requisitos Análise e projeto Implementação Testes Distribuição

Fases, iterações e disciplinas Disciplinas Principais Fases Concepção Elaboração Construção Transição Requisitos... Análise e Projeto... Implementação... Testes... Implantação... Disciplinas de Apoio Gerência de Configuração e Mudanças Gerência de Projeto... Iteração Preliminar Iter. #1 Iter. #2 Iter. #i Iter. #i+1 Iter. #i+2 Iter. #n Iter. #n+1 Iterações

Atividades Unidade de trabalho Composta de: Objetivos Passos Entradas e saídas Responsável Guias e padrões

Artefatos Resultantes das atividades Possuem modelos para indicar como devem ser feitos padronizar os formatos dos documentos

Responsáveis Representam perfis ou papéis, não pessoas Ana Leonardo Marconi Márcia Rogério Gerente do projeto Arquiteto Analista Programador Testador

Disciplinas do RUP (Version 2002.05.00) Requisitos Análise e Projeto Implementação Teste Implantação Gerência de Configuração e Mudança Gerência de Projeto Ambiente Modelagem de Negócio

Gerência de Projeto Contratante Iniciar Projeto Aprovar Projeto Atestar Conclusão do Projeto Desenvolver Estudo de Viabilidade Identificar Riscos Executar Plano de Iteração Desenvolver Plano de Projeto Desenvolver Plano de Iteração Avaliar Iteração Finalizar Projeto Gerente de projeto Reavaliar Riscos Arquiteto Priorizar Casos de Uso