Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/07/2015 1 UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DIAGRAMAS DE CLASSE 04/07/2015 2 REPRESENTAÇÃO DE CLASSES DIAGRAMA DE CLASSES O diagrama de classes serve de apoioapoioapoioapoio para o desenvolvimento de outros diagramas, pois: � Estabelece como as classes funcionam e se relacionamrelacionamrelacionamrelacionam; � Permite visualizar as classes que compõem o sistema. 04/07/2015 3 CLASSES As classes são representadas graficamente por retângulos incluindo seu nome, os atributos e métodos. É comum adotar um padrão para renomear, geralmente sendo um substantivosubstantivosubstantivosubstantivo singularsingularsingularsingular e com a primeira letra maiuscula. ATRIBUTOS Os atributos de uma classe são a identificação de cada objeto de uma classe. Além do nomenomenomenome o atributo deve ser o tipotipotipotipo de dado que será armazenado. � Byte; � Boolean; � Int ou double; � Char ou string. 04/07/2015 4 MÉTODOS Os métodos são as ações (comportamentos) que serão executadasexecutadasexecutadasexecutadas sobresobresobresobre osososos atributosatributosatributosatributos dasdasdasdas classesclassesclassesclasses. Os métodos são nomeados para indicar algum resultado. MÉTODOS As operações de uma classe Pessoa são diferentes dependendo do ponto de vista de quem fará a ação. PERSPECTIVAPERSPECTIVAPERSPECTIVAPERSPECTIVA DEDEDEDE UMUMUMUM BANCÁRIOBANCÁRIOBANCÁRIOBANCÁRIO:::: receber empréstimo, anexar conta, receber linha de crédito. PERSPECTIVAPERSPECTIVAPERSPECTIVAPERSPECTIVA DEDEDEDE UMUMUMUM MÉDICOMÉDICOMÉDICOMÉDICO:::: examinar, tomar remédio, ir para o hospital, receber conta. 04/07/2015 5 TIPOS DE VISIBILIDADE � Pública (+)Pública (+)Pública (+)Pública (+) O atributo ou método pode ser usado por qualquer classe � Protegida (#)Protegida (#)Protegida (#)Protegida (#) Somente a classe ou subclasses terão acesso � Privada (Privada (Privada (Privada (----)))) Somente a classe terá acesso COMUNICAÇÃO ENTRE OBJETOS Os objetos podempodempodempodem serserserser comunicarcomunicarcomunicarcomunicar atravésatravésatravésatravés dededede mensagensmensagensmensagensmensagens, e nessa mensagem precisa estar definido: �O nome do serviço requisitado; � A informação necessária para a execução do serviço; �O nome do requisitante. 04/07/2015 6 REPRESENTAÇÃO DE CLASSES COMO DEFINIR AS CLASSES 04/07/2015 7 DEFINIÇÃO DE CLASSES Existem três técnicas básicas que são consideradas para o processo de definição de classes: � Definição das classes por partes; � Definição através de refinamentos; � Definição através de estereótipos. DEFINIÇÃO POR PARTES Neste método as classes são divididas em módulosclasses são divididas em módulosclasses são divididas em módulosclasses são divididas em módulos, assim o levantamento ocorre através dos casos de usos desenvolvidos anteriormente. Atenção que, uma mesma classe pode ser empregada em mais de um caso de uso. 04/07/2015 8 DEFINIÇÃO POR REFINAMENTO A técnica de refinamento é bem parecida com a técnica a partir dos casos de uso, ela consiste em dividirdividirdividirdividir oooo sistemasistemasistemasistema emememem grandesgrandesgrandesgrandes classes,classes,classes,classes, quequequeque porporporpor suasuasuasua vezvezvezvez sãosãosãosão divididasdivididasdivididasdivididas emememem classesclassesclassesclasses menoresmenoresmenoresmenores, até que não seja mais possível fazer este refinamento. Essa técnica é chamada de análise top-down. DEFINIÇÃO POR ESTEREÓTIPOS A UML define três estereótipos padrões para serem analisados, são eles: � ENTIDADEENTIDADEENTIDADEENTIDADE:::: Papel principal é armazenararmazenararmazenararmazenar dadosdadosdadosdados dededede entidadesentidadesentidadesentidades dodododo mundomundomundomundo realrealrealreal, como: aluno, professor, disciplina; � CONTROLECONTROLECONTROLECONTROLE: Papel é controlarcontrolarcontrolarcontrolar aaaa execuçãoexecuçãoexecuçãoexecução dededede processosprocessosprocessosprocessos, contendo geralmente o fluxo de execução de todo ou parte dos casos de uso. � FRONTEIRAFRONTEIRAFRONTEIRAFRONTEIRA:::: Realiza o interfaceamentointerfaceamentointerfaceamentointerfaceamento comcomcomcom entidadesentidadesentidadesentidades externasexternasexternasexternas (atores). 04/07/2015 9 EXEMPLO A situação a ser exemplificado é a de um sistema acadêmico, onde temos o caso de uso para cadastro do aluno, que por sua vez envolve a comunicação de dois atores (secretaria e SGBD). CLASSES 04/07/2015 10 EXEMPLO Quais seriam as classes para este caso de uso? EXERCÍCIO Baseado neste exemplo, que classes temos? 04/07/2015 11 RELACIONAMENTO ENTRE AS CLASSES RELACIONAMENTO ENTRE CLASSES Um relacionamento entre classe possuem: � Nome; � Sentido de leitura; � Navegabilidade; � Multiplicidade; � Tipo; � Papéis. 04/07/2015 12 MULTIPLICIADE Neste argumento deve ser descrito qual é o valor do relacionamento entre duas classes, quando esse valor for omitido, o valor padrão se torna o número 1. MULTIPLICIDADEMULTIPLICIDADEMULTIPLICIDADEMULTIPLICIDADE DESCRIÇÃODESCRIÇÃODESCRIÇÃODESCRIÇÃO 0...1 No máximo um. 1...1 Um e somente um. 0...* Muitos 1...* Um ou muitos 3...5 Valores específicos. De três até cinco. MULTIPLICIDADE 04/07/2015 13 RELACIONAMENTO ENTRE CLASSES Dentre os principais tipos de relacionamentos entre classes, é possível destacar: � Associação; � Agregação / Composição; � Herança; � Dependência. ASSOCIAÇÃO 04/07/2015 14 ASSOCIAÇÃO � Um estudanteestudanteestudanteestudante pode participar de nenhuma ou até oito disciplinasdisciplinasdisciplinasdisciplinas � Um estudanteestudanteestudanteestudante compete por no máximo 1 equipeequipeequipeequipe dededede futebolfutebolfutebolfutebol � Uma equipeequipeequipeequipe dededede futebolfutebolfutebolfutebol tem de 11 até 22 jogadores � Uma disciplinadisciplinadisciplinadisciplina pode ter no um ou mais alunos. AGREGAÇÃO É um tipo especial de associação. Esse relacionamento demonstra que um objeto precisa ser complementado por um objeto de outra classe. 04/07/2015 15 EXEMPLO - AGREGAÇÃO COMPOSIÇÃO É um relacionamento do tipo agregação que representa um vínculo mais forte entre objetos. 04/07/2015 16 AGREGAÇÃO X COMPOSIÇÃO HERANÇA - GENERALIZAÇÃO É um relacionamento do tipo especialização. 04/07/2015 17 DEPENDÊNCIA Tipo menos comum de relacionamento, que representa uma ligação fraca entre objetos de duas classes. CLASSE DE ASSOCIAÇÃO Este tipo de representação é usada quando uma associação entre duas classes contiver atributos da associação. No exemplo abaixo A classe C existirá para todo relacionamento da classe A com a classe B. 04/07/2015 18 CLASSE DE ASSOCIAÇÃO OUTROS EXEMPLOS 04/07/2015 19 USO DE NOTAS É possível fazer uso de comentários através de notas em classes, métodos ou atributos. Geralmente é usado para: � Informar restrição de funcionalidade; � Indicar condições para relacionamentos. RESTRIÇOES Uma restrição limita os valores que os elementos podem assumir, no exemplo abaixo é restrito os valores dos atributos de comprimento e largura. 04/07/2015 20 OUTROS CASOS DE RESTRIÇÃO EXEMPLOS 04/07/2015 21 BLOG Qual o diagrama de classe proposta para a solução do blog desenvolvida na aula passada? BLOG Um blog tem um título e uma data de criação e além disso é um conjunto de conteúdos. Estes conteúdos (mensagens) podem ser notas ou comentários sobre as notas. Tanto notas quanto comentários têm características comuns como o texto e a data de sua criação. Todo usuário possui: E-mail (deve ser único, ou seja, não há mais de um usuário com o mesmo e-mail). 04/07/2015 22 BLOG Permitir a criação de blogs Permitir a utilização de blogs Qualquer usuário pode ler conteúdos Somente o dono do blog pode criar notas Qualquer usuário pode criar comentários. Para criar um comentário o usuários precisa ler as notas. Somente o dono do blog pode remover conteúdos.Para remover um conteúdo ele precisará ler o conteúdo. Caso ele remova um comentário, o autor do comentário deve ser notificado por e-mail. BLOG - RESPOSTA 04/07/2015 23 CONTROLE DE CURSOS Desenvolva o Diagrama de Classes para um sistema de cursos de informática equivalente ao módulo de matrícula de acordo com os seguintes fatos: � Um curso pode ter muitas turmas, no entanto, uma turma se relaciona exclusivamente com um único curso. � Uma turma pode ter diversos alunos matriculados, no entanto uma matrícula refere-se exclusivamente a uma determinada turma. Cada turma tem um número mínimo de matrículas para iniciar o curso. � Um aluno pode realizar muitas matrículas, mas cada matrícula refere- se exclusivamente a uma turma específica e a um único aluno. RESPOSTA – CONTROLE DE CURSOS
Compartilhar