Buscar

Modelagem de Dominio

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Análise e Projeto de Sistemas OOAnálise e Projeto de Sistemas OO
Modelagem de Modelagem de 
DomínioDomínioDomínioDomínio
Diagrama de ClasseDiagrama de Classe
Apresentação 
§ Modelagem de domínio
§ Derivação do modelo de domínio 
de um sistema
vDiagrama de classes
Modelagem de domínio 
§ O termo domínio é utilizado para denotar 
ou agrupar um conjunto de sistemas ou de 
áreas funcionais que exibam funcionalidades 
similares. 
§ Exemplos de domínio incluem:§ Exemplos de domínio incluem:
v Domínio de Telecomunicações 
v Domínio Logístico Atacadista 
v Domínio Bancário 
v Domínio de Seguros de Saúde 
v Domínio Acadêmico Escolar 
Modelo de domínio – características gerais 
§ Um modelo de domínio é um artefato 
comum em várias metodologias
vRUP ou métodos ágeis
§ Usado para expressar um determinado 
domínio, normalmente em linguagem 
UML. 
Modelo de domínio – características 
específicas 
1. Um modelo de domínio é um produto da 
modelagem de negócios
v Representa, em certa escala, o negócio sendo 
modelado e compreendido. 
2. Deve ser realizado inicialmente pelos 2. Deve ser realizado inicialmente pelos 
analistas de negócios e usuários do 
projeto, e revisado e complementado pelo 
máximo de participantes de um projeto. 
n O modelo de domínio deve ser um artefato 
colaborativo, compartilhado por todo o time do 
projeto. 
Modelo de domínio – características 
específicas 
3. Um modelo de domínio captura o vocabulário 
do sistema ou negócio sob modelagem. 
n Exemplo: um modelo de domínio de um sistema 
acadêmico de uma faculdade irá possuir os elementos 
Aluno, Professor, Curso, Disciplina ou Matrícula, entre 
diversos outros. diversos outros. 
4. Um modelo de domínio é uma representação 
lógica e estrutural de elementos do domínio 
e seus relacionamentos. 
n Um diagrama de classes UML possui os elementos 
necessários para esta estruturação. 
n Os conceitos de classes, associações e generalizações 
são suficientes para estruturar um modelo de domínio. 
Modelo de domínio – características 
específicas 
5. Um modelo de domínio expressa uma 
visão conceitual preliminar acerca de 
um sistema
6. Um modelo de domínio deve ser feito no 
começo do projeto.começo do projeto.
7. O objetivo do modelo de domínio é 
capturar o negócio e servir de insumo para 
a geração de modelos mais formais como o 
diagrama de classes ou o DER e depois o 
código executável.
Modelo de classes de um domínio
§ Representar classes de domínio do 
negócio significa:
v Descrever cada problema
representado pelos casos de uso, do 
sistema a ser desenvolvido, sem sistema a ser desenvolvido, sem 
considerar características da solução, 
tais como:
l Tecnologia a ser utilizada;
l Linguagem de programação;
l Ferramentas de desenho de telas e 
relatórios.
Identificação de classes
§ Classes
v Uma classe é uma descrição de um 
conjunto de objetos que compartilham 
os mesmos atributos, operações, os mesmos atributos, operações, 
relacionamentos e semântica
v Classes bem-estruturadas formam uma 
parte de uma distribuição equilibrada 
de responsabilidades em um sistema
Identificação de classes
§ Representação de classes
v Uma classe é representada graficamente 
como um retângulo
v Características das classes: atributos, 
operações e responsabilidadesoperações e responsabilidades
v Notação
Nome da ClasseNome da Classe
Atributos da Classe
Operações da Classe
Identificação de classes
§ Representação de Classes
v Podem ser exibidos somente os compartimentos 
desejados segundo o nível de abstração requerido 
no momento
v Os nomes das classes são substantivos ou 
expressões breves, definidos a partir do vocabulário expressões breves, definidos a partir do vocabulário 
do sistema cuja modelagem está sendo feita.
Identificação de classes
§ Passos para facilitar a identificação de 
classes do sistema:
v Estude o domínio da aplicação
Faça uma observação geral no ambiente real v Faça uma observação geral no ambiente real 
onde existe o problema
v Procure ouvir atentamente os especialistas do 
domínio do problema
v Observe outros sistemas no mesmo domínio ou 
em domínios semelhantes
Identificação de classes
§ Heurísticas para descobrir potenciais 
candidatos a classes
v Entidades que são parte do domínio de informação do 
problema
v Ocorrências ou eventos que precisam ser registrados e v Ocorrências ou eventos que precisam ser registrados e 
lembrados pelo sistema
v Papéis desempenhados pelas diferentes pessoas que 
interagem direta ou indiretamente com o sistema
v Unidades organizacionais que possam ser relevantes 
para o sistema
v Locais físicos e geográficos importantes no sistema
Exemplo: locadora de vídeo
§ Controle de Acervo
v Título
v Fita
v Classe
Coisas que são parte do 
domínio de informação do 
problemav Classe
v Categoria
v Distribuidor
v Funcionário
problema
Papéis desempenhados 
pelas pessoas
Exemplo: locadora de vídeo
§ Atendimento a Clientes
v Cliente
v Locação
v Reserva Eventos ou ocorrências de ações que precisam ser registradas pelo sistema
Papéis desempenhados pelas pessoas
v Reserva
v Pagamento
v Cheque Coisas que são parte do 
domínio de informação do problema
precisam ser registradas pelo sistema
Identificação de classes
§ Uma boa classe capta uma, e apenas uma, 
abstração. Ela deve ter um tema principal.
v Ex: Uma classe que mantem as informações do 
aluno e mais as disciplinas que ele cursou não é aluno e mais as disciplinas que ele cursou não é 
uma boa classe. => crie duas classes :
Aluno + DisciplinaCursada
Exercício
§ Identifique Classes nos Problemas:
v Sistema acadêmico
v Pet shop
Especificação de atributos
§ Atributos
v A estrutura de uma classe é representada por seus 
atributos
v Atributos podem ser encontrados pelo exame das 
definições de classes, requisitos de problemas e definições de classes, requisitos de problemas e 
pela aplicação do conhecimento do domínio
Cada aluno possui um 
nome e um número de 
matrícula
Aluno
nroMatricula
nomeAluno
Especificação de atributos
§ Uma classe pode ter qualquer numero de 
atributos ou mesmo nenhum atributo.
§ Os atributos podem ser representados exibindo 
apenas o seu nome.
§ O nome de um atributo pode ser um texto, como § O nome de um atributo pode ser um texto, como 
os nomes das classes, o nome de um atributo é 
um substantivo ou expressão que, breve, 
representa alguma propriedade da classe 
correspondente.
Operações
§ Operações
v Uma operação é uma abstração de algo que pode 
ser feito com um objeto e que é compartilhado por 
todos os objetos dessa classe
l É a implementação de um serviço que pode ser solicitado por algum 
objeto.
v Uma classe pode ter qualquer número de 
operações ou até nenhuma operação
Exemplo
§ Classe ContaBancária 
Identificação de relacionamentos
§ Relacionamentos entre classes
v Classes colaboram umas com as outras através de 
relacionamentos
v Um relacionamento é uma conexão entre itens
v Relacionamentos apresentam caminhos para a v Relacionamentos apresentam caminhos para a 
comunicação entre os objetos
v Há três tipos de relacionamentos:
l Associação (incluindo Agregação)
l Generalização
l Dependência
Identificação de relacionamentos
§ Associações:
v Uma associação é um relacionamento estrutural que 
especifica objetos de um item conectados a objetos de 
outro item
v São válidas associações entre objetos de uma mesma v São válidas associações entre objetos de uma mesma 
classe
v Uma associação é representada graficamente como 
uma linha sólida conectando a mesma classe ou 
classes diferentes
Identificação de relacionamentos
§ Associações e multiplicidades:
v Associações são conexões normalmentebidirecionais 
entre as classes (binárias)
v É possível ter associações conectando mais que duas v É possível ter associações conectando mais que duas 
classes (n-árias)
v Multiplicidade indica quantos objetos podem participar 
de um dado relacionamento, ou seja, ela indica as 
fronteiras inferior e superior para os objetos 
participantes
Construindo um diagrama de classes
§ Na fase de análise constrói-se primeiramente 
um diagrama de classes sem se preocupar em 
definir os métodos, ao qual chamaremos de 
Modelo Conceitual
§ Na fase de projeto os métodos são adicionados 
e o Modelo Conceitual é refinado gerando o 
Diagrama de Classes
Modelo Conceitual
§ Representação de conceitos no domínio do
problema
§ Deve mostrar: conceitos, associações entre§ Deve mostrar: conceitos, associações entre
conceitos e atributos de conceitos (na fase de
análise, não se preocupa ainda em representar
métodos os serviços)
Criando um diagrama de classes –
Perspectiva Conceitual
1. 1. Liste os conceitos candidatos para os casos
de usos em questão usando a lista de
categorias comuns e identificação textual de
nomes.
2. Desenhe-os em um modelo conceitual.
3. Adicione as associações necessárias para
registrar os relacionamentos para os quais é
preciso preservar alguma memória
4. Adicione os atributos necessários para cumprir
os requisitos de informação.
Identificando Conceitos
§ É uma entidade (idéia, coisa ou objeto) do 
mundo real.
§ Um bom modelo conceitual deve superestimar 
o número de conceitos.o número de conceitos.
§ Os conceitos são associados ao estereótipo de 
classe << entidade >>
v um estereótipo para uma classe UML é um 
classificador que mostra o tipo ao qual a 
classe pertence.
Identificando Conceitos (Entidades) –
Regras Úteis
§ É melhor especificar demais do que de menos
§ Não exclua entidades simplesmente porque os
requisitos não indicam a necessidade de guardar
informações sobre eles (comum em projeto de
BD)BD)
§ Comece fazendo uma lista de entidades
candidatos a partir de um checklist.
§ Considere os substantivos e frases nominais nas
descrições textuais do domínio do problema como
possíveis candidatos a entidades ou atributos
Checklist: Classes Entidades Típicas
Classes Entidades Típicas
Identificando Entidades a partir dos 
Casos de Uso
Entidades de Relatório
§ Não incluir no modelo conceitual quando:
vToda informação contida no relatório é 
derivada de outras fontes
§ Incluir no modelo conceitual quando:§ Incluir no modelo conceitual quando:
vRelatório tem um papel especial em termos 
das regras de negócio
l Ex.: Recibo de venda dá direito à devolução dos itens 
comprados

Outros materiais