Você está na página 1de 48

PROCESSO UNIFICADO ABERTO OPENUP

Tecnologia em Anlise e Desenvolvimento de Sistemas Disciplina: Processo de Desenvolvimento de Software Prof. Fellipe Aleixo fellipe@cefetrn.br

O que o OpenUP?

OpenUP um processo de desenvolvimento de software de cdigo aberto projetado para equipes pequenas e centralizadas que querem ter uma abordagem gil para desenvolvimento O OpenUP um processo iterativo que Mnimo, Completo e Extensvel, valorizando a colaborao entre a equipe e os benefcios aos interessados ao invs da formalidade e entregveis desnecessrios Referncias:
OpenUp/Basic http://epf.eclipse.org/wikis/openuppt/ OpenUp http://epf.eclipse.org/wikis/openup/

OpenUp e OpenUp/Basic

OpenUp representa a famlia de plugins do processo unificado aberto Eclipse Proccess Framework OpenUp/Basic uma derivao bsica o OpenUP voltada para equipes pequenas e centralizadas Ser usado como base o curso o OpenUP/Basic, sero acrescidas algumas informaes do OpenUP Ser denominado daqui por diante simplesmente de OpenUP

reas do OpenUP

organizado em quatro grandes reas de contedo: Comunicao e Colaborao, Objetivo, Soluo e Gerncia

Princpios do OpenUP

Colaborar para alinhar interesses e compartilhar entendimento Equilibrar as Prioridades concorrentes para maximizar o valor para os stakeholders Focar na evidenciao da arquitetura
Facilitar

a colaborao tcnica, reduzir o risco, e minimizar o sucateamento e o retrabalho.

Evoluir para continuamente obter feedback e melhorias


Iteraes

curtas para antecipar o feedback

Quem Deve Usar?

O OpenUP mais til para quatro grupos primrios de usurios:


Profissionais

de desenvolvimento de software (desenvolvedores, gerentes de projeto, analistas e testadores) que trabalham juntos como uma equipe de projeto Interessados Engenheiros de processo de software Instrutores

Viso Geral

Conceitos Bsicos de Processo

Os elementos bsicos de um site de processo segundo o EPF so:


Produto

de trabalho Work product: o que produzido Tarefa Task: como executar o trabalho Papel Role: quem executa o trabalho Processo Process: usado para definir uma estrutura e um fluxo de trabalho Guias Guidance: templates, checklists, exemplos, orientaes, conceitos, e assim por diante

Elementos de Organizao

Prticas: uma abordagem documentada para a soluo de problemas comuns Configurao: seleo dos contedos a serem publicados Detalhes e exemplos
Produtos

de trabalho

Papel
Tarefa Processo:

ligao entre produtos de trabalho, papis e tarefas, adicionando estrutura e sequncia

Glossrio Bsico

Iterao
Uma

iterao um perodo de tempo definido dentro de um projeto em que voc produz uma verso estvel e executvel do produto, junto com toda a documentao de apoio, scripts de instalao ou similares, necessrios para usar a liberao caso de uso define uma seqncia de aes executadas pelo sistema que geram um resultado de valor observvel para um ator em particular

Caso de Uso
Um

Glossrio Bsico

Risco
Na

vida cotidiana um risco uma exposio perda ou dano; um fator, coisa, elemento ou um caminho que envolve perigo incerto. Similarmente, no desenvolvimento de software um risco algo que pode comprometer o sucesso de um projeto
arquitetura de software representa a estrutura ou as estruturas do sistema, que consiste em componentes de software, propriedades externamente visveis dos componentes e os relacionamentos entre eles

Arquitetura de Software
A

Ciclo de Vida

Fases: Concepo, Elaborao, Construo e Transio

Fase de Concepo

O propsito desta fase conseguir entendimento simultneo entre todos os stakeholders dos objetivos de ciclo de vida para o projeto H quatro objetivos na fase de Concepo que clarificam o escopo, os objetivos do projeto, e a viabilidade da soluo pretendida:

Entenda o que construir. Determine a Viso, o escopo do sistemas, e seus limites. Identifique quem stakeholder do sistema e porque Identifique as funcionalidades chave do sistema. Decida quais requisitos so mais crticos Determine pelo menos uma soluo possvel. Identifique pelo menos uma arquitetura candidata e sua aplicao prtica Entenda o custo, cronograma, e os riscos associados ao projeto

Fase de Concepo
Objetivos da fase Atividades que endeream os objetivos

Entenda o que construir


Identifique as funcionalidades chave do sistema Determine pelo menos uma soluo possvel Entenda o custo, cronograma, e os riscos associados ao projeto

(1) Gerenciar Requisitos


(2) Iniciar o Projeto (3) Gerenciar Requisitos (4) Determinar a Viabilidade Arquitetural

(5) Iniciar o Projeto (6) Gerenciar a Iterao

Fase de Concepo

Os projetos podem ter uma ou mais iteraes na fase de Concepo. Entre algumas razes para ter mltiplas iteraes na fase de Concepo, voc encontra:
O

projeto grande, e difcil definir seu escopo Sistema sem precedentes Muitos stakeholders com necessidades conflitantes e relacionamentos complexos Grandes riscos tcnicos que demandam a criao de um prottipo ou prova de conceito

Fase de Elaborao

O propsito desta fase estabelecer uma linha de base da arquitetura do sistema e prover uma base estvel para o volume de esforo de desenvolvimento na prxima fase H objetivos para a fase de Elaborao que ajudam a resolver os riscos associados com requisitos, arquitetura, custos, e cronograma:

Obtenha um entendimento mais detalhado dos requisitos. Ter um bom entendimento dos principais requisitos permite a voc criar um plano mais detalhado e obter comprometimento dos stakeholders. Tenha certeza de obter um entendimento detalhado dos requisitos mas crticos que sero validados pela arquitetura Projete, implemente, valide, e estabelea uma linha de base para a arquitetura. Projete, implemente, e teste um esqueleto da estrutura do sistema. Apesar da funcionalidade no estar completa ainda, a maior parte das interfaces entre os blocos sendo construdos implementada e testada. Isto conhecido como uma arquitetura executvel Mitigue os riscos essenciais e produza um cronograma e uma estimativa de custos precisos. Muitos riscos tcnicos so resolvidos como resultado do detalhamento dos requisitos e do projeto, implementao e teste da arquitetura. Refine e detalhe o plano de projeto de alto nvel

Fase de Elaborao
Objetivos da fase Atividades que endeream os objetivos Obtenha um entendimento mais detalhado (1) Gerenciar Requisitos dos requisitos Projete, implemente, valide, e estabelea uma linha de base para a arquitetura (2) Definir a Arquitetura (3) Desenvolver a Soluo (para o requisito)(no contexto) (4) Validar o Build (5) Gerenciar a Iterao

Mitigue os riscos essenciais e produza um cronograma e uma estimativa de custos precisos

Fase de Elaborao

O nmero de iteraes na fase de Elaborao dependente de, mas no limitada por, fatores como desenvolvimento de um novo produto versus ciclo de manuteno, sistema sem precedentes versus tecnologia e arquitetura conhecidas, e etc. Tipicamente, na primeira iterao, voc deve projetar, implementar, e testar um pequeno nmero de cenrios crticos para identificar que tipo de arquitetura e mecanismos de arquitetura voc precisa, ento voc pode mitigar os riscos mais cruciais. Voc tambm detalha os requisitos de alto risco que devem ser resolvidos antecipadamente no projeto. Voc deve testar o suficiente para validar que os riscos arquiteturais esto mitigados Nas prximas iteraes, voc corrige o que no estiva correto na iterao anterior. Voc projeta, implementa, e testa os cenrios arquiteturalmente significantes que restaram, garantindo que voc verifique todas as reas principais do sistema (cobertura arquitetural), assim os riscos potenciais escondidos aparecem o mais cedo possvel

Fase de Construo

A finalidade desta fase terminar o desenvolvimento do sistema baseado na arquitetura colocada na linha de base Existem objetivos para a fase de Construo que nos ajudam a ter o desenvolvimento com custo eficiente de um produto completo:

Desenvolver de forma iterativa um produto completo que esteja pronto para ser entregue comunidade de usurios. Descreva os requisitos restantes, preencha os detalhes do projeto, termine a implementao e teste o software. Libere a primeira verso operacional (beta) do sistema e determine se os usurios j esto prontos para que a aplicao possa ser implantada Minimizar os custos de desenvolvimento e conseguir algum grau de paralelismo. Otimize os recursos e aumente o paralelismo de desenvolvimento entre os desenvolvedores ou as equipes de desenvolvimento, como por exemplo, atribuindo os componentes que podem ser desenvolvidos independentemente para desenvolvedores distintos

Fase de Construo
Objetivos da fase Atividades objetivos que se relacionam aos

Desenvolver de forma iterativa um produto completo que esteja pronto para ser entregue comunidade de usurios Minimizar os custos de desenvolvimento e conseguir algum grau de paralelismo

(1) Gerenciar Requisitos (2) Desenvolver a Soluo (para os requisitos) (dentro do contexto) (3) Validar a Construo (4) Gerenciar a Iterao (5) Desenvolver a Soluo (para os requisitos) (dentro do contexto) (6) Validar a Construo

Fase de Construo

Normalmente, a fase de Construo tem mais iteraes (de duas a quatro) do que as outras fases, dependendo dos tipos de projetos:
Projeto

simples: Uma iterao para construir o produto (para uma liberao beta) Projeto mais substancial: Uma iterao para expor um sistema parcial e uma para amadurec-lo para o teste beta Projeto grande: Trs ou mais iteraes, dependendo do tamanho do projeto (quantidade de requisitos implementar para uma liberao beta)

Fase de Transio

A finalidade desta fase assegurar que o software esteja pronto para ser entregue aos usurios Existem objetivos na fase de Transio que lhe ajudam fazer um ajuste-fino na funcionalidade, no desempenho e na qualidade total do produto beta oriundo da fase precedente:

Executar o teste Beta para validar se as expectativas dos usurios foram atendidas. Isto normalmente requer algumas atividades de ajuste fino, tais como reparao de erros e melhorias no desempenho e na usabilidade Obter a concordncia dos stakeholders de que a distribuio est completa. Isto pode envolver vrios nveis de testes para a aceitao do produto, incluindo testes formais, informais e testes beta Melhorar o desempenho de projetos futuros com as lies aprendidas. Documente as lies aprendidas e melhore o ambiente de processos e ferramentas para o projeto

Fase de Transio
Objetivos da fase Atividades objetivos que se relacionam aos

Executar o teste Beta para validar se as (1) Tarefas Contnuas expectativas dos usurios foram atendidas (2) Desenvolver a Soluo (para os requisitos) (dentro do contexto) (3) Validar a Construo Obter a concordncia dos stakeholders de (4) Gerenciar a Iterao que a distribuio est completa (5) Validar a Construo Melhorar o desempenho de projetos futuros com as lies aprendidas (6) Gerenciar a Iterao

Fase de Transio

A fase de Transio pode incluir a execuo paralela de sistemas antigos e novos, migrao de dados, treinamento de usurios e ajustes nos processos de negcio A quantidade de iteraes na fase de Transio varia de uma iterao para um sistema simples que necessita primeiramente de reparos de pequenos erros, at muitas iteraes para um sistema complexo, envolvendo a adio de caractersticas e a execuo de atividades para fazer a transio, no negcio, do uso do sistema antigo para o sistema novo Quando os objetivos da fase de Transio so alcanados, o projeto est pronto para ser encerrado. Para alguns produtos, o fim do ciclo de vida atual do projeto pode coincidir com o comeo do ciclo de vida seguinte, conduzindo nova gerao do mesmo produto

Disciplinas

Representam agrupamentos de tarefas que compartilham de um mesmo propsito So seis as disciplinas do OpenUP:
Anlise

e Projeto Gerncia de Configurao e Mudana Implementao Gerncia de Projetos Requisitos Teste

Disciplina de Anlise e Projeto

Os propsitos da Anlise e Projeto so:


Transformar

os requisitos em um projeto do que ser o

sistema Desenvolver uma arquitetura robusta para o sistema Adaptar o projeto para corresponder com ambiente de implementao

Disciplina de Anlise e Projeto

A disciplina de Anlise e Projeto est relacionada a outras disciplinas, como a seguir:


A

disciplina de Requisitos prov a primeira entrada para a Anlise e Projeto A disciplina de Implementao implementa o projeto A disciplina de Teste testa o projeto do sistema durante a Anlise e Projeto A disciplina de Gesto de Projetos planeja o projeto e cada iterao

Disciplina de Anlise e Projeto

Conceitos:
Mecanismos de Anlise Mecanismos Arquiteturais Significantes Requisitos Arquiteturais Padres de Negcios Componentes Mecanismos de Design Mecanismos de Implementao Padro Modelagem Visual Padro Entidade-Controle-Fronteira

Disciplina de Anlise e Projeto

Diretrizes:

Abstrao para Afastar a Complexidade Viso Arquitetural Desenvolver a Arquitetura Dividir em Camadas Representando Interfaces para Sistemas Externos Usando Padres Analise os Requisitos Arquiteturais Design Modelagem de Dados Fsicos Representao dos Componentes do Projeto Projetando Visualmente Realizaes de Casos de Uso

Disciplina de Gerncia de Configurao e Mudana

O propsito desta disciplina :


Manter

um conjunto de produtos de trabalho consistente a medida que evolui Manter construes de software consistentes Fornecer meios eficientes para se adaptar s mudanas, replanejando o trabalho adequadamente Fornecer dados para a medio do progresso

Disciplina de Gerncia de Configurao e Mudana

Refere-se habilidade de manter verses e configuraes consistentes dos artefatos Refere-se ao processo de controlar mudanas nos artefatos controlados pela configurao Os produtos de trabalho de interesse primrio so o Artefato: Implementao e o Artefato: Construo As mudanas so controladas atravs da Tarefa: Solicitar Mudana e a subseqentes priorizao e disposio dos pedidos de mudana, atravs do Artefato: Lista de Itens de Trabalho

Disciplina de Gerncia de Configurao e Mudana

Conceitos:
Solicitaes de Mudana Integrao Contnua Ambiente de Trabalho

Diretrizes:
Submeter Solicitaes de Mudana Integrao Contnua Promovendo Builds Atribuir Mudanas a uma Iterao Lista de Itens de Trabalho

Disciplina de Implementao

O propsito desta disciplina :


Construir

o sistema de forma incremental Verificar que as unidades tcnicas usadas para construir o sistema funcionem como especificado

Em cada iterao, as tarefas nesta disciplina faro com que uma Construo evolua sempre com mais funcionalidades e com mais estabilidade Ao trabalhar no sistema, o Desenvolvedor usar a arquitetura e tambm ser restringido por ela

Disciplina de Implementao

Esta disciplina se relaciona com as outras disciplinas da seguinte forma:


A disciplina de Requisitos define o que ser implementado A disciplina de Anlise e Projeto organiza e define o escopo da implementao A disciplina de Teste valida que a construo do sistema atende aos requisitos A disciplina de Gerncia de Configurao e Mudana fornece mecanismos para controlar mudanas no sistema em construo A disciplina de Gerncia de Projeto planeja quais funcionalidades sero implementadas em cada iterao

Disciplina de Implementao

Conceitos:
Integrao Contnua Teste de Desenvolvedor Projeto dos Testes Primeiro Refatorao Padro de Codificao

Diretrizes:
Implementao Tipos de Teste de Desenvolvedor Integrao Contnua Promoo de Builds

Disciplina de Gerncia de Projeto

O propsito desta disciplina :


Manter a equipe focalizada na entrega contnua do produto de software testado para a avaliao dos Stakeholders Ajudar a priorizar seqncia de trabalho Ajudar a criar um ambiente de trabalho eficaz para maximizar a produtividade da equipe Manter os Stakeholders e a equipe informados sobre o progresso do projeto Fornecer uma estrutura para controlar o risco do projeto e para adaptar-se continuamente s mudanas

Disciplina de Gerncia de Projeto

O gerenciamento de projeto age como uma ponte entre os Stakeholders e a equipe de desenvolvimento. importante que as atividades da gerenciamento de projeto adicionem valor ao criar um ambiente de trabalho de elevado desempenho onde
Os Stakeholders tenham confiana na habilidade da equipe de conhecer as capacidades e restries da plataforma tcnica e de entregar com sucesso algo valoroso Os membros da equipe de projeto compreendam os desejos dos Stakeholders e confirmem que compreenderam, produzindo continuamente um produto de software para avaliao

Disciplina de Gerncia de Projeto

O Gerente de Projeto trabalha com os Stakeholders para criar um Plano de Projeto inicial baseado na Viso. Este plano de projeto descreve os tamanhos e os objetivos das quatro Fases e das Iteraes de cada fase No comeo de cada iterao, o gerente de projeto trabalha com os Stakeholders e com a equipe de desenvolvimento para priorizar os requisitos, as solicitaes de mudana e os defeitos na Lista de Itens de Trabalho e aloca-los na iterao que est comeando O gerente de projeto trabalha ento com a equipe de desenvolvimento para criar um Plano de Iterao mais refinado, baseado nos objetivos descritos no plano de projeto e nos itens de trabalho atribudos iterao. Os membros da equipe oferecem-se para executar os itens de trabalho alocados e fornecer ao gerente de projeto as tarefas e as estimativas de tempo necessrias para entregar estes itens de trabalho

Disciplina de Gerncia de Projeto

A equipe demonstra que entendeu os desejos dos Stakeholders durante cada iterao pela construo de um produto de software que demonstrado aos Stakeholders para confirmar o entendimento e incentivar o feedback. Ao final de cada iterao, a avaliao da Construo final deve incluir os resultados dos testes, deve ser registrada em uma Avaliao de Estado e deve ser comunicada a todos os Stakeholders e membros da equipe A equipe de desenvolvimento demonstra o progresso contnuo aos Stakeholders reportando os itens de trabalho terminados em cada iterao atravs do Project Burndown. A equipe pode usar a Iteration Burndown para demonstrar o progresso durante uma iterao O gerenciamento de projeto precisa considerar as incertezas que o projeto enfrentar (isto os Riscos) e trabalhar de forma proativa com os Stakeholders e a equipe para adaptar-se continuamente s mudanas nos requisitos do negcio, nos requisitos de sistema, e nas capacidades tcnicas O gerenciamento de projeto uma disciplina tipo guarda-chuva que impacta e impactada por todas as outras disciplinas

Disciplina de Requisitos

O propsito desta disciplina :


Entender

o problema a ser resolvido Entender as necessidades dos Stakeholders Definir os requisitos para a soluo Definir os limites (escopo) do sistema Identificar interfaces externas ao sistema Identificar restries tcnicas na soluo Fornecer a base para o planejamento das iteraes Fornecer a base inicial para a estimativa de custo e cronograma

Disciplina de Requisitos

Para conseguir os objetivos, importante compreender a definio e o escopo do problema que estamos tentando resolver Os Stakeholders so identificados e o problema a ser resolvido definido Concordando com o problema a ser resolvido, os Requisitos para o sistema so eliciados, organizados, analisados, validados e especificados Durante todo o ciclo de vida, as mudanas nos requisitos so gerenciadas

Disciplina de Requisitos

A disciplina de Requisitos relacionada s outras disciplinas das seguintes formas:


A disciplina de Anlise & Design obtm suas entradas primrias a partir da disciplina de Requisitos A disciplina de Teste valida o sistema de acordo com os requisitos A disciplina de Gerncia de Configurao & Mudana fornece os mecanismos para controlar as mudanas nos requisitos A disciplina de Gerncia de Projeto planeja o projeto e atribui os requisitos a cada iterao analisando os requisitos priorizados e atribuindo o trabalho

Disciplina de Requisitos

Conceitos:
Requisitos

Suplementares Casos de Uso Atributos de Requisitos Requisitos Rastreamento Modelo de Casos de Uso Ator

Disciplina de Requisitos

Diretrizes:
Detalhamento

de Casos de Uso e Cenrios Reviso Efetiva de Requisitos Encontrar e registrar atores e casos de uso Tcnicas de Obteno de Requisitos Erros comuns na Definio e Escrita de Requisitos Requisitos Suplementares Formatos de Casos de Uso Escrevendo Bons Requisitos Modelo de Casos de Uso

Disciplina de Teste

O propsito desta disciplina :


Encontrar

e documentar defeitos Validar e provar as suposies feitas no projeto e requisitos especificados atravs de demonstraes concretas Validar que o produto de software foi feito como projetado Validar que os requisitos esto apropriadamente implementados

Disciplina de Teste

Um esforo de teste bom est baseado na filosofia de testes breves e testes freqentes Orientaes:
Como

este software poderia quebrar? Em que possveis situaes poderia estar este software para trabalhar de maneira previsvel?

Testar desafia as suposies, riscos e incertezas inerente no trabalho de outras disciplinas, e trata dessas preocupaes que usam demonstrao concreta e avaliao imparcial

Disciplina de Teste

A disciplina de Teste est relacionada s outras disciplinas das seguintes maneiras:


A disciplina de Requisitos captura requisitos para o produto de software, que um das contribuies primrias para identificar que testes executar A disciplina de Anlise e Projeto determina o projeto apropriado para o produto de software, que outra contribuio importante por identificar que testes executar A disciplina de Implementao produz construes do produto de software que validado pela disciplina de Teste. Dentro de uma iterao, sero testadas construes mltiplas - tipicamente um por ciclo de teste A disciplina de Gerncia de Projeto planeja o projeto e o trabalho necessrio em cada iterao. Descrito em um Plano de Iterao, este artefato uma contribuio importante usada quando voc definir a misso de avaliao correta para o esforo de teste A disciplina de Gerncia de Configurao e Mudana controla mudanas dentro do projeto. O esforo de teste verifica se cada mudana foi completada adequadamente. Ativos de teste so mantidos abaixo da gerncia de configurao

Disciplina de Teste

Conceitos:
Idia

de Teste Tipos de Teste Anlise de Fracasso e Criao de Relatrio

Diretrizes:
Manter

o Conjunto de teste Automatizado Idias de Teste Conjunto de Teste Testes Programados Automaticamente

Você também pode gostar