9 modelo de dominio
TRANSCRIPT
Engenharia de Software
Modelo de Domínio
Prof. Marcelo de Barros
Modelo mais importante e clássico em análise OO
Demonstra importantes conceitos em um domínio
Serve como base para projetar alguns objetos do software
Uma técnica para descrever as informações que o sistema vai gerenciar
Também conhecido como modelagem conceitual
No Processo Unificado, é opcional
Introdução
Conceito:◦ Representação visual de classes conceituais, ou objetos do
mundo real, em um domínio◦ Classes conceituais: Ideia, uma coisa ou um objeto
No Processo Unificado, corresponde a uma representação de classes conceituais do mundo real, não de objetos de software◦ Pode ser criado na disciplina de Modelagem de Negócios
Introdução
Quando aplica-se a UML, é ilustrado por:◦ Conjunto de diagrama de classes em que nenhuma operação é
definida◦ Fornece uma perspectiva conceitual
O que pode mostrar?
Modelo de Domínio
Conceitos◦ Informações complexas
Atributos◦ Informações simples
Um número, uma cadeia de caracteres, uma data
Relacionamentos◦ Relacionamentos entre conceitos
Elementos Básicos de um Modelo de Domínio
Passos:
◦ 1. Encontrar as classes conceituais
◦ 2. Fazer o desenho como classes em um diagrama de classes da UML
◦ 3. Acrescentar associações e atributos
Criando um Modelo de Domínio
Encontra-se classes Conceituais através da identificação de substantivos ou frases nominais
Passos:◦ Verificar o texto dos casos de uso expandidos◦ Selecionar termos que representam informação transmitida do
e para o sistema◦ Agrupar sinônimos◦ Utilize a técnica de selecionar substantivos e frases nominais
1 - Encontrando Classes Conceituais
Casos de uso no formato completo fornecem excelentes descrições a serem usadas como fontes
Exemplo: Caso de Uso Emprestar Fitas
1 - Encontrando Classes Conceituais
Caso de Uso: Emprestar Fitas
a) Cliente – conceitob) Balcão – conceito irrelevante (fora do escopo do sistema)c) Fitas – conceitod) Locação – conceitoe) Nome do cliente – atributo do clientef) Funcionário – conceito irrelevante (fora do escopo do CDU Emprestar fitas)g) Data de devolução – atributo de locaçãoh) Valor total da locação – atributo de locaçãoi) Empréstimo – sinônimo de locaçãoj) Cadastro – sinônimo de cliente
Conceitos e Atributos
Representação:
2 – Desenhando Classes Conceituais
Modelando os conceitos do
Caso de Uso Emprestar fita
Diagrama de modelo do
Caso de Uso Emprestar fita
Relacionamento entre classes que indica alguma conexão significativa e de interesse
3 - Acrescentar Associações ao Modelo
Tipos de Relacionamentos
Representa ocorrência de herança entre as classes◦ Ocorre quando existem duas ou mais classes com
características muito semelhantes◦ Cada subclasse herda as características de sua superclasse
Generalização
Relacionamentos entre classes que permitem que elas compartilhem informações entre si
Relacionamento estático entre dois conceitos que indica alguma conexão significativa e de interesse.
Envolve conexões entre as instâncias
Operações: Ato de transformar a informação, passando de um estado para outro, mudando, por exemplo, a configuração das associações, destruindo e/ou criando novas associações ou objetos, ou modificando o valor dos atributos
Associações
Associações
Associações
Procure observar cada conceito complexo e se pergunte se a informação representada por ele é completa
Se não for, deve-se criar uma associação entre este conceito e outro(s) conceito(s) de forma a complementar a informação necessária para que o conceito faça sentido
Detalhes:◦ Não se deve colocar no modelo conceitual os atributos que
representam “chaves estrangeiras”, como se fosse uma tabela de banco de dados relacional
◦ Ex.: não colocar “nome do cliente” como atributo de “Empréstimo”
Encontrando Associações
Convenções das Associações
Papel:◦ Define um nome que representa o papel do conceito na associação◦ Na omissão do papel no diagrama, é assumido o nome do conceito
◦ Leitura: Pessoa possui automóvel | Automóvel é possuído por dono (Pessoa)
Associações
Papel:
◦ Leitura: Pessoa possui frota (Automóvel) | Automóvel é possuído por dono (Pessoa)
Associações
Define quantas instâncias de uma classe A podem estar associadas a uma instância de uma classe B
Associações - Multiplicidade
Exemplo:
Associações - Multiplicidade
Exemplo:
Associações - Multiplicidade
Tipo especial de associação◦ Informações de um objeto são complementadas pelas
informações em um ou mais objetos de outra classe◦ Relação todo/parte
Agregação
Variação da agregação◦ Vínculo mais forte
Objetos-partes têm de estar associados a um único objeto todo Composição define uma associação que é indivisível e não
compartilhada
Composição