RUP – Rational Unified Process

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto de Sistemas I
Advertisements

Os projetos.
Engenharia de Software
Rational Unified Process
O Processo Praxis 3.0 Processos de Software 25/03/2017
Processos de Software Introdução
Rational Unified Process(RUP)
Valéria Maria Lauande Março/2010
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
U P (R U P) Rational Unified Process
MO409 / Engenharia de Software I - 1º Semestre / Prof. Eliane 1 1ª Apresentação (A1) Modelos de Processos de Software RA: / Edson Amorina.
Processos de Desenvolvimento de Software
Processo Desenvolvimento de Software Tradicional
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
Análise e Projeto de Sistemas
Introdução ao RUP Rational Unified Process
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Análise e Gerenciamento de Requisitos com Casos de Uso
Rational Unified Process
Alunos: Artulanez Souza Iony Melo
RUP Prof.ª Elaine B. Figueiredo.
Rational Unified Process
RUP - Cap. 2 – Os 4 P’s (Pessoas, Projeto, Produto e Processo)
RUPinho Qualidade de Software
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Unibratec Análise e Gerencia de Projetos Profº Henrique Vila Nova
Processos Tradicionais de Desenvolvimento de Software
Visão Geral PRO.NET.
Visão Geral do RUP.
Avaliação do RUP como processo para desenvolvimento de software
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Processos de Desenvolvimento de Software – Parte 2
Visão Geral do RUP (Rational Unified Process)
Análise e Projeto de Sistemas
Análise e Desenvolvimento de Software
PAS Características: Elaborado com o propósito de ser utilizado em práticas acadêmicas de desenvolvimento de software. Foi desenvolvido de forma iterativa.
Heron Vieira Aguiar “Seminário da disciplina MDA” Julho de 2006
PSBD II Projeto de Sistemas de Banco de Dados II
(Open Unified Process)
Especificação em Projeto de Sistemas
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Análise e Projeto Orientados a Objetos
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Introdução ao Processo Unificado de Desenvolvimento de Software Tiago Lima Massoni UFPE
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
RUP - Cap. 4 – Processo Centrado na Arquitetura
Engenharia de Software
Processo de Desenvolvimento de Software – PDS C Construção - PAS
Trabalho de Engenharia de Software II
Processos de Software.
Visão Geral sobre Ciclo de Vida de Software, Processos e RUP
Introdução a um Processo de Desenvolvimento Orientado a Objeto
Gestão de projetos de Software GTI-16
UML e a Ferramenta Astah
CIn-UFPE1 © 2003, Alexandre Vasconcelos Visão Geral do RUP.
Processo de Desenvolvimento de Software – PDS
Desenvolvimento de Sistemas - Fluxo de Testes
Engenharia de Software
Engenharia de Software
Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Dimitri de Almeida Malheiros Barbosa
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Projeto Orientado a Objetos Prof. Wolley
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

RUP – Rational Unified Process Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Rational Unified Process - RUP Desenvolvido pela Rational (atualmente parte da IBM) Originário da Objectory É vendido como um produto Página: http://www-306.ibm.com/software/br/rational/rup.shtml Atualmente faz parte do IBM Rational Method Composer Trial: http://www-128.ibm.com/developerworks/downloads/r/rup/ Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Características do RUP Conjunto de atividades a serem realizadas para produzir ou evoluir software Uso extenso da UML Orientação a Objetos não é premissa, mas desejável 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 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Características do RUP O desenvolvimento de sistemas seguindo o RUP é: Iterativo e incremental Guiado por casos de uso (use cases) Baseado na arquitetura do sistema Orientado a objetos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Iterativo e incremental Req A&P Imp I/T Iteração 1 Iteração 2 Iteração 3 TEMPO 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 Cada iteração: é planejada realiza atividades de vários fluxos resulta em uma versão executável do sistema é avaliada segundo critérios de sucesso previamente definidos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

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 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Guiado por 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 Casos de uso representam uma técnica para levantar e capturar requisitos. Criados por Jacobson, eles têm como principal característica a simplicidade de representação, o que facilita a comunicação com o usuário. Eles estão sempre associados a um ator, que representa qualquer entidade com a qual o sistema interage, como os usuários e outros sistemas de informação, por exemplo. Casos de uso são representações de funcionalidade do sistema, que fornecem resultados de valor para algum usuário. Os casos de uso de um sistema são agrupados em um Modelo de Casos de Uso e representados com uma notação especifica de UML. Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Casos de uso são usados durante todo o processo Requisitos Análise e Projeto Implemen-tação Testes Implantação Casos de Uso fazem a ligação entre essas etapas O processo é orientado a casos de uso porque estes direcionam todo o desenvolvimento: os requisitos são especificados através de casos de uso; durante a análise, projeto e implementação os desenvolvedores ocupam-se de, partido do modelo de use cases, formar modelos cada vez mais concretos que mostram como os casos de uso serão “realizados”, isso é, como eles irão acontecer. Com a implementação chega-se ao nível mínimo de abstração que é o sistema executável que realiza de forma concreta a funcionalidade dos casos de uso; durante os testes, verifica-se se o sistema realmente está realizando tudo que o Modelo de casos de uso descreve; o gerente do projeto utiliza os casos de uso para determinar que partes do sistema devem ser trabalhadas em cada iteração. Assim, por exemplo, na iteração x espera-se que os casos de uso A, B e C sejam implementados. E no final da iteração a implementação ou não dos casos de uso escolhidos servirá como feedback para o acompanhamento do projeto. Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Baseado na arquitetura do sistema A arquitetura é prototipada e definida logo nas primeiras iterações 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 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

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 A metodologia pode ser adaptada para uso com outros paradigmas também, mas devido a vantagens da orientação a objetos, como reusabilidade, extensibilidade e manutenibilidade, na maioria dos casos opta-se por seguir o paradigma orientado a objetos. Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Principais elementos do RUP Conceitos Fases e Iterações Disciplinas Atividades Artefatos Responsáveis Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Principais elementos do RUP Quem está fazendo o quê, quando e como para alcançar um objetivo em particular Quem : Papéis O Quê : Artefatos Como : Atividades Quando : Fases e Iterações Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Atividades Unidade de trabalho Composta de: Objetivos Passos Entradas e saídas Responsável Guias e padrões Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Disciplinas Agrupam atividades correlacionadas Também chamadas “fluxos de atividades” Cada disciplina possui um workflow composto de detalhes que são definidos por atividades Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Disciplinas Principais Auxiliares Modelagem de Negócio Análise de Requisitos Análise e Projeto Implementação Testes Implantação Auxiliares Gerência de Alterações Gerência de Projeto Ambiente Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Workflows, Atividades e Passos Activity Steps step 1 step 2 ... Workflow Detail Activity Activity Workflow Detail Activity Core Workflow Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Artefatos Entradas e saídas das atividades Uma atividade precisa de artefatos (entrada) para produzir outros artefatos (saída) Ex: a atividade “Implementar Componente” produz componentes de software (artefatos de saída) a partir dos projetos de componentes (artefatos de entrada) Possuem modelos para indicar como devem ser feitos padronizar os formatos dos documentos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Responsáveis Representam perfis ou papéis, não pessoas Ana Leonardo Marconi Márcia Rogério Gerente do projeto Arquiteto Analista Programador Testador Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Atividades, Responsáveis e Artefatos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Workflows, Atividades, Responsáveis e Artefatos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Fases e iterações O ciclo de vida de um sistema consiste de quatro fases: As fases indicam a maturidade do sistema! Concepção Elaboração Construção Transição Marcos principais escopo arquitetura operação release tempo Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

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 Cada fase pode comportar diversas iterações. Marcos secundários: releases intermediários Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

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 O processo é organizado em 4 fases, cada uma com objetivos específicos. Na fase de Concepção deve-se estabelecer o escopo e a viabilidade econômica do projeto. Nessa fase todos os atores e casos de uso são identificados e apenas alguns poucos são descritos. No final da fase de Concepção deve-se ser capaz de estimar prazos e custos e saber responder se o projeto deve ser levado adiante. Na Elaboração, o objetivo é eliminar os principais riscos e estabelecer uma arquitetura estável a partir da qual o sistema poderá evoluir. Nessa fase é feita a maior parte das atividades de análise e projeto. Na fase de Construção, um produto completo é desenvolvido até que esteja pronto para beta testes. Nessa fase é feita a maior parte da implementação e dos testes. Na fase de Transição, o produto é passado ao usuário final e deve ser concluído um release do sistema. No final da Transição pode ser iniciado um novo ciclo de desenvolvimento para a evolução do produto, o que envolveria todas as fases novamente. Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Fases e Iterações Fase de Concepção Objetivos Atividades “Alcançar a concordância dos gestores nos objetivos do ciclo de vida do projeto” Objetivos Garantir a cooperação dos gestores Escopo do projeto Sintetizar arquitetura candidata Estimar riscos potenciais Preparar o ambiente de suporte Atividades Formular o escopo do projeto Planejar e Preparar o Caso de Negócio Sintetizar uma arquitetura candidata Preparar o ambiente para o Projeto Marco : Objetivos do ciclo de vida Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Fases e Iterações Fase de Elaboração Objetivos Atividades “Fornecer uma base arquitetural estável para o esforço de projeto e implementação” Objetivos Assegurar a estabilidade da arquitetura e requisitos Mapear todos os riscos significantes Produção de protótipos evolucionários Atividades Definir, validar e estabilizar a arquitetura Refinar a Visão do sistema Refinar o Caso de Desenvolvimento Refinar a arquitetura e selecionar componentes Marco : Ciclo de vida da arquitetura Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Fases e Iterações Fase de Construção Objetivos Atividades “Esclarecer os requisitos remanescentes e completar o desenvolvimento na arquitetura proposta” Objetivos Minimizar os custos de desenvolvimento Alcançar a qualidade do produto Alcançar versões úteis do sistema Verificação se os usuários estão prontos para o sistema Atividades Gerenciamento de recursos, controle e processo. Completar o desenvolvimento de componentes Avaliar os releases segundo os critérios do Visão Marco : Capacidades operacionais básicas Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Fases e Iterações Fase de Transição Objetivos Atividades Principais “Assegurar que o software está disponível para os usuários” Objetivos Testes beta para validar o sistema Conversão de bases de dados (legado) Treinamentos Performance Atividades Principais Executar planos de implantação Finalizar o material de suporte Obter feedback do usuário Ajustar o produto final Marco : Release do produto Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Fases, iterações e disciplinas No desenvolvimento em cascata, as atividades dos fluxos básicos ocorreriam em seqüência. No desenvolvimento iterativo elas ocorrem em ciclos, dentro de cada iteração. E a ênfase que é dada a cada fluxo, assim como o foco de suas atividades, depende da fase do processo em que se está. Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Em uma iteração, todas as disciplinas são percoridas Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Business Modeling: Workflow Details Requirements: Workflow Details This slide and the next show how the workflow can be decomposed into smaller pieces. You can reinforce the structure by showing the equivalent in RUP. The paths through the core workflows vary within the phases and iterations of the lifecycle. Requirements: Workflow Details Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Evolução dos artefatos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Outros elementos Concepts Guidelines Tool mentors Templates Roadmaps Introduzem as principais definições, idéias-chave Guidelines Técnicas, regras, checklists, heurísticas… Tool mentors Links para ferramentas case Templates Modelos de artefatos Roadmaps Formas de aplicar o processo para em contextos específicos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Outros elementos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Exercício Elabore um diagrama de classes de alto nível (somente nome das classes e relacionamentos) mostrando o relacionamento entre os seguintes elementos do RUP: Disciplinas Atividades Artefatos Responsáveis Fases Iterações Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho