Uma visão mais clara da UML Sumário 1 Definição de Objeto..........................................................................................................................2 2 Estereótipos......................................................................................................................................3 2.1 Classe fronteira (boundary): ....................................................................................................3 2.2 Classe de Entidade (entity): .....................................................................................................3 2.3 Classe de Controle (control): ....................................................................................................4 3 Interação entre Objetos....................................................................................................................4 3.1 Diagrama de Sequência............................................................................................................4 3.1.1 Construção do Diagrama de Sequência:...........................................................................5 3.2 Diagrama de Colaboração.........................................................................................................8 4 Referências Bibliográficas.................................................................................................................9 1 1 Definição de Objeto Representa uma entidade que pode ser física, conceitual ou de software. É uma abstração de algo que possui fronteira definida e significado para a aplicação. Os componentes de um objeto são: • Identidade: É o que identifica unicamente um objeto, mesmo que ele possua estados ou comportamento comuns a outros objetos. • Estado de um objeto: É cada condição na qual o objeto pode existir. É mutável ao longo do tempo. É implementado por um conjunto de atributos, os valores desses atributos e ligações que o objeto pode ter com outros objetos. • Comportamento de um objeto: Determina como um objeto age e reage a estímulos de outros objetos. É modelado através de um conjunto de mensagens que representam resultados visíveis das operações executadas internamente pelo objeto. • Definição de Classe: É uma descrição de um grupo de objetos com atributos, comportamentos, relacionamentos com outros objetos e semântica comuns. Uma classe é uma abstração que enfatiza características relevantes dos objetos, suprimindo outras características. Portanto um objeto é sempre uma instância de uma classe. Exemplo da Classe Cliente: Notação UML: Nome: Cliente Estado: Codigo Nome Nome Atributos Operações Endereco Cidade Cliente Estado Codigo Nome Endereco Cidade Estado CEP Login Senha CEP Login Senha ... Comportamento: Fazer login Fazer pedido Cancelar pedido Fazer login() Fazer pedido() Cancelar pedido() …. 2 2 Estereótipos É um elemento de modelagem que rotula tipos de Classes de Objeto. Uma Classe de Objetos pode ter um ou mais tipos de estereótipos. A notação usada pela UML para Estereótipos, dentro da representação gráfica da Classe de Objeto, é colocá-lo entre << >> na área reservada para o nome da classe e acima deste. <<Entidade>> Cliente Codigo Nome Endereco Cidade Estado CEP Login Senha Fazer login() Fazer pedido() Cancelar pedido() Os estereótipos mais comuns são: • Classe Fronteiriça • Classe de Entidade • Classe de Controle • Classe de Exceção • Metaclasse • Classe Utilitária 2.1 Classe fronteira (boundary): É uma classe que modela a comunicação entre a vizinhança do sistema e suas operações internas. Exemplos: Interface tipo Janela, Protocolo de Comunicação, Interface de Impressão, Sensores, etc. No presente estudo de caso, sistema automatizado de Matrícula num Curso, as classes de objeto Formulário em Branco e Sistema de Cobrança são exemplos de estereótipos desta classe. 2.2 Classe de Entidade (entity): É uma classe que modela objetos cuja informação e o comportamento associados são, de maneira geral, persistentes. No presente estudo de caso, sistema automatizado de Matrícula num Curso, as classes de objeto: Lista de Cursos, Curso, Catálogo e Matrícula, são exemplos de estereótipos desta classe. 3 2.3 Classe de Controle (control): É uma classe que modela o comportamento de controle específico para uma ou mais “Use Case”. Suas principais características são: • Cria, ativa e anula objetos controlados. • Controla a operação de objetos controlados • Controla a concorrência de pedidos de objetos controlados. • Em muitos casos corresponde a implementação de um objeto intangível. No presente estudo de caso, sistema automatizado de Matrícula num Curso, a classe de objeto Gerente de Registro e um exemplo de estereótipo desta classe.: É uma classe que modela objetos cuja informação e o comportamento associados são, de maneira geral, persistentes. No presente estudo de caso, sistema automatizado de Matrícula num Curso, as classes de objeto: Lista de Cursos, Curso, Catálogo e Matrícula, são exemplos de estereótipos desta classe. Figura 1: Estereótipos 3 Interação entre Objetos Os Diagramas de Interação são usados para representar o comportamento de vários objetos dentro de um contexto, a partir de mensagens que são trocadas entre eles. O objetivo é estabelecer os objetos que interagem e seus relacionamentos dentro de um contexto (caso de uso). A UML se utiliza de dois diagramas para representar a interação entre os objetos: • Diagrama de Sequência: ◦ Interação enfatizando o tempo de seqüência ◦ Mostra objetos participando em interações de acordo com suas linhas de vida e as mensagens que trocam • Diagrama de Colaboração: • Interação enfatizando o relacionamento entre os objetos 3.1 Diagrama de Sequência Mostra a interação entre os Objetos ao longo do tempo. Apresentando os objetos que participam da interação e a sequência de mensagens trocadas. A notação usada pela UML para 4 representar o Diagrama de Sequência, é a seguinte: • Objetos são representados por retângulo com seus nomes sublinhados. • As linhas de vida dos Objetos são representadas por linhas verticais tracejadas. • As interações entre Objetos são indicadas por flechas horizontais que são direcionadas da linha vertical que representa o Objeto cliente para a linha que representa o Objeto fornecedor. • As flechas horizontais são rotuladas com as mensagens. • A ordem das mensagens no tempo é indicada pela posição vertical, com a primeira mensagem aparecendo no topo. • A numeração é opcional e baseada na posição vertical. Foco de Controle: Representa o tempo relativo que o fluxo de controle esta focalizado num dado Objeto. Ele representa o tempo que um Objeto dedica a uma dada mensagem. 3.1.1 Construção do Diagrama de Sequência: • Escolher Caso de Uso • Identificar os objetos que fazem parte da interação • Identificar o objeto que começa a interação • Identificar as mensagens trocadas entre os objetos • Identificar a sequência destas mensagens. Figura 2: Blog - Caso de uso 5 Figura 3: Diagrama de Classes Figura 4: Diagrama de Sequência: Criar Blog 6 Figura 5: Diagrama de Sequência: Criar Nota Exemplo: Figura 6: Diagrama de Sequência: Video Locadora 7 3.2 Diagrama de Colaboração É um modo alternativo para representar a troca de mensagens entre um conjunto de Objetos. O Diagrama de Colaboração mostra a interação organizada entorno dos Objetos e suas ligações uns com os outros. • A notação usada pela UML para representar o Diagrama de Colaboração, é a seguinte: • Objetos são representados por retângulo com seus nomes sublinhados. • As interações entre Objetos são indicadas por uma linha conectando-os. • As ligações indicam a existência de um caminho para comunicação entre os Objetos conectados. • As ligações no Diagrama de Colaboração podem ser apresentada por: • flechas apontando do Objeto cliente para o Objeto fornecedor. • o nome da mensagem. • Numeração seqüencial, mostrando a ordem relativa de envio das mensagens. Figura 7: Diagrama de Colaboração 8 4 Referências Bibliográficas 1. CAMPOS, José C., RIBEIRO, Antonio N. Desenvolvimento de Sistemas de Software. Disponível em: http://sim.di.uminho.pt/disciplinas/dss/0708/AulaT_20071016.pdf. Acesso em: 10/04/2013. 2. LES, Laboratório de Engenharia de Software. UML: Diagrama de Sequência. Disponível em: http://www.les.inf.puc-rio.br/wiki/images/e/ef/Aula02-diagrama_sequencia.pdf. Acesso em: 15/04/2013. 3. Macoratti.net. UML Conceitos Básicos. http://www.macoratti.net/vb_uml2.htm. Acesso em: 10/04/2013. Disponível em: 4. ZATYCKO, Florisbela. UML – Unified Modeling Language. Disponível em: Apostilando.com. Acesso em: 10/04/2013. 9