Você está na página 1de 71

03/03/2012

1
Parte 1
Introduo a orientao a Objetos
1
A estratgia de O-O para modelagem de sistemas baseia-se
na identificao dos objetos (que desempenham ou sofrem
aes no domnio do problema) e dos padres de
cooperao e interao entre estes objetos.
2
Orientao a
Objeto
03/03/2012
2
Objeto
Definio:
Um conceito, uma abstrao com significado especfico em um
contexto
Propsito:
representar uma entidade do mundo real
Objetos possuem:
Identidade
Conjunto de caractersticas que determinam seu estado
Comportamento especfico definido por um conjunto de aes
3
Orientao a
Objeto
4
Identidade: Beija-flor Biju
Caractersticas:
penas azuis
bico fino
vo rpido
Comportamento:
voar
piar
Identidade: Pessoa Mrio
Caractersticas:
olhos pretos
nasceu em 16/02/70
pesa 70kg
mede 1,70m
Comportamento:
andar
falar
comer
rir
Exemplo de Objetos
Orientao a
Objeto
03/03/2012
3
5
Identidade: Telefone da minha casa
Caractersticas:
azul
nmero 576-0989
tone
Comportamento:
tocar
discar
Caractersticas:
cor amarela
placa LXY 7684
30 assentos
a diesel
Comportamento:
frear
andar
correr
buzinar
acelerar
Orientao a
Objeto
6
Mrio
Caractersticas
(estado)
Nome = Mrio S
Nasc = 16/02/70
Salrio = 3.000
InformarSalrio
CalcularIdade
Identidade
Representao
Funcionrio_Mrio
Objeto
Orientao a
Objeto
03/03/2012
4
Classe Pessoa
Objeto
Joo
Objeto Ana
7
Diferena entre Classe e Objeto
Orientao a
Objeto
8
Classe
Funcionrio
Nome
Nasc
Salrio
InformarSalrio
CalcularIdade
Instncias
(objetos)
Funcionrio_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salrio = 4.000
InformarSalrio
CalcularIdade
Funcionrio_Mrio
Nome=Mrio S
Nasc=16/02/1970
Salrio = 3.000
InformarSalrio
CalcularIdade
Classe
Orientao a
Objeto
03/03/2012
5
Classe
Definio:
Abstraes utilizadas para representar um conjunto de objetos com
caractersticas e comportamento idnticos
Uma classe pode ser vista como uma fbrica de objetos
Objetos de uma classe so denominados instncias
Todos os objetos so instncias de alguma classe
Todos os objetos de uma classe so idnticos no que diz respeito a sua
interface e implementao
9
Orientao a
Objeto
Descrevem as caractersticas das
instncias de uma classe
Seus valores definem o estado do
objeto
O estado de um objeto pode mudar
ao longo de sua existncia
A identidade de um objeto,
contudo, nunca muda
Funcionrio
Nome
Nasc
Salrio
InformarSalrio
CalcularIdade
Funcionrio_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salrio = 4.000
InformarSalrio
CalcularIdade
Funcionrio_Mrio
Nome=Mrio S
Nasc=16/02/1970
Salrio = 3.000
InformarSalrio
CalcularIdade
10
Atributos
Orientao a
Objeto
03/03/2012
6
Mensagens
Objetos so entidades independentes que necessitam se comunicar
Para obter informaes ou ativar o comportamento de objetos,
preciso enviar-lhes mensagens
Ao receber uma mensagem, o objeto busca em seu protocolo um
mtodo que ir responder a tal mensagem
Objetos s reagem a mensagens que fazem parte das aes do
protocolo de sua classe
Troca de mensagens: Paradigma de comunicao entre objetos
11
Orientao a
Objeto
12
Funcionrio
Nome
Nasc
Salrio
InformarSalrio
CalcularIdade
Funcionrio_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salrio = 4.000
InformarSalrio
CalcularIdade
Funcionrio_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salrio = 4.000
InformarSalrio
CalcularIdade
?
ERRO!
4000
Informar
Salrio?
Calcular
Desconto
?
Mensagens
Orientao a
Objeto
03/03/2012
7
Servios/Mtodos
Representam o comportamento das instncias de uma classe
Correspondem s aes das instncias de uma classe
Funcionrio
Nome
Nasc
Salrio
InformarSalrio
CalcularIdade
Funcionrio_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salrio = 4.000
InformarSalrio
CalcularIdade
Funcionrio_Mrio
Nome=Mrio S
Nasc=16/02/1970
Salrio = 3.000
InformarSalrio
CalcularIdade
4000
3000
Informar
Salrio?
13
Orientao a
Objeto
Servios/Mtodos
Um mtodo a implementao de uma operao
possuem argumentos, variveis locais , valor de retorno, etc
14
Orientao a
Objeto
03/03/2012
8
Conceito que expressa similaridades entre classes
Estabelecem relacionamentos de generalizao-especializao (-um)
entre classes
Permitem estabelecer hierarquias de classificao
15
Herana
Orientao a
Objeto
16
Funcionrio_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salrio = 4.000
InformarSalrio
CalcularIdade
Funcionrio
Nome
Nasc
Salrio
InformarSalrio
CalcularIdade
Gerente
Nome
Nasc
Salrio
Projeto
InformarProjeto
InformarSalrio
CalcularIdade
Gerente_Mrio
Nome=Mrio S
Nasc=16/02/1970
Salrio = 3.000
InformarSalrio
CalcularIdade
Projeto = SAP
InformaProjeto
Orientao a
Objeto
03/03/2012
9
17
Subclasse
(caractersticas
especficas)
Superclasse
(caractersticas comuns)
Funcionrio_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salrio = 4.000
InformarSalrio
CalcularIdade
Funcionrio
Nome
Nasc
Salrio
InformarSalrio
CalcularIdade
Gerente
Projeto
InformarProjeto
Gerente_Mrio
Nome=Mrio S
Nasc=16/02/1970
Salrio = 3.000
Projeto = SAP
InformarSalrio
CalcularIdade
InformarProjeto
Todo objeto Gerente um objeto Funcionrio
17
Orientao a
Objeto
Parte 2
UML - Conceitos
18
03/03/2012
10
UML uma linguagem para:
Especificar
Visualizar
Construir
.... artefatos de sistemas de software
Oferece uma notao para a modelagem de sistemas seguindo
os conceitos da orientao a objetos.
A UML uma linguagem para modelagem; ela no guia o desenvolvedor
em como fazer a anlise e projeto orientado a objetos, ou qual processo
de desenvolvimento deve ser seguido
19
UML
Histrico
Inicialmente, um esforo de integrao dos principais autores de
mtodos OO:
Ivar Jacobson, Grady Booch e Jim Rumbaugh
A partir de 1997, foi submetida como candidata a padro OMG
(Object Management Group)
A UML atualmente est na verso 2
www.uml.org
20
UML
03/03/2012
11
Propsitos
Prover uma linguagem de modelagem visual potente e
significativa, que represente os conceitos bsicos de modelagem
aceitos por vrios mtodos e ferramentas
Prover mecanismos de extenso e especializao que permitam a
ampliao dos conceitos bsicos
Ser independente de linguagem de programao e de processo de
desenvolvimento
21
UML
22
Diferentes aspectos do
sistema a ser modelado
Modelo completo s atravs
de vrias vises
Metodologias diferentes
usam os diagramas para
compor diferentes vises
Grficos que descrevem o
contedo de uma viso
Uma viso pode ser
composta por vrios
diagramas
Vises Diagramas
UML
03/03/2012
12
23
Viso Externa
Diagrama de Casos de Uso
Viso Estrutural (Esttica)
Diagrama de Classes
Diagrama de Objetos
Viso Comportamental
(Dinmica)
Diagrama de Estado
Diagrama de Atividade
Viso de Interao
Diagrama de Sequncia
Diagrama de Colaborao
Viso da Arquitetura
(Implementao)
Diagrama de
Componentes
Diagrama de Implantao
Diagrama de Pacotes
Vises e Diagramas da UML
UML
UML Caso de Uso
24
03/03/2012
13
Simboliza um negcio, onde so definidas as responsabilidades do
sistema e as do ambiente.
Sistema de Negcio Ambiente Fronteira
25
Casos de Uso - Sistema de Negcio
UML
26
Um caso de uso uma seqncia de aes que um ator
executa em um sistema com um propsito especfico.
Caso de Uso - Definio
UML
03/03/2012
14
27
Externo ao sistema
Papel de algum
Abstrao de alguma pessoa ou
coisa que utiliza o sistema,
inclusive outro sistema
Tudo aquilo que interage com o
sistema e que interessa ser
modelado
Caso de Uso - Ator
UML
28
O nome do caso de uso: verbo no infinitivo + substantivo.
Vendedor
Registrar Contrato
Cadastrar Cliente
Adquirir
Suprimentos
Gerente
Caso de Uso - Diagrama
UML
03/03/2012
15
29
Caso de Uso - Descrio
A UML no especifica um formato rgido para a modelagem da
descrio de casos de uso, somente para sua diagramao. Ela
pode ser alterada para atender a necessidades especficas,
aumentar a clareza da documentao ou melhorar a
comunicao. Normalmente as descries so construdas
como um texto explicativo ou passos de um procedimento, em
portugus.
UML
30
Caso de Uso Descrio no expandida
Caso de Uso: Fechamento de Conta
Atores: Caixa
Descrio: A partir da solicitao feita por um cliente, garom se
identifica e informa ao sistema o nmero da mesa
que deseja ter a conta fechada. Ao final, o sistema
apresentar a relao de produtos consumidos e seus
valores, garom que realizou o atendimento e o
tempo de permanncia do cliente no restaurante.
UML
03/03/2012
16
31
Caso de Uso Descrio expandida
Caso de Uso: Comprar Itens
Atores: Caixa
Descrio: Um cliente chega ao checkout com itens para
comprar. O caixa registra os itens e recebe o
pagamento. Ao final, o cliente sai com os itens
comprados.
Curso Normal
1- caixa passa na leitora de cdigo de barras cada tem e informa sua
quantidade
2- o sistema verifica que o tem vlido e apresenta seu valor
3- caixa informa fim dos tens e solicita fechamento da conta
4- o sistema calcula e apresenta o total
5- caixa recebe o pagamento
6- o sistema emite a nota fiscal
UML
Caso de Uso Relacionamentos
Generalizao
Incluso
Extenso
32
UML
03/03/2012
17
Caso de Uso Relacionamento de Extenso
33
Ve n d e d or
C ad a s tr a r C l i e n te
R e g i s tr a r C o n tr a to
< < e xte n d > >
UML
Caso de Uso Relacionamento de Incluso
34
Efetivar Saque
Caixa
Realizar Saque com Cheque
<<include>>
Cliente
Realizar Saque com Carto
<<include>>
UML
03/03/2012
18
Caso de Uso Relacionamento de Generalizao
35
M a tr i c u l a r Al u n o E s t r a n g e i r o
At e n d e n t e
M a t r i c u l a r Al u n o
UML
Caso de Uso Generalizao de atores
36
Vender
Equipamento
Autorizar
Crdito
Gerente
Vendedor
O Gerente tambm pode efetuar vendas
UML
03/03/2012
19
UML Diagrama de Classe
37
Diagrama de Classe
Descreve relaes estticas, basicamente:
Classes e sub-classes
Relacionamentos
38
UML
03/03/2012
20
Diagrama de Classe notao
Classe - atributos + operaes ou servios
Relacionamento
Associao
Generalizao
Agregao simples ou composio
Auto-relacionamento
Classe associativa
Papel no relacionamento
Multiplicidade
39
UML
Diagrama de Classe notao de classe
40
UML
03/03/2012
21
41
Diagrama de Classe relacionamento de generalizao
- Restrio da cobertura (parcial, sobreposta)
UML
42
Diagrama de Classe relacionamento de generalizao
- Restrio da cobertura (parcial, exclusiva)
UML
03/03/2012
22
43
Diagrama de Classe relacionamento de generalizao
- Restrio da cobertura (total, exclusiva)
UML
44
Diagrama de Classe relacionamento de generalizao
- Restrio da cobertura (total,sobreposta)
UML
03/03/2012
23
45
Diagrama de Classe relacionamento de agregao e de composio
UML
46
Diagrama de Classe classe associativa
UML
03/03/2012
24
47
Diagrama de Classe auto-relacionamento e papel no relacionamento
UML
48
UML
Diagrama de Classe exemplo
03/03/2012
25
49
UML
Diagrama de Classe exemplo
50
UML
Diagrama de Classe exemplo
03/03/2012
26
UML Diagrama de Estado
51
Diagrama de Estado - Introduo
Usado para modelar o comportamento de um objeto do sistema que
possua comportamento dinmico
Importante para entendermos e validarmos o comportamento dos objetos
durante a suas vidas
Normalmente utilizado para representar o comportamento de objetos de
classes
No necessrio construir DE para todas as classes
52
UML
03/03/2012
27
Diagrama de Estado - Notao
53
UML
DE - Elementos
Estado
Evento
Transio
Ao
Condio
Atividade
54
UML
03/03/2012
28
55
Comprador informa novo pedido/ cadastrar Pedido
UML
56
Funcionrio informa novo carro/ Cadastrar Carro
UML
03/03/2012
29
57
UML
DE - Avanado
Um estado pode conter outros estados, concorrentes ou independentes
Estado Composto
Transio de e para Estados Compostos
Transies de e para Estados Concorrentes
58
UML
03/03/2012
30
UML Diagrama de Atividades
59
Diagrama de Atividades
Descreve uma sequncia de atividades, com suporte para comportamento
condicional e paralelo
As transies so disparadas pelo trmino da atividade
Serve para modelar um caso de uso com muitos fluxos alternativos
significativos
Serve para modelar as atividades de um processo de negcio (modelo de
workflow)
60
UML
03/03/2012
31
Diagrama de Atividades condies e intercalaes
61
UML
Diagrama de Atividades separaes e junes des
62
UML
03/03/2012
32
Diagrama de Atividades separaes, junes e thread
condicional
63
UML
Diagrama de Atividades partio, eventos de entrada e de sada
64
UML
03/03/2012
33
Diagrama de Atividades eventos em separaes
65
UML
UML Diagrama de Sequncia
66
03/03/2012
34
Diagrama de sequencia - introduo
Diagramas de Sequncia apresentam a interao entre um grupo de
objetos (ou classes) de um sistema, atravs de mensagens, em um
determinado Cenrio.
Diagramas de Sequncia so primariamente utilizados para a atribuio de
responsabilidades a cada um dos objetos do sistema operaes
Completa o trip da anlise:
Casos de Uso - comportamento externo (funcional)
Diagramas de Classes - viso esttica
Diagramas de Sequncia - viso dinmica
deve ser desenvolvido um Diagrama de Sequncia para cada cada cenrio
de um Caso de Uso
67
UML
Diagrama de Colaborao
Janela d e
Entrada de
Pedido
um Pedido
uma linha
de
Pedido
um it em
em Estoqu e
um I tem de
Ent rega
um It em de
Ref abrica o
criar()
* criar()
verif ica ()
[ ve rfif ica = true]
retirar_it em()
r efabricar_item()
[ refab ricar_it em = tr ue]
new
[ verf ifica = t rue]
new
Diagrama de Atividade
Janela d e
Entrada de
Pedido
um Pedido
uma linha
de
Pedido
um it em
em Estoqu e
um I tem de
Ent rega
um It em de
Ref abrica o
criar()
* criar()
verif ica ()
[ ve rfif ica = true]
retirar_it em()
r efabricar_item()
[ refab ricar_it em = tr ue]
new
[ verf ifica = t rue]
new
Diagrama de Classes
MeioTransporte
Carro Navio
.. .
Caso de Uso
Nome: Reservando Passagem
Atores: Agente
Curso de Eventos
1- Ujfsaj jfklsdj jfdkkj fl als ;a f a;
2- jfaskdjf lj kl;k kdfjasdkl lkssss
3- jsdkfklk lkkkk lopjfa[ pokfsao opw
4- skdjfI)kkk;PIO lkkfapp kjadfp
5- lkLKO oeppae fokkzp;xp pokf ;lp[
Alternativas
1- Ijfksa kJFKJ a;lkj ;kjfklasojk;a
Diagrama de Sequncia
Janela d e
Entrada de
Pedido
um Pedido
uma linha
de
Pedido
um it em
em Estoqu e
um I tem de
Ent rega
um It em de
Ref abrica o
criar()
* criar()
verif ica ()
[ ve rfif ica = true]
retirar_it em()
r efabricar_item()
[ refab ricar_it em = tr ue]
new
[ verf ifica = t rue]
new
Objetos Cenrio
Interao
68
Diagrama de sequencia relacionamento com outros
diagramas
UML
03/03/2012
35
Diagrama de sequencia - notao
Linha da Vida
Mensagens
Informaes de Controle
Auto-delegao
Condio
Iterao
69
UML
70
Diagrama de Sequencia
UML
03/03/2012
36
UML Diagrama de Colaborao
71
Diagrama de Colaborao introduo
Diagramas de Colaborao ilustra as interaes entre objetos no formato
de grafo.
Da mesma forma que os Diagramas de Sequncia so utilizados para a
atribuio de responsabilidades a cada um dos objetos do sistema -
operaes
Possui uma maior economia de espao em relao ao diagrama de
sequencia
72
UML
03/03/2012
37
Diagrama de colaborao
73
UML
Diagrama de componentes
Mostra a estrutura de componentes
Representa dependncias estticas
Compilao entre programas
cliente.exe
cliente.html
index.html
74
UML
03/03/2012
38
75
Diagrama de Implantao
UML
Elementos Genricos
Nota: um comentrio inserido no diagrama
Constraint (restries): uma relao semntica entre elementos do
modelo. Especifica condies ou proposies que devem ser mantidas
verdadeiras. Uma restrio mostrada como uma cadeia entre chaves {}.
(OCL Object Constraint Language)
76
UML
03/03/2012
39
Elementos Genricos - Pacotes
Packages agrupam elementos de modelagem.
Packages podem conter classes, relacionamentos, classes abstratas,
Packages, tipos, etc...
77
UML
Elementos Genricos - Esteretipo
Mecanismo de extenso introduzido pela UML, que permite
estender o meta-modelo para suprir necessidades que no
encontram-se entre os meta-elementos disponveis, desde
que a definio semntica da prpria linguagem no seja
ferida.
Um esteretipo pode ser aplicado a classes, relacionamentos
de dependncia, atributos, operaes, etc.
78
UML
03/03/2012
40
Parte 3
Processo de Desenvolvimento de Software
conceitos bsicos RUP e XP
79
80
Desenvolver o produto que
atenda as necessidades do
cliente e seja entregue no
prazo, com o custo e o
nvel de qualidade
desejado.
O que desejamos em nossos projetos?
Proc.Desev.
Software
03/03/2012
41
Apresentao de Jim Johnson no XP2002 disponvel em www.xp2003.org/xp2002/index.html
A crise do software:
Apenas 10% dos projetos so concludos no prazo e oramento estimados
O oramento ultrapassado em 60% dos projetos
25% a 30% dos projetos maiores so cancelados antes da implantao
Os projetos mdio tem um atraso acima de 1 ano e um custo 100% acima do
oramento
Os custos de manuteno representam 80% dos recursos disponveis
81
O que obtemos em nossos projetos?
Proc.Desev.
Software
Desenvolver Software
Desenvolver software no somente modelar e escrever cdigo. criar
aplicaes que resolvam os problemas dos usurios. fazer isto dentro do
prazo, de forma precisa e com alta qualidade.
Ambler, 1998
Melhorar a qualidade do software implica na melhoria do processo pelo qual
o mesmo produzido.
Processos, mtodos e ferramentas usados para produzir constituem o escopo
de estudo da Engenharia de Software.
82
Proc.Desev.
Software
03/03/2012
42
Foco na Qualidade
Processo
Mtodo (Enfoque)
Ferramentas
Engenharia de Software
Estudo e aplicao de procedimentos sistemticos,
disciplinados e quantificveis ao desenvolvimento,
operao e manuteno de software.
IEEE/93
83
Proc.Desev.
Software
Principais atividades executadas em um projeto software
Levantamento de Requisitos define as caractersticas e capacidades que
o sistema dever possuir para atingir o seu propsito
Anlise define o que precisa ser feito
Projeto define como deve ser feito de modo a atender critrios de
qualidade
Implementao codificao do software
Teste
Implantao disponibilizao do software nas instalaes do usurio,
treinamento, carga de dados iniciais
84
Proc.Desev.
Software
03/03/2012
43
Critrios de Qualidade para um projeto de software
- Manutenibilidade
- Performance
- Interatividade
- Confiabilidade
- Segurana
- Economia
85
Proc.Desev.
Software
Processo
Define:
Quem faz o que e quando
A aplicao de mtodos e ferramentas
Os produtos que devem ser entregues
Os controles que ajudam a assegurar a qualidade e a gerenciar as
mudanas
Os marcos de referncia que permite avaliar o progresso
Processo = Mtodos e Padres + Pessoas + Ferramentas
86
Proc.Desev.
Software
03/03/2012
44
Agilidade do Processo
Um processo de software pode ser:
Preditivo
Rgido independente do projeto
Burocrtico
Adaptativo
Adaptado as necessidades de cada projeto
Adaptado as caractersticas da equipe
gil
Incorpora o conceito de Framework
87
Proc.Desev.
Software
Levantamento
de Requisitos
Anlise e Design
Implementao
Implanta
o
Teste
88
Evoluo dos Modelos de Processos - Modelo Cascata
Proc.Desev.
Software
03/03/2012
45
Evoluo dos Modelos de Processos - Modelo Cascata
Caractersticas
Ainda hoje o modelo de processo mais utilizado.
As atividades so executadas seqencialmente.
Uma fase s iniciada aps o final da anterior.
Pressupe requisitos estveis.
Baseado em modelos de processos de engenharia.
Modelo Cascata Prs e Contras
Vantagens
simples de gerenciar.
Desvantagens
Difcil lidar com as mudanas.
Atrasa a reduo dos Riscos.
89
Proc.Desev.
Software
Evoluo dos Modelos de Processos - Modelo Prototipao
Construo de prottipos baseado nas informaes do cliente
Adequado para quando o negcio no bem conhecido, o
cliente no sabe exatamente o que precisa ou como deve ser a
interface do sistema
Fases:
Levantamento
Implementao
Avaliao
Projeto Rpido
90
Proc.Desev.
Software
03/03/2012
46
Evoluo dos Modelos de Processos - Modelo Prototipao
Problemas
O usurio no entende que o software desenvolvido sacrifica qualidade para
obter velocidade no desenvolvimento e no pode ser considerado como um
produto que possa entrar em produo.
O desenvolvedor muitas vezes toma decises de projeto, ineficientes, para
facilitar o desenvolvimento e acaba se acostumando com tais decises,
esquecendo o motivo que o levou a tom-las.
91
Proc.Desev.
Software
Evoluo dos Modelos de Processos - Modelo Incremental
Combinao do modelo cascata com o prototipao
Adequado para quando a equipe disponvel no suficiente para cumprir o prazo
Incrementos podem ser planejados para contemplar riscos tcnicos
Para cada incremento entregue cumprida um seqncia como o cascata
O primeiro incremento implementa requisitos bsicos
Cada novo incremento acrescenta novas funcionalidades
Cada incremento tem que ser um produto operacional
92
Proc.Desev.
Software
03/03/2012
47
Evoluo dos Modelos de Processos - Modelo Incremental
Levantamento Anlise Projeto Implementao
Teste
e
Planejamento
Anlise Projeto Implementao
Teste
e
Planejamento
Anlise Projeto Implementao
Teste
e
Planejamento
1
o
Incremento
2
o
Incremento
93
Proc.Desev.
Software
Modelo Iterativo e Incremental
O que uma iterao?
Uma diviso do tempo do projeto, fixa em durao, durante a qual as
atividades inerentes ao desenvolvimento so executadas.
Por que precisamos usar iteraes?
Para ganhar maior controle sobre o projeto e para minimizar os riscos.
94
Proc.Desev.
Software
03/03/2012
48
Caractersticas Recomendadas para um processo
Orientado a objetos
Guiado por funcionalidades (caso de uso)
Baseado na arquitetura
Iterativo e incremental
95
Proc.Desev.
Software
IBM-Rational Unified Process - RUP
96
03/03/2012
49
Mtodo Booch
OMT
Rumbaugh
Objectory
(OOSE)
Jacobson
USDP
(UP)
RUP
97
USDP (UP) e RUP
RUP
98
Viso Geral
RUP
03/03/2012
50
Dimenses
Dimenso horizontal: Representam as fases do desenvolvimento e
mostra os aspectos do ciclo de vida a medida que o tempo passa.
Aspectos dinmicos.
Dimenso vertical: Representa as disciplinas centrais do processo as
quais agrupam as atividades de engenharia de software por sua natureza.
Aspectos estticos.
99
RUP
Marcos e Pontos de Controle
Correspondem aos pontos de verificao ao final de cada fase
S deve passar para uma prxima fase se os objetivos da fase anterior
forem alcanados
LCO (Life Cicle Objective) no final da Concepo quando o escopo
conhecido e bem fundamentado.
LCA (Life Cicle Architecture) no final da Elaborao quando a
arquitetura est completa e o conjunto de requisitos foi definido.
IOC (Initial Operational Capability) no final da Construo e marca a
primeira verso beta.
PR (Product Release) no final da Transio e do ciclo de
desenvolvimento
Pontos de controle menores so definidos no final de cada iterao.
100
RUP
03/03/2012
51
101
Fases e Marcos
As fases indicam a maturidade do sistema. Representa o tempo e
mostra os aspectos do ciclo de vida a medida que este tempo
passa.
RUP
1- Concepo: Entender o problema e garantir que existe uma
soluo possvel e vivel.
Descriminar os casos de uso crticos do sistema
Apresentar uma arquitetura candidata
Fazer uma estimativa geral do custo global do projeto
102
RUP
03/03/2012
52
Fases
1- Concepo possveis artefatos iniciados na fase
Documento de viso
Modelo de Caso de Uso
Especificaes suplementares
Glossrio
Plano de Desenvolvimento de Software
Pasta de Desenvolvimento
103
RUP
2 - Elaborao: Definir a arquitetura e riscos de requisitos
Compreenso slida dos casos de uso mais crticos
Elaborar o processo, a infra-estrutura e o ambiente de
desenvolvimento
Elaborar a arquitetura e selecionar os componentes
104
RUP
03/03/2012
53
2 Elaborao possveis artefatos refinados resultantes da
fase
Modelo de caso de uso (pelo menos 80% completo)
Viso
Especificaes suplementares
Glossrio
Plano de Desenvolvimento de Software
Pasta de Desenvolvimento
105
RUP
2 Elaborao possveis artefatos iniciados resultantes da
fase
Modelo de domnio
Modelo de projeto
Documento da arquitetura do software
Modelo de dados
Modelo de implementao
Modelo de testes
106
RUP
03/03/2012
54
3 - Construo: Identificar os requisitos restantes e concluir a
implementao.
Minimizar custos de desenvolvimento
Produzir um produto pronto na plataforma adequada
107
RUP
3 Construo possveis artefatos refinados resultantes da
fase
Modelo de Projeto
Modelo de Dados
Modelo de Implementao
Plano de Desenvolvimento de Software
Modelo de Teste
108
RUP
03/03/2012
55
4 -Transio: assegurar que o software est disponvel para os
usurios.
Operao paralela com o sistema legado
Converso de banco de dados
Treinamento dos usurios
109
RUP
4 Transio possveis artefatos refinados resultantes da
fase
Modelo de Implementao
Plano de Desenvolvimento de Software
110
RUP
03/03/2012
56
Disciplinas
Principais
Modelagem de Negcio
Requisitos
Anlise e Projeto
Implementao
Teste
Implantao (Entrega)
111
RUP
Disciplinas
Suporte
Gerncia de Configurao e de Mudanas
Gerncia de Projeto
Ambiente
Planejamento de Projeto
112
RUP
03/03/2012
57
Disciplinas
Requisitos
Construir artefatos que descrevem os requisitos do software
Estabelecer formalmente quais os requisitos funcionais e no
funcionais que sero atendidos
Para a definio dos requisitos funcionais utiliza-se Caso de
Uso
Artefatos: modelo de caso de uso, especificao
suplementares, documento de viso
113
RUP
Disciplinas
Anlise e Projeto
Transformar os requisitos em projeto de sistemas
Representao visual de todos os elementos necessrios para
implementao de caso de uso
Artefatos: modelo de projeto, documento de arquitetura de
software, modelo de dados
Maior nfase na fase de Elaborao
114
RUP
03/03/2012
58
Disciplinas
Implementao
Implementar em componentes os elementos de projeto
Testar os componentes como unidades
Integrar os componentes
Artefatos: Modelo de Implementao
115
RUP
Disciplinas
Testes
Avaliar se todos os requisitos foram implementados
corretamente
Avaliar a interao entre os componentes implementados
Avaliar a integrao do software
Assegurar a correo de defeitos
Artefato: Modelo de teste
116
RUP
03/03/2012
59
Disciplinas
Implantao
Determina a disponibilidade do sistema nas instalaes do
usurio
Assegurar que o produto est pronto para utilizao
Usurios treinados
Banco de dados populado
Documentao tcnica finalizada
117
RUP
Disciplinas
Gerenciamento de Configurao e Mudana
Controlar as verses de alteraes
Controlar acesso e alteraes aos artefatos
Gerenciamento de Projeto
Planejamento de Projeto
Acompanhamento do Projeto
Artefato: Plano de Desenvolvimento do Software
Ambiente
Suportar o ambiente para o projeto Processo, metodologia,
ferramentas, estrutura organizacional, infra-estrutura de hardware e
software
Artefato: Pasta de Desenvolvimento
118
RUP
03/03/2012
60
Recomendaes
No se deve planejar todas as iteraes de forma detalhada no
incio do projeto
No se deve assumir compromissos a longo prazo na fase de
concepo
No se deve selecionar funcionalidades de baixo risco nas
primeiras iteraes
RUP um framework no um processo especfico. Precisa ser
ajustado para cada situao.
119
RUP
Processos geis de Desenvolvimento e Extreme
Programming (XP)
120
03/03/2012
61
Processos geis manifesto
www.agilealliance.org:
Estamos descobrindo maneiras melhores de se desenvolver software,
aplicando-as e ajudando os outros a aplic-las. Deste trabalho ns
valorizamos:
Indivduos e interaes mais que processos e ferramentas
Trabalhar no software mais que documentao abrangente
Colaborao do Cliente mais que negociao contratual
Responder s mudanas mais que seguir um plano
isto, embora exista valor nos itens da direita, ns valorizamos mais os itens da
esquerda.
121
XP
Caractersticas dos processos geis
Adaptabilidade X Previsibilidade
A Engenharia de Software e as demais Engenharias;
A diferena entre as fases de Projeto e Construo;
Negcios Atuais: Mudana constante de requisitos;
Adaptabilidade exige um ciclo iterativo;
Adaptabilidade exige participao extrema do cliente;
122
XP
03/03/2012
62
Processos geis - Valores
Simplicidade
Comunicao
Feedback
Coragem
123
XP
Origem
Chrysler Comprehensive Compensation system (C3)
Novo sistema de folha de pagamento, unificando os sistemas
existentes
Projeto Orientado a Objetos usando Smalltalk
De 1995 a 1996 Empresa contratada inicia o projeto. Os
resultados obtidos so ruins e o projeto entra em crise.
Kent Beck avalia o projeto e constata seu estado crtico.
De 1997 a 1999 Liderado por Beck, o projeto se tornou o
laboratrio das prticas que hoje formam o XP
XP
03/03/2012
63
A Premissa Extrema
XP
Jogo do Planejamento
Pequenas Verses
Projeto Simples
Refatorao
Teste Primeiro
Programao em Pares
Metfora
Padres de Codificao
Propriedade Coletiva do
Cdigo
Integrao Contnua
Semana de 40 horas
Testes de Aceitao
Cliente on-site
126
XP - Prticas
XP
03/03/2012
64
Exploration
Planning Iterations to Release
Productionizing
127
XP - O Ciclo de Vida de um Projeto
XP
128
XP - A Fora do Conjunto
XP
03/03/2012
65
Modelo Tradicional:
Tempo
Custo
Escopo
Manipula-se a
Qualidade
Modelo XP:
Tempo
Custo
Qualidade
Manipula-se o Escopo
Contratos de Preo
Pr-Fixado
Contratos de
Escopo Varvel
129
XP - Variveis de Projeto
XP
Prioridade: 1
Renovao de Matrcula
As disciplinas disponveis para matrcula devem ser
apresentadas. O aluno escolhe as disciplinas
desejadas e confirma. Um e-mail com a confirmao
da matrcula enviado para o aluno.
3 Dias
Equipe estima a estria em Tempo Ideal
Cliente prioriza.
Conte-me uma Estria
XP
03/03/2012
66
Release Planning
Cliente escreve as estrias.
Equipe de desenvolvimento
estima as estrias.
Estrias muito pequenas so
unificadas, estrias muito grande
so quebradas.
Cliente prioriza as estrias.
Equipe ajuda o cliente a entender
riscos tcnicos.
Cliente define os releases.
XP
Iteration Planning
Cliente define estrias que devem ser implementadas na iterao
considerando a velocidade definida pela equipe.
Cliente e equipe conversam sobre as estrias selecionadas.
Desenvolvedores se oferecem para implementar determinadas tarefas.
Equipe identifica as tarefas de programao necessrias para implementar
as estrias da iterao.
Equipe estima e prioriza as tarefas.
XP
03/03/2012
67
Cada dia de trabalho
comea com uma reunio,
onde todos conversam sobre
os problemas encontrados no
dia anterior e definem as
prioridades do dia que se
inicia.
A reunio curta, mais ou
menos uns 15 minutos. O fato
de ser em p ajuda a alcanar
este objetivo.
Web Designer ?
Stand Up Meeting
XP
A primeira coisa que deve ser
feita para se comear um
projeto XP reorganizar o
ambiente.
White Boards.
Moblia preparada para o
trabalho em duplas.
Mural para colocar os cartes.
Ambiente de Trabalho
XP
03/03/2012
68
Desenvolver um sistema para Acompanha-mento da Vida Acadmica de
alunos da XP University.
Condies do Cliente:
Criar um sistema para uso na Web com acesso pelo site da
universidade.
Precisa entrar no ar no incio de Junho/2009
Exemplo
XP
Levantamento das Estrias
Estria Dificuldade
(em dias ideais)
Atualizar Dados Pessoais do Aluno 3
Consultar Quadro de Horrios 4
Listar Turmas Inscritas 3
Verificar Recursos Disponveis da Turma 3
Donwload de Recurso 2
Renovao de Disciplina 12
Incluso/Excluso de Disciplina 6
Total de Dificuldade = 33
XP
03/03/2012
69
Refinamento das Estrias:
Maiores do que uma iterao
Diviso do Conceito
Estria Dificuldade
(em dias ideais)
Prioridade
Atualizar Dados Pessoais do Aluno 3 1
Consultar Quadro de Horrios 4 1
Listar Turmas Inscritas 3 1
Verificar Recursos Disponveis da Turma 3 1
Donwload de Recurso 2 1
Apresentar Disciplinas Oferecidas 7 2
Simular Quadro de Horrios 5 2
Incluso de Disciplina 3 3
Excluso de Disciplina 3 3
Total de Dificuldade = 33 (Poderia Mudar)
XP
Release Planning
Tamanho da Iterao = 2 semanas reais (10 Dias)
Total de Dificuldades = 33 dias ideais
Velocidade Inicial:
1 desenvolvedor - 5 DI em uma iterao
2 desenvolvedores - 10 DI em uma iterao
Total de Iteraes necessrias = 3.3 ou seja 4.
Considerar dois Releases de 1 ms cada (2 iteraes)
Entregar uma verso no incio de fevereiro.
Cliente define o escopo.
XP
03/03/2012
70
Release Planning - Release 1
i1 01/04 12/04

Atualizar Dados Pessoais do Aluno 3
Consultar Quadro de Horrios 4
Listar Turmas Inscritas 3

i2 15/04 26/04

Verificar Recursos Disponveis da Turma 3
Apresentar Disciplinas Oferecidas 7

XP
Release Planning - Release 2
Planejar somente 1 ou 2 releases. No prever o futuro.
S definir o limite de datas:
i3 29/04 10/05
i4 13/05 24/05 OU
Exemplo - Cont.
i3 29/04 10/05

Donwload de Recurso 2
Simular Quadro de Horrios 5
Incluso de Disciplina 3

i4 13/05 24/05

Excluso de Disciplina 3

XP
03/03/2012
71
Dividindo a Estria em Tarefas:
Estria: Atualizar Dados Pessoais do Aluno 3
Tarefas
Criar Pgina ASP 1.5
Desenvolver Componente COM 2
Criar Tabelas no Banco de Dados 0.5
Estimativa Total: 4
XP
Ao final de cada iterao: medir o Andamento do Projeto.
Decises:
Novas Estrias;
Retirar Estrias;
Mudana de Prioridade;
Ajuste nas Estimativas;
Too Much To Do;
Too Little To Do;
XP

Você também pode gostar