modelagem conceitual descreve a informação que o sistema vai gerenciar

46
Modelagem Conceitual Descreve a informação que o sistema vai gerenciar

Upload: margarida-tavares-sabala

Post on 07-Apr-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Modelagem ConceitualDescreve a informação que o

sistema vai gerenciar

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

Onde Está o Modelo Conceitual?

Elementos Básicos do Modelo Conceitual

ConceitosAtributosRelacionamentos

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.

Controladora de Sistema

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

Um Relacionamento

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

Definição de papéis

Multiplicidade de Papel

*

1

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

*

1

Sentido de Leitura

Ordenação

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

Composição

Relembrando AgregaçãoVer os dois próximos slides

Agregação (Compartilhada)

Agregação

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

Generalização (Herança)

Não use generalização se...

Não use generalização se...

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

Conceitos de Associação

Conceito TemporalTransições entre estados das instâncias (objetos) de um conceito

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 Monotônica

Uma Forma Inconveniente de Representar Estados: com

Herança

Outra Forma Inconveniente de Representar Estados: com

Restrições

Forma Mais Eficaz para Modelar Estados com Transição Monotônica

Pagamento

Transição Não-Monotônica

Problema: o aspecto temporal não fica claro – em andamento concluído

0..1

0..1

Uma solução melhor ...

O aspecto temporalestábem modelado

Classes de Especificação

Cadeia de Classes de Especificação

Problema: repetição de gênero

Especificação ortogonal

ProjetoMilestone #3

Modelagem Conceitual CompletaContratos das Operações do Sistema

Prazo: 07/05