Uml E Programação Orientada A Objetos
Uml E Programação Orientada A Objetos
Programação Orientada a
Objetos
Uma
Uma abordagem
abordagem prática
prática
Parte II
Unified
Modeling
Language
27
1
Parte II - UML
Sumário
? Motivação
? Histórico e Fundamentos
? Modelagem
? Diagramas da UML
? Aplicando UML no desenvolvimento do software
? Exemplo de um método de desenvolvimento
? Análise de Robustez
? Estudo de Caso
28
29
2
UML?
30
UML?
31
3
Diferenç
Diferença entre Mé
Método e UML
32
Modelagem
4
Diagramas da UML
Caso de Uso
Caso de Uso
Ator
35
5
Diagrama de Caso de Uso: elementos
Relação de
Dependência de
Generalização/
“Includes”
Especialização
36
Diagrama de Classes
? As classes surgem dos principais conceitos, aqueles relevantes para o
domínio do problema.
? Como regra substantivos identificados no levantamento dos requisitos são
candidatos a classes.
? O diagrama de classes modela os aspectos estáticos do sistema. É
semelhante ao diagrama E-R, adicionado pelas operações
(métodos/serviços) fornecidas pelas classes.
37
6
Diagrama de Seqüência
38
39
7
Exemplo: o processo ICONIX
40
8
Exemplo de um método de desenvolvimento
? Diagrama de Classes
? Diagrama de Robustez (um tipo de Diagrama de Colaboração)
? Projeto
? Diagrama de Classes (completado com classes de projeto)
? Diagrama de Seqüência com casos de uso reais
? Implementação
? Diagrama de Componentes
? Mapeamento para uma linguagem OO
Análise de Robustez
gap
Como fazer.
O que fazer. (projeto)
(análise)
xxxxxx
xxxxxx
.....
xxxxxx
xxxxxx
xxxxxx
43
9
Análise de Robustez
45
10
Regras para o Diagrama de Robustez
46
11
Exemplo para o UC “Login”
Login” (para um portal na
Web)
Curso Alternativo
? CB.2 - Se cliente clicar no botão “Cadastrar Novo Cliente”, o sistema abre o
formulário de cadastramento (ver UC “Fazer Cadastramento”).
? CB.4 - O sistema exibe mensagem de erro para código de acesso inválido
na página Login.
? CB.4 - O sistema emite mensagem de erro para senha inválida na página
Login.
48
Fazer
Cadastramento
Página Login
entra código/senha
e clica “Entrar”
Validar
Exibir
HomePage
49
12
Exemplo de Diagrama de Seqüência
51
13
Controlador como classe ou método?
Estudo de Caso
53
14
FASE 0
Definição do Problema
54
15
FASE 1
Análise
(com levantamento de requisitos)
56
57
16
Levantamentos dos Requisitos: Especificação
dos Casos de Uso
Projeto: C o n t r o l e d e C o n t a s B a n c á r i a s
Nome do UC: Cadastrar Cliente
Descrição : Este UC é responsável pela inscrição de um novo cliente, bem como alteração de
dados, consulta e exclusão de clientes em geral (pessoas física e jurídica).
CURSO NORMAL:
a) C a d a s t r a n o v o c l i e n t e :
a.1) O funcionário informa o tipo de cliente: pessoa física ou jurídica;
a.2) Para p. física inform a: nome, endereço, sexo, CPF e data de nascimento;
a.3) Para p. jurídica informa: nome da empresa, endereço, CGC e faturamento anual;
a.4) Caso os dados sejam válidos, um número de inscrição é gerado pelo sistema;
a.5) O sistem a solicita ao usuário uma senha para acesso a consultas (ver UC “Cadastrar
Senha”).
d) Excluir cliente:
d.1) O funcionário inform a o cliente que deseja excluir. Os dados do cliente são apresentados
e é solicitada confirm ação. Não deve ser permitido excluir cl ientes que possuam conta bancária
c o m s a l d o ? 0.
CURSOS ALTERNATIVOS:
Restrições de Integridade :
- Pré - c o n d i ç ã o : C G C / C P F d e v e s e r ú n i c o , i . e . , p e r t e n c e r s o m e n t e a u m c l i e n t e ;
58 - P Ó S -C O N D I Ç Õ E S : O C A D A S T R O D E C L I E N T E S D E V E S E R A T U A L I Z A D O .
C U R S O N O R M A L:
1. O gerente do banco (funcionário) informa o cliente que deseja abrir a nova conta
( v e r U C “C o n s u l t a r c l i e n t e ) .
2. O sistema solicita o tipo de conta : comum, especial, poupança ou aplicação.
3. Caso a conta seja c o m u m : informar o depósito. O valor de depósito deve ser
superior ou igual a 1000 reais.
4 . C o n t a E s p e c i a l : o g e r e n t e i n f o r m a o v a l o r d e lim i t e d e c r é d i t o e o v a l o r d o
deposito, que deve ser maior que 1000 reais.
5. Poupança: informar o valor de deposito (>1000). O sistema assume a data
corrente como a data de aniversario.
6. Aplicação: O gerente informa o numero de dias para o período de aplic ação. O
sistema assume a data corrente como a data de aplicação. O valor de deposito
deve ser maior que 1000.
CURSOS ALTERNATIVOS
? ? P a r a 3,4,5 e 6 : e x i b i r m e n s a g e m d e e r r o p a r a o v a l o r d e d e p o s i t o < 1 0 0 0
? ? Para 4: O valor de limite dever ser maior que zero. Exibir mensagem de
erro.
? ? Para 6: Exibir mensagem de erro, caso o período seja menor que 30 dias.
RESTRIÇÕES:
? ? Pré -c o n d i ç ã o : o c l i e n t e d e v e e s t a r c a d a s t r a d o n o s i s t e m a .
? ? P ó s -c o n d i ç õ e s : a p ó s a a b e r t u r a d a c o n t a , o s i s t e m a g e r a u m n o v o n ú m e r o
para a conta e a tualiza o cadastro de contas.
17
Levantamentos dos Requisitos: Especificação
dos Casos de Uso
CASO DE U SO : M o v i m e n t a r C o n t a B a n c á r ia
C U R S O N O R M A L:
a) O caixa (funcionário) identifica o cliente que deseja movimentar a conta (ver
U C “C o n s u l t a r C l i e n t e ”);
b) O s i s t e m a e x i b e a s c o n t a s a b e r t a s p e l o c l i e n t e , j u n t a m e n t e c o m o s s a l d o s
respectivos.
c) O c a i x a s o l i c i t a o t i p o d e c o n t a e i n f o r m a s e a m o v i m e n t a ç ã o é d é b i t o o u
crédito. Em seguida lança o valor.
d) O s i s t e m a s o l i c i t a a o c l i e n t e u m a s e n h a d e a c e s s o ( v e r U C “F o r n e c e r S e n h a ”).
O sistema va lida a senha e efetiva o movimento.
C URSOS A LTERNATIVOS :
a) Conta especial: O valor de crédito não deve ultrapassar o limite. Exibir
mensagem de erro.
b) C o n t a P o u p a n ç a : s e o v a l o r f o r m e n o r d o q u e o s a l d o m í n i m o d e d e p ó s i t o ,
exibir uma mensagem de erro.
c) Aplica ç ã o : T e m p o m í n i m o p a r a c r é d i t o d e 3 0 d i a s . E x i b i r m e n s a g e m d e e r r o .
d) S e a s e n h a f o r i n v á l i d a , m o s t r a r u m a m e n s a g e m d e e r r o .
R ESTRIÇÕES :
Pré -c o n d i ç ã o : O c l i e n t e d e v e p o s s u i r u m a c o n t a .
Pós -c o n d i ç ã o : O s a l d o d o c l i e n t e d e v e s e r a t u a l i z a d o .
60 C L A S S E S : Conta c o r r e n t e e s u a s s u b c l a s s e s .
18
Diagrama de Classes Conceituais
62
FASE 2
Projeto
63
19
Diagrama de Seqüência: como construir
Modelo UC
Curso básico e
Diagrama de alternativo de ações
“Robustez”
1. Copiar o texto do UC para a
margem esquerda do diagrama de
seqüência.
65
20
Diagrama de Sequência exemplo:
UC “Movimentar Conta Bancária”
Curso Básico:
Cursos Alternativos:
66
67
21
Diagrama de Classes de Projeto
::<<Unknown>>::TFrame
TFrameGeral
68
FASE 3
Implementação
69
22
Implementação
70
Diagrama de Componentes
BancoDados
<<Driver>> <<Database>>
Aplicação BDE SCOTT:
(ORACLE) BD_Oracle
<<DLL>>
[Link]
71
23
FASE 4
Implantação
72
PC Impressora
Pentium HP 600 Dispositivo
Cabo
Processador
Conexão
73
24
Diagrama de Implantação (Deployment
(Deployment)
)
Banco de
Dados
Domínio da
Aplicação
Unidade
Pedido Configurar
Servidor da Usuários
Aplicação
Configuração
Aplicação
Interface Objeto
TCP/IP
Hardware Contido
Conexão
PC Windows
Unidade Pedido
AtenderCliente Componente
Unidade Pedido
Interface do
Usuário
74
Perguntas
FIM!
(Parte II)
75
25
Obrigado!
? [Link]
? [Link]/~cmartins
76
Bibliografia
77
26