Vous êtes sur la page 1sur 62

Entendendo a UML uma abordagem Prtica

Ana Cristina S. L. Melo


Professora Universidade Estcio de S Analista de Sistemas IplanRio
contato@anacristinamelo.eti.br www.anacristinamelo.eti.br
Ana Cristina Melo www.anacristinamelo.eti.br

Agenda
Por que orientao a objetos ? O que UML ? Estrutura da UML Conhecendo os Diagramas da UML Implementando Orientao a Objetos em Delphi

Ana Cristina Melo www.anacristinamelo.eti.br

Agenda
Por que orientao a objetos ? O que UML ? Estrutura da UML Conhecendo os Diagramas da UML Implementando Orientao a Objetos em Delphi

Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

Qual o cenrio atual ?


Preciso de um sistema que controle todas as vendas de meus produtos ...

Quais so suas necessidades para o sistema?

Levantamento de Requisitos

Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

Qual o cenrio atual ?


Validao com o Usurio

Usurio no valida de acordo, pois no compreende o que foi modelado.


Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

Qual o cenrio atual ?


Validao com o Usurio

Na forma tradicional de gerenciamento, requisitos importantes so esquecidos.


Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

Qual o cenrio atual ?


Desenvolvimento . Excesso de documentao ou nenhuma

Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

Qual o cenrio atual ?


Desenvolvimento . Cronograma apertado -> Prazo estourado

Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

Qual o cenrio atual ?


Entrega Final

Cliente insatisfeito.
Horas infindveis de manuteno corretiva, etc...
Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

A orientao a objetos j nossa velha companheira !


. 1962-67 . 1968

Linguagem Simula - 1s conceitos OO


Eng. Software / Program. Estruturada Surgimento mtodos OO

. meados dc. 70 . 1978

Popularizao Anlise Estruturada SmallTalk - 1 linguagem OO


Ana Cristina Melo www.anacristinamelo.eti.br

. 1980

Por que orientao a objetos ?

O que ocorreu a partir de ento ?


. Utilizao de OO em Sistemas Operacionais . Evoluo de linguagens, como:

Object Pascal, C++, Java


. Passamos a ser usurios de OO:

Delphi, Visual Basic, ...


Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

O que buscamos ao modelar orientado a objetos ?


. ANLISE ESTRUTURADA : Foco principal Funes FUNES DADOS FUNES

Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

O que buscamos ao modelar orientado a objetos ?


. OO : Foco principal Objetos (Mundo Real) DADOS DADOS

FUNES

FUNES

Ana Cristina Melo www.anacristinamelo.eti.br

Por que orientao a objetos ?

O que buscamos ao modelar orientado a objetos ?


. Diminuio do tempo e custo de desenvolvimento . Atendimento da demanda gerada pela evoluo tecnolgica (celular, Palm, etc) . Reutilizao de cdigo, facilidade de manuteno

Ana Cristina Melo www.anacristinamelo.eti.br

Agenda
Por que orientao a objetos ? O que UML ? Estrutura da UML Conhecendo os Diagramas da UML Implementando Orientao a Objetos em Delphi

Ana Cristina Melo www.anacristinamelo.eti.br

O que UML ?

Dcada de 90, muitos mtodos disputavam o mercado


Os principais mtodos eram:
. Booch (Grady Booch) . OMT (Rumbaugh) . OOSE (Jacobson)

Ana Cristina Melo www.anacristinamelo.eti.br

O que UML ?

Booch, OMT e OOSE


Individualmente possuam pontos fortes, mas com vrios pontos em comum BOOCH OOSE

Os trs autores decidiram unificar seus mtodos

Mtodo OMT Unificado


Verses 0.8 e 0.9

Ana Cristina Melo www.anacristinamelo.eti.br

O que UML ?

Booch, OMT e OOSE


Individualmente possuam pontos fortes, mas com vrios pontos em comum

Os trs autores Verso unificar decidiram 1.1 padronizada pelo OMG seus mtodos
em Novembro de 97

UML Mtodo Unified Unificado Modeling Language


Verso atual 1.4 Verso 1.0

Ana Cristina Melo www.anacristinamelo.eti.br

O que UML ?

Metodologia :

. LINGUAGEM GRFICA . MTODO

UML

UML diz o que pode ser feito mas no diz como deve ser feito. independente de processo.
Ana Cristina Melo www.anacristinamelo.eti.br

Agenda
Por que orientao a objetos ? O que UML ? Estrutura da UML Conhecendo os Diagramas da UML Implementando Orientao a Objetos em Delphi

Ana Cristina Melo www.anacristinamelo.eti.br

Estrutura da UML

Elementos Bsicos do Modelo


. Estruturais (classes, interfaces, colaboraes, casos de uso, classes ativas, componentes, ns) . Comportamentais (interao, estado) . Agrupamento (pacotes) . Anotacionais (notas)

Relacionamentos
. dependncia, associao, generalizao, realizao
Ana Cristina Melo www.anacristinamelo.eti.br

Estrutura da UML

Diagramas
. ESTTICOS . Diagrama de Classes . Diagrama de Objetos . Diagrama de Implementao - Diagrama de Componentes - Diagrama de Implantao

Ana Cristina Melo www.anacristinamelo.eti.br

Estrutura da UML

Diagramas
. DINMICOS . Diagrama de Casos de Uso . Diagramas de Interao - Diagrama de Seqncia - Diagrama de Colaborao . Diagrama de Atividade . Diagrama de Grfico de Estados
Ana Cristina Melo www.anacristinamelo.eti.br

Agenda
Por que orientao a objetos ? O que UML ? Estrutura da UML Conhecendo os Diagramas da UML Implementando Orientao a Objetos em Delphi

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Casos de Uso


. Enfoque: Anlise de Requisitos

. Caso de Uso seqncia de aes executadas com o objetivo de atingir um propsito. . Interage com atores representam papis.

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Casos de Uso


Representao Grfica

Efetuar Saque
Correntista

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Casos de Uso


Descrio de Caso de Uso

. Cenrio Principal fluxo perfeito, no qual nada ocorre de errado . Cenrios Alternativos alternativas do fluxo ; excees

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML


Exemplo : Caso de Uso Efetuar Saque . Cenrio Principal Ator: Correntista 1. O sistema faz a leitura do carto magntico. 2. O correntista informa sua senha. 3. O sistema valida a senha, verificando se a mesma senha que est associada ao correntista. 4. O correntista informa o valor desejado de saque. 5. O sistema verifica se o valor solicitado possvel dentro do saldo do correntista.
Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML


continuao do Caso de Uso

6. O sistema bloqueia o valor de saque na C/C. 7. O sistema inicia a contagem de cdulas. 8. O sistema debita o valor de saque da conta corrente. 9. O sistema libera o dinheiro para o correntista.

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML


Cenrio Perfeito: impossvel tudo ocorrer sem problemas !

Desenvolver os Cenrios Alternativos !

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML


. Cenrios Alternativos
... 3. O sistema valida a senha, verificando se a mesma senha que est associada ao correntista ... Tipo de Relacionamento Senha Invlida entre Casos de Uso

3a. Se a senha no conferir, solicitar nova senha, por no mximo trs vezes. Aps a ltima chance, persistindo o problema, Extends (Bloquear conta corrente) e encerrar o caso de uso.
Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Casos de Uso


Relacionamentos entre casos de uso
Cadastrar Dependentes

extends
Cadastrar Funcionrio

include
Validar CPF

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML


. Cenrio Principal em linguagem natural, Descrio Ator: Correntista porm concisa e sem ambigidades. 1. O sistema faz a leitura do carto magntico. 2. O correntista informa sua senha. 3. O sistema valida a senha, verificando se a mesma senha que est associada ao correntista. Melhor validao dos requisitos 4. O correntista informa o valor desejado de saque. junto aos usurios ! 5. O sistema verifica se o valor solicitado possvel dentro do saldo do correntista. 6. O sistema bloqueia o valor de saqueentendimento. Prottipos melhoram o na C/C. 7. O sistema inicia a contagem de cdulas. 8. O sistema debita o valor de saque da conta corrente. FASES dinheiro para o correntista. Caso de DE DESENVOLVIMENTO 9. O sistema libera oUso auxilia todas as fases !
Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Casos de Uso


Ligao com outros diagramas

Casos de Uso
Diagrama de Classes Diagrama de Atividades Diagramas de Interao
Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Classes
. Abrange as Fases de Anlise e Projeto

. Modelagem de classes e seus relacionamentos.


Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Classes
. Correntista . Conta Corrente . Lanamento

Analisando os casos de uso, podemos identificar classes e atributos.

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Classes
. Correntista . Conta Corrente . Lanamento

Vamos modelar as classes e atributos ?

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Classes
. Correntista Correntista . Conta Corrente ContaCorrente . Lancamento Lanamento
nome numero cpf agencia endereco dataAbertura Primeira abstrao: dataNascimento senha ... ... data tipo valor Atributos numDocumento ...

abrirConta() lancar() Modelagem evolui: Operaes cadastrar() bloquearConta() listarLancamen ... validarSenha(senha) tos(periodo) ... ...
Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Classes
Correntista ContaCorrente Lancamento data tipo valor numDocumento sozinhas... ... nome numero cpf agencia endereco dataAbertura dataNascimento senha As classes no vivem ... ... cadastrar() ...

precisamos estabelecer abrirConta() lancar() seus relacionamentos listarLancamen !!! bloquearConta()


validarSenha(senha) ... ... tos(periodo)

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Classes
Correntista ContaCorrente

Nas abstraes de nveis Relacionamento mais baixos, no precisamos de Associao trabalhar com todos os elementos.
Relacionamento de Agregao

Lancamento

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Classes
. Relacionamento de Generalizao/Especializao
Pessoa nome dataNascimento Medico: nome dataNascimento crm especialidade

Medico crm especialidade


Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Classes
Ligao com outros diagramas

Diagrama de Classes
Diagrama de Componentes Diagramas de Objetos Diagrama de Grfico de Estados Diagramas de Interao

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Seqncias
. um tipo de Diagrama de Interao

. Objetivo: Representao dos cenrios de um caso de uso . Mostra a troca de mensagens entre objetos, dentro de uma seqncia temporal

Ana Cristina Melo www.anacristinamelo.eti.br

: TelaSaque
Correntista senha

C1: ContaCorrente

L1: Lancamento

objeto
validarSenha(senha)

mensagem
saque verificarSaldo()

linha de vida
efetuarLancamento(C1)

bloquearValor(saque)

ativao
aviso de liberao

debitarValor(saque) efetuarLancamento(C1)

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Colaborao
. um tipo de Diagrama de Interao

. Objetivo: Enfatiza a colaborao entre objetos sem identificar a seqncia temporal

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Colaborao

: TelaSaque 1: validarSenha(senha) 2: verificarSaldo() 3: bloquearValor(saque) 5: debitarValor(saque) C1: ContaCorrente

4: efetuarLancamento(C1) 6: efetuarLancamento(C1)

L1: Lancamento

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Atividades
. Objetivo: Focaliza um fluxo de atividades que ocorrem para um determinado processamento de alguns elementos do modelo, como um caso de uso ou uma operao.

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Atividades

Preparando Liberacao Produto

Separando Produto em Estoque

Verificando programao do caminho de entrega

[com atraso] [sem atraso]

Remanejar entregas

Embalar Produto

Emitindo liberao para entrega

Emitir Nota Fiscal

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Grfico de Estados


. Objetivo: Descreve o comportamento de objetos por meio de seqncias de estados e aes que ocorrem durante a sua vida.

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Grfico de Estados


Pedido emitido Aguardando Pagamento

PagamentoEfetuado [Produto inexistente no estoque] Verificando Estoque Estoque reposto Produto separado Produto recebido pelo cliente

Aguardando Reposio de Estoque

Aguardando Entrega

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Componentes
. um tipo de Diagrama de Implementao

. Objetivo: Mostra a estrutura de componentes, incluindo os classificadores que eles especificam e os artefatos que eles implementam

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Componentes
Pedidos.class

Cliente.java

Produto.java

Pedido.java

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Implantao
. um tipo de Diagrama de Implementao

. Objetivo: Mostra a configurao de elementos de processamento em tempo de execuo e os componentes de software, processos e objetos que neles so executados

Ana Cristina Melo www.anacristinamelo.eti.br

Conhecendo os Diagramas da UML

Diagrama de Implantao
:Servidor de Aplicaes

Pedidos.class

:Servidor de Banco de Dados

Cliente.java

Produto.java

Pedido.java

Ana Cristina Melo www.anacristinamelo.eti.br

Agenda
Por que orientao a objetos ? O que UML ? Estrutura da UML Conhecendo os Diagramas da UML Implementando Orientao a Objetos em Delphi

Ana Cristina Melo www.anacristinamelo.eti.br

Implementao Orientao a Objetos em Delphi

Implementao de Classes em Delphi


unit CLContaCorrente; Definio de classes interface uses Classes; Definio de type TContaCorrente = class atributos private Numero : integer; DataNascimento : TDateTime; Definio de // outros atributos operaes e public properties procedure Abrir; function ValidarSenha(senhaUsuario: string): boolean; // outras operaes end;
Ana Cristina Melo www.anacristinamelo.eti.br

Implementao Orientao a Objetos em Delphi

Implementao de Classes em Delphi


unit CLContaCorrente; interface ... Implementao das implementation // Implementao das operaes operaes = mtodos procedure TContaCorrente.Abrir; (codificao) begin // cdigo do mtodo end; function TContaCorrente.ValidarSenha(senhaUsuario: string): boolean; begin // cdigo do mtodo end; end.

Ana Cristina Melo www.anacristinamelo.eti.br

Implementao Orientao a Objetos em Delphi

Implementao de Classes em Delphi


unit CLMedico; interface uses Classes; type TMedico = class(TPessoa) private CRM : string; Especialidade : string; // outros atributos Definio de Herana public // outras operaes Medico uma subclasse end; de Pessoa
Ana Cristina Melo www.anacristinamelo.eti.br

Implementao Orientao a Objetos em Delphi

Implementao de Classes em Delphi


Interface que atualizar a Classe

Ana Cristina Melo www.anacristinamelo.eti.br

Implementao Orientao a Objetos em Delphi

Implementao de Classes em Delphi


implementation uses CLMedico; procedure TfrmCadastro.btnAtualizarClick(Sender: TObject); var oMedico : TMedico; Instanciamento begin da Classe oMedico := TMedico.Create; oMedico.Nome := edtNome.Text; oMedico.CRM := edtCRM.Text; oMedico.DataNascimento := edtDataNascimento.Text; oMedico.Especialidade := edtEspecialidade.Text; oMedico.Atualizar; oMedico.Free; end; Evento OnClick do boto Atualizar
Ana Cristina Melo www.anacristinamelo.eti.br

Minhas Publicaes

Desenvolvendo Aplicaes com UML Do conceitual implementao

Ana Cristina Melo Editora Brasport


Ana Cristina Melo www.anacristinamelo.eti.br

Ana Cristina Melo


contato@anacristinamelo.eti.br www.anacristinamelo.eti.br

Ana Cristina Melo www.anacristinamelo.eti.br

Vous aimerez peut-être aussi