UML Diagrama de Classes de Prjet e Diagrama de Objets Análise e Prjet de Sftware Prfª. Cibele da Rsa Christ cibele@senacrs.cm.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS
Diagrama de Classes de Prjet Oferecem uma ntaçã gráfica frmal para a mdelagem de classes e seus relacinaments Uma Classe refere-se a descriçã de um cnjunt de bjets que cmpartilham s mesms atributs, perações e relacinaments
Ntaçã
Nme da Classe O nme de uma classe distingue uma classe de utra classe. Nme simples Nme d caminh: nme da classe é precedid pel nme d pacte (subsistema) em que a classe existe
Atribut Características de uma classe Exempls: Idade - endereç : String + CPF : inteir # nrcrrentistas : Inteir
Operações / Métds Uma peraçã é um serviç que pde ser requisitad a qualquer bjet da classe, afetand seu estad (afetand valr de seus atributs) Operações de classes X Operações de Objets Operações de bjets: atuam sbre um bjet (instância) Operações de classes: atuam sbre a classe Ex: cnsultar
Visibilidade Públic (+) : que pde ser vist pelas perações de utras classes Prtegid (#) : que pde ser vist apenas pelas perações da própria classe e pr suas classes herdeiras Privad (-) : que pde ser vist apenas pelas perações da própria classe
Estereótips Mecanisms de extensã da UML Pdem ser utilizads em diverss diagramas Graficamente, um estereótip é representad pr um nme entre << >> (dis sinais de menr e dis sinas de mair). Exempls: N diagrama de classes, pdem ser utilizads para classificar cmprtament ds métds, pr exempl <<cnstrutr>>
Relacinaments entre classes Os relacinaments determinam as ligações entre as classes. Frnecem um caminh para a cmunicaçã entre elas Principais tips: Assciaçã Agregaçã e Cmpsiçã Generalizaçã
Assciaçã Uma assciaçã é um relacinament estrutural que descreve uma ligaçã (cnexã entre as classes u bjets)
Adrns da Assciaçã Multiplicidade Papel Navegabilidade
Multiplicidade (Cardinalidade) A multiplicidade (u cardinalidade) indica a quantidade de crrências de um cnceit. Ela é aplicada para atributs, classes e assciações
Multiplicidade (Cardinalidade)
Papel Sua utilizaçã é pcinal
Navegabilidade Pr definiçã, a navegaçã entre classes assciadas é bidirecinal (segment de reta) Pr cnveniência, a navegaçã pde ser restringida a uma única direçã
Tips de Assciaçã Agregaçã Cmpsiçã
Agregaçã Agregaçã é um tip especial de assciaçã Representa uma relaçã td-parte Tenta demnstrar que as infrmações de um bjet td precisam ser cmplementadas pelas infrmações de um bjet parte Quand td é eliminad, as partes cntinuam existind É transitiva (Se A faz parte de B, e B faz parte de C, entã A faz parte de C) É nã-simétrica(se A faz parte B, entã B nã faz parte de A)
Cmpsiçã É uma variaçã da Agregaçã Quand uma parte é criada, sua existência deve ser cincidente cm td. Quand um td é eliminad, suas partes também devem ser eliminadas
Generalizaçã A generalizaçã é cmpartilhament de atributs, perações e relacinaments entre classes cm base em um relacinament hierárquic (herança). Superclasses e subclasses; Subclasses herdam s atributs e métds da superclasse, permitind ainda mdificações ns mesms (plimrfism).
Cm generalizaçã Sem generalizaçã
Especializaçã Prcess invers a de generalizaçã Cnsiste em: Definir uma u mais subclasses a partir de uma classe existente. Adicinar prpriedades e assciações específicas de cada nva subclasse. Assciações cmuns ficam ligadas à superclasse. Pde existir mais de um tip de especializaçã cm base em diferentes características
Generalizaçã / Especializaçã
Classe Assciativa É uma classe derivada de uma assciaçã
Classe Assciativa Transfrmaçã de uma Classe Assciativa para uma Classe Regular
Classe Cncreta / Abstrata Cncreta: pde ter instâncias Abstrata: nã pde ter instâncias Cntém uma u mais perações abstratas: Uma peraçã abstrata pssui apenas a assinatura (cabeçalh) mas nã pssui implementaçã A classe abstrata é sempre uma superclasse que nã pssui instâncias, e só tem sentid se tiver subclasses que implementem as perações abstratas O nme de uma classe abstrata é escrit em itálic, u pssui a restriçã {abstract}
Exempl de Classe Abstrata
Interface Interface é uma classe abstrata que nã pssui atributs e que tdas as perações sã públicas e abstratas. Ntaçã:
Herança Múltipla Muitas linguagens rientadas a bjets nã pssuem mecanism de herança múltipla.
Diagrama de Classes Sistema Bancári
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS Diagrama de Objets
Diagrama de Objets Da mesma frma que um bjet é uma instância de uma classe, um diagrama de bjets é uma instância de um diagrama de classes. Um diagrama de bjets apresenta uma determinada cnfiguraçã de um diagrama de classes, send interessante para realizar discussões sbre mdel de bjets.
Diagrama de Objets Sistema Bancári