Escolar Documentos
Profissional Documentos
Cultura Documentos
guiaModelagemClassesDominio PDF
guiaModelagemClassesDominio PDF
MetodologiaCelepar
Agosto2009
SumriodeInformaesdoDocumento
Documento:guiaModelagemClassesDominio.odt Nmerodepginas:20
1 INTRODUO
1.1 VisoGeral
METODOLOGIADEDESENVOLVIMENTOCELEPAR
5
2 DIRETRIZESPARAMODELAGEMDEDOMINIO
2.1 IdentificarClassesConceituaiseAtributos
Estaatividadeconsisteemlocalizarclassesconceituaiseatributosrelacionadascomos
requisitos que esto sendo considerados, neste caso, os Casos de Uso envolvidos na iterao
correntedeveroseranalisados.
Oprocessodeidentificaodeclassesconceituaiseatributosbasicamentenorteadopelas
atividades:
AnalisarEspecificaesdeCasosdeUso;
IdentificarClasseseAtributos.
2.1.1 AnalisarEspecificaesdeCasosdeUso
AnalisarasEspecificaesdeCasosdeUsoidentificandoossubstantivosouexpresses
que denotam substantivos(conhecidas em lingstica como sintagmas nominais, ex: item de
locao,autorizaodepagamento,etc.)queseroconsideradoscandidatosaclassesconceituais
ouatributos.
Cadasubstantivoidentificadodeveserrelacionado,agrupandopalavrasouexpressesque
sosinnimos(comoporexemploemprstimoelocao).
ParaauxiliarnestaanliseobserveaTabela1abaixolistada.
Categoria Significado
Entidadesexternas (outrossistemas,dispositivosepessoas)queproduzemouconsomeminformaoa
serusadapelosistema.
Coisas (relatrios,figuras,cartas,sinais)quesopartedodomniodeinformaodo
problema.
Ocorrnciasdeeventos (efetuapagamento,emiterecibo)queocorremdentrodocontextodaoperaodo
sistema.
Papis (gerente,engenheiro,vendedor)desempenhadosporpessoasqueinteragemcomo
sistema.
Unidadesorganizacionais (diviso,grupo,equipe,setor)quesorelevantesparaosistema.
Lugares (recepo,estoque)queestabelecemcontextodoproblemaouafunoglobaldo
METODOLOGIADEDESENVOLVIMENTOCELEPAR
6
Categoria Significado
sistema.
Estruturas (sensores,impressora,computadores,leitoradecdigodebarra)quedefinemuma
classedeobjetosouclassesrelacionadasdeobjetos.
Tabela1:CategorizaodeConceitos
Observao:
Acorrespondnciadosubstantivoemumadascategoriasumindciodequeele
candidatoaclasseconceitual.
2.1.2 Identificarclasseseatributos
Classesconceituaisnormalmentesoidentificadasapartirdeconceitoscomplexos, que
possuemumcomportamentobemdefinidoenopodemserdescritasportiposalfanumricos.
Atributosnormalmentesoidentificadosapartirdeconceitossimples,quenotemcomportamento
definidoecomumnicotipodedadoassociado.IdentifiqueatributosnoModelodeDomnio,
quandoestessatisfazemanecessidadedememorizarinformaesreferenteaosrequisitos(Casosde
Uso)daiteraocorrente.
Oitemfarpartedoescopodosistema?(ouapenasumainformaodosagentes
externosaosistema)
O item possuir um comportamento identificado no sistema? (Possuir
responsabilidades/mtodos)
Oitempossuirumaestruturaidentificadanosistema?(estarassociadoaatributos)
Oitemserelacionaraoutroitem?
Searespostaparatodososquestionamentosforsim,possivelmenteoitemidentificado
representaumaclasse.
Duranteaidentificaodeclasseseatributosdevesetomaratenoaositensquepossuem
omesmosignificado.Seissoocorrer,possivelmenteelesrepresentamomesmoitem.
METODOLOGIADEDESENVOLVIMENTOCELEPAR
7
2.1.2.1 Exemplo
CenrioprincipaldoCasodeUsoProcessarVendadeumsistemadeVendas
1. OClientechegaaopontodepagamentocombensouserviosparaadquirir.
2. OCaixainiciaumanovavenda.
3. OCaixadigitaoIdentificadordoitem.
4. OSistemaregistraalinhadeitemdevendaeapresentaumadescriodoItem,opreodomesmo
eototalparcialdavenda.Opreocalculadosegundoumconjuntoderegrasdepreos.
OCaixarepeteospassos3e4atqueindiqueterterminado.
5. OSistemaapresentaototal.
6. OCaixainformaaoClienteototalesolicitaopagamento
7. OClientepagaeoSistemaprocessaopagamento.
8. OSistemaregistraavendacompletadaeenviaasinformaesdevendaepagamentoparaoSistema
externodeContabilidade(paracontabilizaoecomisses)edeEstoque(paraatualizaroestoque).
9. OSistemaapresentaorecibo.
10. OClientesaicomoreciboeosbens(seforocaso)
FluxosAlternativos
...
7a.Pagamentocomdinheiro:
1. OCaixadigitaaquantiadedinheirofornecida.
2. OSistemaapresentaovalordotrocoeliberaagavetadedinheiro
3. OCaixadepositaodinheirofornecidoeentregaotrocoparaoCliente.
4. OSistemaregistraopagamentoemdinheiro.
ApartirdaanlisedaEspecificaodoCasodeUsoProcessarVendaforamrelacionados
itens candidatos aclasses conceituais eatributos. Naseqncia osmesmosforamclassificados
comoapresentadonaTabela2:
METODOLOGIADEDESENVOLVIMENTOCELEPAR
8
Tabela2:ExemplodeItensCandidatos
METODOLOGIADEDESENVOLVIMENTOCELEPAR
9
Alm dos candidatos extrados do texto foram identificados outros conceitos no explcitos,
conformedemonstradonaTabela3.
ItemCandidato NomedaClasseouNomedo Classificao
Atributo
Loja Loja Classe
EstabelecimentodeVendanecessrio
para guardar dados necessrios
emissoderecibos.
EspecificaodeProduto EspecificacaoDeProduto Classe
Classe conceitual de especificao
cujo objetivo manter a descrio
sobre o item, independente da
existnciafsicadesteitem.
Tabela3:ExemplodeItensCandidatos
SegueabaixoaFigura1querepresentaoprimeiroesboodoModelodeDomniodoexemplo:
METODOLOGIADEDESENVOLVIMENTOCELEPAR
10
Figura1:Classes
2.1.3 Relatrios
Emgeral,acrescentarumrelatrioemummodelodedomnionotilporquetodaasua
informaoderivadadeoutrasfontes,duplicandoassimainformaoquepodeserobtida
deoutraforma.Estaumarazoparanoconsiderlo;
Porexemplo:Umreciboumrelatriodevenda.
Agoraseorelatriodesempenhaumpapelespecialemtermosderegradenegcio.Esta
umarazoparaconsiderlo.
Porexemplo:
Umreciboconfereaoportadorodireitodedevolverositenscompradospelo
mesmo.
2.2 IdentificarAssociaes
METODOLOGIADEDESENVOLVIMENTOCELEPAR
11
(conceito)faasentido.
Porexemplo:
AclasseCliente,identificadanoexemploanterior,umainformaoaparentemente
completa,quenonecessitadeassociaesparasecomplementar.
Jaclasse Vendaporsisnofazsentido, casonosesaiba qualcliente est
relacionado ou qual(ais) itens de Venda (LinhaDeItemVenda) esto contidos na
venda(oqueestsendovendido/comprado).
Outramaneiraverificaranecessidadedeassociaesparaasquaisoconhecimentodo
relacionamentoprecisaserpreservadoporalgumtempo(associaesqueprecisamserconhecidas),
quepermitiroalgumtipodenavegaonoprojetoenaimplementaoepodemserteispara
facilitaroentendimentodomodeloconceitual.
Porexemplo:
UmitemdeumavendatemumaassociaocomaclasseVendaparapossibilitaro
clculodototaldevendaseaemissoderecibo.
TambmpossvelencontrarassociaespelousodatcnicadeListadeCategoriasde
Associao.
Observao:
1. Paranomearassociaesuseumafrasecomverboquefacilitealeituraquandojuntadacom
osconceitos(classes)emcadaextremidade.
Exemplo:Venda(classe)PagaporPagamento(classe)
2. Direo:Umaconvenotilconsideraraleituradeassociaesdaesquerdaparaadireita
oudecimaparabaixo,emboraaUMLnofaadissoumaregra.
2.2.1 ListadeCategoriasdeAssociaes
Tcnica utilizada para encontrar associaes tendo por base a lista de categorias de
associaes,conformeTabela4quesegue:
METODOLOGIADEDESENVOLVIMENTOCELEPAR
12
CategoriadeAssociaes
AumapartefsicadaB
AumapartelgicadeB
AfisicamentecontidoemB
Alogicamentecontidoem/sobreB
AumadescriodeB
AumalinhadeitemdeumatransaoourelatrioB
Aconhecido/registrado/relatado/captadoporB
AummembrodeB
AumasubunidadeorganizacionaldeB
AusaougerenciaB
AsecomunicacomB
AestrelacionadocomumatransaoB
AumatransaorelacionadacomumaoutratransaoB
AadjacentedeB
ApossudoporB
AumeventorelacionadocomB
Tabela4:CategoriasdeAssociao
DentreasassociaescomunsasmaisteisemumModelodeDomnioso:
AumapartefsicaoulgicadeB
AestfisicamenteoulogicamentecontidoemB
AregistradoporB
2.2.2 Exemplo
ContinuandooexemplodoCasodeUsoProcessarVendadeumsistemadeVendas,as
seguintesassociaessoidentificadas,conformeTabela5:
Associao Significado
VendaPagaporPagamento Parasaberseavendafoipaga,relacionara
quantiafornecidacomototaldavendae
imprimirorecibo
Aumatransaorelacionadacomumaoutra
transaoB(categoriadeassociao)
LinhaDeItemDeVendaContidoemVenda AumapartelgicadeB(categoriade
associao)
Aumalinhadeitemdeumatransaoou
METODOLOGIADEDESENVOLVIMENTOCELEPAR
13
Associao Significado
relatrioB(categoriadeassociao)
EspecificaoDeProdutoDescreveItem AumadescriodeB(categoriadeassociao)
LojaRegistradadosdaVenda Aconhecido/registrado/relatado/captadoporB
NestecasoArepresentaaVendaeBrepresenta
aLoja
VendaIniciadaporCliente AumeventorelacionadocomB(categoriade
associao)
LinhaDeItemDeVendaDescritopor Parasaberqualprodutoreferenteacadalinha
EspecificacaoDeProduto devenda.
LojaEstocaItem AestfisicamentecontidoemB
NestecasoArepresentaaVendaeBrepresenta
aLoja
Tabela5:Associaesidentificadas
Observaes:
Evitarassociaesredundantesouderivveis.
Evitar associaes que no indiquem necessidade de ser conhecidas de acordo com os
requisitos,comodemonstradonaTabela6:
Associao Justificativaparadescarte
VendaIniciadaporCliente Osrequisitosnoindicamanecessidadedeser
conhecidoouderegistraroclientequedincio
aumavenda.
LojaEstocaItem Osrequisitosnoindicamanecessidadedeser
conhecido ou de manter informaes sobre o
estoque. Os requisitos indicam que Estoque
umsistemaexterno.
Tabela6:Associaesdescartadas
TendoemvistaoquadroacimaaassociaoVendainiciadaporClientenoserianecessria,
entretanto, ela importante para a compreenso do domnio. Sendo assim, enfatize as
associaes que devem ser conhecidas, mas acrescente, conforme necessidade, associaes
destinadassomenteaenriqueceracompreensocrticadodomnio.
METODOLOGIADEDESENVOLVIMENTOCELEPAR
14
Figura2:ModelodeDomniocomAtributoseAssociaesidentificadas
2.3 RefinamentodoModelodeDomnio
2.3.1 Generalizao
Generalizaoaatividadedeidentificaroquehdecomumentreosconceitosedefinir
relacionamentosentresuperclasses(conceitogeral)esubclasses(conceitosespecializados).Tratase
deumaformadeconstruirclassificaestaxonmicasentreconceitoseilustrlasemhierarquiade
classes.
Estaidentificaoimportante,poispermiteoentendimentodosconceitosemtermosmais
gerais,refinadoseabstratos.Conduzaumacompreensoaprimoradaeareduodeinformaes
repetidas,ouseja,aumaeconomiadeexpresso.
Passospararealizarageneralizaodamodelagem:
METODOLOGIADEDESENVOLVIMENTOCELEPAR
15
1. IdentificarSuperclasses;
2. IdentificarSubclasses;
3. IdentificarClassesConceituaisAbstratas.
2.3.1.1 IdentificarSuperclasses
2.3.1.2 IdentificarSubclasses
Afatoraodeclassesconceituaisasuadivisoemsubclassesdisjuntas.Sendotil,este
particionamento,quando:
Asubclassetiveratributosadicionaisdeinteresse;
Asubclassetiverassociaesadicionaisdeinteresse;
Oconceitodasubclasseforoperado,tratado,reagidooumanipulado demaneira
METODOLOGIADEDESENVOLVIMENTOCELEPAR
16
diferentedasuperclasseoudeoutrassubclasses,deformaquesejaminteressantesa
seconsiderar;
Oconceitodasubclasserepresentaalgoanimado(porexemplo,umanimal,umrob)
quesecomportademaneiradiferentedasuperclasseoudeoutrassubclasses.
Resumidamente,oprincipalmotivoparaextrairumasubclasseapercepodequeuma
classetemcomportamentousadoporalgumasinstnciasdamesma(objetos)enoporoutras.
2.3.1.3 IdentificarClassesconceituaisabstratas
Aclasseabstratasempreumaclassepaiquenopossuiinstncias.Eladefineummodelo
para uma funcionalidade e fornece uma implementao incompleta a parte genrica dessa
funcionalidadequecompartilhadaporumgrupodeclassesderivadas.tilidentificarclasses
abstratas, pois elas restringem as classes para as quais possvel ter instncias concretas,
esclarecendoassimasregrasdodomniodoproblema.[Umaclasseabstrataestdestinadaapenasa
servir como base para a criao de outras classes servindo como guia para a definio do
comportamentodosherdeiros,dassubclasses.]
Secadamembrodeumasuperclassetambmdevesermembrodeumasubclasse,entoa
superclassechamadaclasseconceitualabstrata.
AnotaoUMLpararepresentaoindicarseunomeemitlico.
2.3.1.4 Exemplo
EsteexemplorepresentaquetodainstnciadePagamentodeveser,maisespecificamente,
uma instncia das subclasses PagamentoEmDinheiro, PagamentoComCartaoDeCredito,
PagamentoComCheque.
METODOLOGIADEDESENVOLVIMENTOCELEPAR
17
Figura3:Generalizaocomclasseconceitualabstrata
2.3.2 ClassesAssociativas
umaclassequeestligadaaumaassociao,aoinvsdeestarligadaaoutrasclasses.
normalmente necessria quando duas ou mais classes esto associadas, e necessrio manter
informaes sobre esta associao, podendo estar ligada a associaes de qualquer tipo de
conectividade.
A Classe de Associao pode ser vista como uma associao com propriedades de
associaoedeclasseedevemserutilizadas,quandonecessrio,paramanterinformaessobre
umaassociaoespecficaentreobjetosdeduasclassesrelacionadas.
ClasseAssociativapodesertilemumModelodeDomnioquando:
Umatributoestrelacionadoaumaassociao;
Asinstnciasdaclasseassociativatmumtempodevidadependentedaassociao;
H uma associao de muitosparamuitos entre dois conceitos, bem como
informaesrelacionadasassociaopropriamentedita.
2.3.2.1 Exemplo
METODOLOGIADEDESENVOLVIMENTOCELEPAR
18
Figura4:ClasseAssociativa
2.3.3 AgregaoeComposio
AgregaoumtipoespecialdeAssociaoquedemonstraqueasinformaesdeum
objeto (objetotodo)precisam sercomplementadas pelas informaes contidas emumou mais
objetosdeoutraClasse(objetoparte).
Composioumtipodeagregaoondeotempodevidadapartecoincidentecomo
tempodevidadotodo.Nestecaso,aspartesspodempertenceraotodoesodestrudascomele.
IdentificareilustraragregaesemumModelodeDomnio nomuitoimportante, a
menosqueelaesclarearestriesexistentesnodomniocomrelaoexistnciaaceitveldaparte
independente do todo oua parte pode no existir fora do tempo de vida dotodo, no caso da
composio.Sendoassim,autilizaodeumrelacionamentodeagregaosubjetivaenodeve
serutilizadaindiscriminadamente,utilizeasomenteseosignificado(semntica)efetivamenteseja
deespecificaredocumentaraindicaodotodo/parte(nocasoagregao)e,ainda,quetempo
devidadapartecoincidentecomotempodevidadotodo(nocasocomposio).
METODOLOGIADEDESENVOLVIMENTOCELEPAR
19
2.3.3.1 Exemplo
Figura5:ClassescomrelacionamentodeComposio
2.4 OrganizaodoModelodeDomnio
Asclassesdomodelodedomniodeveroestarorganizadasemumpacote,conforme
notaodaUML,denominadoDOMNIO.Dentrodestepacote,seomodelodedomniocrescer
muito,interessantecriarnovospacotes.
Paraparticionaromodelodedomnioempacotes,agrupeelementosque:
estejam ligados aomesmoassunto intimamente relacionados porconceitos ou
finalidades;
estejamjuntosemumahierarquiadeclasses;
participemdosmesmoscasosdeuso;
estejamfortementeassociados.
2.5 ConsideraesFinais
NoexisteModelodeDomniocorretoouerrado,todososmodelossoaproximaesdo
domnioqueestamostentandocompreender. UmbomModelodeDomniocaptaasabstraes
essenciaiseasinformaesnecessriasparacompreenderodomnionocontextodosrequisitos
considerados,auxiliandoaspessoasnacompreensododomnioseusconceitos,terminologiae
relacionamentos.
AodesenvolverumModelodeDomnio,procurelembrardasseguintesdiretrizes:
maisimportanteidentificarclassesconceituasdoqueassociaes;
O excesso de associaes tende a tornar o modelo de domnio confuso, em vez de
esclareclo;
METODOLOGIADEDESENVOLVIMENTOCELEPAR
20
Evitemostrarassociaesredundantesouderivveis.
METODOLOGIADEDESENVOLVIMENTOCELEPAR