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.
• Modelo conceitual NÃO está associado ao
software, mas sim ao domínio do problema
Introdução
• É exibido por um conjunto de
diagramas de estrutura estática, no
qual não se definem operações
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
Exemplo
Venda
data
hora
1
1
Pago-por
Pagamento
quantia
Diagrama Conceitual
Conceitos x Software
• Certo
• Errado
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.
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.
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
Passo 1: Isolar os substantivos
Ação do ator
Resposta do Sistema
1. Este caso começa quando o Leitor
chega ao balcão de atendimento da
biblioteca e diz ao atendente que deseja
emprestar um ou mais livros da
biblioteca..
2. O Atendente seleciona a opção para
adicionar um novo empréstimo.
.
3. O atendente solicita ao leitor sua
carteirinha, seja de estudante ou
professor.
4. O atendente informa ao sistema a
identificação do leitor.
5. O sistema exibe o nome do leitor e
sua situação.
6. O atendente solicita os livros a serem
emprestados.
7. Para cada livro, o atendente informa ao 8. O sistema informa a data de
sistema o código de identificação do livro. devolução de cada livro.
Exemplo: Biblioteca
• Lista de candidatos:
Leitor
Carteirinha
Data de devolução
Balcão
Estudante
Identificação de
leitor
Livros
Biblioteca
Professor
Empréstimo
Cód identificação
do livro
Nome do leitor
Atendente
Sistema
Opção
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.
Exemplo: Biblioteca
• Lista de candidatos:
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
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.
Exemplo: Biblioteca
Ação do ator
Resposta do Sistema
1. Este caso começa quando o Leitor
chega ao balcão de atendimento da
biblioteca e diz ao atendente que
deseja emprestar um ou mais livros da
biblioteca.
2. O Atendente seleciona a opção para
adicionar um novo empréstimo.
3. O atendente solicita ao leitor sua
carteirinha, seja de estudante ou
professor.
4. O atendente informa ao sistema a
identificação do leitor.
5. O sistema exibe o nome do leitor e
sua situação.
...
...
...
Exemplo: Biblioteca
Lista de Candidatos:
Emprestar X
Adicionar
X
Informar
X
...
Já havia sido acrescentado
Pelo substantivo Empréstimo
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.
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.
Estudo de Caso:
Conceitos no Sistema
PDV
TPV
Venda
Loja
• Como identificar conceitos em um sistema ?
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
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.
Estudo de Caso:
Identificação de Substantivos
1.
Este caso de uso
começa quando um
Cliente chega a um
ponto de pagamento
equipado com um TPV
com vários itens que
deseja comprar.
2. 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ço
do item corrente são
apresentados
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.
Conceitos candidatos para o
domínio PDV, restritos ao
caso de uso Comprar Itens
TPV
Item
Loja
Venda
Pagamento
CatálogodeProdutos
EspecificaçãodeProduto
LinhadeItemdeVenda
Caixa
Cliente
Gerente
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.
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.
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
Vôo
Destino
ou
Vôo
Aeroporto
Nome
• Em caso de dúvida, torne-o um conceito
separado
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.
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.
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
1
ou..?
Descrição
Preço
*
descreve
número série
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
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.
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.
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.
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
Associações
Capítulo 10
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”
associação
PDV
1
Registra-a-corrente
Notação: nome da associação,
multiplicidade, direção de leitura
(default, opcional)
1
Venda
Multiplicidade
zero ou mais
*
C
Muitos (as)
1..*
C
um ou mais
1..40
C
um a quarenta
5
C
exatamente cinco
3,5,8
C
exatamente três, cinco
ou oito
Critérios para incluir
associações
• Quando o conhecimento associado
necessita ser preservado por algum tempo
(minutos, dias, anos,...) (“necessário-serconhecida”)
• É 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.
Lista de Associações Comuns
• A é uma parte física de B: Gaveta-TPV, AsaAeronave
• A é uma parte lógica de B:
LinhadeItemVenda-Venda, PernadeVôoRotadeVôo
• A está fisicamente contida em/sobre B: TPVLoja, Item-Prateleira, VôoProgramaçãodeVôo
• A está logicamente contida em B:
DescriçãodoItem – Item, DescriçãodoVôoVoo
• Etc. (ver livro, seção 10.4)
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
Nomes de associações
Armazém
1
Contém
1..*
Captura
Pago-por
TPV
Venda
1
1..*
Pagamento
1
1
Associações múltiplas
entre dois Tipos
(conceitos)
Aeroportochegada
*
Vôo
voa-para
0..1
Aeroporto
voa-de
*
1
Aeroporto
-saída
Modelo conceitual para o domínio do PDV
Registra-venda-de
Descritos-por
1
Catálogo de Produtos
0..1
*
1
LinhadeItemdeVenda
quantidade
1..*
Contido-em
1
Venda
data
tempo
Paga-por
Usado-por
Descreve
*
Estoca
Item
1
*
1
*
Possui
1..*
Capturada-em
Iniciada-por
Pagamento
quantia
Especificação de Produto
descrição
preço
UPC
1
v
1
1
1..*
1
*
Loja
1..1
endereço
nome
Registra-Dados-da
1
1
Contém
TPV
1
Iniciado por
1..*
Gerente
1
1
1
Cliente
< Registra-Vendas-do
1
Caixa
Download

Estudo de Caso: Terminal de Ponto de Venda