Modelo De Domínio Vs Modelo Da Aplicação - UMinho

Transcription

174Modelo de Domínio vs Modelo da Aplicação O que é o modelo de domínio? José Creissac Campos - António Nestor Ribeiro Identifica os termos utilizados Representa as relações existentes entre esses termosConcretiza-se como: Desenvolvimento de Sistemas SoftwareResposta: é antes de mais um glossário de projecto, porque Um diagrama de classe com as entidades pertencentes ao domíniodo problema e com os relacionamentos entre as entidadesO diagrama deve conter informação sobre o negócio,nomeadamente no que respeita à identificação das relações e aopapel que as entidades desempenham nessa relação.

175Modelo de Domínio (cont.)Aspectos fundamentais no processo de construção do modelo dedomínio: José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software O foco é colocado nos objectos do mundo real (do domínio doproblema)Devem-se escolher as classes que sejam abstracções de entidadesdo modelo de domínio O modelo de domínio é a primeira versão do diagrama de classesNão confundir o modelo de dados com o modelo de domínio Embora os diagramas possam parecer semelhantes representamconceitos diferentesUma tabela relaciona um conjunto de dados enquanto uma classeé um agregado de dados e comportamento

176Modelo de Domínio (cont.) Não confundir um objecto com uma tabela O diagrama de classes final pode não corresponder ao modelo de domínioJosé Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software Um objecto representa uma instância de uma entidade.Exemplo: a classe Aluno descreve os objectos que são alunos, mas não sesupõem que guarda a informação de todos os alunos existentes.Tipicamente não corresponde visto que o diagrama de classes é fruto derefinamento, tendo em conta aspectos de arquitectura (dependentes datecnologia e do modelo de programação)Conceitos do modelo do domínio podem não existir no diagrama declasses como classes, mas corresponderem a atributos de uma (ou mais)classe(s), ou então serem concretizados por várias classesO modelo de domínio não contém referências a classes da camada deapresentação O diagrama de classes final é muito próximo da solução tecnológica a serconstruída. O modelo de domínio é eficaz sobretudo ao nível dosconceitos e do entendimento do problema.

177Exemplo: uma loja de livros online Lógica de negócio semelhante a uma Amazon (ou Barnes&Noble) O site tem micro-sites com as listas de livros dos vários editores Existe controlo de stock José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software Os livros tem associada informação sobre quem o escreveu e a suacategoria bibliográficaOs livros no site tem associados comentários dos leitores e de críticaespecializadaO utilizador compõem um carrinho de compras com os livros que quercomprar Guarda-se sempre o histórico das ordens de compra efectuadas A compra pode ser feita recorrendo a diversos modos de pagamento É possível efectuar opções de pesquisa dos livros Etc.

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software178Exemplo (uma loja online de livros) - 1ª versão

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software179Exemplo (uma loja online de livros) - 2ª versão

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software180Exemplo (uma loja online de livros) - versão final

181Exemplo: uma bibliotecaModelo de DomínioBibliotecanomemoradatelefone1José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas SoftwarePublicaç ãoAutor*nomenacionalidadeSó se consideraa existênciadma instância1**isbnnº de patrimóniotítulo* anoeditoradata de aquisiçãocustocontador de consultas/ estado : efonedata de inscriçãovalidade da inscriçãoestado : (a cti vo ,inactivo)11**Requisiçãonúmerodata de requisiçãoprazo de devoluçãodata de devolução

182Exemplo: uma bibliotecaJosé Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas SoftwareModelo de implementaçãoEste é o modelo (de implementação) correcto?

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software183Exemplo: Fábrica automática distribuída

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software184Identificação dos Use CasesUse cases do operador da fábrica

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software185Identificação dos Use CasesAglutinação de use cases (poderiam ser expandidos) utilização de extend não é a solução ideal!

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software186Identificação dos Use CasesAlguns actores são sistemas externos

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software187Diagrama de classes conceptual

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software188Diagrama de classes (especificação)

José Creissac Campos - António Nestor RibeiroDesenvolvimento de Sistemas Software189Diagrama de classes de contexto

Modelo de Domínio (cont.) Aspectos fundamentais no processo de construção do modelo de domínio: O foco é colocado nos objectos do mundo real (do domínio do problema) Devem-se escolher as classes que sejam abstracções de entidades do modelo de domínio O modelo de domínio é a primeira versão do diagrama de classes