Você está na página 1de 67

UNIVERSIDADE ESTADUAL PAULISTA

INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS


DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

Modelo Conceitual

879 – Projeto e Desenvolvimento


de Sistemas de Informação
Prof. Dra. Inês A. G. Boaventura

1
Onde estamos no processo de desenvolvimento unificado:

Planejar e Elaborar Construir Implantar

Ciclo de Desen- Ciclo de Desen-


...
volvimento 1 volvimento 2

Refinar Sincronizar
Analisar Projetar Construir Testar
Plano artefatos

2
Atividades da Fase Analisar
Refinar Sincronizar
Analisar Projetar Construir Testar
Plano artefatos

1. Definir Casos de 2. Refinar Diagramas 3. Refinar o Modelo


Uso Essenciais de Casos de Uso Conceitual

5. Definir Diagramas de
4. Refinar Glossário
Seqüência do Sistema

6. Definir Contratos de 7. Definir Diagramas de


Operação Estado 3
Modelo Conceitual
• Mostra todos os conceitos importantes do
domínio do sistema, bem como as associações
entre esses conceitos. A idéia é fazer com que o
usuário que tem acesso a esse modelo entenda
os principais elementos do domínio que
estão envolvidos no sistema a ser desenvolvido.
• Não mostra artefatos de software ou classes.
• Ele pode mostrar: conceitos, associações entre
conceitos e atributos de conceitos.
• O modelo conceitual ajuda a esclarecer a
terminologia ou vocabulário do domínio.
4
Modelo Conceitual

• É exibido por um conjunto de diagramas


de estrutura estática, no qual não se
definem operações.

5
Exemplo

Venda Pagamento
data
1 2
hora Pago-por quantia

6
EVITAR

• Artefato de Software:
Nome da classe
refere-se à
BDdeVendas Implementação

Venda
data
hora Definição de
imprimir () comportamento

7
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.

8
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
desapercebido por um analista inexperiente,
que o colocaria como uma associação entre
Leitor e Livro.

9
Como Identificar Conceitos ?
• Sugestões 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

• Exemplo à seguir: Caso de uso Emprestar Livro

10
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 5. O sistema exibe o nome do leitor e
identificação do leitor. sua situação.
6. O atendente solicita os livros a
serem emprestados.
7. Para cada livro, o atendente informa 8. O sistema informa a data de
ao sistema o código de identificação devolução de cada livro. 11
do livro.
Exemplo: Biblioteca
Lista de candidatos:
Leitor Carteirinha Data de devolução

Balcão Estudante Etc.

Biblioteca Professor

Atendente Sistema

Livros Identificação de leitor

Opção Nome do leitor

Empréstimo Código de identificação 12


do livro
Como Identificar Conceitos ?
• Sugestões básicas:
• Passo 2: Para cada substantivo
– Verifique se é relacionado a assuntos importantes no
domínio do sistema.
– Descarte:
• Os que fogem do escopo do sistema,
• Os que são similares a outros conceitos já identificados,
• Os que são propriedades de outros substantivos.
– Lembre-se:
• Conceitos relevantes são aqueles que referem-se a
entidades que tem que ser lembradas pelo sistema:
fazem algo, sabem algo, conhecem algo. 13
Exemplo: Biblioteca
Lista de candidatos:
Leitor Carteirinha X Data de devolução X

Balcão X Estudante Etc.

Biblioteca Professor

Atendente Sistema X

Livros Identificação de leitor X

Opção X Nome do leitor X

Empréstimo Código de identificação 14


do livro X
Como Identificar Conceitos ?
• Sugestões 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. .
15
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 5. O sistema exibe o nome do leitor e
identificação do leitor. sua situação.
...

16
Exemplo: Biblioteca
Já havia sido acrescentado
Pelo substantivo Empréstimo

Lista de Candidatos:
Emprestar X
Adicionar X
Informar X
...

17
Como Identificar Conceitos ?

• Sugestões 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.
• Linha do Empréstimo é um outro conceito.
( Item do Empréstimo)

18
Como Identificar Conceitos ?
Checklist de possíveis conceitos:
• Objetos físicos ou tangíveis: Livro, Leitor, TPV
• Especificação (descrição) de coisas: EspecificaçãodeLivro,
EspecificaçãodeProduto
• Lugares: Biblioteca, Loja
• Transações: Emprestimo, Reserva, Venda, Pagamento,
• Linha de Itens de Transações: LinhaDeEmpréstimo,
LinhaItemdeVenda
• Papéis desempenhados por pessoas: Atendente, Caixa
• Contêineres de outras coisas: Estante, Depósito, Armário,
• Coisas em um contêiner: Cópia de livro, Revista, item
• Catálogos: Catálogo de Livros, Catálogo de Produtos

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

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

21
Como Identificar Atributos ?

• Substantivos sublinhados a partir do texto do caso


de uso podem ser candidatos a atributos dos
conceitos já identificados.
• Cautela: não torne o modelo conceitual muito
complexo desnecessariamente.
– limite-se a adicionar os atributos importantes para
compreender o conceito, ou atributos que serão
importantes para o futuro projeto do sistema

22
Como Identificar Atributos ?
Exemplo:

Nome do conceito

Leitor
Livro Empréstimo
idLeitor
nome idLivro dataDeDevolucao
si tuacao

Atributos do conceito
23
Associações
• Associação é um relacionamento entre
conceitos, que precisa ser lembrado pelo
sistema durante seu funcionamento
– Por exemplo, existe uma associação entre
Empréstimo e Leitor, que precisa ser
lembrada pelo sistema, pois quando o
Empréstimo termina o Leitor deve ter sua
situação regularizada.

24
Como identificar Associações?
• Algumas associações são bastante simples de serem
identificadas, bastando aplicar certas regras básicas.
Outras associações são implícitas e podem requerer
mais experiência do analista para identificá-las logo na
fase de requisitos, ou podem surgir mais adiante, na
fase de projeto.
• Cautela: incluir associações em demasia causa um
efeito indesejado, levando a um modelo confuso e
conseqüentemente com pouca legibilidade.
• Portanto, uma regra básica é evitar colocar
associações redundantes

25
Como identificar Associações?
• Regra 1: Um conceito que, fisicamente
ou logicamente, faz parte de outro. Por
exemplo, um livro que está fisicamente
armazenado em uma estante ou um Item
de Empréstimo que logicamente faz parte
do Empréstimo.

26
Como identificar Associações?

• Regra 2: Um conceito que serve para


descrever ou qualificar outro conceito.
Por exemplo, um Livro pode ser
classificado em diversas Categorias ou
por Autor; um Item de Estoque que é
descrito por uma Especificação de
Produto.

27
Como identificar Associações?

• Regra 3: Um conceito que é responsável


por registrar ou manter informações
sobre outro. Por exemplo, o Atendente é
quem registra e atende o Leitor; a
Bibliotecária é responsável pelos Livros.

28
Associações na UML
Nome da associação

registra Leitor
Atendente
idLeitor
1 0..* nome
situacao
Lê-se: Um Atendente
registra 0 ou mais
Leitores. Um leitor
é registrado por Multiplicidade da
um atendente associação

29
Associações na UML
Direção de leitura do
nome da associação

É registrado por Leitor


Atendente
idLeitor
1 0..* nome
situacao
A direção só deve ser
colocada se for da
direita para a esquerda
ou de baixo para cima.
30
Multiplicidade

* zero ou mais
C1 C2 Muitos (as)
1..* C2 um ou mais
C1

1..40 C2 um a quarenta
C1

5
C1 C2 exatamente cinco

3,5,8 exatamente três, cinco


C1 C2
ou oito 31
Associação Reflexiva

Papel

Pessoa +pai
nome
1
+filho 0..n
é pai de

32
Especialização/Generalização/
Herança
• Herança é um mecanismo que permite que
características comuns a diversos tipos sejam colocadas
em um tipo base, ou supertipo.
– A partir de um tipo base, outros tipos podem ser especificados
(os subtipos).
– Cada subtipo apresenta as características (estrutura e atributos)
do supertipo e acrescenta a ele novas características.
– Dizemos que um subtipo herda todas as propriedades do
supertipo e acrescenta suas características próprias e
exclusivas.
– As propriedades do supertipo não precisam ser repetidas em
cada subtipo.

33
Tipos e Especialização na UML
Forno
capacidade

Microondas
A Gas Elétrico A Lenha
horario
temperatura voltagem quantMaxLenha
potencia

Acendimento com Fósforo


Analógico Digital Acendimento Elétrico

Camping
Figura A 34
Regras de Herança
• A regra “é-um” estabelece que todos os
membros do conjunto de um subtipo
devem ser membros do conjunto do
supertipo, ou seja o subtipo é um
supertipo.
– Por exemplo, podemos dizer que um
microondas digital é um forno, e por isso
possui todos os atributos (e comportamentos)
esperados de um forno.

35
Regras de Herança
• A regra dos 100% estabelece que 100% da
definição do supertipo dever ser aplicado ao
subtipo
– se o supertipo possui um dado atributo, é necessário
garantir que todos os subtipos também o possuam,
ou seja, o atributo deve fazer sentido para eles e
deve ser importante conhecer seu conteúdo.
– O mesmo vale para as associações do supertipo,
que devem ser aplicáveis aos subtipos.

36
Regras de Herança
• Por exemplo, se incluirmos o tipo
Cozinheiro no modelo da Figura A, e
associarmos esse tipo ao tipo forno,
significando que o Cozinheiro utiliza o
Forno, isso deve ser verdadeiro para
todos os subtipos, ou seja, todos os tipos
de forno devem poder ser utilizáveis por
um cozinheiro.

37
Tipos e Especialização na UML
utiliza
Cozinheiro Forno
capacidade

Microondas
A Gas Elétrico A Lenha
horario
temperatura voltagem quantMaxLenha
potencia

Acendimento com Fósforo


Analógico Digital Acendimento Elétrico

Camping
Figura A 38
Agregação
• Agregação é um mecanismo pelo qual um
tipo inclui atributos (e comportamento) de
outros tipos a ele agregados, indicando a
existência de um todo, composto por
partes.
– Um exemplo de agregação é um Fogão:
consiste de Tampa, Forno, Queimador, e
assim por diante.

39
Agregação na UML
Paine lD eC ontrol e
Fogão
1
1..6

Queimador
1..6

1 BotaoAcen dedor

1 Forno
1
capacidade
Tampa Estufa

CD Música
titulo nome
ano 1..n cantor 40
Agregação Composta
• A agregação composta ou composição
ocorre quando a multiplicidade na
extremidade do composto pode ser no
máximo 1. A notação em UML é um losango
negro

Automóvel Roda

1 4 41
Agregação compartilhada
• A agregação compartilhada, denotada em
UML por um losango vazio, denota que a
multiplicidade na extremidade do composto
pode ser maior do que um.

Pacote de Elemento
UML referencia de UML
*
42
Tipo Associativo
• É uma associação que também possui
propriedades de tipo (ou um tipo que tem
propriedades de uma associação). É mostrada
como um tipo e é ligada por uma linha tracejada a
uma associação.

Empresa +empregador +empregado Pessoa


0..n 1..n

Emprego
43
salario
Tipo Associativo
• Indícios de que um tipo associativo pode ser útil em um
modelo conceitual:
– Um atributo está relacionado com uma associação
– As instâncias do tipo associativo têm um tempo de vida dependente
do tempo de vida da associação
– Existe uma associação muitos-para-muitos entre dois conceitos, bem
como informações relacionadas à associação propriamente dita

Empresa

1
+empregador

1
Emprego possui Pessoa
oferece 1.. n salario 0.. n
+empregado
44
Modelo Conceitual Biblioteca
0..n 0..1
Reserva
corresponde a
^ 0..n período
faz situacao 0..1

corresponde a
1
0..1
Atendente 1 0..n
Leitor faz Empréstimo/Devolução
nome registra nome data do empréstimo
tipo 1 0..n situação

refere-se a > 1 Livro


1..n 0..1
titulo
autor LinhaDoEmpréstimo
1 ano
Bibliotecaria 0..n data_prevista_devolução
ISBN
nome data_entrega_real
registra editora
tipo 0..n
1
refere-se a

possui CopiaDoLivro
nro sequencial 1
0..n situacao
liberadoParaEmprestimo 45
Modelo Conceitual Elevador

46
Estudo de Caso:
Modelo Conceitual do Sistema
TPV
• Alguns Conceitos do Sistema TPV:

TPV Venda Loja

47
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 3. Determina o preço do
código universal do item e acrescenta
produto (UPC) de informação sobre o
cada item. item à transação de
vendas em andamento.
Se houver mais de um
exemplar do item o A descrição e o preço
caixa do item corrente são
também pode entrar a apresentados
48
quantidade.
Conceitos candidatos para o domínio TPV,
restritos ao caso de uso Comprar Itens

TPV EspecificaçãodeProduto
Item LinhadeItemdeVenda
Loja Caixa
Venda Cliente
Pagamento Gerente
CatálogodeProdutos transação de vendas

49
Objetos do tipo relatório:
incluir no modelo?
• Um recibo (nota fiscal) é 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.
50
Analogia com o Cartógrafo

• Use os nomes existentes no território


• Exclua as características irrelevantes
• Não inclua coisas que não estão lá.

51
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.

52
O Conceito de Especificação
(Descrição)
Item
Descrição
Preço
número série
CUP

• O que aconteceria se todas as TVs de 19” fossem


vendidas ?
• Como fazer para saber o preço desse item de venda?

Produto Item
1 *
Descrição número série
Preço descreve
CUP 53
Quando utilizar Descrições ( ou
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

54
Associações necessário-ser-
conhecido versus associações
para compreensão
• Motivação: no sistema TPV, seria necessário
registrar a associação entre o gerente e o TPV
(iniciar) ou entre o cliente e a venda (fulano é-
responsável-por venda) ?
• Modelo mínimo versus modelo que ilustra todos os
relacionamentos que possam ser concebidos ?
• Critério básico: satisfazer a todos os requisitos do
tipo necessário-ser-conhecido e comunicar
claramente uma compreensão essencial dos
conceitos importantes no domínio do problema.
55
TPV: Conceitos e Associações
Registra-venda-de
Descritos-por

1
Catálogo de Produtos Contém
1 * Especificação de Produto
1 1..*
LinhadeItemdeVenda 1
Usado-por
1..* Descreve
*
*
Contido-em 1 Loja Estoca
Item
1 Registra-dados-da * 1
v 1
* 1
Venda Possui
1
1..*
1 Iniciado por Gerente
1 capturada-em
1 TPV 0..* 1
1
Paga-por
1 < Registra-Vendas-do
Iniciada-por
1
Iniciada-por
1 1 Caixa
1
56
Pagamento Cliente
Atributo ou associação ?
Caixa
pior nome
TPVcorrente Não é um atributo simples

Caixa 1 Usa 1 TPV


melhor
nome número

57
Atributo ou associação ?
• Os atributos serão melhor definidos na fase de
projeto. Evitar “infiltrar” o projeto nesta fase. Ex.
não pensar em chave estrangeira, como em
BDs relacionais.
• Teste: faz sentido distinguir instâncias do
atributo ? Se sim, é um conceito, se não, é um
atributo. Ex. Faz sentido distinguir entre duas
instâncias do número 5 ? Da cadeia “gato” ?
• Em caso de dúvida modele como um conceito
separado

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

60
Refinar Sincronizar
Analisar Projetar Construir Testar
Plano artefatos

1. Definir Casos de 2. Refinar Diagramas 3. Refinar o Modelo


Uso Essenciais de Casos de Uso Conceitual

5. Definir Diagramas de
4. Refinar Glossário
Seqüência do Sistema

6. Definir Contratos de 7. Definir Diagramas de


Operação Estado 61
Glossário
• Um Glossário, ou Dicionário (de Dados)
do Modelo lista e define todos os
termos que requerem esclarecimento.
• Objetivos: melhorar a comunicação e
reduzir o risco de mal-entendidos.

62
Glossário
• É criado inicialmente na fase Planejar e
Elaborar.
• É continuamente aperfeiçoado em cada
ciclo de desenvolvimento.
• Pode ser usado para registrar regras
do negócio e restrições a elementos
aos quais a regra ou restrição se
aplica.

63
Exemplo: glossário para o TPV
Termo Cate- Comentários
goria
Comprar Itens caso de Descrição do processo de compra
uso de itens por um cliente em uma loja
EspecificaçãoDoProduto atributo Uma curta descrição de um Item
.descrição: Texto em uma Venda e sua
EspecificaçãodeProduto associada
Item tipo Um item à venda em uma loja

Pagamento tipo Um Pagamento em dinheiro

EspecificaçãodeProduto atributo O preço de um Item em uma


. Venda e sua especificação
64
Preço:Quantidade associada
Exemplo: glossário para o TPV
Termo Cate- Comentários
goria
LinhadeItemdeVenda. atributo A quantidade comprada de um tipo
Quantidade:Inteiro de Item
Venda tipo Uma transação de Venda

LinhadeItendeVenda tipo Uma linha de item para um


particular Item comprado numa
Venda
Loja tipo O lugar onde ocorre venda de itens

Venda.total:Quantia atributo O total geral da Venda

65
Exemplo: glossário para o TPV
Termo Cate- Comentários
goria
Pagamento.quantia: atributo A quantidade de dinheiro fornecida
Quantidade ou apresentada para pagamento
pelo cliente
EspecificaçãodeProduto: atributo O código universal de produto to
UPC item e sua EspecificaçãodeProduto
...

66
Próximo Assunto
Refinar Sincronizar
Analisar Projetar Construir Testar
Plano artefatos

1. Definir Casos de 2. Refinar Diagramas 3. Refinar o Modelo


Uso Essenciais de Casos de Uso Conceitual

5. Definir Diagramas de
4. Refinar Glossário
Seqüência do Sistema

6. Definir Contratos de 7. Definir Diagramas de


Operação Estado 67

Você também pode gostar