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

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

UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.

Apresentações semelhantes


Apresentação em tema: "UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho."— Transcrição da apresentação:

1 UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho

2 Introdução A modelação da estrutura de um sistema de software consiste principalmente, segundo a abordagem orientada por objetos, na identificação de classes e suas respectivas relações. Um objeto reflete em geral uma entidade do mundo real e apresenta um estado e comportamento próprio. Os objetos interatuam entre si por troca de mensagens. Uma classe consiste numa estrutura que permite criar objetos semelhantes; que apresentem estado e comportamento semelhante. Neste sentido diz-se que uma classe é uma fábrica de objetos e que um objeto é uma instância de uma classe.

3 Introdução A UML providencia os seguintes elementos, que permitem a especificação da estrutura estática de um sistema de software: classes, relações, interfaces, objetos.

4 Classes Uma classe é a descrição de um conjunto de objetos que partilham os mesmos atributos, operações, relações e a mesma semântica. Uma classe corresponde a algo tangível ou a uma abstração conceitual existente no domínio do utilizador ou no domínio do engenheiro de software.

5 Classes Uma classe é representada em UML por um rectângulo com uma, duas ou três seções. Na primeira seção apresenta-se o nome da classe, na segunda a sua lista de atributos, e na terceira a sua lista de métodos.

6 Classes

7 Relações Uma relação em UML estabelece a ligação entre elementos e é representada graficamente por um determinado tipo de linha. Na modelação orientada por objetos os três tipos de relações mais importantes são (1) dependências; (2) generalizações; e (3) associações.

8 Relação de Dependência Uma relação de dependência, ou simplesmente dependência, indica que a alteração na especificação de um elemento pode afetar outro elemento que a usa, mas não necessariamente o oposto. A dependência é representada em UML através de uma linha dirigida a tracejado.

9 Relação de Dependência exemplo da relação de dependência entre as classes SensorTemperatura e Temperatura.

10 Relação de Generalização Uma relação de generalização, ou simplesmente generalização, é uma relação entre um elemento geral (superclasse, super-caso utilização, super-pacote) e um elemento mais específico (subclasse, sub-caso-utilização, sub-pacote). É representada em UML por uma linha dirigida a cheio com um triângulo branco no seu extremo. No contexto de classes usam-se generalizações para ilustrar as relações de herança conhecidas das linguagens de programação orientadas por objetos.

11 Relação de Generalização A herança providencia um mecanismo natural e potente de organização dos programas de software ao permitir: (1) que cada subclasse herde o estado e comportamento de uma superclasse; (2) subclasses podem adicionar o seu próprio estado e comportamento; e (3) as subclasses podem ainda alterar os métodos (comportamento) herdados, providenciando implementações especializadas desses métodos.

12 Relação de Generalização

13 Relação de Associação Uma relação de associação, ou simplesmente associação, é uma relação estrutural que especifica que objetos de uma classe estão ligados a objetos de outra.

14 Relação de Associação A Figura a seguir ilustra a associação de posse entre as classes Utilizador e Password, com uma multiplicidade de 1 para muitos (1-N). A associação indica que um utilizador tem várias (0 ou mais) passwords e que uma password pertence necessariamente a um utilizador.

15 Relação de Associação

16

17 Multiplicidade A multiplicidade traduz o número de instâncias de uma classe que se podem relacionar (através da associação) com uma única instância da(s) outra(s) classe(s) participante(s). Pode-se especificar em UML qualquer tipo de multiplicidade. Por exemplo, multiplicidade muitos (*), um ou mais (1..*), exatamente um (1), zero ou um (0..1).

18 Navegação A navegação traduz a forma como a partir de uma instância de uma classe se pode aceder a uma ou mais instâncias de outra classe relacionada pela associação. Por omissão a navegação numa associação é bidirecional.

19 Agregação (Simples) A associação entre classes sem agregação reflete que ambas as classes se encontram no mesmo nível conceitual. Por outro lado, uma relação de agregação corresponde ao fato de uma instância de determinada classe possuir ou ser composta por várias instâncias de outra classe. O adorno de agregação é representado por um losango colocado junto à classe que representa o elemento agregador ou o todo. A associação de agregação traduz apenas o fato de uma classe ser composta por diferentes outras classes, suas componentes.

20 Agregação (Simples) A Figura abaixo ilustra a relação de agregação entre várias classes. Na prática a descrição das diferentes componentes que compõem um computador pessoal (PC).

21 Composição (Agregação Composta) A composição, ou agregação composta, é uma variante à agregação simples, em que é adicionada a seguinte semântica: (1) forte pertença do todo em relação à parte, e (2) tempo de vida delimitado (as partes não podem existir sem o todo). Adicionalmente, o todo é responsável pela disposição das suas partes, ou seja, o todo é responsável pela criação e destruição das suas partes.

22 Composição (Agregação Composta) O adorno de agregação composta é representado por um losango a cheio colocado junto à classe que representa o elemento agregador ou o todo. A Figura acima ilustra um exemplo de uma associação com agregação composta, de forma a refletir o fato que um Departamento não existe fora do contexto de uma Empresa.

23 Classes-Associação Numa relação de associação entre classes, a associação pode também ter os seus próprios atributos (e eventualmente operações), devendo ser, por conseguinte, modelada também como uma classe. Este tipo de classe designa-se por classe-associação.

24 Classes-Associação Considere-se o exemplo da Figura a seguir, em que a associação entre as classes Pessoa e Empresa traduz as tarefas que cada empregado realiza na empresa. Para cada tarefa é mantido um conjunto de atributos. A classe- associação Tarefa é representada visualmente como qualquer outra classe, mas apresenta uma linha a tracejado a ligá-la à linha da associação.

25 Classes-Associação

26 Associações N-árias, com aridade maior ou igual a 3, são pouco comuns na modelação de classes. Contudo, há situações em que a aplicação deste tipo de associações é vantajosa em termos da clareza do modelo. Nestas circunstâncias, a associação é representada por um losango com linhas para todas as suas classes participantes. A Figura a seguir ilustra um exemplo de uma associação n- ária, a associação Tarefa e correspondente classe-associação, que relaciona as classes Pessoa, Empresa e TipoTarefa. Caso a associação tenha também atributos e/ou operações próprias, cria-se uma classe-associação,a qual é ligada ao losango por uma linha a tracejado.

27 Classes-Associação

28 Exemplo de Diagrama de Classes

29 Exemplo Considere o sistema de uma equipe de futebol constituído pelos seguintes atores: jogador, treinador, atacante, goleiro, médio, defesa, presidente. Desenhe o respectivo diagrama de casos de utilização. Sugestão: considere por exemplo os seguintes casos: jogar, treinar, defender a baliza, pagar ao jogador, pagar ao treinador, vender jogador, contratar jogador, contratar treinador, despedir treinador.

30 Exemplo

31


Carregar ppt "UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho."

Apresentações semelhantes


Anúncios Google