Professor: Rodrigo Gomes da Silva
Assunto: Introdução ao Processo Iterativo com RUP
Novembro / 2013
Apresentação
Rodrigo Gomes da Silva
Contatos:
rodrigo.gomes3@hotmail.com
rogomes@br.ibm.com
rodrigo.gomes@unis.edu.br

Redes Sociais
http://www.linkedin.com/pub/rodrigo-gomes-da-silva/37/568/716
https://twitter.com/rodrigogomes3
https://www.facebook.com/rodrigo.gomesdasilva.92

•

Certificações
–
–

•

Formação:
–
–
–
–

•

Especialista em Design Instrucional para EaD Virtual (UNIFEI)
Especialista em Docência do Ensino Superior (FINOM)
Bacharel em Sistemas de Informação (UEMG)
Técnico em Processamento de Dados (CETEV)

Atualmente:
–
–

•

IBM Certified RMUC – Requirements Management with Use Cases Part 1
IBM Certified RMUC – Requirements Management with Use Cases Part 2

Analista de Requisitos na IBM do Brasil - SP
Professor Universitário – UNIS-MG

Atuações Anteriores
–
–
–
–
–

Professor Universitário – FACECA
Professor Universitário – UNINCOR
Professor Universitário – FIPV
Analista de Sistemas – Sindicato Rural da Campanha
Gerente de TI – Santa Casa de Misericórdia da Campanha
Agenda
•
•
•
•
•
•
•
•
•

Sintomas dos problemas de desenvolvimento de software
As 6 melhores práticas da Engenharia de Software
Princípios do Desenvolvimento Iterativo
Processo de Desenvolvimento RUP – Rational Unified Process
Fases do RUP
Disciplinas do RUP
Papéis, Atividades e Artefatos do RUP
Acessar uma Instância do RUP
Documento Visão
Sintomas dos Problemas de Desenvolvimento
de Software
•
•
•
•
•

Necessidade dos usuários e do negócio não são totalmente
compreendidas
Módulos não integrados
Dificuldade de manutenção
Qualidade ruim na experiência do usuário final
Time descordenado
As 6 Melhores Práticas da Engenharia de
Software
•
•
•
•
•
•

Desenvolvimento iterativo
Gestão de requisitos
Arquitetura baseada em componentes
Modelagem Visual (UML)
Verificação Contínua da Qualidade
Gestão de Mudanças
As 6 Melhores Práticas da Engenharia de
Software
•

Desenvolvimento em Cascata

Planejamento

– Atraso na percepção e
resolução de riscos críticos
– Impede a implantação
antecipada

Análise Requisitos

Design

Codificação / Teste
Integração
Sub-Sistemas
Teste de Sistemas

– Frequentemente resulta em
grandes iterações planejadas
– A fase seguinte só inicia
quando a fase anterior termina
– Dificuldade em realizar
mudanças com o projeto em
andamento
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 1 - Desenvolvimento Iterativo
– Resolve maiores riscos
antes de grandes
investimentos
– Permite conhecer um
feedback do usuário mais
cedo
– Realiza testes e integrações
contínuamente
– Define marcos do projeto a
curto prazo
– Permite implantações
parciais
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 1 - Desenvolvimento Iterativo
As 6 Melhores Práticas da Engenharia de
Software
• Risco ( Cascata x Iterativo)
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 2 - Gestão de Requisitos
– Certifica-se de resolver o problema certo e construir o sistema
correto
– Através de uma abordagem sistêmica para:
• Compreensão do problema.
• Elicitar, organizar e documentar os requisitos.
• Gerenciando as novas exigências de uma aplicação de software (Change
Request)
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 3 - Arquitetura Baseada em
Componentes
– Reuso e customizção de componentes
– Selecione a partir de componentes disponíveis
comercialmente
– Evoluir software existente de forma incremental
– Maior encapsulamento
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 4 - Modelagem Visual - UML
– Captura a estrutura e o comportamento
– Mostra como os elementos do sistemas se
encaixam
– Mantém uma conscistência entre concepção e
implementação
– Esconde ou expõe detalhes quando necessário
– Promove uma comunicação não ambígua
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 5 - Verificação Contínua da
Qualidade
– Dimensões de Teste da Qualidade
•
•
•
•
•

Funcionalidade
Usabilidade
Confiança
Suportabilidade
Performance
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 5 - Verificação Contínua da
Qualidade
– Funcionalidade
• Testa o funcionamento preciso de cada cenário de uso
da aplicação

– Usabilidade
• Testa o aplicativa a partir da perspectiva de
conveniência para o usuário final

– Confiança
• Testa se o aplicativo possui um comportamento
consistente e previsível
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 5 - Verificação Contínua da
Qualidade
– Suportabilidade
• Testa a capacidade de manter e apoiar o aplicativo no
momento em que está em produção

– Performance
• Teste de carga com média e alto de pico
As 6 Melhores Práticas da Engenharia de
Software
• Melhor Prática 6 - Change Request Management
(Gestão da Solicitação de Mudanca) As solicitações de mudança
podem vir de várias fontes
durante o ciclo de vida do
produto.

Novas características
Requisito
Canal de
Aprovação

Novos requisitos

Bug

Design

Codificação
Teste

Change request
Manutenção

Clientes e usuários

Marketing
Codificadores e
testadores
Outros stakeholders
RUP – Rational Unified Process
• O RUP é um processo de
engenharia de software.
– Abordagem disciplinar de
atribuir tarefas e
responsabilidades em um
processo de
desenvolvimento de uma
organização.
• O RUP é um Framework.
– Pode ser instanciado
gerando diversos processos.
• Dependentes da organização.
• Dependentes da aplicação.

Nenhum processo é

adequado para todos as
organizações/aplicações.
Processo de Desenvolvimento RUP
•

Um processo define quem está fazendo o quê, quando e
como alcançar um determinado objetivo.

Novos requisitos
ou requisitos alterados

Processo de
Engenharia de
Software

Sistema novo ou
melhorado

• Roteiro para um desenvolvimento eficiente e de qualidade.
– Aborda as melhores práticas
• Visando reduzir o risco e o custo do projeto.
Processo de Desenvolvimento RUP
•Um processo descreve quem
está fazendo o que, como e
quando.
– Papéis
• Quem

– Atividades
• Como

– Artefatos
• O que

– Disciplinas
• Quando
Instância do RUP – Rational Unified Process
Download Rational Method Composer
http://www.ibm.com/developerworks/br/downloads/r/rup/
Instância do RUP – Rational Unified Process
Instância Online do RUP
http://www.wthreex.com/rup/v711_ptbr/index.htm
Fases do RUP

Iniciação
Elaboração
Construção
Transição
Fases do RUP
Fase de Iniciação
Formular o escopo do projeto. Isso envolve capturar o contexto, bem
como os requisitos e as restrições mais importantes, para que seja
possível depreender critérios de aceitação para o produto final.
Planejar e preparar um caso de negócios. Avaliar alternativas para o
gerenciamento de riscos, as equipes de pessoal, o plano do projeto e
as mudanças de custo/planejamento/lucratividade.
Sintetizar uma sugestão de arquitetura, avaliando as mudanças no
design e em fazer/comprar/reutilizar para que seja possível calcular
custo, planejamento e recursos.
Preparar o ambiente para o projeto, avaliando o projeto e a
organização, selecionando ferramentas e decidindo quais partes do
processo aprimorar.
Fases do RUP
Fase de Elaboração
Definir, validar e criar a baseline da arquitetura, com rapidez e
praticidade.
Refinar a Visão, com base nas informações novas obtidas durante a
fase, estabelecendo uma compreensão sólida dos casos de uso mais
críticos que conduzem as decisões de arquitetura e planejamento.
Criar planos de iteração detalhados de baselines para a fase de
construção.
Refinar o processo de desenvolvimento e posicionar o ambiente
de desenvolvimento
Refinar a arquitetura e selecionar componentes. Os componentes
potenciais são avaliados e as decisões de fazer/comprar/reutilizar são
bem compreendidas para determinar o custo da fase de construção e
programar com confiança.
Fases do RUP
Fase de Construção
Gerenciamento de recursos, otimização de controle e processo
Desenvolvimento completo do componente e teste dos critérios de
avaliação definidos
Avaliação dos releases do produto de acordo com os critérios de
aceitação para a visão
Fases do RUP
Fase de Transição
Executar planos de implementação
Finalizar o material de suporte para o usuário final
Testar o produto liberado no local do desenvolvimento
Criar um release do produto
Obter feedback do usuário
Ajustar o produto com base em feedback
Tornar o produto disponível aos usuários
Disciplinas do RUP

• Modelagem de Negócios
• Requisitos
• Análise e Design
• Implementação
• Teste
• Implantação
• Gerenciamento de Configuração e
Mudança
• Gerenciamento de Projetos
• Ambiente
Disciplinas do RUP
Modelagem de Negócios
• Entender os problemas da organização identificando as possíveis
melhorias
• Avaliar o impacto de mudanças na organização;
• Assegurar que os clientes, usuários, desenvolvedores e outros
parceiros tenham uma compreensão comum da organização;
• Gerar conteúdo para a fase de requisitos do sistema que suportará a
organização e seus processos;
•Entender como o software se ajustará à organização.
Disciplinas do RUP
Requisitos
• Estabelecer e manter concordância com os clientes e outros
investidores sobre o que o sistema deve fazer.
• Oferecer aos desenvolvedores do sistema uma compreensão melhor
dos requisitos do sistema.
• Definir os limites do sistema (ou delimitar o sistema).
• Fornecer uma base para planejar o conteúdo técnico das iterações.
• Fornecer uma base para estimar o custo e o tempo de
desenvolvimento do sistema.
• Definir uma interface de usuário para o sistema, focando nas
necessidades e metas dos usuários
Disciplinas do RUP
Análise e Design
• Transformar os requisitos em um design do sistema a ser criado.
• Desenvolver uma arquitetura sofisticada para o sistema.
• Adaptar o design para que corresponda ao ambiente de
implementação, projetando-o para fins de desempenho.
Disciplinas do RUP
Implementação
• Definir a organização do código em termos de subsistemas de
implementação organizados em camadas
• Implementar os elementos de design em termos de elementos de
implementação (arquivos de origem, executáveis e outros)
• Testar os componentes desenvolvidos como unidades
• Integrar os resultados produzidos por implementadores individuais (ou
equipes) ao sistema executável
Disciplinas do RUP
Teste
• Localizar e documentar defeitos na qualidade do software.
• Sugestões sobre a qualidade do software.
• Validar e provar as suposições feitas nas especificações de projeto e
requisitos através de demonstração concreta.
• Validar se o software funciona conforme o projeto.
• Validar se os requisitos são implementados adequadamente.
Disciplinas do RUP
Implantação
• Produzir com sucesso lançamentos de produtos e entregar o software
para seus usuários finais.
• Produção de releases externos do software, a embalagem do software
e aplicativos de negócios, distribuição do software, instalação do
software e prestação de ajuda e assistência aos usuários.
Disciplinas do RUP
Gerenciamento de Configuração e Mudanças
• Controlar os vários produtos do trabalho
• Gerenciar diversas variantes de sistemas de software em
desenvolvimento
• Controlar as versões que são utilizadas em determinados builds do
software
• Permitir atualização simultâneas
Disciplinas do RUP
Gerenciamento de Projetos
• Fornecer uma estrutura para gerenciar projetos software intensivo.
• Fornecer orientação prática para planejar, formar a equipe, executar e
monitorar projetos
• Fornecer uma estrutura para gerenciar riscos
• Gerenciamento de pessoas: contratar, treinar, instruir
• Gerenciamento de orçamento: definir, alocar e assim por diante
• Gerenciamento de contratos, com fornecedores e clientes
• Planejamento de um projeto repetitivo, através do ciclo de vida e por
uma iteração específica
• Monitoramento do progresso de um projeto repetitivo
Disciplinas do RUP
Ambiente
• Fornecer a organização de desenvolvimento de software com o
ambiente de desenvolvimento de software -- para processos e
ferramentas -- que oferecerão suporte à equipe de desenvolvimento.
Iteração no RUP
O que é uma Iteração?
• Envolve as atividades de desenvolvimento que levam ao release
• Uma passagem completa por pelo menos as disciplinas:
• Requisitos
• Análise e Design
• Implementação
• Teste
• É como um pequeno projeto cascata
Iteração no RUP
Por que Iterar?
• Projetos organizados para percorrer cada disciplina em sequencia,
abordagem “cascata”
Iteração no RUP
Por que Iterar?
• A iteração permite percorrer várias vezes as
diversas disciplinas de desenvolvimento:
• Melhor entendimento dos requisitos
• Planejamento de uma arquitetura
robusta
• Organiza o desenvolvimento
• Libera uma série de implementações
que são gradualmente mais complexas
RUP – Análise eixos Horizontal - Vertical
Papéis do RUP
•É uma definição abstrata para um conjunto
de atividades realizadas e seus artefatos.
•Um papel pode ser realizado por:
– um pessoa ou
– uma equipe
•Um papel corresponde a:
– Responsabilidades e
– Comportamentos.

Exemplos
Papéis do RUP
• Atribuições
– Coleta de todos os conjuntos de funções publicados. Identificam
os principais papéis e atividades de cada papél do time.
Papéis do RUP
•

Analistas
– Sistemas, Processos de negócios, Projeto de Negócios, Revisor do modelo de
Negócios, Revisor de requisitos, Requisitos, Projetista de interface.

•

Desenvolvedores
– Arquiteto, Designer, Database Designer, Programador, Integrador, Revisor da
arquitetura, Revisor de código

•

Testadores
– Testador
– Projetista de testes

•

Gerentes
– Projeto, Processo, Configuração, Mudanças, Revisão de projeto
Papéis do RUP
•

Exemplo do Papél Analista de Sistemas
Atividades do RUP
•Atividade
– Uma atividade é uma unidade de
trabalho atribuída a um papel.
– A atividade tem um propósito
claro.
• Criação e atualização de
artefatos.

– A atividade deve ser utilizada
como elemento para
planejamento e controle de
progresso.
•Exemplo de atividades:
– Planejar uma iteração.
• Papel: Gerente de Projeto.

– Identificar atores e use cases.
• Papel: Analista de Sistemas.

– Revisar o design.
• Papel: Revisor

•Atividades e Artefatos:
– As atividades estão estritamente
ligadas a artefatos.
– Os artefatos são as entradas ou
saídas de uma atividade.
– Os artefatos servem como
mecanismo de comunicação entre as
atividades.
Artefatos do RUP
•Artefato
– Um artefato é um pedaço de
informação que é produzido,
modificado ou utilizado pelo
processo.
– Artefatos podem ser:
•
•
•
•
•

Modelos.
Elementos de Modelo.
Documentos.
Código Fontes.
Executáveis.

•Artefatos podem ser expresso:
– Visualmente.
– Textualmente.

: anActor

anActor
Documento Visão
• Esta tarefa descreve como
desenvolver a visão geral para o
sistema, incluindo o problema a ser
resolvido, os investidores chave, o
escopo/limite do sistema, os
recursos-chave do sistema e
quaisquer restrições.
A finalidade dessa tarefa é:
• Estabelecer um acordo sobre quais
problemas precisam ser resolvidos.
• Identificar investidores do sistema.
• Definir os limites do sistema.
• Descrever os principais recursos do
sistema.
Certificação em RUP

IBM Certified Solution Designer - IBM Rational Unified Process
V7.0
http://www-03.ibm.com/certify/certs/38008003.shtml
Atividade Prática
• Dividir a sala em 4 grupos
• Desenvolver o Documento Visão dos sistemas propostos:
• Controle acadêmico de notas
• Controle de recebimento de mensalidades
• Controle de contas à pagar
• Controle de empréstimos de livros de uma biblioteca
• Cada grupo deverá apresentar o Documento Visão Construído

Template Documento
Visão

Introdução ao RUP

  • 1.
    Professor: Rodrigo Gomesda Silva Assunto: Introdução ao Processo Iterativo com RUP Novembro / 2013
  • 2.
    Apresentação Rodrigo Gomes daSilva Contatos: rodrigo.gomes3@hotmail.com rogomes@br.ibm.com rodrigo.gomes@unis.edu.br Redes Sociais http://www.linkedin.com/pub/rodrigo-gomes-da-silva/37/568/716 https://twitter.com/rodrigogomes3 https://www.facebook.com/rodrigo.gomesdasilva.92 • Certificações – – • Formação: – – – – • Especialista em Design Instrucional para EaD Virtual (UNIFEI) Especialista em Docência do Ensino Superior (FINOM) Bacharel em Sistemas de Informação (UEMG) Técnico em Processamento de Dados (CETEV) Atualmente: – – • IBM Certified RMUC – Requirements Management with Use Cases Part 1 IBM Certified RMUC – Requirements Management with Use Cases Part 2 Analista de Requisitos na IBM do Brasil - SP Professor Universitário – UNIS-MG Atuações Anteriores – – – – – Professor Universitário – FACECA Professor Universitário – UNINCOR Professor Universitário – FIPV Analista de Sistemas – Sindicato Rural da Campanha Gerente de TI – Santa Casa de Misericórdia da Campanha
  • 3.
    Agenda • • • • • • • • • Sintomas dos problemasde desenvolvimento de software As 6 melhores práticas da Engenharia de Software Princípios do Desenvolvimento Iterativo Processo de Desenvolvimento RUP – Rational Unified Process Fases do RUP Disciplinas do RUP Papéis, Atividades e Artefatos do RUP Acessar uma Instância do RUP Documento Visão
  • 4.
    Sintomas dos Problemasde Desenvolvimento de Software • • • • • Necessidade dos usuários e do negócio não são totalmente compreendidas Módulos não integrados Dificuldade de manutenção Qualidade ruim na experiência do usuário final Time descordenado
  • 5.
    As 6 MelhoresPráticas da Engenharia de Software • • • • • • Desenvolvimento iterativo Gestão de requisitos Arquitetura baseada em componentes Modelagem Visual (UML) Verificação Contínua da Qualidade Gestão de Mudanças
  • 6.
    As 6 MelhoresPráticas da Engenharia de Software • Desenvolvimento em Cascata Planejamento – Atraso na percepção e resolução de riscos críticos – Impede a implantação antecipada Análise Requisitos Design Codificação / Teste Integração Sub-Sistemas Teste de Sistemas – Frequentemente resulta em grandes iterações planejadas – A fase seguinte só inicia quando a fase anterior termina – Dificuldade em realizar mudanças com o projeto em andamento
  • 7.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 1 - Desenvolvimento Iterativo – Resolve maiores riscos antes de grandes investimentos – Permite conhecer um feedback do usuário mais cedo – Realiza testes e integrações contínuamente – Define marcos do projeto a curto prazo – Permite implantações parciais
  • 8.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 1 - Desenvolvimento Iterativo
  • 9.
    As 6 MelhoresPráticas da Engenharia de Software • Risco ( Cascata x Iterativo)
  • 10.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 2 - Gestão de Requisitos – Certifica-se de resolver o problema certo e construir o sistema correto – Através de uma abordagem sistêmica para: • Compreensão do problema. • Elicitar, organizar e documentar os requisitos. • Gerenciando as novas exigências de uma aplicação de software (Change Request)
  • 11.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 3 - Arquitetura Baseada em Componentes – Reuso e customizção de componentes – Selecione a partir de componentes disponíveis comercialmente – Evoluir software existente de forma incremental – Maior encapsulamento
  • 12.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 4 - Modelagem Visual - UML – Captura a estrutura e o comportamento – Mostra como os elementos do sistemas se encaixam – Mantém uma conscistência entre concepção e implementação – Esconde ou expõe detalhes quando necessário – Promove uma comunicação não ambígua
  • 13.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 5 - Verificação Contínua da Qualidade – Dimensões de Teste da Qualidade • • • • • Funcionalidade Usabilidade Confiança Suportabilidade Performance
  • 14.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 5 - Verificação Contínua da Qualidade – Funcionalidade • Testa o funcionamento preciso de cada cenário de uso da aplicação – Usabilidade • Testa o aplicativa a partir da perspectiva de conveniência para o usuário final – Confiança • Testa se o aplicativo possui um comportamento consistente e previsível
  • 15.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 5 - Verificação Contínua da Qualidade – Suportabilidade • Testa a capacidade de manter e apoiar o aplicativo no momento em que está em produção – Performance • Teste de carga com média e alto de pico
  • 16.
    As 6 MelhoresPráticas da Engenharia de Software • Melhor Prática 6 - Change Request Management (Gestão da Solicitação de Mudanca) As solicitações de mudança podem vir de várias fontes durante o ciclo de vida do produto. Novas características Requisito Canal de Aprovação Novos requisitos Bug Design Codificação Teste Change request Manutenção Clientes e usuários Marketing Codificadores e testadores Outros stakeholders
  • 18.
    RUP – RationalUnified Process • O RUP é um processo de engenharia de software. – Abordagem disciplinar de atribuir tarefas e responsabilidades em um processo de desenvolvimento de uma organização. • O RUP é um Framework. – Pode ser instanciado gerando diversos processos. • Dependentes da organização. • Dependentes da aplicação. Nenhum processo é adequado para todos as organizações/aplicações.
  • 19.
    Processo de DesenvolvimentoRUP • Um processo define quem está fazendo o quê, quando e como alcançar um determinado objetivo. Novos requisitos ou requisitos alterados Processo de Engenharia de Software Sistema novo ou melhorado • Roteiro para um desenvolvimento eficiente e de qualidade. – Aborda as melhores práticas • Visando reduzir o risco e o custo do projeto.
  • 20.
    Processo de DesenvolvimentoRUP •Um processo descreve quem está fazendo o que, como e quando. – Papéis • Quem – Atividades • Como – Artefatos • O que – Disciplinas • Quando
  • 21.
    Instância do RUP– Rational Unified Process Download Rational Method Composer http://www.ibm.com/developerworks/br/downloads/r/rup/
  • 22.
    Instância do RUP– Rational Unified Process Instância Online do RUP http://www.wthreex.com/rup/v711_ptbr/index.htm
  • 23.
  • 24.
    Fases do RUP Fasede Iniciação Formular o escopo do projeto. Isso envolve capturar o contexto, bem como os requisitos e as restrições mais importantes, para que seja possível depreender critérios de aceitação para o produto final. Planejar e preparar um caso de negócios. Avaliar alternativas para o gerenciamento de riscos, as equipes de pessoal, o plano do projeto e as mudanças de custo/planejamento/lucratividade. Sintetizar uma sugestão de arquitetura, avaliando as mudanças no design e em fazer/comprar/reutilizar para que seja possível calcular custo, planejamento e recursos. Preparar o ambiente para o projeto, avaliando o projeto e a organização, selecionando ferramentas e decidindo quais partes do processo aprimorar.
  • 25.
    Fases do RUP Fasede Elaboração Definir, validar e criar a baseline da arquitetura, com rapidez e praticidade. Refinar a Visão, com base nas informações novas obtidas durante a fase, estabelecendo uma compreensão sólida dos casos de uso mais críticos que conduzem as decisões de arquitetura e planejamento. Criar planos de iteração detalhados de baselines para a fase de construção. Refinar o processo de desenvolvimento e posicionar o ambiente de desenvolvimento Refinar a arquitetura e selecionar componentes. Os componentes potenciais são avaliados e as decisões de fazer/comprar/reutilizar são bem compreendidas para determinar o custo da fase de construção e programar com confiança.
  • 26.
    Fases do RUP Fasede Construção Gerenciamento de recursos, otimização de controle e processo Desenvolvimento completo do componente e teste dos critérios de avaliação definidos Avaliação dos releases do produto de acordo com os critérios de aceitação para a visão
  • 27.
    Fases do RUP Fasede Transição Executar planos de implementação Finalizar o material de suporte para o usuário final Testar o produto liberado no local do desenvolvimento Criar um release do produto Obter feedback do usuário Ajustar o produto com base em feedback Tornar o produto disponível aos usuários
  • 28.
    Disciplinas do RUP •Modelagem de Negócios • Requisitos • Análise e Design • Implementação • Teste • Implantação • Gerenciamento de Configuração e Mudança • Gerenciamento de Projetos • Ambiente
  • 29.
    Disciplinas do RUP Modelagemde Negócios • Entender os problemas da organização identificando as possíveis melhorias • Avaliar o impacto de mudanças na organização; • Assegurar que os clientes, usuários, desenvolvedores e outros parceiros tenham uma compreensão comum da organização; • Gerar conteúdo para a fase de requisitos do sistema que suportará a organização e seus processos; •Entender como o software se ajustará à organização.
  • 30.
    Disciplinas do RUP Requisitos •Estabelecer e manter concordância com os clientes e outros investidores sobre o que o sistema deve fazer. • Oferecer aos desenvolvedores do sistema uma compreensão melhor dos requisitos do sistema. • Definir os limites do sistema (ou delimitar o sistema). • Fornecer uma base para planejar o conteúdo técnico das iterações. • Fornecer uma base para estimar o custo e o tempo de desenvolvimento do sistema. • Definir uma interface de usuário para o sistema, focando nas necessidades e metas dos usuários
  • 31.
    Disciplinas do RUP Análisee Design • Transformar os requisitos em um design do sistema a ser criado. • Desenvolver uma arquitetura sofisticada para o sistema. • Adaptar o design para que corresponda ao ambiente de implementação, projetando-o para fins de desempenho.
  • 32.
    Disciplinas do RUP Implementação •Definir a organização do código em termos de subsistemas de implementação organizados em camadas • Implementar os elementos de design em termos de elementos de implementação (arquivos de origem, executáveis e outros) • Testar os componentes desenvolvidos como unidades • Integrar os resultados produzidos por implementadores individuais (ou equipes) ao sistema executável
  • 33.
    Disciplinas do RUP Teste •Localizar e documentar defeitos na qualidade do software. • Sugestões sobre a qualidade do software. • Validar e provar as suposições feitas nas especificações de projeto e requisitos através de demonstração concreta. • Validar se o software funciona conforme o projeto. • Validar se os requisitos são implementados adequadamente.
  • 34.
    Disciplinas do RUP Implantação •Produzir com sucesso lançamentos de produtos e entregar o software para seus usuários finais. • Produção de releases externos do software, a embalagem do software e aplicativos de negócios, distribuição do software, instalação do software e prestação de ajuda e assistência aos usuários.
  • 35.
    Disciplinas do RUP Gerenciamentode Configuração e Mudanças • Controlar os vários produtos do trabalho • Gerenciar diversas variantes de sistemas de software em desenvolvimento • Controlar as versões que são utilizadas em determinados builds do software • Permitir atualização simultâneas
  • 36.
    Disciplinas do RUP Gerenciamentode Projetos • Fornecer uma estrutura para gerenciar projetos software intensivo. • Fornecer orientação prática para planejar, formar a equipe, executar e monitorar projetos • Fornecer uma estrutura para gerenciar riscos • Gerenciamento de pessoas: contratar, treinar, instruir • Gerenciamento de orçamento: definir, alocar e assim por diante • Gerenciamento de contratos, com fornecedores e clientes • Planejamento de um projeto repetitivo, através do ciclo de vida e por uma iteração específica • Monitoramento do progresso de um projeto repetitivo
  • 37.
    Disciplinas do RUP Ambiente •Fornecer a organização de desenvolvimento de software com o ambiente de desenvolvimento de software -- para processos e ferramentas -- que oferecerão suporte à equipe de desenvolvimento.
  • 38.
    Iteração no RUP Oque é uma Iteração? • Envolve as atividades de desenvolvimento que levam ao release • Uma passagem completa por pelo menos as disciplinas: • Requisitos • Análise e Design • Implementação • Teste • É como um pequeno projeto cascata
  • 39.
    Iteração no RUP Porque Iterar? • Projetos organizados para percorrer cada disciplina em sequencia, abordagem “cascata”
  • 40.
    Iteração no RUP Porque Iterar? • A iteração permite percorrer várias vezes as diversas disciplinas de desenvolvimento: • Melhor entendimento dos requisitos • Planejamento de uma arquitetura robusta • Organiza o desenvolvimento • Libera uma série de implementações que são gradualmente mais complexas
  • 41.
    RUP – Análiseeixos Horizontal - Vertical
  • 42.
    Papéis do RUP •Éuma definição abstrata para um conjunto de atividades realizadas e seus artefatos. •Um papel pode ser realizado por: – um pessoa ou – uma equipe •Um papel corresponde a: – Responsabilidades e – Comportamentos. Exemplos
  • 43.
    Papéis do RUP •Atribuições – Coleta de todos os conjuntos de funções publicados. Identificam os principais papéis e atividades de cada papél do time.
  • 44.
    Papéis do RUP • Analistas –Sistemas, Processos de negócios, Projeto de Negócios, Revisor do modelo de Negócios, Revisor de requisitos, Requisitos, Projetista de interface. • Desenvolvedores – Arquiteto, Designer, Database Designer, Programador, Integrador, Revisor da arquitetura, Revisor de código • Testadores – Testador – Projetista de testes • Gerentes – Projeto, Processo, Configuração, Mudanças, Revisão de projeto
  • 45.
    Papéis do RUP • Exemplodo Papél Analista de Sistemas
  • 46.
    Atividades do RUP •Atividade –Uma atividade é uma unidade de trabalho atribuída a um papel. – A atividade tem um propósito claro. • Criação e atualização de artefatos. – A atividade deve ser utilizada como elemento para planejamento e controle de progresso. •Exemplo de atividades: – Planejar uma iteração. • Papel: Gerente de Projeto. – Identificar atores e use cases. • Papel: Analista de Sistemas. – Revisar o design. • Papel: Revisor •Atividades e Artefatos: – As atividades estão estritamente ligadas a artefatos. – Os artefatos são as entradas ou saídas de uma atividade. – Os artefatos servem como mecanismo de comunicação entre as atividades.
  • 47.
    Artefatos do RUP •Artefato –Um artefato é um pedaço de informação que é produzido, modificado ou utilizado pelo processo. – Artefatos podem ser: • • • • • Modelos. Elementos de Modelo. Documentos. Código Fontes. Executáveis. •Artefatos podem ser expresso: – Visualmente. – Textualmente. : anActor anActor
  • 48.
    Documento Visão • Estatarefa descreve como desenvolver a visão geral para o sistema, incluindo o problema a ser resolvido, os investidores chave, o escopo/limite do sistema, os recursos-chave do sistema e quaisquer restrições. A finalidade dessa tarefa é: • Estabelecer um acordo sobre quais problemas precisam ser resolvidos. • Identificar investidores do sistema. • Definir os limites do sistema. • Descrever os principais recursos do sistema.
  • 49.
    Certificação em RUP IBMCertified Solution Designer - IBM Rational Unified Process V7.0 http://www-03.ibm.com/certify/certs/38008003.shtml
  • 50.
    Atividade Prática • Dividira sala em 4 grupos • Desenvolver o Documento Visão dos sistemas propostos: • Controle acadêmico de notas • Controle de recebimento de mensalidades • Controle de contas à pagar • Controle de empréstimos de livros de uma biblioteca • Cada grupo deverá apresentar o Documento Visão Construído Template Documento Visão