Post on 17-Apr-2015
11 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
9. Modelo conceitual (diagrama conceitual de 9. Modelo conceitual (diagrama conceitual de classes)classes)
9.1 Conceitos9.1 Conceitos9.2 Associações9.2 Associações9.3 Atributos9.3 Atributos
Objetivo: compreender e aplicar um modelo Objetivo: compreender e aplicar um modelo conceitual conceitual
Aluno Professor
ensina*1..*
22 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• Um modelo conceitual mostra os conceitos significativos PARA QUEM MODELA o sistema no domínio de uma determinada atividade
• É necessário que sejam identificados conceitos adequados a partir da investigação de um problema para que o projeto e a implementação sejam feitos também de forma mais adequada
• Uma série de esforços (dicas) devem ser despendidos pelo MODELADOR para a construção do modelo conceitual
• DICA 1: deve-se ter um esforço para pensar no modelo conceitual como uma representação de coisas do mundo real e nunca como componentes de software
33 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• DICA 2: o modelo conceitual é sempre feito a partir dos casos de uso
• O modelo conceitual trata de conceitos, associações entre conceitos e atributos de conceitos
• Exemplo dos pontos de venda que pode partir de diversos pontos de vista de caso de uso
44 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
55 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• 9.1 Conceitos9.1 Conceitos
• Conceitos são idéias, coisas ou objetos– Mais especificamente
• Símbolos – palavras ou imagens representam conceitos• Intenções – definições de conceitos• Extensões – conjunto de exemplos aos quais o conceito se
aplica
• Por exemplo, “colocar material na página” é um evento cujo símbolo eu posso escolher “material”?
• DICA 3: a análise deve sempre ser orientada a objetos. Cuidado para não dividir por funções!!
66 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
77 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• DICA 4: Estratégias para se identificar conceitos a partir de um caso de uso– Principal: especificar muitos conceitos (SEM PENA!!!!!)– Enfoque 1 – Criar um modelo conceitual a partir de uma lista de
categorias de conceitos
Categoria de conceitoCategoria de conceito ExemplosExemplos
Objetos físicos ou tangíveis POST
Especificação de projeto ou descrição de objeto EspecificaçãodeProduto
Lugares Loja
Transações Venda, Pagamento
Linhas de itens de transações LinhadeItemdeVenda
Papéis Caixa
Contêineres Depósito, armário
Objetos dos contêineres Item
Outros sistemas SistemadeCartãodeCrédito
88 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
Categoria de conceitoCategoria de conceito ExemplosExemplos
Substantivos abstratos Fome
Organizações DepartamentodeVendas
Eventos Venda, Roubo, Reunião
Processo VendendoumProduto
Regras e estratégias PolíticadeReembolsos
Catálogos CatálogodeProdutos
Registros Recibo, DiáriodeCaixa
Serviços LinhadeCrédito
Manuais, livros ManualdoEmpregado
– Enfoque 2 – Criar um modelo conceitual a partir da identificação de substantivos
• CUIDADO: não trabalhar mecanicamente!
99 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• Exemplo na sequência de eventos do caso de uso Comprar Itens
Açao do AtorAçao do Ator Resposta do SistemaResposta do Sistema
1. Este caso de uso começa quando um Cliente chega a um ponto de pagamento com POST, com vários itens que deseja comprar
2. O caixa registra o Código Universal de Produto (UPC) de cada item
3. Determina o preço do item e acrescenta informação sobre o item à transação de vendas em andamento
Se houver mais de um exemplar do item, o Caixa também pode entrar a quantidade
A descrição e o preço do item corrente são apresentados
1010 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• DICA 5: objetos-relatórios, incluir ou não?– No caso do ponto de venda
• I) recibo é relatório de venda e mostrar relatório em um modelo conceitual não é útil porque toda a informação é derivada de outras fontes
• II) recibo tem um papel importante: dá direito ao portador de retornar itens comprados pelo mesmo
• De uma maneira geral, deve-se usar a “regra do cartógrafo”!
1111 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• ERROS COMUNS:
– 1) representar algo como atributo quando deve ser um conceito
• Dica: se você pensa em um conceito X como um número ou um texto no mundo real, provavelmente é um conceito e não um atributo
– 2) ignorar conceitos de especificação• Dica: no mundo real, uma especificação é algo que não é
necessariamente intrinseco a um objeto, já que, se assim fosse, se os objetos acabassem, as epecificações acabariam também
1212 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• 9.2 Associações9.2 Associações
• Associações são relacionamentos entre conceitos com algum significado para o domínio de conhecimento
• Exemplo do ponto-de-venda
1313 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• DICA 6: as associaçõe devem ser encontradas a partir de uma lista de categorias de associações comuns
Categoria Categoria ExemploExemplo
A é uma parte física de B Gaveta-POST
A é uma parte lógica de B LinhadeItemVenda-Venda
A está fisicamente em / sobre B POST-Loja
A está logicamente em / sobre B Descriçãodeitem-Catálogo
A é descrição de B DescriçãodeItem-Catálogo
A é linha de item de transação/relatório B LinhadeItemVenda-Venda
A é conhecido/logado/registrado por B Venda-POST
A é membro de B Caixa-Loja
A usa/gerencia B Caixa-POST
A é subunidade de B Departamento-Loja
A se comunica com B Cliente-Caixa
A relacionado com transação B Cliente-Pagamento
A é transação relacionada com transação B Pagamento-Venda
A é vizinho/de lado de B POST-POST
A é possuído por B POST-Loja
1414 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• DICA 7: nunca se dedicar mais a associações do que a conceitos
• DICA 8: focalizar as associações que são necessárias de ser conhecidas
• DICA 9: evitar associações redundantes e deriváveis
• Papéis: cada extremo de uma associação com:– Nome– Multiplicidade– Navegabilidade
1515 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
1616 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• Exemplo do modelo conceitual para ponto de vendas
1717 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• 9.3 Atributos9.3 Atributos
• Valores de dados lógicos de um objeto
• DICA 10: colocar atributos para os quais os requisitos indicam que as informações devem ser memorizadas
• Exemplo para ponto de venda
1818 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• DICA 11: como diferenciar atributos de associações– Deixar os atributos simples
1919 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
– Identificados como aqueles para os quais uma entidade única não faz sentido
– Em nehuma hipótese definir atributo como chave estrangeira
• DICA 12: pensar o modelo conceitual principalmente como uma ferramenta de comunicação
2020 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB
• Exemplo completo para o ponto de vendas