1 / 60

Modelagem Conceitual

Modelagem Conceitual. Professor: Leandro Chernicharo. Relembrando …. Relembrando …. Nível externo. Nível interno. Nível conceitual. Arquitetura dividida em três níveis :. Relembrando …. Nível externo  o mais próximo do usuário final: aplicações , resultado de consultas , etc.;

jemma
Download Presentation

Modelagem Conceitual

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ModelagemConceitual Professor: Leandro Chernicharo

  2. Relembrando…

  3. Relembrando… Nívelexterno Nívelinterno Nívelconceitual Arquiteturadivididaemtrêsníveis:

  4. Relembrando… Nívelexternoo maispróximo do usuário final: aplicações, resultado de consultas, etc.; Nívelinternotrata de comoos dados serãoefetivamentearmazenados: tipos, algoritmos, discos, etc.; Nívelconceitual é o modeloquereflete o banco de dados, abstraindosuaimplementação, preocupando-se apenas com a informaçãoemsi.

  5. Modelagemconceitual

  6. Modelagemconceitual objetos(Diagrama de Classes) É uma das etapas do Projeto de Banco de Dados; Representa a visão dos dados a seremarmazenadasabstraindosuaimplementaçãofísica; Apresentaumavisãoestática do sistema; Pode ser baseadoementidades(MER) ouem

  7. Modelagemconceitual Conjunto de Requisitos ModelagemConceitual ProjetoLógico de Dados ProjetoFísico de Dados BD BD BD Etapas do Projeto de BD:

  8. Modelagemconceitual “Um modelo de classes de domínio é uma representação das classes conceituais do mundo real, não dos componentes do software. Ele não é um conjunto de diagramas descrevendo as classes do software ou objetos do software e suas responsabilidades” [LARMAN, Craig, Utilizando UML e Padrões, 2a ed.]

  9. Modelagemconceitual Modelagemconceitual de dados é o processo de criação de um modeloconceitual de dados a partir dos requisitosextraídospara um determinadoartefato de software.

  10. Modelagemconceitual

  11. Um exemplo

  12. Um exemplo “Quem” alas admitidos pacientes doenças tratamento especialidade atende sexo “O que” “como” Um hospital possui um número de , nas quais os são , suas tratadas, e das quais são liberados após o . Cada ala a uma e admite pacientes do feminino ou masculino (não há alas mistas). […]

  13. Um exemplo “Quem” 1 Ala Paciente 0..* nome sexo sexo 1 atende realiza 0..* 1 Tratamento Pertence a Especialidade Data_inicio Data_fim 1..* nome 1..* “O que” 0..* engloba 1..* Doenca “como” trata 1..* nome

  14. Um exemplo • Resumindo: • As informaçõesparaconstrução do modelopodemvir do minimundoou das descrições de caso de uso (maiscomum); • O modeloconceitualabstraicompletamentequalquertipo de implementação, concentrando-se apenasnarepresentaçãológica do negócio; • Serve comoestrutura fundamental paratodo o desenvolvimento do sistema.

  15. Construindo o modelo

  16. Construindo o modelo Análise • Ferramenta: Diagrama de Classes da UML • Existeemtrêsníveis de abstração • A • Projeto • Implementação • Estrutural Representa as classes e suasrelações • Estático  Nãoapresentainformações de interações entre osobjetos

  17. Construindo o modelo No nível de análise, representamosapenas as classes quetenhamrelação com o domínio de problema, abstraindorecursos e decisões de projetoouimplementação; Poressemotivo, também é conhecidocomodiagrama de classes de domínio

  18. Construindo o modelo • São representados no diagrama de classes de análise: • Classes; • Atributos (semosrespectivostipos de dado); • Associações; • Simples / agregações / composições • Multiplicidades • Adornos • Generalizações/especializações

  19. Construindo o modelo • Classes • São abstraçõesquerepresentamobjetos com as mesmascaracterísticas e papéisdentro do SW; • Podepossuiratributose operações: • Atributos são as características do objeto, as informaçõesqueconhecemos a seurespeito • Operações  São oscomportamentosque o objeto é capaz de executar

  20. Construindo o modelo • Classes – Notação • Representadapor um retângulo com um a trêscompartimentos: • Nome daclasse • Atributos • Operações • Os nomes de classedevem ser sempreiniciados com letrasmaiúsculas e devemestar no singular. Exemplos: • Livro • Pedido • ItemPedido

  21. Construindo o modelo • Classes – Notação • Os atributos e operaçõesdeveminiciar com letrasminúsculas e, paracada nova palavra no nome, a letramaiúsculadeve ser usada. Exemplos: • numero • dataRealizacao • obterValorTotal()

  22. Construindo o modelo • Classes – Notação • As operaçõessempredevemterminar com parênteses, mesmoquenaohajaparâmetros. Exemplos: • calcularValor() • somar(a : int, b : int) : int • adicionarFuncionario(func : Funcionario)

  23. Construindo o modelo Nome daClasse Nome daClasse Nome daClasse Nome daClasse Lista de atributos Lista de operações Lista de atributos Lista de operações Pedido Pedido Pedido Pedido numero dataRealizacao obterValorTotal() numero dataRealizacao obterValorTotal() Classes – Notação (exemplos)

  24. Construindo o modelo Associações Representam a relação entre objetos de duasoumais classes; Essaligaçãosó se concretizará (ounão) durante a execução do sistema; Representada no diagrama de classes porumalinhaligandooselementosenvolvidos.

  25. Construindo o modelo Associações UmaClassepode se associar com elaprópria. A essefatodamos o nome de associaçãoreflexiva; As associaçõespossuematributosquepodemosutilizarparalhesdarmaiorsignificado, legibilidade e clareza; Essesatributossãocolocadossobreou sob a linhaquerepresenta a associação

  26. Construindo o modelo • Associações • São atributospossíveis de umaassociação: • Nome • Direção de leitura • Papel • Multiplicidades

  27. Construindo o modelo Associações Nome  dálegibilidade e significado à associação; Direção de leitura indicaparaquelado se lê o significado dado pelonomedaassociação; Papel indica o papelquedeterminadoobjetoexecutanaquelaassociação. Pode ser usadoemsubstituição do nome.

  28. Construindo o modelo Associações Multiplicidades representam as quantidadesmínima e máxima de objetos com osquais o outropodeestarligado.

  29. Construindo o modelo • Associações • A partir das multiplicidadesextraímosdoisnovosconceitos: conectividadee participação. • Conectividade define a maneiracomo se dá a associação entre as classes. • Descoberta a partir do limitesuperior de cada um dos pares de multiplicidade de umadeterminadaassociação

  30. Construindo o modelo • Associações • Participação indica a obrigatoriedadeounãodaexistênciadaligação entre osobjetosdurante a execução do sistema. • Descoberta a partir do limiteinferior de cada um dos pares de multiplicidade de umadeterminadaassociação • A participação de umaclasseemumaassociação é descoberta no extremoopostoa ondeelaestá

  31. Construindo o modelo nomedaassocição direção de leitura aloca 1 0..* Departamento Funcionario multiplicidades associação Conectividade: um paramuitos Participação de Departamento: opcional Participação de Funcionario: mandatória Associações – Notação (exemplos)

  32. Construindo o modelo contrata 1..* 1..* Organização Indivíduo É o mesmoque - contratante 1..* Organização Indivíduo - contratado 1..* Conectividade: muitosparamuitos papel Participação de Organizacao: mandatória Participação de Individuo: mandatória Associações – Notação (exemplos)

  33. Construindo o modelo participa de .. .. 1 0 * * Corrida Corredor Conectividade? muitosparamuitos opcional Participação de Corrida? mandatória Participação de Corredor? Associações – Notação (exercício)

  34. Construindo o modelo • Associações • Alémdaassociação simples (quevimosaté agora), existemdoistiposespeciais de associação: • Agregação; • Composição

  35. Construindo o modelo • Associações • Agregação e composição: • São usadas para indicarumasemântica de todo-partenarelação entre duas classes; • Podem, emqualquercaso, ser substituídasporumaassociação simples; • Seuuso é indicadoquando for necessárioenfatizar a semânticadaassociação; • Todososadornos de umaassociação simples podem ser aplicados a elas.

  36. Construindo o modelo • Associações • Agregação x Composição: • Agregação • Nestetipo de associação, as partespodem ser criadassemquehaja o todo; • Umamesmapartepodefazer parte de diversostodos; • A destruição de um nãoimplicanadestruição do outro. • Ex.: Um clubeesportivo e seussócios

  37. Construindo o modelo • Associações • Agregação x Composição: • Composição • Nestetipo de associação, háumadependência entre as classes, de tal forma que a partenãoexistesem o todo; • Os objetospartesãopertencentes a um únicotodo; • Os objetospartesãocriados e destruídospeloobjetotodo. • Ex.: Umavenda e seusitens

  38. Construindo o modelo • Associações • Agregação x Composição: • Notação • Agregação e composiçãosãorepresentados no diagrama de classes por um losangonaextremidadetodo; • Na agregação o losango é aberto; • Na composição o losango é fechado;

  39. Construindo o modelo Clube Venda Agregação 1 0..* Composição - sócio proprietário 1..* 1..* Socio ItemVenda Sempre é 1, por isso alguns autores omitem esta multiplicidade • Associações • Agregação x Composição: • Exemplo

  40. Construindo o modelo 1..* 1..* Secao Paragrafo Capitulo • Associações • Agregação x Composição: • IMPORTANTE • Pode-se construirhierarquias de associaçõesdessetipo, formandohierarquiastodo-parte; • Essetipo de associação é transitivo.

  41. Construindo o modelo Associaçõesn-árias São associaçõesqueenvolvemmais de duas classes simultaneamente (n > 2); O tipomaiscomum – oumenosincomum – dessetipo de associação é a associaçãoternária(n = 3); São representadaspor um losangoqueconecta as linhas de associação de todas as classes quedelaparticipam; Para determinar as multiplicidades de cadauma das classes, devemosanalisá-la no contextodaassociação com as demais classes participantes, simultaneamente.

  42. Construindo o modelo 1..* * Profissional Projeto 1..* Empresa • Uma empresa contrata um profissional para trabalhar em um projeto específico. • Se não houver projeto, não há a contratação; • Se não houver profissionais disponíveis, não é possível realizar o projeto; • Os profissionais só podem trabalhar no projeto se forem contratados por uma empresa. Associaçõesn-árias Exemplo:

  43. Construindo o modelo • Classe de Associação • Usada para armazenarmoscaracterísticas e operaçõesreferentes a umaassociação entre duas classes; • Ouseja, a informaçãonãopertence a umaou a outraclassedaassociação, massimà união de ambas, ao par. • Tambémconhecidacomoclasseassociativa; • Pode ser usadaemassociações com qualquerconectividade; • Pode ser usadaemumaassociaçãoternária.

  44. Construindo o modelo Emprego Só fazem sentido se houver o par, se houver a realização da associação dtContratacao salario Pessoa Empresa nome telefone razaoSocial CNPJ * * - empregado - empregador Classe de Associação Representada no diagrama de classes porumalinhatracejadaligando a classe à associação à qualela se refere;

  45. Construindo o modelo Generalização/Especialização Relacionamento entre classes do domínioquerepresentageneralidadeouespecificidade entre osenvolvidos; Pode-se dizerqueumaclasse é umaespecialização de outraquandoelaadicionaatributos, associaçõesoucomportamentos a esta; Diz-se maiscomumenteque a classeespecífica é umaextensãodaclassemaisgenérica.

  46. Construindo o modelo • Generalização/Especialização • Emsuma, diz-se queAestendeBquandoApode ser vistocomo um subtipo de B e lheadiciona novas características (atributos, associações e/ouoperações); • ContaPoupanca e ContaCorrentesãosubtipos de ContaBancaria • O nomemaiscomumque se dá a essarelação entre classes é herança; • Na herança, atributos e operaçõesquenãosejamprivadosnaclassemaisgenéricasãoautomaticamenteherdadosnas classes maisespecíficas.

  47. Construindo o modelo Generalização/Especialização Benefício do uso de herança Reuso; Malefício do uso de herança  Acoplamento; É necessáriodiscernimento e bomsenso no uso de herança no processo de modelagem; Excessoleva a acoplamentosexagerados.

  48. Construindo o modelo • Generalização/Especialização • Representamos no diagrama de classes com uma seta fechada e vazadaquevai do maisespecíficopara o maisgenérico; • Nãohálimitespara o número de classes envolvidasem um relacionamento de herança; • Pode-se criarhierarquias de classes emníveis, a priori, infinitos; • O relacionamento de herança é: • Transitivo As maisespecíficasherdam as características de todososseusascendentesdiretosnahierarquia; • Assimétrico Se Aherda de B, Bnãopodeherdar de A.

  49. Construindo o modelo Superclasse Superclasse Subclasse2 SubclasseN Subclasse1 ... Subclasse1 Subclasse2 ... SubclasseN Generalização/Especialização Notação:

  50. Construindo o modelo Generalização/Especialização Exemplo:

More Related