320 likes | 466 Views
RUP Prof.ª Elaine B. Figueiredo. Objetivo Depois desta aula você terá uma visão geral do RUP (uma metodologia para desenvolvimento de software), incluindo suas características e seus componentes principais. Visão Geral do RUP.
E N D
RUP Prof.ª Elaine B. Figueiredo
Objetivo Depois desta aula você terá uma visão geral do RUP (uma metodologia para desenvolvimento de software), incluindo suas características e seus componentes principais. Visão Geral do RUP
O RUP(RationalUnifiedProcess) é um processo de desenvolvimento de software que possui um conjunto completo de atividades que define quem faz o que, quando e como. Ele usa uma abordagem de orientação a objetos em sua concepção e é projetado e documentado utilizando a notação UML para ilustrar os processos em ação. Suas características principais: Iterativo e Incremental Inicialmente desenvolvido e comercializado pela Rational, e desde 2003 pertence a IBM. DEFINIÇÃO
O objetivo do RUP é assegurar uma produção de alta qualidade de software, que realiza a necessidade do usuário seguindo prazos e orçamento. OBJETIVOS
PRINCIPAIS CARACTERÍSTICAS Iterativo e Incremental O RUP utiliza pequenos ciclos de projeto (mini-projetos) que correspondem à uma iteração e que resultam em um incremento no software. Iterações referem-se a passos e incrementos à evolução do produto. O UP repete vários ciclos de vida até o término do sistema. Cada ciclo de vida possui 4(quatro) fases. • Concepção; • Elaboração; • Construção e • Transição
FASES DO CICLO DE VIDA Concepção:Define o objetivo do projeto e sua viabilidade Elaboração:Plano do Projeto, especificação de características e definição da linha de base da arquitetura Construção:Construção do produto Transição:Substituição do antigo sistema e implantação tempo
Implementação Teste MODELOS E DISCIPLINAS Requisitos Análise Design
ESTRUTURA ESTÁTICA • A parte estática do RUP, é descrita através dos conceitos de papéis, atividades, artefatos e fluxos de trabalho. define o comportamento e as responsabilidades assumidas por uma pessoa ou um conjunto de pessoas trabalhando em equipe. tarefa que um indivíduo executa quando está exercendo um determinado papel e produz um resultado importante para o contexto do projeto. pedaço de informação que é produzido, modificado ou utilizado em um processo. seqüências de atividades que são executadas para a produção de um resultado valioso para o projeto.
EXEMPLOS • Papéis • Artefatos • Atividades • Fluxo de trabalho
CONCEPÇÃO E WORKFLOWS • Requisitos: capturar os requisitos mais críticos (na forma de casos de uso) e definir o escopo do sistema. • Análise: analisar os requisitos e montar uma proposta para o modelo de classes e objetos, com foco nas classes de negócio, mais o glossário. • Design: preparar o Modelo de Design ou storyboard, • apresentando um rascunho preliminar da arquitetura do sistema: identificar os primeiros componentes, interfaces e • subsistemas, assim como o Modelo de Implantação. • Implementação: pode ser necessário criar um protótipo descartável para demonstrar o caminho escolhido. • Testes: criar primeiros esboços de teste com base nas informações já adquiridas.
ELABORAÇÃO E WORKFLOWS • Requisitos: encontrar, priorizar, detalhar e estruturar os Casos de Uso, obtendo aproximadamente 80% dos requisitos. • Análise: detalhar as classes de negócio, fazer o particionamento em pacotes, atualizar o glossário e refinar os Casos de Uso. • Design: fazer o design dos Casos de Uso, classes e subsistemas para estabelecer uma estrutura básica do sistema. Pacotes de análise e subsistemas de design, são importantes. São considerados: sistema operacional, linguagem, banco de dados, distribuição de objetos, etc.. • Implementação: implementar e testar os componentes arquiteturalmente significantes. Eventualmente criar protótipos para testar alguma nova tecnologia. • Testes: planejar e especificar os testes, definindo casos de teste e rotinas de teste.
Requisitos: capturar os requisitos remanescentes, refinando Casos de Uso e cenários. Análise: capturar algum detalhe que passou despercebido nas classes pertinentes ao negócio. Design: refinar os casos de uso e cenários remanescentes com base na tecnologia utilizada. Implementação: codificar e integrar componentes, priorizando os casos de uso mais importantes. Testes: testar funcionalidades e performance do sistema. Se necessário testar novos casos e rotinas de teste. CONSTRUÇÃO E WORKFLOWS
Requisitos: eventual correção da documentação devido a bugs encontrados no sistema. Análise: eventual correção do modelo de análise devido a bugs encontrados no sistema. Design: eventual correção do modelo de design devido a bugs encontrados no sistema. Implementação: eventual correção do código devido a bugs encontrados no sistema. Testes: eventual correção do modelo de teste devido a bugs encontrados no sistema. TRANSIÇÃO E WORKSFLOWS
O nome é uma abreviação de RationalUnifiedProcess mas na verdade é Processo + Métodos + Linguagem (UML) e os autores argumentam que é Framework para gerar processos O que é o RUP?
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 com modelo de ciclo de vida descrição sistemática de como devem ser realizadas guias (de ferramentas ou não), templates utilizando diagramas de UML O que é o RUP?
O desenvolvimento de sistemas seguindo o RUP é Iterativo e incremental Guiado por casos de uso (use cases) Baseado na arquitetura do sistema Características Principais do RUP
O ciclo de vida de um sistema consiste de quatro fases: elaboração construção transição concepção tempo O RUP é iterativo e incremental • Concepção (define o escopo do projeto) • Elaboração (detalha os requisitos e a arquitetura) • Construção (desenvolve o sistema) • Transição (implanta o sistema)
Cada fase é dividida em iterações: Inception Elaboration Construction Transition Preliminary iteration Architect. iteration Architect. iteration Devel.. iteration Devel.. iteration Devel.. iteration Transition iteration Transition iteration O RUP é iterativo e incremental Minor Milestones: Releases
Cada iteração é planejada realiza uma sequencia de atividades (de elicitação de requisitos, análise e projeto, implementação, etc.) distintas geralmente resulta em uma versão executável do sistema é avaliada segundo critérios de sucesso previamente definidos O RUP é iterativo e incremental
Os casos de uso não servem apenas para definir os requisitos do sistema Várias atividades do RUP são guiadas pelos casos de uso: planejamento das iterações criação e validação do modelo de projeto planejamento da integração do sistema definição dos casos de teste O RUP é guiado por casos de uso
Arquitetura visão geral do sistema em termos dos seus subsistemas e como estes se relacionam A arquitetura é prototipada e definida logo nas primeiras iterações O desenvolvimento consiste em complementar a arquitetura A arquitetura serve para definir a organização da equipe de desenvolvimento e identificar oportunidades de reuso O RUP é baseado na arquitetura do sistema
Fluxos de atividades Atividades passos entradas e saídas guias (de ferramentas ou não), templates Responsáveis (papel e perfil, não pessoa) Artefatos Organização do RUP
Iniciar Projeto Aprovar Projeto Estudar Viabilidade Identificar Riscos Desenvolver Plano de Projeto Desenvolver Plano de Iteração Executar Plano de Iteração Avaliar Iteração Finalizar Projeto Reavaliar Riscos Priorizar Casos de Uso Atestar Conclusão do Projeto Gerente de projeto Contratante Arquiteto Exemplo de Fluxo: Planejamento e Gerenciamento
O RUP é: iterativo e incremental guiado por casos de uso baseado na arquitetura do sistema organizado em fases, iterações, fluxos, atividades e passos Resumo
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.
Ivar Jacobson, GradyBooch e James Rumbaugh. TheUnified Software DevelopmentProcess. Capítulos 1 a 5. Philippe Kruchten. TheRationalUnifiedProcess – anIntroduction. Referências
Sites na internet http://javafree.uol.com.br/artigo/871455/Obtendo-Qualidade-de-Software-com-o-RUP.html http://www.wthreex.com/rup/portugues/index.htm Publicações sobre o assunto Apostila de RUP, disponível em: http://www.analisetotal.com.br/Material/RUP/AulaRUP.pdf Processo Unificado RUP.pdf, disponível em: http://www.laps.ufpa.br/yomara/paginav2/aps/processo%20unificado%20rup.pdf REFERÊNCIAS
Encerramento Obrigado! Prof.ª Elaine B. Figueiredo elaine.figueiredo@aedu.com efigueiredo13@gmail.com