orientação a objetos com uml. copyright © 2006 qualiti. todos os direitos reservados. qualiti...
TRANSCRIPT
![Page 1: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/1.jpg)
Orientação a Objetoscom UML
![Page 2: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/2.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 2
Elementos básicos de OO em UML
ObjetoClasseAtributoOperaçãoInterfaceComponentePacoteSubsistemaRelacionamentos
![Page 3: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/3.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 3
Objeto em UML
: Conta
contaSaque :Conta
contaSaqueApenas o nome daclasse
Apenas o nome doobjeto
Nome da classe e doobjeto
![Page 4: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/4.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 4
Classe em UML
Conta
Nome da Classe Conta
Atributos Operações
numerosaldo
credito()debito()getSaldo()getNumero()
estrutura
comportamento
• O que deve ser modelado por uma classe?• O que é abstração e modularidade?
![Page 5: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/5.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 5
Visibilidade
Marcações de acesso podem ser usadas para especificar o tipo de acesso permitido aos atributos e operações
+ público # protegido - privado
![Page 6: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/6.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 6
InterfaceInterfaces definem um tipo especificando apenas a assinatura de seus métodosInterfaces não possuem atributos e seus métodos não têm corpoClasses, subsistemas e componentes implementam interfaces provêem implementação para os métodos
especificados em uma interface
![Page 7: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/7.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 7
Exemplo: Independência do meio de armazenamento
Isolando as coleções de negócio de mudanças na coleção de dados correspondente
RepositorioContasBDR RepositorioContasOO
CadastroContas
<<interface>>RepositorioContas
![Page 8: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/8.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 8
Interface em UML: notação alternativa
RepositorioContas
Relacionamentos de realização
RepositorioContasOO
RepositorioContasXML
RepositorioContasBDR
![Page 9: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/9.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 9
Classes, Interfaces e Classes Abstratas
Classes
• Atributos• Métodos
Classes Abstratas
• Atributos• Métodos• Assinatura de Métodos
Interfaces
• Assinaturas dos métodos
![Page 10: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/10.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 10
Componente em UML
Interface doComponente
Arquivo fonte<<DLL>>
Componente<<EXE>>Arquivo
executável
![Page 11: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/11.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 11
PacoteMecanismo para organizar elementos em gruposFacilita entendimento do sistemaFavorece modularidade e reuso em larga escalaEssencial para estruturar sistemas complexos
nome do pacote
nome do pacote
![Page 12: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/12.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 12
Subsistema em UML
Subsistema
Interface
Realização
<<subsystem>>
Nome do subsistema
![Page 13: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/13.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 13
Subsistemas e Componentes
Ambos encapsulam um comportamento modelado por interfacesSubsistemas representam componentes no modelo de projetoComponentes são a realização física dos subsistemas
Projeto
Implementação
Nome do componente
<<subsystem>>Nome do subsistema
![Page 14: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/14.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 14
RelacionamentosAssociação simples agregação composiçãoDependência GeneralizaçãoRealização
![Page 15: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/15.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 15
AssociaçãoRelação estrutural entre classes
Pessoa
Pessoa Empresa
Empresa
trabalha
Associação
Nome da associação
Classe
Empregado Empregador
Papéis
![Page 16: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/16.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 16
AgregaçãoTipo especial de associaçãoRelacionamento todo-parteO todo possui um nível de abstração maior que a parte
DepartamentoEmpresa
Todo Parte
Agregação
![Page 17: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/17.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 17
ComposiçãoTipo especial de agregaçãoRelação de posse mais forteO todo é responsável pela criação da parteA parte não vive sem o todoNão permite compartilhamento
DepartamentoEmpresa
Todo Parte
Composição
![Page 18: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/18.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 18
DependênciaRelacionamento não estrutural (uso) mais fraco que associação
Uma dependência entre dois elementos indica que mudança em um elemento pode causar mudanças no outro
CartãoLeitoraCartao
lerCartao (cartao) Relacionamentode Dependência
![Page 19: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/19.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 19
DependênciaPode existir relacionamento de dependência entre vários elementos de UML
Classe
Pacote
PacoteFornecedor
ComponenteFornecedorCliente
PacoteClienteDependência
Fonte: Rational
FornecedorCliente
![Page 20: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/20.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 20
Multiplicidade
Multiplicidade define quantos objetos participam do relacionamento O número de instâncias de uma classe
relacionadas a uma instância de outra classe
Especificado em cada uma das pontas da associação
![Page 21: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/21.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 21
Tipos de MultiplicidadeNão especificadaExatamente umZero ou maisMuitos (mesmo que 0..*)Um ou maisZero ou umIntervalo determinadoValores múltiplos
1
0..*
*
1..*
0..1
2..4
2, 4..6
![Page 22: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/22.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 22
Exemplo: Multiplicidade
PessoaEmpresa
Multiplicidade
1..*1
![Page 23: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/23.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 23
Navegação
Especifica a direção da associaçãoAssociações e agregações são bidirecionais por default, mas é desejável que a navegação seja restringida a apenas uma direçãoAssociações bidirecionais são mais difíceis de implementar
![Page 24: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/24.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 24
Exemplo: Navegação
PessoaEmpresa
Navegação
1..*1
![Page 25: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/25.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 25
Generalização
Relacionamento entre classes onde uma classe compartilha a estrutura (atributos e relacionamentos) e comportamento (operações) de outras classesDefine uma hierarquia de abstraçõesRelacionamento “é um tipo de” (is-a-kind-of) Herança comportamental (behavioural
inheritance) Referência clássica: A behavioral notion of subtyping
(Liskov & Wing)
![Page 26: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/26.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 26
Generalização
Uma subclasse pode adicionar atributos, operações e
relacionamentos redefinir operações herdadas
Tipos de herança: simples e múltipla
![Page 27: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/27.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 27
Herança Simples
Classes herdando de apenas uma outra classe
Círculoraiocentrodesenhar()
Retânguloverticesdesenhar()diagonal()
Figuracorlargura da linhadesenhar()girar(graus)selecionar()
Subclasses
Superclasse(pai)
Relacionamentode Generalização
Quadrado
![Page 28: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/28.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 28
Herança Múltipla
Classes herdando de mais de uma classe
Mamífero AnimalVoadorHerançamúltipla
Cachorro Gato Morcego Passarinho Gaviao
![Page 29: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/29.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 29
Herança Múltipla
O que acontece quando as superclasses possuem o mesmo método (métodos com o mesmo nome? O que acontece quando se tenta executar um método que não está definido na subclasse? Em que hierarquia de superclasses deve-se procurar o método?
![Page 30: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/30.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 30
Realização
Realização
SubsistemaClasse
Caso de uso
Indica que um elemento serve como contrato que o outro deve seguir
Exemplos:
Componente
Realização de Caso de uso
![Page 31: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/31.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML para Sistemas
RT| 31
Exercício - ArquiteturaDefina uma arquitetura simplificada de uma aplicação bancária, com: Pelo menos 2 tipos de conta (corrente,
poupança) e um cadastro de contas Cliente e um cadastro de clientes Operações para criar, remover,
debitar, creditar, transferir, ... Adoção do padrão fachada
![Page 32: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/32.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 32
Mecanismos adicionais de UML
EstereótiposNotasPropriedades (Tagged values)RestriçõesOCL (Object Constraint Language)
![Page 33: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/33.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 33
Estereótipos
Mecanismo utilizado para estender os elementos de UMLDefine um novo modelo de elemento em termos de outro já existente Como criando um novo ícone utilizando a notação <<novo_elemento>>
![Page 34: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/34.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 34
Estereótipos - Exemplo
Classes de fronteira:
ClasseFronteira
<<boundary>>ClasseFronteira
![Page 35: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/35.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 35
NotasAnotação utilizada para adicionar informação a diagramas Pode ser afixionada a qualquer elemento de UML Pode ser ligada a um elemento com uma linha tracejada
Exemplo:
LeitorCartao
Esta classe é uma abstração do dispositivo de hardware que será usado para ler efetivamente as informações do cartão magnético.
![Page 36: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/36.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 36
Propriedades (Tagged Values)
Servem para estender elementos UML, adicionando informações sobre elesExemplos já definidos em UML: Persistence Location (ex: no cliente, no servidor)
Você pode criar suas próprias propriedades
Cliente{persistence}
LeitorCartao {location=server}
![Page 37: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/37.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 37
Restrições
Pessoa Empresa{subset}
funcionários
diretores
1..* 1
3 1
Usadas para criação de novas regras sobre elementos do modeloOu modificação de regras existentes
![Page 38: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/38.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 38
OCL (Object Constraint Language)
Empresa
É uma linguagem usada para definir restrições sobre elementos do modelo ou modificação de restrições existentes Invariantes de classe Pré e pós-condições de operações
context Empresainv diretoresNecessarios:self.diretor->size() == 3
![Page 39: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/39.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software ProcessesAnálise e Projeto OO com UML e Padrões| 39
Diagramas UML
Diagramas de UML usados no curso (apresentados sob demanda) Casos de uso Classes Sequência Comunicação (Colaboração) Pacotes Componentes (usado em SOA)
![Page 40: Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|](https://reader036.vdocuments.site/reader036/viewer/2022081517/570638551a28abb8238fab73/html5/thumbnails/40.jpg)
Copy
right
© 2
006
Qual
iti. T
odos
os d
ireito
s res
erva
dos.
Qualiti Software Processes40
Processos e PadrõesOrientação a objetos e DBC são paradigmas promissores, mas Reuso Extensibilidade Escalabilidade ...
exigem Processos Técnicas Disciplina Experiências anteriores de sucesso (padrões)!