Buscar

05_3_RUP-2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Disciplina: Engenharia de Software
Tema da Aula
..
..
Processo de Desenvolvimento de Software
Tema da Aula
Processos de Software
Processo Unificado
RUP®
Conceitos Processos de Software
Processos de Software:
Modelos de Ciclo de Vida do Produto de Software
Clássico (cascata ou linear)
Outros Modelos:
Incremental 
Evolutivo 
Prototipação 
Espiral 
RAD 
Outros 
Processo Unificado (RUP - Unified Process)
Modelo Ágil
Métodos Formais
E outros
Ciclos de Vida de Software
Modelo Processo Unificado
Desenvolvimento de software a partir de um framework genérico, que pode ser especializado para diferentes aplicações, organizações, níveis de competência e tamanho de projetos.
Características:
Baseado em componentes reutilizáveis
Usa UML para modelar o produto
Dirigido a casos de uso
Centrado na arquitetura
Iterativo e Incremental
COTS
Ciclos de Vida de Software
Modelo RUP
Desenvolvimento de software a partir de um framework genérico, que pode ser especializado para diferentes aplicações, organizações, níveis de competência e tamanho de projetos.
Características:
Baseado em componentes reutilizáveis
Usa UML para modelar o produto
Dirigido a casos de uso
Centrado na arquitetura
Iterativo e Incremental
UML
Unified Modeling Language
Ciclos de Vida de Software
Modelo RUP
Desenvolvimento de software a partir de um framework genérico, que pode ser especializado para diferentes aplicações, organizações, níveis de competência e tamanho de projetos.
Características:
Baseado em componentes reutilizáveis
Usa UML para modelar o produto
Dirigido a casos de uso
Centrado na arquitetura
Iterativo e Incremental
CASO DE USO (USE CASE):
É um texto narrativo ou gabarito que descreve uma função ou característica do sistema do ponto de vista do usuário.
O caso de uso é descrito pelo usuário e serve como base para a criação de um modelo de análise mais abrangente.
Pressman
Ciclos de Vida de Software
Modelo RUP
Desenvolvimento de software a partir de um framework genérico, que pode ser especializado para diferentes aplicações, organizações, níveis de competência e tamanho de projetos.
Características:
Baseado em componentes reutilizáveis
Usa UML para modelar o produto
Dirigido a casos de uso
Centrado na arquitetura
Iterativo e Incremental
Arquitetura de software:
Refere-se à estrutura global do software e aos módulos pelos quais essa estrutura fornece integridade conceitual para um sistema.
Em sua forma mais simples, arquitetura é:
A estrutura ou organização dos componentes de programa (módulos)
O modo pelo qual esses componentes interagem
As estruturas dos dados que são usadas pelos componentes.
Em um sentido mais amplo, no entanto, componentes podem ser generalizados para representar os principais elementos do sistema e suas interações.
Pressman.
Uma arquitetura de software é o produto do trabalho de desenvolvimento que dá o retorno de investimento mais alto, no que diz respeito a qualidade, cronograma e custo.
Len Bass et al.
Ciclos de Vida de Software
Modelo RUP
Recomenda o uso de Casos de Uso (Use Cases) para capturar a funcionalidade do produto.
Um modelo de Casos de Uso é formado pelo conjunto de diagramas de Caso de Uso.
Vantagem: está dirigido a cada usuário (ator).
A arquitetura de software deve contemplar seus aspectos estático e dinâmico.
Ciclos de Vida de Software
Modelo RUP
	
RUP - Conceitos
FASES
Na fase de Concepção, decide-se o que será desenvolvido.
RUP - Conceitos
FASES
Na Elaboração faz-se uma análise de risco, constrói-se uma arquitetura executável, para realizar um teste de viabilidade e outras atividades para garantir o sucesso do projeto.
RUP - Conceitos
FASES
Na fase de Construção o produto de software é construído, garantindo que, ao final de cada iteração, teremos um software executável, para ser liberado aos usuários.
RUP - Conceitos
FASES
Finalmente, na Transição o produto de software é instalado na área de produção, juntamente com a documentação, o treinamento e suporte para os usuários.
RUP - Conceitos
No desenvolvimento de cada fase, executamos diversos tipos de atividades, chamadas disciplinas.
Ciclos de Vida de Software
Modelo RUP
	
RUP - Conceitos
Em cada iteração, empregamos esforço em algumas ou em todas as disciplinas que constituem o processo de software.
RUP - Conceitos
Cada fase é composta de uma ou mais ITERAÇÕES. 
Aconselha-se um total de 8 a 9 iterações, no ciclo completo de desenvolvimento de um produto.
 ITERAÇÕES
O Processo Unificado
“Hoje, a tendência em software é em direção a sistemas maiores, mais complexos. Isso se deve, em parte, ao fato de que os computadores têm se tornado mais potentes a cada ano, levando os usuários a esperar mais deles. Essa tendência também tem sido influenciada pelo uso da Internet, que está se expandido, para trocar toda espécie de informação... Nosso apetite por softwares cada vez mais sofisticados cresce à medida que aprendemos de uma versão de produto para a seguinte como o produto poderia ser aperfeiçoado. Desejamos softwares que sejam melhore adaptados às nossas necessidades, mas que, por sua vez, não torne o software somente mais complexo. Em resumo, desejamos mais.”
Jacobson, Booch e Rumbaugh apud Pressman
O Processo Unificado
“De certo modo, o PU (Processo Unificado – em inglês PU) é uma tentativa de apoiar-se nos melhores recursos e características dos modelos convencionais de processo de software, mas caracterizá-los de um modo que implemente muitos dos melhores princípios de desenvolvimento ágil de software. O PU reconhece a importância da comunicação com o cliente e dos métodos diretos para descrever a visão do cliente de um sistema (caso de uso). Ele enfatiza o importante papel da arquitetura de software e ajuda o arquiteto a se concentrar nas metas corretas, tais como compreensibilidade, abertura a modificações futuras e reuso. Ele sugere um fluxo de processo interativo e incremental, dando a sensação evolucionária que é essencial no desenvolvimento moderno de software”. 
Jacobson, Booch e Rumbaugh apud Pressman, 2006 p.51
RUP ou UP?
A letra “R” à frente do UP, faz referencia á Rational inc. (hoje uma brand da IBM), empresa de software que foi atora principal no desenvolvimento do Processo Unificado.
Rational pertenceu aos três amigos (Booch, Rambaugh e Jacobson) e evoluiu juntamente com o desenvolvimento da UML – desenvolvida em “consórcio” mundial das maiores empresas de software (década de 90).
Experiências anteriores de muitos envolvidos, essencialmente de Jacobson no processo Objectory, levaram ao desenvolvimento do RUP.
RUP ou UP?
A Rational desenvolveu produtos de SW concomitantemente ao UP 
Um Meta-Processo de Engenharia de Software (UP)
É Produto “web” contendo inicialmente o Meta-processo “completo” (conceitos, diretrizes, glossário etc.). O software Method Composer Permite que a área de processo edite-o, adaptando às suas características e cultura organizacional. Este produto documenta, orienta e centraliza o processo padrão, apoiando a sua disseminação. 
Conjunto de Ferramentas (obviamente, eles preferem as da IBM) para automatizar as atividades que compõem o processo.
Livre Versus Proprietário
RUP - Processo
O RUP (ou UP ou PU) é um modelo de PROCESSO UNIFICADO DE ENGENHARIA DE SOFTWARE.
Por Modelo, leia-se META-PROCESSO
RUP - Processo
Ênfase maior em duas dimensões importantes:
Dimensão Tempo: 
Fases e Iterações
Dimensão Conteúdo: 
Worflows, Papeis, Artefatos, Atividades, Gabaritos, etc...
RUP - Processo
Introdução do conceito de Disciplinas 
Uma coleção de atividades relacionadas que definem uma 'área de interesse' maior, identificáveis na engenharia de software.
Múltiplas Visões do Processo:
Vertical (Detalhamento do Esforço por fase) 
Horizontal (Detalhamento do Esforço por disciplina)
Ciclo de Vida (Esforço Geral de planejamentode um projeto em fases e iterações)
RUP - Processo
IBM Rational Application Developer
IBM Rational AppScan
IBM Rational Asset Manager
IBM Rational Automation Framework
IBM Rational Business Developer Extension
IBM Rational ClearCase
IBM Rational ClearCase UCM
IBM Rational ClearQuest
IBM Rational DOORS
IBM Rational Functional Tester
IBM Rational License Server
IBM Rational Method Composer
IBM Rational Performance Tester
IBM Rational Purify
IBM Rational Quality Manager
IBM Rational Rhapsody
IBM Rational Rose XDE
IBM Rational Service Tester
IBM Rational Software Architect
IBM Rational Software Modeler
IBM Rational SQABasic
Rational Synergy
IBM Rational Team Concert
IBM Rational Unified Process
System Architect or IBM Rational System Architect
RUP – Estrutura
Grandes Marcos (milestones) no Ciclo de Vida RUP
Disciplina: Engenharia de Software
Tema da Aula
..
..
Processo de Desenvolvimento de Software
Tema da Aula
Processos de Software
Processo Unificado
RUP®
DETALHADO
RUP - Conceitos
(Tempo)
Agrupamento Atividades
ESFORÇO 
NO TEMPO
(CURVA DAS BALEIAS)
RUP – Estrutura
Três diferentes visões:
1 – Detalhamento de uma Fase
2 – Detalhamento de uma Disciplina 
3 - Visão geral do Esforço de um Projeto
RUP - Conceitos
FASES
Um projeto de desenvolvimento de um produto de software desenvolve-se por meio de quatro fases.
RUP - Conceitos
FASE 1 – CONCEPÇÃO:
 Definir o escopo do que será desenvolvido. 
 Identificar e Esboçar requisitos (casos de uso)
 Analisar riscos essenciais envolvidos
 Analisar viabilidade técnica e financeira
 Estimar custos e prazos
 Levantar Arquiteturas candidatas
 Gerar plano inicial para prosseguir o projeto
RUP - Conceitos
FASE 2 – ELABORAÇÃO:
 Mitigar (suavizar) os principais Riscos
 Comprovar que arquitetura escolhida suportará o projeto
 Produzir primeiros releases do software
 Aferir se os planos estão estáveis 
MITIGAR (HOUAISS) verbo t.d. 
tornar(-se) mais brando, mais suave, menos intenso (dor, sofrimento etc.); aliviar, suavizar, aplacar.
Ex.: m. a saudade, a sede, a ira etc.
RUP - Conceitos
FASE 2 – ELABORAÇÃO:
 Mitigar (suavizar) os principais Riscos
RUP - Conceitos
FASE 3 – CONSTRUÇÃO:
 Construir o produto
 Completar a Análise, Projeto, Implementação e Teste de todos requisitos
 Gerar releases “úteis”
RUP - Conceitos
FASE 4 – TRANSIÇÃO:
 Implantar o produto na Área de Produção (usuário)
 Conversão de Dados
 Homologação e Testes Finais
 Treinamento de usuário
 Ajustes
 Avaliação do Produto como um todo
RUP – Conceitos Chave
Recursos consumidos durante as fases do ciclo de vida RUP (média).
RUP – Estrutura
Grandes Marcos (milestones) no Ciclo de Vida RUP
RUP – Estrutura
Fase: Iniciação Critérios de Avaliação
Concordância dos principais envolvidos na definição do escopo do projeto e das estimativas de custo/prazo
Acordo de que o conjunto correto de requisitos foi capturado e que existe entendimento dos mesmos
Acordo de que as estimativas de custo/prazo, prioridades, riscos e processo de desenvolvimento estão apropriados
Existe um plano inicial de iterações
Todos os riscos foram identificados e há uma estratégia de redução de cada um deles
Marco: Objetivo do Ciclo de Vida (LCO)
RUP – Estrutura
Fase: Elaboração Critérios de Avaliação
A visão de Produto e de Requisitos está estável
A Arquitetura está estável e suportará o produto de software
Os maiores elementos de risco (em especial os riscos tecnológicos) foram encontrados e resolvidos
Planos de iteração para a fase de construção estão detalhados
Todos os envolvidos concordam que a visão atual pode ser atingida se o plano atual for executado
Gastos reais de recursos x gastos previstos são aceitáveis
Marco: Arquitetura do Ciclo de Vida (LCA)
RUP – Estrutura
Fase: Construção Critérios de Avaliação
Responder às seguintes perguntas:
Este release de produto é estável e maduro o suficiente para ser implantado na comunidade de usuários?
Todos os envolvidos estão prontos para a transição do produto para o ambiente do usuário?
As despesas reais com recursos ainda são aceitáveis? (reais x planejadas)
Marco: Capacidade Operacional Inicial (IOC) “beta”
RUP – Estrutura
Fase: Transição Critérios de Avaliação
Responder às seguintes perguntas:
O usuário está satisfeito?
As despesas reais com recursos versus despesas planejadas ainda são aceitáveis?
Marco: Release do Produto
RUP - Conceitos
No desenvolvimento de cada fase, executamos diversos tipos de atividades relacionadas, chamadas DISCIPLINAS.
 DISCIPLINAS
RUP - Conceitos
 DISCIPLINAS
RUP - Conceitos
Em cada iteração, empregamos esforço em algumas ou em todas as disciplinas que constituem o processo de software.
 DISCIPLINAS
RUP - Conceitos
A quantidade de esforço aplicado em cada disciplina, varia conforme a FASE do processo.
 DISCIPLINAS
RUP - Conceitos
Esforço total na disciplina de implementação (geração de código), durante as quatro fases do ciclo de desenvolvimento.
 DISCIPLINAS
RUP - Conceitos
 Entender a estrutura da organização e o processo-alvo.
 Identificar problemas e possíveis gargalos.
 Garantir aos stakeholders a mesma compreensão da organização e do problema.
 Identificar requisitos para o produto de software a ser desenvolvido.
DISCIPLINA
Modelagem de Negócio
RUP - Conceitos
 Estabelecer e manter acordo entre desenvolvedores e stakeholders” sobre o que o sistema precisa fazer.
 Obter melhor entendimento dos
 Requisitos.
 Definir o escopo do sistema.
 Obter subsídios para
planejar iterações, custo e tempo de desenvolvimento.
DISCIPLINA
Requisitos
RUP - Conceitos
 Transformar requisitos em modelos de análise e, depois de projeto (design)
 Desenvolver uma arquitetura robusta
 Adaptar modelagem ao ambiente de produção
DISCIPLINA
Análise e Projeto
RUP - Conceitos
 Gerar código para implementar Casos de Uso ou subsistemas organizados como
camada
 Implementar classes
e objetos como
Componentes
 Realizar testes
Unitários
 Integrar os
resultados para
gerar o executável
DISCIPLINA
Implementação
RUP - Conceitos
 Verificar integração
entre os objetos e entre todos os
componentes de
software
 Verificar se todos os
requisitos foram
atendidos
 Detectar defeitos e
garantir que eles
serão resolvidos
antes de fazer a
entrega do software
DISCIPLINA
Testes
RUP - Conceitos
 Gerenciar atividades de forma a garantir que os relesases do produto estarão disponível para os usuários:
 Implantar na produção
 Testar (Beta)
 Criar documentação de treinamento
 Criar documentação de operação
DISCIPLINA
Implantação
RUP - Conceitos
 Identificar itens de
Configuração
 Identificar e autorizar acessos ao repositório
 Gerenciar atualizações dos itens de configuração controlando mudanças
 Rastrear e/ou auditar as mudanças requeridas e realizadas 
DISCIPLINA
Gerência de Mudança e Configuração
RUP - Conceitos
 Fornecer uma estrutura (framework) para o gerenciamento do projeto (tempo, orçamento etc.)
 Fornecer uma estrutura para o gerenciamento de riscos
Planejamento, contratação de pessoal, execução e monitoração e demais dimensões da Gestão do Projeto
DISCIPLINA
Gerência de Projeto
RUP - ConceitosConfiguração do Processo
 Implementação de ferramentas do Processo
 Apoio às atividades de mentoring
 Gerenciamento do ambiente de desenvolvimento / teste / produ~ção
DISCIPLINA
Gerência de Ambiente
RUP - Conceitos
Cada fase é composta de uma ou mais ITERAÇÕES. 
Aconselha-se um total de 8 a 9 iterações, no ciclo completo de desenvolvimento de um produto.
 ITERAÇÕES
RUP - Conceitos
Cada iteração realiza-se as 9 disciplinas do processo, com esforço adequado à fase da iteração.
 ITERAÇÕES
Iteração #2 da 
Fase de Construção
RUP - Conceitos
 ITERAÇÕES
Exceto na iteração única da Fase de Concepção (Inicial), um produto de software executável (release) é gerado no final de cada iteração.
RUP - Conceitos
A duração de cada iteração depende do:
Tamanho da equipe
Tamanho do projeto
Familiaridade (maturidade) com o processo
Simplicidade técnica
O número médio de iterações (recomendado) é:
Concepção	de 0 a 1
Elaboração	de 1 a 3
Construção	de 1 a 3
Transição de 1 a 2
 	 			(6 3)
 ITERAÇÕES
*

Outros materiais