Conceitos e Relacionamentos Conceitos e Relacionamentos
Prof. Anderson Cavalcanti UFRN-CT-DCA Identificao de Conceitos Segue os seguintes princpios: Forma incremental reavaliado e incrementado a cada iterao Leva em considerao os aspectos do caso de uso em Leva em considerao os aspectos do caso de uso em considerao Tarefa: identificar as classes conceituais relacionadas com o cenrio que est sendo projetado. Estratgias para Identificar Conceitos Primeiro filtro conceitos interessantes e significativos Inicialmente prefira pecar pelo excesso Podem existir conceitos sem atributos Podem existir conceitos sem atributos Papel comportamental Lista de Categorias de Classes Conceituais Lista de Categorias de Classes Conceituais Lista de Categorias de Classes Conceituais Lista de Categorias de Classes Conceituais Como Construir um Modelo Conceitual Passos propostos: Liste as classes conceituais candidatas, usando a lista de categorias de classes conceituais Substantivos que aparecem no caso de uso atual Desenhe-os em um modelo conceitual Desenhe-os em um modelo conceitual Acrescente as associaes necessrias, para registrar os relacionamentos para os quais existe a necessidade de preservar esta informao Acrescente os atributos necessrios para completar os requisitos de informao. Como Construir um Modelo Conceitual Deve-se construir um modelo com o esprito de um cartgrafo Usar os nomes existentes no territrio Excluir as caractersticas irrelevantes No incluir coisas que no esto l Engano mais comum: criar um novo conceito ou um Engano mais comum: criar um novo conceito ou um atributo? Regra: se o conceito X, no visto simplesmente como um nmero ou um texto no mundo real, ento X provavelmente um conceito, e no um atributo Complemento de regra: em caso de dvida crie um conceito separado Modelando o Mundo Irreal Requer um alto grau de abstrao ; Existem domnios de problema em que os conceitos relacionados no so concretos: Exemplo: protocolo de comunicao; Ainda assim possvel a criao de um modelo Ainda assim possvel a criao de um modelo conceitual, basta, portanto um bom conhecimento terico sobre o domnio em questo; Exemplo: conceitos relacionados com um dispositivo de chaveamento em telecomunicaes: Mensagem, Conexo, Dilogo, Roteamento, Protocolo, etc. Adicionando Associaes A busca por associaes entre os conceitos se baseia nos requisitos de informao dos casos de uso correntemente em desenvolvimento; Uma associao um relacionamento entre conceitos que indica uma conexo com significado e interesse. Adicionando Associaes Critrios para associaes teis: Necessidade de conhecimento do relacionamento; Associaes da lista de associaes comuns; A associao tem a notao de uma linha legando os A associao tem a notao de uma linha legando os conceitos, podendo conter um nome e cardinalidade; Pode ser adicionada uma seta indicando quem deve ser o conceito dominante que tem o outro como um atributo. Lista de Associaes Comuns Lista de Associaes Comuns Lista de Associaes Comuns Lista de Associaes Comuns Associaes de Alta Prioridade A uma parte fsica ou lgica de B A est fsica ou logicamente contido em B A est registrado em B Diretrizes para Associaes Focalizar naquelas associaes para as quais o conhecimento do relacionamento precisa ser preservado por algum tempo; mais importante identificar conceitos que associaes; O excesso de associaes pode tornar o modelo conceitual confuso; Evitar associaes redundantes ou derivveis. Diretrizes para Associaes Cada extremo de uma associao chamado de papel, podendo ter opcionalmente: Nome Expresso de multiplicidade Navegabilidade Multiplicidade nos Relacionamentos 1..* 1..40 5 3,5,8 Multiplicidade nos Relacionamentos Pode acontecer associaes mltiplas entre dois tipos; Exemplo: 0..1 1 Diretrizes para Associaes Na anlise, uma associao no uma afirmao sobre o fluxo de dados; No implicam que devam ser implementadas; Forma mais comum de implementar: usar um Forma mais comum de implementar: usar um atributo que aponta para uma instncia da classe associada. Atributos no Modelo Conceitual preciso identificar os atributos necessrios para satisfazer os requisitos de informao (o que o sistema precisa saber) levantados nos casos de uso atualmente em desenvolvimento; O significado de um atributo est relacionado com o contexto deste conceito no mundo real; Um atributo representa uma caracterstica de um objeto. Notao UML para Atributos Mostrados na segunda seo da caixa que contm o contexto; Opcionalmente pode ser mostrado o seu tipo. Atributos Vlidos Comumente tipo de dados simples tipos de dados primitivos Boolean, Date, Number, String (Text, Time); O atributo no deve representar um conceito complexo prefira associao entre conceitos. Atributos Vlidos Outros tipos comuns incluem: Endereo, Cor, Entes Geomtricos (Ponto, Retngulo,...), Nmero de Telefone, Nmero de Seguridade Social, Cdigo Universal de Produto (UPC), CEP, tipos enumerados; Os atributos NO so usados para relacionar conceitos no modelo conceitual, como a idia de chave estrangeira na modelagem de banco de dados relacionais. A implementao do relacionamento ir garantir esta relao. Tipos de Atributos No-primitivos Represente o que inicialmente pode ser considerado um tipo de dado primitivo (tal como um nmero ou uma string) como um tipo no-primitivo se: Ele composto e sees separadas. Nmero de telefone, nome de pessoa. Existem operaes que so usualmente associadas a ele, tais Existem operaes que so usualmente associadas a ele, tais como anlise sinttica ou validao. CPF, nmero de registro na previdncia social (INSS). Ele tem outros atributos. Um preo promocional pode ter uma data de incio e uma data de fim. Ele uma quantidade com uma unidade. Quantia paga tem uma unidade monetria. Tipos de Atributos No-primitivos Exemplos de tipos no-primitivos no sistema do PDV: UPC (nmero e dgitos verificadores) Quantia (valor e unidade monetria) Endereo (rua, nmero, bairro, etc.) Endereo (rua, nmero, bairro, etc.) Esses tipos so valores de dados puros value objects objetos-valor assim podem ser mostrados na caixa de atributos, em vez de relacionados por uma linha de associao. Tipos de Atributos No-primitivos As classes que definem os value objects tambm sero implementadas durante o projeto Tipos de Atributos No-primitivos H a possibilidade de representar no modelo conceitual os tipos no primitivos como caixas de conceito separadas, isto vai depender do destaque que voc quiser dar a ele. Modelando Atributos de Quantidades e Unidades Um esquema mais robusto e flexvel, em atributos como Pagamento e Velocidade, representar alm do valor a unidade utilizada. um requisito comum que as unidades necessitem ser convertidas. Modelando Atributos de Quantidades e Unidades Alguns atributos so claramente exigidos pela leitura de: Especificao de requisitos; Casos de uso que esto sendo considerados; Simplificaes. Esclarecimentos e documentos sobre suposies assumidas. suposies assumidas. Exemplo: necessrio registrar a data e a hora de uma venda o conceito Venda exige os atributos data e hora. Os atributos no-bvios podem no ser identificados na fase de anlise, sendo apenas suscitados na fase de projeto e de construo. Atributos do Sistema de PDV Pagamento quantia a fim de determinar se foi fornecido um pagamento suficiente e para calcular o troco, deve ser capturada uma quantia (quantia fornecida). EspecificacaodeProduto EspecificacaodeProduto descrio a fim de mostrar a descrio em uma tela ou em um recibo. UPC a fim de procurar uma EspecificaodeItem, dado um UPC fornecido, necessrio relacion-la a um valor de UPC. preo a fim de calcular o total da venda e mostrar o preo da linha de item. Atributos do Sistema de PDV Venda data, hora um recibo um relatrio em papel de uma venda. Normalmente mostra a data e o instante da venda. LinhadeItemdeVenda LinhadeItemdeVenda quantidade a fim de registrar a quantidade entrada, quando existir mais de um item em uma linha de item de venda. Loja endereco, nome o recibo requer o nome e o endereo da loja. Atributos do Sistema de PDV Multiplicidade de LinhadeItemdeVenda em relao a Item: possvel para um caixa receber um grupo de itens iguais (6 pacotes de biscoito), entrar o UPC apenas uma vez e uma quantidade; uma vez e uma quantidade; Uma LinhadeItemdeVenda individual pode estar associada a mais de uma instncia de item; Quantidade capturada pelo atributo quantidade. Modelo Conceitual do PDV Referncias ALLEIXO, F. Notas de aula da disciplina de Anlise e Projeto Orientado a Objeto, CEFET/RN, 2007. SCOTT, K. O Processo Unificado Explicado. Ed. Bookman, 2003.