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

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Modelagem de Classes do Domínio
UML no CICLO de DESENVOLVIMENTO
Diagrama de Classes.
Diagrama de Classes continuação.
Modelo Entidade-Relacionamento
UML - Diagrama de Classes e objetos
UML: Diagrama de Classes
Modelagem Orientada a Objetos
Linguagens de Modelagem para SMA
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Análise Orientada a Objetos
Introdução ao paradigma de programação: Orientado a Objetos
Introdução a diagrama de classes e UML
Diagrama de Classes.
Análise e Projetos de Sistemas
Diagramas de Classes.
(Linguagem de Modelagem Unificada)
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
O.O.H.D.M. Modelagem Conceitual
TÉCNICAS DE PROGRAMAÇÃO II
Tecnologias de Linguagens para Banco de Dados I
Professor: Leandro Chernicharo
Diagrama de Classes e Colaboração
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
DIAGRAMA DE CLASSE Modelagem de Software
UML – Diagrama de Classes
Profa Simone Sawasaki Tanaka
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Diagrama de Classes George Gomes Cabral.
Profª Daniela TLBD.
2.2 MODELAGEM DE SISTEMAS COM UML
Orientação a Objetos Parte I
Marcio de Carvalho Victorino
Análise e Projeto de Sistemas
Programação Orientada a Objetos - Java
Modelagem Visual de Objetos Com UML
UML Diagrama de classes.
UML: Diagrama de Classes
SISTEMAS DISTRIBUIDOS Aula 4
© Ricardo Pereira e Silva
DIAGRAMA DE CLASSE Médio Integrado.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Objetivos Apresentar de forma breve a Metodologia de Modelagem Orientada a Objetos (OMT). A partir de um modelo de objetos de um sistema de informação.
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Modelagem Visual de Objetos Com UML
Análise Orientado aos Objetos Prof. Wolley W. Silva
Programação Orientada à Objetos
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Generalização e herança Agregação e composição
Análise e Projeto de Sistemas
Orientação a Objetos com UML
UML Diagramas de Classes Disciplina: Engenharia de Software
Modelagem Conceitual descreve a informação que o sistema vai gerenciar.
Introdução a Orientação a Objetos
Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Relacionamentos UML e Polimorfismo
Análise e Projeto de Sistemas
O que é modelagem orientada a objetos?
Diagrama de Classes Herança Dependências.
Análise do Sistema Alexandre Mota
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Análise e Design de Software Site:
Visão Geral de Orientação a Objetos com UML Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes OO e UML | 2 Objetivos.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Transcrição da apresentação:

UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho

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.

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.

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.

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.

Classes

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.

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.

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

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.

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.

Relação de Generalização

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.

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.

Relação de Associação

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).

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.

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.

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).

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.

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.

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.

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.

Classes-Associação

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.

Classes-Associação

Exemplo de Diagrama de Classes

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.

Exemplo