A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Profa Simone Sawasaki Tanaka

Apresentações semelhantes


Apresentação em tema: "Profa Simone Sawasaki Tanaka"— Transcrição da apresentação:

1 Profa Simone Sawasaki Tanaka simone.tanaka@unifil.br
Diagrama de Classe Profa Simone Sawasaki Tanaka

2 Diagrama de Classe Mostra um conjunto de classes, interfaces e colaborações e seus relacionamentos. Os diagramas de classes abrangem a visão estática do projeto de um sistema.

3 Workflow do Diagrama de Classe

4 Identificar as Classes do Sistema
Todas as classes devem fazer sentido no domínio da aplicação. Nem todas as classes surgem explicitamente na definição do problema; algumas estão implícitas no domínio da aplicação ou no conhecimento geral [30]. A partir da definição do requisitos, comece a listar as classes de objetos candidatas encontradas na descrição do problema. Não seja muito seletivo; registre todas as classes que vierem à cabeça. As classes muitas vezes correspondem a substantivos. Por exemplo, na frase “um sistema de reservas para vender entradas para peças em diversos teatros”, as classes possíveis seriam “Reserva, Sistema, Entrada, Peça e Teatro” [30].

5 Definir Atributos Um atributo é uma propriedade nomeada de uma classe que descreve um intervalo de valores que as instâncias da propriedade podem apresentar. Conforme Rup, durante a definição de métodos e a identificação de estados, são identificados os atributos que a classe precisa para executar suas operações. Os atributos fornecem armazenamento de informações para a instância da classe e muitas vezes são utilizados para representar o estado da instância da classe. Qualquer informação que a própria classe mantém, ela o faz através de seus atributos. Para cada atributo, defina:

6 Definir Atributos seu nome
seu tipo, que será um tipo de dado elementar suportado pela linguagem de implementação; seu valor padrão ou inicial, com o qual é inicializado quando novas instâncias da classe são criadas; a visibilidade a multiplicidade especifica a quantidade valores que podem estar associados a um elemento do modelo. String_propriedade O elemento propriedades permite acrescentar praticamente qualquer informação adicional sobre o atributo que não se encaixe em um dos elementos predefinidos.

7 Passo a passo para Definir o Atributo
[visibilidade] [/] nome-do-atributo : [tipo] [multiplicidade] [=default] [{string_propriedade}] -Nome: String=no default, {Required, carac, espaços e pontuação permitidos}

8 Definir Operação Uma operação é uma abstração de algo que pode ser feito com um objeto e que é compartilhado por todos os objetos dessa classe. Uma classe pode ter qualquer número de operações ou até nenhuma operação. Para identificar operações em classes : Estude as responsabilidades de cada classe de análise correspondente, criando uma operação para cada responsabilidade. Use a descrição da responsabilidade como a descrição inicial da operação. Estude as realizações de casos de uso nas participações de classe para ver como as operações são utilizadas pelas realizações de casos de uso. Amplie as operações, uma realização de Caso de Uso por vez, refinando as operações, suas descrições, tipos de retorno e parâmetros. Os requisitos de cada realização de Caso de Uso pertencentes às classes são descritos textualmente no Fluxo de Eventos da realização de Caso de Uso.

9 Passo a Passo para Definir a Operação
[visibilidade] nome ([lista-parâmetro]) “:” [ resultado-retorno] [{propriedades}] + definirDuracao(nova_duracao: int) : void {a nova duracao não pode causar sobreposição com outro evento planejado}

10 Estabelecer a Relacionamento
As associações proporcionam o mecanismo para os objetos se comunicarem entre si. Elas fornecem aos objetos um canal pelo qual as mensagens podem fluir. Além disso, documentam as dependências entre as classes, destacando que as mudanças em uma classe podem ser percebidas entre muitas outras classes.

11 Definir a Multiplicidade
A multiplicidade procura determinar o número mínimo e o máximo de objetos envolvidos em cada extremidade da associação, além de permitir especificar o nível de dependência de um objeto para com os outros envolvidos na associação.

12 Elaborar o Diagrama de Classe
Os diagramas de classes mostram a estrutura estática do modelo, principalmente os elementos existentes, como classes, sua estrutura interna e seus relacionamentos com outras classes. Eles não mostram informações temporárias. Um diagrama de classes é apresentado como um conjunto de elementos do modelo declarativos (estáticos) - como classes, pacotes e seus relacionamentos - que são conectados entre si e a seu conteúdo como um gráfico. Os diagramas de classe podem ser organizados em (e pertencentes a) pacotes, mostrando apenas o que é relevante em um determinado pacote.

13 Mapa Conceitual do Diagrama de Classe
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido

14 Classe Exemplo: Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Exemplo: Definição: Representa uma categoria, e os objetos são os membros ou exemplos dessa categoria. Em geral, uma classe tem atributos e métodos, mas é possível encontrar classes que contenham apenas uma dessas características ou mesmo nenhuma delas, como no caso de classes abstratas. Podendo ser de dois tipos: abstratas e concretas.

15 Classe As classes são os blocos de construção mais importante de qualquer sistema orientado a objetos. É uma descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos.

16 Classe Representa a abstração de um conjunto de OBJETOS do Mundo Real que possuem tipos de características e de comportamento em comum. Classe Veículo

17 Notação da Classe A notação da classe é representada por um retângulo subdividido em 3 partes. Nome da Classe Atributo Operação Como vamos estudar o diagrama de classe na fase de analise, não vamos utilizar as operacoes.

18 Relacionamento Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: As classes costumam ter relacionamentos entre si, chamados associações, que permitem que elas compartilhem informações entre si e colaborarem para a execução dos processos executados pelo sistema.

19 Relacionamento Na UML, os modos pelos quais os itens podem estar conectados a outros, isto é, logicamente ou fisicamente, são modelados como relacionamentos, que permitem compartilhar informações e colaboram para a execução dos processos pelo sistema (GUEDES, 2005). Existem 4 tipos de relacionamentos: Associação Generalização Dependência Realização

20 Operação Definição: Também conhecido como método ou comportamento da qual representa uma atividade que um objeto de uma classe pode executar. operação() : int operação() : boolean possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido

21 Operação Uma ação que o objeto executa, é uma ordem que faz o objeto a agir. A implementação de uma operação é chamada de método. Operação

22 Atributos possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: Representam as características de uma classe, ou seja, as peculiaridades que costumam variar de um objeto para outro.

23 Notação do Atributo Esses elementos normalmente são expressos em uma única string de texto, utilizando a sintaxe: [visibilidade] [/] nome [: tipo] A maioria das ferramentas trazem essas informações em campos separados, tornando assim mais fácil a visualização.

24 Derivado possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: É o atributo do qual seus valores são representados por algum tipo de calculo. Nestes casos o atributo é representado por uma / na frente do atributo. /atributo

25 Estático possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: São atributos cujos valores são idênticos para todos os objetos de uma classe, ou seja é um atributo pertencente a classe propriamente dita. Sua identificação se dá através do nome da variável sublinhado. atributo

26 Tipos possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: O tipo de atributo identifica um classificador que explica a espécie de informação que pode ser armazenada no atributo. int, boolean, varchar, double

27 Associação Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: Uma associação descreve um vínculo que ocorre normalmente entre os objetos de uma ou mais classes.

28 Unidirecional Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: relacionamento de um objeto de uma classe com objetos da mesma classe. Observe que uma linha intitulada “chefia” parte da classe Funcionário, e atinge a própria classe. Isso ocorre porque, nesse exemplo, um funcionário pode ser chefe de outros funcionários. Exemplo:

29 Bidirecional Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: relacionamento entre objetos de duas classes distintas. Um objeto da classe Sócio pode relacionar-se ou não com instâncias da classe Dependente, conforme demonstra a multiplicidade 0..*, enquanto se existir um objeto da classe Dependente ele terá de se relacionar obrigatoriamente com um objeto da classe Sócio, pois conforme foi definida a multiplicidade na extremidade da classe Sócio, pois como não foi definida a multiplicidade na extremidade da classe Sócio, isto significa que esta é 1..1. Exemplo:

30 Ternária Definição: Exemplo:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: São associações que conectam objetos de mais de duas classes. São representadas por um losango para onde convergem todas as ligações da associação. Exemplo: No exemplo acima identificamos uma associação que demonstra um fato corriqueiro na maioria das universidade, em que um professor pode lecionar para muitas turmas, uma turma pode ter muitos professores e utilizar muitas salas de aula e um professor, ao lecionar para uma turma específica, pode utilizar mais de uma sala de aula.

31 Agregação Definição: Exemplo:
É um tipo especial de associação onde se tenta demonstrar que as informações de um objeto (chamado objeto-todo) precisam ser complementadas pelas informações contidas em um ou mais objetos de outra classe (chamados objetos-parte). Esse tipo de associação tenta demonstrar uma relação todo/parte entre os objetos associados. possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Exemplo: Ao verificarmos o exemplo acima observamos as multiplicidades dessa associação perceberemos que, da mesma forma que uma pessoa pode possuir muitas contas, uma conta pode ser possuída por muitas pessoas, como no caso de uma conta conjunta. Isso é característico das agregações nas quais os objetos-parte podem ser compartilhados por mais de um objeto-todo.

32 Composição Exemplo: Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Exemplo: Definição: É um tipo de composição da qual constitui-se em uma variação da agregação, onde é apresentado um vínculo mais forte entre os objetos-todo e os objetos-parte, procurando demonstrar que os objetos-parte têm de estar associados a um único objeto-todo. Nesse exemplo, percebemos que um objeto da classe Edicao deve se relacionar a no mínimo seis objetos da classe Artigo, podendo se relacionar com até 10 objetos da já citada classe. Esse tipo de informação torna-se útil como documentação e serve como uma forma de validação, que impede que uma revista seja publicada sem ter no mínimo seis artigos, ou mais do que 10. No entanto, um objeto da classe Artigo refere-se unicamente a um objeto da classe Edicao. Isso é também uma forma de documentação pois uma edição de uma revista científica só deve publicar trabalhos inéditos. Assim, é lógico que não pé possível a um mesmo objeto da classe Artigo relacionar-se a mais de um objeto da classe Edicao.

33 Classe Associação Exemplo: Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Exemplo: Definição: são aquelas produzidas quando da ocorrência de associações que tenham multiplicidade muitos (*) em todas as suas extremidades. Nesse exemplo, uma instância da classe Ator pode se relacionar com muitas instâncias da classe Filme, e uma instância da classe Filme pode se relacionar com muitas instâncias da classe Ator, ou seja, um ator pode atuar em muitas filmes, e um filme pode ter muitos atores atuando nele.

34 Multiplicidade Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: especifica a quantidade valores que podem estar associados a um elemento do modelo. [0..5] ou 0..5

35 Realização (Interface)
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: É um tipo de relacionamento especial que mistura características dos relacionamentos de generalização e dependência, sendo usada para identificar classes responsáveis por executar funções para outras classes. Exemplo: Como podemos observar no exemplo acima, a classe Placa-Mae tem um relacionamento de dependência com a classe iMonitor, determinando que a classe Placa-Mae necessita, de alguma forma, dessa interface. Já a classe Monitor, por sua vez, tem um relacionamento de realização com a classe iMonitor, o que determina que a classe Monitor implementa algum dos serviços oferecidos pela classe iMonotor. Observe que a classe iMonitor tem um estereótipo <<interface>> para destacar sua função.

36 Generalização Definição: Exemplo:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: O objetivo dessa associação é representar a ocorrência de herança entre as classes, identificando as superclasses, chamadas gerais e subclasses, chamadas especializadas, demonstrando a hierarquia entre as classes e possivelmente métodos polimórficos nas classes especializadas. Exemplo: A generalização relaciona classes, onde cada classe contém apenas um subconjunto das propriedades necessárias para definir um tipo de objeto. No exemplo acima a grande categoria Fruta é especializada em três categorias: Maçã, Melancia e Laranja. Maçã é então especializada em Vermelha e Verde. Maçã define aquelas características que tornam as maças distintas de todas as outras frutas. Vermelha define as características que tornam as maças vermelhas distintas de todas as outras maças.

37 <<enumeration>>
Estereótipo possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: Permite a extensibilidade aos componentes ou associação da UML. Como exemplo tem-se o include e o extend. <<entity>> <<boundary>> <<control>> <<enumeration>> Exemplo:

38 Visibilidade Definição:
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: É utilizada para indicar o nível de acessibilidade de um determinado atributo ou método, sendo representada à esquerda destes, existindo basicamente quatro modos de visibilidade: público, protegido, privado e pacote.

39 Publica possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: Determina que o atributo ou método pode ser utilizado por qualquer objeto. + atributo3

40 Privada possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: Somente os objetos da classe detentora do atributo ou método poderão enxergá-lo. - atributo1

41 Pacote Definição: Determina que o atributo ou método é visível por qualquer objeto dentro do pacote. Somente elementos que fazem parte de um pacote podem ter essa visibilidade. Nenhum elemento fora do pacote poderá ter acesso a um atributo ou método com essa visibilidade. ~ atributo4 possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido

42 Protegido Definição: # atributo2
possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: Determina que além dos objetos da classe detentora do atributo ou método também os objetos de suas subclasses poderão ter acesso ao mesmo. # atributo2

43 Dependência possui Tem pode ser Visibilidade Tipos Operação Relacionamento Classe Associação Composição Agregação Generalização Dependência Bidirecional Unidirecional Associação que pode ser Estereótipo Multiplicidade Classe Realização (Interface) Atributos Conceitos Diagrama de Atividade Derivado Estático Pode ser Ternária Publica Privada Pacote Protegido Definição: Este relacionamento, como o próprio nome diz, identifica certo grau de dependência de um Caso de Uso em relação à outra. O relacionamento de dependência é apresentado por uma linha tracejada entre Caso de Uso.

44 Onde fazer o Diagrama de Classe no Rational Rose?
O Diagrama de Classe deve ser feito no Logical View  Design Model Dentro do pacote Use-Case Realization

45 1. Expandir o Logical View
2. Expandir o Design Model 3. Expandir Use-Case Realization

46 4. Criar o pacote com o nome do Caso de Uso

47 5. Fazer a realização de caso de uso

48 6. Clique duplo na Realização do Caso de uso, para fazer a realização
6.1. Arrastar o caso de uso do Use Case View 6.2. Arrastar o elemento do use case realization 6.3. Fazer a associação entre eles utilizando o Realize

49

50 7. VoPC – View of Participating Class

51 8. Clique duplo no VoPC, para a criação da classe 8. 1
8. Clique duplo no VoPC, para a criação da classe 8.1. Arrastar o elemento que representa a classe 8.2. Inserir o nome da classe, atributos e operações 8.3. Caso necessário, efetuar a associação entre as classes.

52

53 Após realizado todos os VoPC´s para as classes, deverá arrastá-las para o Welcome e efetuar as associações entre elas.


Carregar ppt "Profa Simone Sawasaki Tanaka"

Apresentações semelhantes


Anúncios Google