modelagem conceitual descreve a informação que o sistema vai gerenciar
TRANSCRIPT
Modelo Conceitualartefato do domínio do problema e não do domínio da solução não deve ser confundido com a arquitetura do software
Como Encontrar Conceitos e Atributos
Verificar o texto dos casos de uso expandidosSelecionar termos que representam informação transmitida do e para o sistema
Substantivos: conceitos ou atributos de conceitoAdjetivos: atributos de conceitoVerbos: relacionamentos
Observar os sinônimosNem todo substantivo -- ou adjetivo, ou verbo -- tem que ser relevanteAlguns substantivos -- ou adjetivos, ou verbos -- podem estar só implícitos no texto
Como Encontrar Conceitos e Atributos
Um conceito é complexoDefinido por
Um conjunto de atributos, possivelmente vazioUm conjunto de relacionamentos, possivelmente vazio
Um atributo de um conceito existe para compor a definição de um conceito
Caso de Uso: Emprestar Fitas Fluxo Principal:
1. O cliente chega ao balcão com as fitas que deseja locar.
2. O cliente informa seu nome e entrega as fitas ao funcionário.
3. O funcionário registra o nome do cliente e inicia a locação.
4. O funcionário registra cada uma das fitas.
5. O funcionário finaliza a locação, devolve as fitas ao cliente e lhe informa a data de devolução e o valor total da locação.
6. O cliente vai embora com as fitas.
Tratamento de Exceções:
3a. O cliente não possui cadastro.
3a.1 O cliente deve informar seus dados para cadastro.
3a.2 O funcionário registra o cadastro.
3a.3 Retorna ao fluxo principal no passo 3.
3b. O cliente possui pendências no cadastro (locação anterior não foi paga).
3b.1 O cliente paga seu débito.
3b.2 O funcionário registra a quitação do débito, eliminando assim a pendência.
3b.3 Retorna ao passo 3.
4a. Uma fita está reservada para outro cliente.
4a.1 O funcionário informa que a fita não está disponível para locação.
4a.2 Prossegue a locação do passo 4 sem incluir a fita reservada.
4b. Uma fita está danificada.
4b.1 O funcionário informa que a fita está danificada.
4b.2 O funcionário registra que a fita está danificada.
4b.2 O funcionário verifica se existe outra fita disponível com o mesmo filme.
4b.3 Se existir, o funcionário substitui a fita e segue no passo 4, senão segue do passo 4 sem incluir a fita danificada.
Relacionamentos e Associações
Relacionamento: entre conceitos, complementando a informação que se tem sobre eles em um determinado instanteAssociação: entre objetos, correspondendo a um relacionamento entre os conceitos respectivos dos objetos
Como encontrar relacionamentos
Procure observar cada conceito complexo e se pergunte se a informação representada por ele é completa Se não for, deve-se criar um relacionamento entre este conceito e outro(s) conceito(s) de forma a complementar a informação necessária para que o conceito faça sentido
Exemplo: Aluno Está_matriculado_em CursoVerbos, nos casos de uso expandidos
Conceitos Dependentes e Independentes
Conceitos Dependentes: precisam estar ligados a outros conceitos para fazer sentido
Exemplo: Compra (Pessoa Compra Automóvel)Conceito associativo
Conceitos Independentes: não precisam estar ligados a outros conceitos para fazer sentido
Exemplo: Pessoa
Uma Crítica ao ModeloAtributo valorTotal
Não poderia ser deduzido do preço das fitas locadas por um empréstimo?Se, ao contrário, multas fossem incluídas, isso não está claro
Multa deveria ser um objeto de primeira classeDeveria haver flexibilidade de cobrança
Negociar com um cliente (especial) um preço especialNegociar com um cliente (especial) um prazo especialIdem para o prazo
Uma Solução para a Crítica
Preço passa a ser também atributo de empréstimoPrazo passa a ser também atributo de empréstimoVer o slide seguinte
Entretanto, ainda insiste com valorTotal, que não está bem explicado
Mais Crítica ao ModeloEmpréstimo e ítem de empréstimo poderiam ser melhor explicados via um relacionamento de composiçãoVer o slide seguinte
Lembre-se que a multiplicidade 1 no lado todo pode ficar implícita
Conceito Devolução?Ele deve ser necessário, porque devoluções podem ser feitas com atraso
E aí tem multa ...Multa poderia ser um conceito, relacionado com devolução
Organização de ConceitosEstrutural: representando relações de generalização estrutural de conceitos, como por exemplo, Pessoa, generalizando Homem e Mulher Associativa: representando relações de papéis associativos entre conceitos, como, por exemplo, Pessoa, podendo representar junto a uma empresa o papel de Cliente ou Funcionário Temporal: representando relações entre estados de um conceito e o conceito em si, como, por exemplo, Pessoa e os estados: Criança, Jovem, Adulto e Idoso
Não use generalização se...
As especializações (subclasses) não estiverem em exclusão mútua
Não pode haver transição de uma subclasse para outraTransição caracteriza um conceito temporal, que deve ser tratado adequadamente
Tipos de TransiçãoTransição estável
Os diferentes estados de um objeto não afetam sua estrutura, mas apenas, possivelmente valores de atributos
Transição monotônica O objeto passa de um estado para outro e à medida que muda de estado vai *ganhando* novos atributos ou associações
Transição não-monotônica O objeto *perde* atributos ou associações à medida que muda de estado, e ainda *ganha* como para transições monotônicas
Transição EstávelOs diferentes estados de um objeto podem ser determinados através de um simples atributo
PessoaFaixa de Idade
Transição Não-Monotônica
Problema: o aspecto temporal não fica claro – em andamento concluído
0..1
0..1