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

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

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

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

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

RUP – Rational Unified Process

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

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

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

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

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

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

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

Iterativo e incremental

ReqReq

A&PA&P

ImpImp

I/TI/T

ImpImp

Iteração 1Iteração 1

ReqReq

A&PA&P

ImpImp

I/TI/T

ImpImp

Iteração 2Iteração 2

ReqReq

A&PA&P

ImpImp

I/TI/T

ImpImp

Iteração 3Iteração 3

TEMPOTEMPO

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

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

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

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

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

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 Testes Implantação

Casos de Uso fazem a ligação entre essas etapas

Análise e Projeto

Implemen-tação

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Disciplinas

• Principais– 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

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

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

Stepsstep 1step 2...

Activity

Activity

ActivityCore Workflow

WorkflowDetail

Activity

WorkflowDetail

Workflows, Atividades e Passos

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

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

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

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

Responsáveis

• Representam perfis ou papéis, não pessoas

Gerente do projeto

Arquiteto

Analista

Programador

Testador

Ana

Leonardo

Marconi

Márcia

Rogério

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

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

Atividades, Responsáveis e Artefatos

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

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

Workflows, Atividades, Responsáveis e Artefatos

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

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

tempo

Concepção Elaboração Construção Transição

Marcos principais

Fases e iterações

• O ciclo de vida de um sistema consiste de quatro fases:

• As fases indicam a maturidade do sistema!

escopoescopo arquiteturaarquitetura operaçãooperação releaserelease

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

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

• Cada fase é dividida em iterações:

Marcos secundários: releases intermediários

Iteração preliminar

Concepção Elaboração Construção Transição

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

Fases e iterações

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

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

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

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

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

Fases e Iterações

• Fase de Concepção“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

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

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

Fases e Iterações

• Fase de Elaboração“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

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

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

Fases e Iterações

• Fase de Construção“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

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

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

Fases e Iterações

• Fase de Transição“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

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

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

Fases, iterações e disciplinas

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

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

Em uma iteração, todas as

disciplinas são

percoridas

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

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

Business Modeling:

Workflow Details

Requirements:

Workflow Details

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

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

Evolução dos artefatos

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

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

Outros elementos

• Concepts– 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

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

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

Outros elementos

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

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