You are on page 1of 43

Anlise e Projeto de

Sistemas Orientados
(Responsvel pelo plano,
Frequncia de atualizao do plano
a
Objetos
de gerenciamento de escopo

Luiz Felipe Carvalho Mendes, M.Sc.


luizfelipe.carvalho.mendes@gmail.com
UML - Diagrama de Classes
Descreve os tipos dos objetos existentes no sistema e
as associaes estticas entre eles
As principais relaes estticas so
Classes, suas estruturas internas e comportamento
Associaes, composies, agregaes, dependncias, e
relaes de herana
Multiplicidade e indicadores de navegao
Nomes de papis (o que uma classe representa para outra)
Mostram tambm os atributos, operaes e restries
que se aplicam aos objetos de uma determinada classe

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Pode ser construdo em diferentes nveis de
abstrao
Modelo de classes de domnio (ou conceitual):
construdo na fase de anlise e leva em considerao
apenas as classes de domnio, desconsiderando
questes tecnolgicas
Modelo de classes de projeto (ou especificao):
construdo na fase de projeto e uma extenso do
anterior, levando em consideraes aspectos
computacionais

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Classes
Representam os tipos de objetos existentes no
modelo
Descritas a partir de seus atributos, mtodos e
restries
Podem ser organizadas segundo uma estrutura
de generalizao/especializao
Classes podem ser identificadas a partir das
especificaes de casos de uso, sendo
normalmente associadas a substantivos
Nome da classe em itlico
representa classe abstrata

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Visibilidade de atributos e mtodos:
Pblico (+): Visvel para qualquer outro
objeto. Normalmente mtodos so pblicos.
Privado (-): Encapsulamento, no visvel para
nenhum outro objeto. Normalmente atributos
so privados.
Protegido (#): Permite herana de atributos e
mtodos. Normalmente superclasses
apresenta atributos e mtodos protegidos.

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Atributos e Mtodos de classe:
So acessados a partir da prpria classe, no
de um objeto
So tambm chamados de estticos
Aparecem sublinhados no diagrama

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Um relacionamento uma conexo entre
itens
Os 3 mais importantes so
Dependncias
Generalizaes
Associaes

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML- Herana
Herana uma relao entre uma
super-classe e suas sub-classes
Atributos comuns, mtodos e relaes
so mostradas no nvel aplicvel mais
alto da hierarquia
A sub-classe herda as propriedades da
me, principalmente seus atributos e
operaes

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML- Herana
Frequentemente mas no sempre, a
classe filha tm atributos e operaes
alm daqueles encontrados na classe
me
A operao de uma filha que contm a
mesma assinatura da operao da me
prevalecer em relao operao da
me (polimorfismo - override)

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML- Herana
Uma classe que no tenha classe-me
mas tenha um ou mais classes-filha
chamada classe-raiz ou classe de base
Uma classe que no tenha classes-filha
chamada classe-folha
Uma classe pode ser modelada de
maneira que no permita herana

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML- Herana
Heranas podem precisar ser refinadas quando da
criao do diagrama de classes de projeto
Em geral, no se recomenda utilizar herana quando
Quando a subclasse herda atributos e mtodos que no se
aplicam a ela

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML- Herana

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associaes
Representam relacionamentos entre instncias
de classes (um aluno se matricula em um curso,
um curso possui vrias disciplinas)
Conceitualmente representam relacionamentos
entre classes
Possuem 2 papis, um para cada sentido da
associao, que pode ser explicitamente
representado por um label

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associao
Multiplicidade define como muitos
objetos participam numa relao
Multiplicidade o nmero de instncias de uma
classe que se relacionam a UMA instncia de
uma outra classe
Para cada associao e agregao, haver duas
decises relativas a multiplicidade a se tomar:
uma para cada lado da relao

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associaes
A multiplicidade de um papel representa o nmero
de objetos que pode participar da associao
Do ponto de vista da especificao do sistema as
associaes representam responsabilidades
Do ponto de vista de implementao associaes
indicam a existncia de referncias entre os
objetos, e servem para indicar a navegabilidade
do modelo

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Multiplicidade de Associaes

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associao
Relaes fornecem um caminho para a
comunicao entre os objetos
Diagramas de sequncia e/ou comunicao
podem identificar ligaes entre objetos para
se chegar ao comportamento desejado
Tipos de relaes
Associao
Agregao
Composio
Dependncia

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associao
Uma associao uma conexo
bi-direcional entre classes
Uma associao mostrada como uma linha
conectando as classes relacionadas
Uma agregao um tipo de associao, onde
a relao entre o todo e suas partes
Uma agregao mostrada como uma linha
conectando as classes relacionadas com um
losango vazado perto da classe que
representa o todo
Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associao
Uma composio um tipo mais forte de agregao
Uma composio mostrada como uma linha
conectando as classes relacionadas com um losango
cheio perto da classe que representa o todo
Em uma composio
O objeto Todo responsvel por criar suas Partes
O objeto Todo responsvel por destruir suas Partes
Quando o objeto Todo destrudo, suas partes tambm o
devem ser
Normalmente, o acesso ao objeto Parte feito atravs do objeto
Todo

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associao
Uma relao de dependncia uma forma mais fraca de
relao, mostrando uma relao entre um cliente e um
fornecedor, onde o cliente no tem conhecimento
semntico do fornecedor
Relacionamento de utilizao, determinando que um
item usa as informaes e servios de outro item mas
no necessariamente o inverso
comum as dependncias aparecerem para mostrar
que uma classe usa outra como argumento na
assinatura de uma operao

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associao

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Associao
Apesar de associaes e agregaes serem bi-
direcionais por definio, frequentemente
desejvel restringir a navegao em uma nica
direo
Caso a navegao seja restringida, uma seta adicionada para se
indicar a direo da navegao
Muitas vezes conveniente definir a navegabilidade
a partir dos diagramas de seqncia

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
A estrutura de uma classe representada
pelos seus atributos
Atributos podem ser encontrados pelo
conhecimento do domnio e especificaes
de casos de uso

Cada Disciplina oferecida


possui uma ementa e uma
bibliografia

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Ao modelar diagramas de classes:
Nomes de classes iniciam com letras maisculas. Cada nova
palavra inicia com letra maiscula
Nomes de atributos e mtodos iniciam com letra minscula. A
partir da segunda palavra, iniciar com letra maiscula
No utilize espaos, acentos, caracteres especiais e
preposies em nomes de classes, atributos e mtodos
Nomes de classes so sempre no singular
Nomes de mtodos devem explicitar o seu objetivo (no sua
implementao) e normalmente iniciam com um verbo
Em hierarquias de classes, priorizar que superclasses fiquem
acima de suas subclasses
Em associaes, priorizar o sentido de leitura da esquerda para
a direita e de cima para baixo

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Diagramas de Classes de Projeto
Refinam diagramas de classes de domnio
Inserem caractersticas tecnolgicas
So definidas responsabilidades de interface
e controle
Atributos e mtodos devem ser detalhados

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML Especificao de Classes
Atributos
Nome
Descrio
Tipo (Integer / Real / Boolean / String / Classe)
Tamanho
Visibilidade (Pblica / Privada / Protegida)
Escopo (Instncia / Classe)
Obrigatoriedade
Restries

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML Especificao de Classes
uma propriedade nomeada de uma classe
que descreve um intervalo de valores que as
instncias da propriedade podem apresentar
Uma classe pode ter qualquer nmero de
atributos ou mesmo nenhum
Uma abstrao do tipo de dados ou estados que
os objetos da classe podem abranger
Exemplo: toda parede tem uma altura,
espessura e largura

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML Especificao de Classes

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML Especificao de Classes

O comportamento (responsabilidades) de
uma classe representado por seus
mtodos
Mtodos podem ser encontrados atravs
da especificao de casos de uso (verbos
indicam funcionalidades) ou atravs de
diagramas de interao

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML Especificao de Classes
Mtodos
Nome
Descrio
Tipo (Procedimento / Funo)
Visibilidade (Pblica / Privada / Protegida)
Escopo (Instncia / Classe)
Parmetros (Opcional)
Nome
Tipo
Tamanho
Direo (Entrada / Sada / Entrada-Sada)
Obrigatoriedade
Tipo de Sada (para Funes)

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML Especificao de Classes

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML Especificao de Classes
Heranas podem precisar ser refinadas quando da
criao do diagrama de classes de projeto
Em geral, no se recomenda utilizar herana quando
Representao de papis de uma subclasse
Quando a subclasse herda atributos e mtodos que no se
aplicam a ela
Quando um objeto de uma subclasse pode se transformar em
objeto de outra subclasse

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Diagramas so construdos separando as
responsabilidades entre
Interface com o usurio (fronteira do sistema)
Controle (coordena a lgica do caso de uso)
Entidade (representam o domnio do sistema)
Similar ao padro de projeto MVC (Model-View-
Controller)
Proporciona aplicaes mais flexveis e com
maior manutenibilidade
Esteretipos so utilizados para estender o
significado de um elemento de um diagrama
Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes
Classes de Fronteira

Classes de Controle

Classes de Entidade

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
UML - Diagrama de Classes

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
Cartes CRC
Modelagem CRC (Classes, Responsabilidades
e Colaboradores)
til na identificao de classes e validao de
classes candidatas
Auxilia na identificao de classes atravs de
suas responsabilidades e colaboradores
Casos de uso podem ser divididos em diversas
funcionalidades atribudas s classes

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
Cartes CRC

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
Responsabilidades
um contrato ou obrigaes de uma determinada classe
Ao criar uma classe voc estar declarando que todos os
objetos dessa classe tem o mesmo tipo de estado e
comportamento
Em um nvel mais abstrato, esses atributos e operaes
correspondentes so apenas as caractersticas com as
quais as responsabilidades das classes so executadas
O uso de cartes CRC e anlises baseadas em casos de
uso so de grande ajuda na modelagem das classes e
definio destas responsabilidades

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos
Responsabilidades

Prof. Luiz Felipe Carvalho Mendes, M.Sc. - Anlise e Projeto de Sistemas Orientados a Objetos

You might also like