You are on page 1of 55

Sistemas de Informao

3 Perodo

Processo de Desenvolvimento
de Sistemas I
Aula 03 OpenUp

Prof. Iuri Santos


OPENUP

Contexto
Definio
Camadas
Elementos do processo:
Ppeis
Tarefas
Artefatos
Disciplinas
PROCESSO DE SISTEMA

No deve ser definido de forma universal


Para ser eficaz e conduzir construo de
produtos de boa qualidade, um processo deve
ser adequado ao domnio da aplicao e ao
projeto especfico.
PROCESSO DE SISTEMA

Processos devem ser definidos/adaptados caso


a caso, considerando-se as especificidades da
aplicao:
Tecnologia a ser adotada
Organizao onde o produto ser desenvolvido
Grupo de desenvolvimento.
PROCESSO DE SISTEMA

Objetivos:
Favorecer a produo de sistemas de alta
qualidade
Atingir as necessidades dos usurios finais
dentro de um cronograma e um oramento
previsveis.
PROCESSO DE SISTEMA

Aspectos da composio de um processo de


sistema (Aspectos base):
Anlise e especificao de requisitos
Projeto
Implementao
Testes
PROCESSO DE SISTEMA

*... A definio de um processo envolve:


escolha de um modelo de ciclo de vida,
detalhamento (decomposio) de suas macro-
atividades,
escolha de mtodos, tcnicas e roteiros
(procedimentos) para a sua realizao
definio de recursos e artefatos necessrios e
produzidos.
CICLO DE VIDA (MODELO DE
PROCESSO)
Ponto de partida para a definio de um
processo de desenvolvimento de software.
Organiza as macro-atividades bsicas,
Estabelecendo precedncia e dependncia entre
as macro-atividades.
CICLO DE VIDA
Pode ser entendido como passos ou atividades que
devem ser executados durante um projeto.
Devem ser associados :
Tcnicas
Ferramentas e
Critrios de qualidade
Alm de atividades gerenciais:
Atividade de gerncia e de controle e
Garantia de qualidade
...
CICLO DE VIDA
Planejamento
Anlise e Especificao de Requisitos
Projeto
Implementao
Testes
Entrega e Implantao
Operao
Manuteno
OPENUP
OPENUP
OPENUP
Representao simplificada de processo de
software.

Conjunto de prticas recomendadas para o


desenvolvimento de software.

Auxiliar no desenvolvimento de software.

Metodologias Tradicionais e Metodologias geis.


METODOLOGIAS TRADICIONAIS
METODOLOGIAS TRADICIONAIS

Problemas:
Diviso distinta de fases no projeto gera
inflexibilidade uma vez que raramente os projetos
seguem um fluxo sequencial.
Requisitos totalmente especificados e congelados na
primeira fase do projeto dificultam futuras mudanas.
Arquitetura especificada e congelada na segunda
fase do projeto torna a arquitetura pouco confivel
diante de possveis mudanas de requisitos.
Grande dificuldade de alteraes no projeto depois de
decises j tomadas.
METODOLOGIAS GEIS

Indivduos e interaes acima de procedimentos


e ferramentas
Software funcionando acima de documentao
abrangente
Colaborao dos clientes acima de negociao
de contratos
Responder mudanas acima de um plano pr-
estabelecido
OPENUP

A Open UP um Processo Unificado leve que


aplica as abordagens iterativa e incremental
em um ciclo de vida estruturado, abordando
uma filosofia gil e pragmtica que foca na
natureza colaborativa do desenvolvimento de
software.
OPENUP

Uma metodologia livre de ferramentas


Baixo formalismo
Pode ser estendido a uma variada gama de tipos
de projetos e no apenas desenvolvimento de
software.
OPENUP

Desenvolvimento Iterativo Incremental


O Open UP, assim como o RUP um processo
iterativo incremental de desenvolvimento de
software e est estruturado em 3 camadas
distintas, como possvel perceber na imagem a
seguir:
OPENUP
OPENUP - PRINCIPIOS

Balancear prioridades de competio para


maximizar valor aos stakeholders
Colaborar para alinhar interesses e
compartilhar compreenso do projeto
Focar na arquitetura inicial para minimizar
riscos
Evoluir para continuamente obter feedbacks e
melhorias
CAMADAS

1 Camada - Ciclo de Vida de Projeto

2 Camada - Ciclo de Vida de Iterao

3 Camada - Ciclo de Vida de Micro


Incremento
1 CAMADA - CICLO DE VIDA DE
PROJETO
camada trata do ciclo de vida de projetos e
trata do processo de desenvolvimento como
um todo.
Da mesma forma que o Processo Unificado
Rational, o Open UP divide o ciclo de vida de
projetos em quatro fases distintas.
1 CAMADA - CICLO DE VIDA DE
PROJETO

Iniciao - fase em que se enfatiza o processo de anlise de


negcios e anlise de requisitos do negcio analisado, dando
uma nfase menor a arquitetura e implementao;
Elaborao - fase em que se enfatiza o processo de
desenvolvimento da anlise arquitetural da soluo proposta;
1 CAMADA - CICLO DE VIDA DE
PROJETO
Construo - fase em que se enfatiza o processo de
implementao da soluo proposta, bem como, testes e
integrao;
Transio - fase em que se enfatiza o processo de implantao
do release, com importante foco na realizao do teste beta e
reconfigurao necessria do sistema, alm de foco no
processo de treinamento do usurio e converso dos dados
legados.
Cada fase encerrada por um marco, um artefato ou conjunto de
atividades e artefatos gerados que caracterizam o encerramento
da fase.
1 CAMADA - CICLO DE VIDA DE
PROJETO
2 CAMADA - CICLO DE VIDA DE
ITERAO
Os processos iterativos pregam a diviso de suas
atividades principais em sub-atividades
(iterao), onde so aplicados os principais
passos do ciclo de vida tradicional do
desenvolvimento de software.
2 CAMADA - CICLO DE VIDA DE
ITERAO
Uma iterao focada no desenvolvimento de
um Build (executvel) que ser entregue ao
cliente e dura no mximo algumas semanas.
O executvel entregue dever ter sido
exaustivamente testado
Quando possvel, integrado a outros executveis
j entregues.
2 CAMADA - CICLO DE VIDA DE
ITERAO
3 CAMADA - CICLO DE VIDA DE
MICRO INCREMENTO
Um Micro Incremento representa um esforo de
algumas horas at alguns dias
Desenvolvido por grupos compostos por alguns
membros da equipe de desenvolvimento (de 1 a
3 pessoas)colaborando para atingir os objetivos
da iterao.
3 CAMADA - CICLO DE VIDA DE
MICRO INCREMENTO
Micro Incremento:
Auxilia aos indivduos da equipe de
desenvolvimento a partilhar suas atividades
em pequenas unidades;
Provm um feedback muito rpido em relao
qualidade do Produto de Trabalho gerado;
Esse Feedback pode direcionar as decises
tomadas ao trmino de cada iterao.
3 CAMADA - CICLO DE VIDA DE
MICRO INCREMENTO
OPENUP

http://epf.eclipse.org/wikis/openup/
OPENUP - PPEIS

Em um projeto de software diferentes


pessoas so envolvidas
Cada pessoa tem papel definido no projeto de
acordo interesses e habilidades
Os papis no tem significado de
individualidade sobre alguma tarefa ou
artefato
Identificao de cada envolvido no projeto
quando existe o trabalho em conjunto.
OPENUP - STAKEHOLDER

Os Stakeholders so os interessados no
resultado do projeto, ou seja, sero suas
necessidades que devero ser satisfeitas.
Geralmente so pessoas designadas pelo cliente
para interagir com a equipe do projeto.
OPENUP PROJECT MANAGER

O Gerente de Projeto (Project Manager) o


lder da equipe do projeto.
Tem a responsabilidade de instruir a equipe
para conduzi-la a um resultado esperado.
OPENUP - ARCHITECT

O Architect (Arquiteto) o responsvel pela


definio da arquitetura de software do
projeto tomando decises que orientam
tanto equipe de design quanto equipe de
implementao.
OPENUP - ANALYST

O Analista (Analyst) o responsvel por


colher informaes dos stakeholders e
usurios finais e compreender o
problema proposto capturando os
requisitos e definindo prioridades para o
mesmo
OPENUP - DEVELOPER

O Desenvolvedor (Developer) o
responsvel por desenvolver o projeto
com base na sua adaptao arquitetura
proposta.
Tambm responsvel pelos testes de
desenvolvedor
OPENUP - TESTER

O Tester (Testador) responsvel por toda


e qualquer atividade que envolvam testes
de software
O Testador deve criar casos de testes,
implement-los e execut-los
Algum conhecimento de codificao
tambm pode ser detido por este papel
OPENUP ANY ROLE

O papel Any Role (Qualquer Papel)


representa qualquer papel da equipe que
possa realizar tarefas gerais como:
Criar um caso de teste,
Implementar cdigos no software, etc.
OPENUP - TAREFAS

Uma tarefa corresponde a qualquer


unidade de trabalho que um papel possa
ser solicitado executar.

Exemplos:
-Definir um caso de uso.
-Construir o escopo do projeto.
OPENUP - ARTEFATOS

Artefatos so todos e quaisquer resultados


de uma tarefa executada por algum.

Exemplos:
-Documento de caso de uso.
-Documento de escopo.
OPENUP - DISCIPLINAS

Coleo de tarefas que se relacionam a uma


"rea de interesse" maior em todo o projeto
Agrupamento de tarefas em disciplinas serve
principalmente para ajudar a compreender o
projeto dentro de uma viso compartilhada ou
comum equipe do projeto
OPENUP - DISCIPLINAS

Embora seja comum executar simultaneamente tarefas que


pertenam a vrias disciplinas (por exemplo, determinadas tarefas
de requisitos so executadas sob a mesma coordenao de tarefas
de anlise e design), separar estas tarefas em disciplinas distintas
uma forma eficaz de organizar o contedo, tornando mais fcil a
compreenso.

OpenUps mentors
OPENUP DISCIPLINAS
5 disciplinas:
Requisitos
Arquitetura (Anlise e Projeto)
Implementao
Teste
Gesto de Projetos
OPENUP REQUISITOS
A disciplina de requisitos explica como elicitar, analisar,
especificar, validar e gerenciar os requisitos para o
sistema a ser desenvolvido

Tarefas da disciplina:
Definir viso
Encontrar e Descrever os Requisitos
Detalhar os Requisitos
OPENUP - ARQUITETURA
(ANLISE E PROJETO)
A disciplina de Arquitetura (Anlise e Projeto) explica
como criar uma arquitetura, a partir dos requisitos
significantes para a arquitetura. A arquitetura
construda na disciplina de Desenvolvimento

Tarefas da disciplina:
Descrever a arquitetura
Refinar a arquitetura
OPENUP - IMPLEMENTAO
A disciplina de Implementao explica como projetar e
implementar uma soluo tcnica que seja aderente
arquitetura e atenda aos requisitos.

Tarefas da disciplina:
Projetar a soluo
Implementar a soluo
Implementar os testes de desenvolvedor
Executar os testes de desenvolvedor
OPENUP - TESTE
A disciplina de teste explica como fornecer feedback
sobre a maturidade do sistema atravs do design,
implementao, execuo e avaliao dos testes

Tarefas da disciplina:
Criar os casos de teste
Implementar os scripts de teste
Executar os testes
OPENUP GESTO DE PROJETOS
A disciplina de gesto de projetos explica como instruir,
ajudar e suportar a equipe, ajudando-a a lidar com os riscos
e obstculos encontrados quando da construo de software

Tarefas da disciplina:
Planejar o projeto
Planejar a Iterao
Gerenciar a Iterao
Avaliar os resultados
DISCIPLINAS OPENUP X FASES
O QUE VIMOS SOBRE OPEN UP?

Contexto
Definio
Camadas
Elementos do processo:
Papis
Tarefas
Artefatos
Disciplinas
OPENUP

Mais detalhes, visitem:


http://epf.eclipse.org/wikis/openup/
http://epf.eclipse.org/wikis/openuppt/

iurisantos.fsss@gmail.com
PDS I

Dvidas?
iurisantos.fsss@gmail.com

You might also like