1 / 46

Modelo Conceitual ou de Domínio Aula 07

Modelo Conceitual ou de Domínio Aula 07. Introdução. Modelo conceitual (ou de domínio) é o artefato mais importante construído na análise Mostra todos os conceitos importantes do domínio do sistema, bem como as associações entre esses conceitos.

Download Presentation

Modelo Conceitual ou de Domínio Aula 07

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. Modelo Conceitual ou de DomínioAula 07

  2. Introdução • Modelo conceitual (ou de domínio) é o artefato mais importante construído na análise • Mostra todos os conceitos importantes do domínio do sistema, bem como as associações entre esses conceitos. • Modelo conceitual NÃO está associado ao software, mas sim ao domínio do problema

  3. Introdução • É exibido por um conjunto de diagramas de estrutura estática, no qual não se definem operações

  4. Modelo Conceitual • Em UML é possível ilustrar um Modelo conceitual como sendo um diagrama de classes sem a definição de operações. • Objetos do domínio • Atributos • Associações entre os objetos

  5. Exemplo Venda Pagamento 1 1 data hora Pago-por quantia

  6. Diagrama Conceitual

  7. Certo Errado Conceitos x Software

  8. Como Identificar Conceitos ? • Alguns conceitos são bastante óbvios quando se descreve o sistema, como por exemplo os conceitos Leitor e Livro quando se fala em um sistema de Biblioteca.

  9. Como Identificar Conceitos ? • Entretanto, muitos conceitos estão geralmente implícitos e requerem uma maior maturidade do analista para descobri-los. • Por exemplo, o conceito de Empréstimo, no mesmo sistema de Biblioteca, poderia passar despercebido por um analista inexperiente, que o colocaria como uma associação entre Leitor e Livro.

  10. Como Identificar Conceitos ? • Dicas básicas: • Passo 1: Isole, no documento de requisitos ou na descrição dos casos de uso elaborados na fase anterior, todos os substantivos presentes no texto

  11. Passo 1: Isolar os substantivos

  12. Leitor Carteirinha Data de devolução Balcão Estudante Identificação de leitor Biblioteca Professor Livros Empréstimo Cód identificação do livro Nome do leitor Atendente Sistema Opção Exemplo: Biblioteca • Lista de candidatos:

  13. Como Identificar Conceitos ? • Dicas básicas: • Passo 2: Para cada substantivo • Verifique se é relacionado a assuntos importantes no domínio do sistema. • Descarte: • Os que são similares a outros conceitos já identificados, • Os que são meramente propriedades de outros.

  14. Leitor Carteirinha X Data de devolução X Balcão X Estudante Identificação leitorX Biblioteca Professor Livros Empréstimo Cód identificação do livro X Nome do leitor X Atendente Sistema X Opção X Exemplo: Biblioteca • Lista de candidatos:

  15. Como Identificar Conceitos ? • Dicas básicas: • Passo 3: Isole os verbos que poderiam ser transformados em substantivos (possivelmente com a ajuda de outras palavras). • Concentre-se nos verbos que representam ações de interesse para o sistema, ou seja, aqueles relacionados a eventos e transações que possuem informações importantes e que devem ser lembradas pelo sistema.

  16. Exemplo: Biblioteca

  17. Já havia sido acrescentado Pelo substantivo Empréstimo Exemplo: Biblioteca Lista de Candidatos: Emprestar X Adicionar X Informar X ...

  18. Como Identificar Conceitos ? • Dicas básicas: • Passo 4: Para cada candidato a conceito, verifique se ele é composto de outras partes que sejam de interesse para o sistema, mesmo que essas não apareçam explicitamente no texto. • Por exemplo, um empréstimo normalmente refere-se a vários livros emprestados em uma mesma ocasião para um mesmo leitor.

  19. Conceito • Símbolo: palavra ou imagem representando um conceito. Ex. Venda • Intenção: a definição de um conceito. Ex. Representa uma transação de compra e tem uma data e hora • Extensão: o conjunto de exemplos (instância) ao qual o conceito se aplica: Ex. Venda – 1, Venda ao Joaozinho.

  20. Estudo de Caso:Conceitos no Sistema PDV • Como identificar conceitos em um sistema ? TPV Venda Loja

  21. Estratégias para Identificar Conceitos • Lista de Categorias de Conceitos (apresentado a seguir) • Identificação de Substantivos É melhor especificar em excesso um modelo conceitual com muitos conceitos de granulosidade fina do que subespecificá-lo

  22. Conceitos • Objetos físicos ou tangíveis: TPV, Carro,Aeronave • Especificação de Projetos ou descrição de coisas: EspecificaçãodeProduto, ListadeVerificação • Lugares: Loja, Aeroporto • Transações: Venda, Pagamento, Reserva • Linha de Itens de Transações: LinhaItemdeVenda • Papéis desempenhados por pessoas: Caixa • Contêineres de outras coisas: Depósito, Armário, Aeronave • Coisas em um contêiner: Item, Passageiro • Catálogos: Catálogo de Produtos, de Peças etc.

  23. Este caso de uso começa quando um Cliente chega a um ponto de pagamento equipado com umTPV com vários itens que deseja comprar. O caixa registra o código universal do produto (UPC) de cada item. Se houver mais de um exemplar do item o caixa também pode entrar a quantidade. 3. Determina o preço do item e acrescenta informação sobre o item à transação de vendas em andamento. A descrição e o preçodoitem corrente são apresentados Estudo de Caso:Identificação de Substantivos

  24. ATENÇÃO: Alguns dos substantivos são candidatos a conceitos e outros são candidatos a atributos A linguagem natural é imprecisa e essa definição depende do conhecimento e experiência do engenheiro de software, embora haja diretrizes disponíveis.

  25. Conceitos candidatos para o domínio PDV, restritos ao caso de uso Comprar Itens TPV EspecificaçãodeProduto Item LinhadeItemdeVenda Loja Caixa Venda Cliente Pagamento Gerente CatálogodeProdutos

  26. Objetos do tipo relatório: incluir no modelo? • Um recibo é um relatório (uma saída do sistema) de uma venda. A informação nele contida é derivada de outras fontes. Esta é uma razão para excluí-lo. • Um recibo desempenha um papel especial em termos das regras do negócio. Confere ao portador o direito de retornar o item comprado. Esta é uma razão para incluí-lo. • Uma vez que retornos não estão sendo tratados neste ciclo, Recibo será excluído.

  27. Diretrizes para construir um modelo conceitual • Liste os conceitos candidatos, usando a Lista de Categorias de Conceitos e a identificação de substantivos, relacionados com os requisitos que estão sendo considerados. • Desenhe-os em um modelo conceitual. • Registre as associações para as quais há necessidade de preservar alguma memorização. • Acrescente os atributos necessários para completar os requisitos de memorização.

  28. Como identificar um atributo • Regra Prática: se você não pensa em um conceito X como um número ou um texto no mundo real, então X é provavelmente um conceito e não um atributo. • Ex. Domínio de reserva de passagens aéreas • Em caso de dúvida, torne-o um conceito separado Aeroporto Nome Vôo Destino Vôo ou

  29. Como resolver o conflito de conceitos semelhantes • TPV ou Caixa Registradora ou Registro? • Regra prática: Um modelo conceitual não é absolutamente correto ou errado, mas, sim, mais útil ou menos útil; ele é uma ferramenta de comunicação.

  30. O que acontece quando o mundo é irreal, abstrato ? • Exemplo: software de telecomunicações. • Os conceitos são então abstratos, embora relacionados ao domínio de aplicação. • Exemplo: Mensagem, Conexão, Diálogo, Roteamento, Protocolo.

  31. O Conceito de Especificação, ou de Descrição • O que aconteceria se todas as TVs de 19” fossem vendidas ? • Como fazer para saber o preço desse item de venda ? Item Descrição Preço número série Produto Item número série 1 * ou..? Descrição Preço descreve

  32. Quando utilizar especificações • Acrescente um conceito de especificação ou descrição quando: • Estiver excluindo instâncias de coisas que elas descrevem e isso resulta numa perda de informação que necessita ser mantida, devido à associação incorreta da informação com a coisa excluída • Ele reduz informação redundante ou duplicada

  33. Termos em UML • Classe é uma descrição de um conjunto de objetos que compartilham os mesmo atributos, operações, métodos, relacionamentos e semântica. • Tipo é definido da mesma forma que classe, excluindo métodos. • Uma operação é um serviço solicitado a um objeto para produzir um comportamento. • Um método é uma implementação de uma operação que especifica o algoritmo ou procedimento usado pela operação.

  34. Termos em UML (cont.) • Em UML, uma classe implementada é chamada de uma “classe de implementação” • O termo interface é definido como um conjunto de operações externamente visíveis, podendo estar associados a tipos e classes.

  35. Como o livro usa os termos • O termo “conceito” será usado para se referir a coisas do mundo real e “classe” para se referir a especificações de software. • Conceito e tipo são usados como sinônimos.

  36. Modelo de Análise • É composto dos seguintes artefatos: • Modelo de análise de casos de uso • Casos de Uso: alto nível e essencial • Diagramas de Casos de Uso • Modelo Conceitual • Diagrama da Estrutura Estática para Conceitos do Domínio • Modelo de Comportamento do Sistema • Diagrama de Seqüências do Sistema • Contratos para Operações do Sistema • Modelo de Análise dos Estados • Diagrama de Estados

  37. Associações Capítulo 10

  38. Definições • Associação é um relacionamento entre conceitos que indica uma conexão com significado e interesse. • Em UML são descritas como “relacionamentos estruturais entre objetos diferentes”

  39. associação 1 1 Venda PDV Registra-a-corrente Notação: nome da associação, multiplicidade, direção de leitura (default, opcional)

  40. Multiplicidade zero ou mais Muitos (as) * C 1..* C um ou mais 1..40 C um a quarenta 5 C exatamente cinco 3,5,8 exatamente três, cinco ou oito C

  41. Critérios para incluir associações • Quando o conhecimento associado necessita ser preservado por algum tempo (minutos, dias, anos,...) (“necessário-ser-conhecida”) • É mais importante identificar conceitos do que associações. • Excesso de associações pode tornar o modelo conceitual confuso. • Evite mostrar associações redundantes ou deriváveis.

  42. Lista de Associações Comuns • A é uma parte física de B: Gaveta-TPV, Asa-Aeronave • A é uma parte lógica de B: LinhadeItemVenda-Venda, PernadeVôo-RotadeVôo • A está fisicamente contida em/sobre B: TPV-Loja, Item-Prateleira, Vôo-ProgramaçãodeVôo • A está logicamente contida em B: DescriçãodoItem – Item, DescriçãodoVôo-Voo • Etc. (ver livro, seção 10.4)

  43. Papéis • Cada extremo de uma associação é chamado de papel. • Os papéis podem ter, opcionalmente, as seguintes propriedades: • Nome • Expressão de multiplicidade • Navegabilidade

  44. Armazém 1 1 Contém 1..* 1..* Captura Pago-por TPV Venda Pagamento 1 1 1..* 1..* 1 1 1 Nomes de associações

  45. Associações múltiplas entre dois Tipos (conceitos) Aeroporto-chegada 0..1 * voa-para Aeroporto Vôo voa-de * 1 Aeroporto-saída

  46. Modelo conceitual para o domínio do PDV Registra-venda-de Descritos-por 1 1 Catálogo de Produtos Especificação de Produto Contém 0..1 0..1 descrição * * 1 1..* 1..* preço LinhadeItemdeVenda 1 1 UPC quantidade Usado-por 1..* 1..* * * Descreve Loja * * 1..1 1..1 Contido-em Estoca endereço Item 1 1 nome Registra-Dados-da 1 1 * * 1 1 v Venda 1 1 * * data Possui tempo 1..* 1..* 1 1 Capturada-em 1 1 1 1 Iniciado por TPV Gerente Paga-por Iniciada-por 1 1 1..* 1..* 1 1 1 1 1 1 1 1 Pagamento Cliente Caixa < Registra-Vendas-do quantia 1 1

More Related