diagrama de classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · leonardo murta diagrama de...

37
Diagrama de Classes Leonardo Gresta Paulino Murta [email protected]ff.br

Upload: duongkhanh

Post on 14-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

DiagramadeClasses

[email protected]

Page 2: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Oqueé?•  Diagramamaisu>lizadodaUML•  Representaos>pos(classes)deobjetosdeumsistema–  Propriedadesdesses>pos–  Funcionalidadesprovidasporesses>pos–  Relacionamentosentreesses>pos

•  Podesermapeadodiretamenteparaumalinguagemorientadaaobjetos– Ajudanoprocessotransitóriodosrequisitosparaocódigo–  Poderepresentarvisualmenteocódigodosistema

LeonardoMurta DiagramadeClasses 2

Page 3: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1kmdedistância...•  Caixasrepresentandoasclasses•  Linhasrepresentandoosrelacionamentos

LeonardoMurta DiagramadeClasses 3

Page 4: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1metrodedistância...•  Asclassessãorepresentadasporcaixascontendo– Nome(obrigatório)– Listadeatributos– Listadeoperações

LeonardoMurta DiagramadeClasses 4

Pedido

-data: Date-numero: int-valor: Money

+finaliza()

Pedido Atributos

Nome

Operações

Page 5: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Propriedades•  Classessãodescritasviasuaspropriedades–  Primi>vas:representadascomoatributos–  Compostas:representadascomoassociaçõesparaoutrasclasses

•  Quandotransformadasparacódigo,aspropriedadessetornamsemprecamposdaclasse

LeonardoMurta DiagramadeClasses 5

Pedido

-data: Date-numero: int-valor: Money

Cliente

-nome: String-endereco: String

Atributos

Associações

Page 6: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1cen[metrodedistância...dosatributos

•  Atributossãodescritosvia– Visibilidade– Nome– Tipo– Mul>plicidade– Valorpadrão

LeonardoMurta DiagramadeClasses 6

-endereco:String[1]=“SemEndereço”

Page 7: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Atributos(visibilidade)

•  Privado(-)–  Somenteaprópriaclassepodemanipularoatributo–  Indicadonamaioriadoscasos

•  Pacote(~)– Qualquerclassedomesmopacotepodemanipularoatributo

•  Protegido(#)– Qualquersubclassepodemanipularoatributo

•  Publico(+)– Qualquerclassedosistemapodemanipularoatributo

LeonardoMurta DiagramadeClasses 7

-endereco:String

Page 8: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Atributos(nomee>po)

•  Onomedoatributocorrespondeaonomequeseráu>lizadonocódigofonte–  Éaceitávelu>lizarnomescomespaçoeacentosnafasedeanálise

•  O>podoatributocorrespondeao>poqueseráu>lizadonocódigofonte–  Tiposprimi>vosdalinguagem–  Classesdeapoiodalinguagem(String,Date,Money,etc.)

LeonardoMurta DiagramadeClasses 8

-endereco:String

Page 9: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Atributos(mul>plicidade)

•  Representaonúmerodeelementosdeumapropriedade•  EstruturaX..Yonde

–  Opcional:X=0–  Mandatório:X=1–  Somenteumvalor:Y=1–  Mul>valorado:Y>1

•  Valoresclássicos–  0..1–  1(equivalentea1..1àdefault)–  *(equivalentea0..*)–  1..*

LeonardoMurta DiagramadeClasses 9

-endereco:String[0..3]

Page 10: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1cen[metrodedistância...dasassociações

•  Associações– Guardaasmesmasinformaçõesdosatributos– U>lizaumanotaçãográfica– Deveseru>lizadoparapropriedadesquesãorelevantesaodiagrama

– Determinaopapeldasclassesnaassociação– Determinaosen>dodenavegação

LeonardoMurta DiagramadeClasses 10

Pedido

-data: Date-numero: int-valor: Money

+finaliza()

Cliente

-nome: String-endereco: String

-pedidosFechados

0..*

Empregado

1..*

0..1

gerente

subordinado

0..1

1..*

Page 11: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1cen[metrodedistância...dasoperações

•  Operaçõessãodescritasvia– Visibilidade– Nome– Listadeparâmetros– Tipoderetorno

LeonardoMurta DiagramadeClasses 11

+finaliza(data:Date):Money

Page 12: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Operações(visibilidade)

•  Valemasmesmasregrasdevisibilidadedeatributos•  Privado(-)–  Funcionalidadesdeapoioàprópriaclasse

•  Pacote(~)–  Funcionalidadesdeapoioaoutrasclassesdopacote(ex.construçãodeumcomponente)

•  Protegido(#)–  Funcionalidadesqueprecisamserestendidasporoutrasclasses(ex.construçãodeumframework)

•  Publico(+)–  Funcionalidadesvisíveisportodasasclassesdosistema

LeonardoMurta DiagramadeClasses 12

+finaliza(data:Date):Money

Page 13: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Operações(nomee>poderetorno)

•  Valemasmesmasregrasjávistasparaatributos...– Normalmenteonomedeumaoperaçãoéformadoporumverbo(opcionalmenteseguidodesubstan>vo)

– Aausênciadeum>poderetornoindicaqueaoperaçãonãoretornanada(i.e.,void)

LeonardoMurta DiagramadeClasses 13

+finaliza(data:Date):Money

Page 14: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Operações(listadeparâmetros)

•  Alistadeparâmetrospodesercompostaporzerooumaisparâmetrosseparadosporvírgula–  Parâmetro:[direção]nome:>po[=valorpadrão]–  Direção(opcional)

•  in(default)•  out•  inout

–  Nome–  Tipo

•  Primi>vo•  Classe

–  Valorpadrão(opcional)

LeonardoMurta DiagramadeClasses 14

+finaliza(data:Date):Money

Page 15: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Emanálise...•  Nãoseatenhaaosdetalhes– Visibilidade– Navegabilidade– Tipo

•  Visibilidadepúblicaempropriedades– Assumecampoprivadoemétodosdeacesso(geteset)

•  Operações– Somenteasresponsabilidadesobviasdasclasses

LeonardoMurta DiagramadeClasses 15

Page 16: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Exercício•  TraduzaoseguintediagramaemcódigoJava•  CriemétodosdeacessoparaaspropriedadesdaclasseCliente

LeonardoMurta DiagramadeClasses 16

Pedido

-data: Date-numero: int-valor: Money

+finaliza()

Cliente

-nome: String-endereco: String

-pedidosFechados

0..*

Page 17: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Palavras-chave,propriedadeserestrições

•  Apóiamalinguagemgráficacominformaçõestextuais•  Permitemdarmaissemân>caaoselementosdomodelo•  Notaçãodepalavra-chave–  Textual:<<palavra>>(ex.:<<interface>>)–  Icônica:imagemrepresentandoapalavra-chave

•  Notaçãodepropriedadeserestrições–  {propriedade}(ex.:{readonly})–  {nome=valor}(ex.:{versão=1.0}–  {restrição}(ex.:{Mãedeveserdosexofeminino})

LeonardoMurta DiagramadeClasses 17

Pessoa<<entity>>

+nome: String {readonly, versao = 1.0} +filho

+mae

Page 18: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Propriedadesdeatributoseassociações

•  Algunsexemplos...•  {readonly}–  Somenteofereceoperaçõesdeleitura

•  {ordered},{unordered}–  Indicaseoatributoouassociaçãomul>valoradomantémasequênciadositensinseridos

•  {unique},{nonunique}–  Indicaseoatributoouassociaçãomul>valoradopermiterepe>ção

LeonardoMurta DiagramadeClasses 18

-endereco:String=“SemEndereço”{readonly}

Page 19: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Propriedadesdeoperações

•  {query}–  Nãomodificaoestadodosistemaapósaexecução

•  {sequen>al}–  Ainstânciafoiprojetadaparatratarumathreadporvez,masnãoéresponsabilidadedaclasseassegurarqueissoocorra

•  {guarded}–  Ainstânciafoiprojetadaparatratarumathreadporvez,eéresponsabilidadedaclasseassegurarqueissoocorra(ex.:métodossynchronizedemJava)

•  {concurrent}–  Ainstânciaécapazdetratarmúl>plasthreadsconcorrentemente

LeonardoMurta DiagramadeClasses 19

+finaliza(data:Date):Money{sequen>al}

Page 20: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Outrosrelacionamentosentreclasses

•  Alémdasassociações,algunsoutros>posderelacionamentossãoimportantes– Generalização– Composição– Agregação– Dependência– Classesdeassociação

LeonardoMurta DiagramadeClasses 20

Page 21: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Generalização•  Visaestabelecerrelaçõesentre>pos•  Leitura:“éum”•  SeGerente“éum”Funcionário– Todasasoperaçõesepropriedades(nãoprivadas)deFuncionáriovãoestardisponíveisemGerente

– TodainstânciadeGerentepodeseru>lizadaondeseesperainstânciasdeFuncionário

– Geraoefeitodeherançaepolimorfismoquandomapeadoparacódigo

LeonardoMurta DiagramadeClasses 21

Funcionário

Gerente

Page 22: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Agregação•  Éumaassociaçãocomasemân>cade“contém”•  Servecomoumarelaçãotodo-partefraca•  Otodoexistesemaspartes•  Aspartesexistemsemotodo•  Apartepodeseragregadaporváriostodos

LeonardoMurta DiagramadeClasses 22

Carro Pessoa

-passageiros

0..5

Page 23: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Composição•  Éumaassociaçãocomasemân>cade“écompostode”

•  Servecomoumarelaçãotodo-parteforte•  Otodonãoexistesemaspartes– Aspartespertencemasomenteumtodo– Aremoçãodotodoimplicanaremoçãodaspartes

LeonardoMurta DiagramadeClasses 23

Carro Peças

Page 24: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Dependência•  Deixaexplícitoquemudançasemumaclassepodemgerarconsequênciasemoutraclasse

•  Exemplos:–  Umaclassechamamétodosdeoutra–  Umaclassetemoperaçõesqueretornamoutraclasse–  Umaclassetemoperaçõesqueesperamcomoparâmetrooutraclasse

•  Outrosrelacionamento(ex.:associaçãocomnavegação)implicitamentedeterminamdependência

•  Nãotentemostrartodasasdependênciasnoseudiagrama!

LeonardoMurta DiagramadeClasses 24

A B

Leitura:classeAdependedaclasseB

Page 25: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Classesdeassociação•  Permitemaadiçãodeinformaçõesemumaassociação

•  Devemsertransformadasemclassescomunsposteriormenteparaviabilizarimplementação

LeonardoMurta DiagramadeClasses 25

Cliente

-nome: String-endereco: String

Loja

0..*0..*

Qualovalortotalgastoemcadaloja?

Cliente

-nome: String-endereco: String

Loja

0..*0..*

Cadastro

+valorTotalGasto

Cliente

-nome: String-endereco: String

LojaCadastro

+valorTotalGasto0..*1 10..*

Page 26: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1milímetrodedistância...propriedadeseoperaçõesestá>cas

•  Propriedadesquenãosãoinstanciadasnosobjetos•  Operaçõesqueatuamsomentesobrepropriedadesestá>cas

•  Ambossãoacessadosdiretamentenaclasse–  Ex.:Pedido.getProximoNumero()

•  Sãosublinhadasnodiagrama

LeonardoMurta DiagramadeClasses 26

Pedido

-data: Date-numero: int-valor: Money

+finaliza()+getProximoNumero(): int

Page 27: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1milímetrodedistância...propriedadesderivadas

•  Sãopropriedadesquenaverdadenãoexistemcomoatributosouassociações

•  Podemserinferidasporoutraspropriedadesdaclasse

•  Éinteressanteexplicitaratravésdenotaourestriçãoafórmuladederivação

•  Sãomarcadascomosímbolo“/”

LeonardoMurta DiagramadeClasses 27

Período

+inicio: Date+fim: Date+/duracao: int

Page 28: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1milímetrodedistância...Classeseoperaçõesabstratas

•  Classesquenãopodemterinstâncias– Usualmentetêmoperaçõesabstratas,ouseja,semimplementação

•  Suassubclassesusualmentesãoconcretas–  Implementammétodoscomcomportamentosespecíficosparaasoperaçõesabstratas

•  U>lizamnomeemitálico

LeonardoMurta DiagramadeClasses 28

Animal

+fala()

Page 29: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A1milímetrodedistância...Interfaces

•  Umaclassesemnenhumaimplementação–  Todasoperaçõessãoabstratas

•  Fazusodapalavra-chave<<interface>>–  Podeserrepresentadotambémcomoumícone

•  Orelacionamentoderealizaçãoindicasasclassesqueimplementamainterface–  Equivalenteageneralização

LeonardoMurta DiagramadeClasses 29

List<<interface>>

+get(position:int)()

ArrayList

List

+get(position:int)()

ArrayList

List<<interface>>

+get(position:int)()

ArrayList

Page 30: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

A10kmdedistância...pacotes

•  Emalgumassituaçõessedesejaterumavisãogeraldaspartesdosistema

•  Paraisso,odiagramadepacoteséaferramentaindicada

•  Pacotesagregamclasseseoutrospacotes– Dependênciaspodemserinferidasindiretamente

•  Exemplo–  ClasseC1pertenceaopacoteP1–  ClasseC2pertenceaopacoteP2–  ClasseC1dependedaclasseC2–  Logo,pacoteP1dependedopacoteP2

LeonardoMurta DiagramadeClasses 30

Page 31: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Pacotes

LeonardoMurta DiagramadeClasses 31

builtin::DenyImmutableAETracePolicy

+execute(trace: Trace, action: byte)+getDescription(): String+getRationale(): String

policies::PreTracePolicy<<interface>>

+execute(trace: Trace, action: byte)

policies::ArchTracePolicy<<interface>>

+getDescription(): String+getRationale(): String

builtin::DenyRemovalFromBranch

+execute(trace: Trace, action: byte)+getDescription(): String+getRationale(): String

builtin::RemoveAncestryTracesPolicy

+execute(trace: Trace, action: byte)+getDescription(): String+getRationale(): String

policies::PostTracePolicy<<interface>>

+execute(trace: Trace, action: byte)

policies

builtin

<<import>>

Page 32: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Dicas•  Iniciecomumdiagramasimples•  Oquenormalmentetememtododiagrama– Classes– Atributos– Operações– Associações

•  Useosdemaisrecursosdalinguagemsomentequandoforrealmentenecessário

LeonardoMurta DiagramadeClasses 32

Page 33: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Dicas(possíveiscandidatos)

•  Classes–  En>dadesexternasqueproduzemouconsomeminformações(ex.:sistemadevalidaçãodocartãodecrédito)

–  Coisasquesãopartedoproblemaequesãoinformaçõescompostas(ex.:Produto)

–  Eventosqueocorremduranteaoperaçãodosistema(ex.:Pedido)

–  Papeisqueinteragemcomosistema(ex.:Cliente)–  Unidadesorganizacionaisrelevantes(ex.:Rededelojas)–  Lugaresquefornecemocontextodoproblemaoudosistema(ex.:Loja)

–  Estruturasdefinidasnoproblema(ex.:Estoque)

LeonardoMurta DiagramadeClasses 33

Page 34: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Dicas(possíveiscandidatos)

•  Atributos–  Informaçãoprimi>vaqueprecisasermemorizada(ex.:Preço)

•  Associações– AclasseAprecisaserelacionarcomaclasseBparaatenderaoperaçõesespecíficas(ex.:Cliente–Pedido)

•  Operações– Funcionalidadesquedevemserprovidasporumaclasseparaviabilizarousodosistema(ex.:calculaTotalemPedido)

LeonardoMurta DiagramadeClasses 34

Page 35: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Exercício•  Elaboreumdiagramadeclassesparaumsistemadepontodevendas

–  R01.OgerentedevepoderfazerlogincomumIDesenhaparainiciarefinalizarosistema;–  R02.Ocaixa(operador)devepoderfazerlogincomumIDesenhaparapoderu>lizarosistema;–  R03.Osistemadeveregistraravendaemandamento–ositenscomprados;–  R04.Osistemadeveexibiradescriçãoepreçoedoitemregistrado;–  R05.Osistemadevecalcularototaldavendacorrente;–  R06.Osistemadevetratarpagamentocomdinheiro–capturaraquan>daderecebidae

calcularotroco;–  R07.Osistemadevetratarpagamentocomcartãodecrédito–capturarainformaçãodocartão

atravésdeumleitordecartõesouentradamanualeautorizaropagamentou>lizandooserviçodeautorizaçãodecrédito(externo)viaconexãopormodem;

–  R08.Osistemadevetratarpagamentocomcheque–capturaronúmerodacarteiradeiden>dadeporentradamanualeautorizaropagamentou>lizandooserviçodeautorizaçãodecheque(externo)viaconexãopormodem;

–  R09.Osistemadevereduzirasquan>dadesemestoquequandoavendaéconfirmada;–  R10.Osistemadeveregistrarasvendascompletadas;–  R11.Osistemadevecontrolardiversaslojas,comcatálogodeprodutosepreçosunificado,

porémestoquesseparados;

LeonardoMurta DiagramadeClasses 35

Page 36: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

Bibliografia•  Fowler,Mar>n.2003.UMLDis2lled:ABriefGuidetotheStandardObjectModelingLanguage.3rded.Addison-WesleyProfessional.

•  Pressman,Roger.2004.SoBwareEngineering:APrac22oner'sApproach.6thed.McGraw-Hill.

LeonardoMurta DiagramadeClasses 36

Page 37: Diagrama de Classes - ic.uff.brleomurta/courses/2015.2/es1/aula7.pdf · Leonardo Murta Diagrama de Classes 24 A B Leitura: classe A depende da classe B Classes de associação •

DiagramadeClasses

[email protected]