APÊNDICE D Unified Model Language (UML)

Documentos relacionados
A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Análise de Sistemas. Aula 5

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

UML e seus diagramas

INF1013 MODELAGEM DE SOFTWARE

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução a UML e seus diagramas

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

UML Unified Modeling Language Linguagem de Modelagem Unificada

Análise e projeto de sistemas

Introdução a UML (Unified Modeling Language)

UML (Unified Modelling Language)

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Requisitos de Sistemas

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Panorama da notação UML

Rational Unified Process (RUP)

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Como Modelar com UML 2

Engenharia de Software. UML Unified Modeling Language

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

A complexibilidade da UML e seus diagramas

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

Capítulo 5 Modelação do Sistema 1

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

Requisitos de sistemas

Análise de Sistemas 3º Bimestre (material 2)

Modelagem de Sistemas

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

ANÁLISE DE SISTEMAS. Diagrama de atividades. por. Antônio Maurício Pitangueira

Princípios de Análise e Projeto Orientados a Objetos com UML

Engenharia de Software

Diagrama de Atividades. Professor: André Gustavo Bastos Lima

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Análise e Projeto Orientados a Objetos

Modelagem Dinâmica. Toda a ação é designada em termos do fim que procura atingir. Niccolo Maquiavel. O pensamento é o ensaio da ação.

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Linguagem de Modelagem Unificada UML

UML - Linguagem de Modelagem Unificada

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

UML. Modelando um sistema

Modelos em Sistemas de Informação. Aula 2

Especificação de Sistemas de Software e a UML

Marcelo Henrique dos Santos

A linguagem de modelagem UML

Generalização das técnicas de Piloto Automático para VANTs. Aluno: Raphael da Silva Teixeira (ED 14205) Professor: Cel R/R Cícero Garcez

27/02/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE SEQUÊNCIA

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

IDENTIFICAÇÃO DO ESCOPO DE SOFTWARE A PARTIR DA ANÁLISE DE REQUISITOS UTILIZANDO A UML

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

UML - Unified Modeling Language

QUESTÃO 2: Sobre os relacionamentos utilizados no diagrama de caso de uso, analise as assertivas a seguir.

Diagrama de Sequência. Diagrama de Sequência. Atores. O que representam? Linha de Vida. Objetos

Trata-se de uma variação do diagrama de estado com um propósito um pouco diferente do diagrama de estado:

RUP Unified Process. Profª Jocelma Rios

DIAGRAMAS DE CLASSE UML

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução à UML. Prof. Jesus José de Oliveira Neto

Bibliografia. UML: visão geral. Prof.: Clarindo Isaías Pereira da Silva e Pádua. UML: visão geral

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

1 Modelagem de Processos de Negócio Engenharia de Software.

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Requisitos de Software e UML Básico. Janaína Horácio

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

UML. Adriano J. Holanda 21/3/

Engenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno

Transcrição:

APÊNDICE D Unified Model Language (UML) 299 APÊNDICE D Unified Model Language (UML) Apresenta-se neste Apêndice uma visão geral sobre a UML (Unified Modeling Language), focalizando-se nos conceitos e definições consideradas mais importantes e de utilização neste trabalho. A UML (Linguagem de Modelagem Unificada) é uma linguagem visual utilizada para auxilio na modelagem de sistemas computacionais por meio do paradigma de Orientação a Objetos (OO). Esta linguagem define elementos visuais que podem ser utilizados na modelagem de sistemas. Estes elementos permitem representar os conceitos do paradigma de OO por meio de elementos gráficos definidos, os quais permitem construir diagramas que representam diversas perspectivas de um sistema. A UML não é uma linguagem de programação, como também, não é uma metodologia de desenvolvimento. A UML é uma linguagem ou notação para auxilio na modelagem de sistemas de software, é um modo de padronizar as formas de modelagem. Os objetivos da UML são: especificação, documentação, estruturação para sub-visualização e para maior visualização lógica do processo de desenvolvimento completo de um sistema de software [09]. A UML tem sua origem na união de três métodos de modelagem: o método de Booch, o método OMT (Object Modeling Technique) de Jacobson e o método OOSE (Object Oriented Software Engineering) de Rumbaugh. Estas eram, na década de 1990, as três metodologias de modelagem OO mais reconhecidas entre os profissionais da área de engenharia de software. Em 1997, a UML foi aprovada como padrão pelo OMG, com a participação de algumas empresas da área de engenharia de software. A partir desta data, várias atualizações foram feitas no sentido de torná-la mais clara e útil. Os autores da UML sugerem que um sistema pode ser descrito por cinco perspectivas independentes desse sistema. Cada perspectiva ou visão focaliza expressões deste sistema, conforme ilustrado na Figura D.1.

APÊNDICE D Unified Model Language (UML) 300 Visão de Projeto Visão de Implementação Visão de Casos de Uso Visão de Processo Visão de Implantação Figura D.1 Visões (perspectivas) de um sistema de software (adaptado de [07]). A seguir, uma breve descrição das visões propostas, conforme [07]. Visão de Casos de Uso: descreve o sistema de um ponto de vista externo como um conjunto de interações entre o sistema e os agentes externos ao mesmo. Esta visão é criada inicialmente e direciona o desenvolvimento das outras visões do sistema. Visão de Projeto: enfatiza as características do sistema que dão suporte, tanto estrutural como comportamental, às funcionalidades externamente visíveis do sistema. Visão de Implementação: abrange o gerenciamento de versões do sistema, construídas pelo agrupamento de componentes e subsistemas. Visão de Implantação: corresponde à distribuição física do sistema em seus subsistemas e à conexão entre essas partes. Visão de Processo: ressalta as características de concorrência (paralelismo), sincronismo e desempenho do sistema. Dependendo das características e da complexidade do sistema, nem todas as visões necessitam ser construídas. De acordo com [07], [08] e [09], um processo de desenvolvimento de SSOO (Sistema de Software Orientado a Objetos) que utiliza a UML como linguagem de suporte à modelagem envolve a criação de diversos documentos, os quais podem ser textuais ou gráficos. Na terminologia da UML, estes documentos são denominados artefatos de software, ou simplesmente artefatos. São os artefatos que compõem as diferentes visões de um sistema. Os artefatos gráficos produzidos podem ser definidos pela utilização dos diagramas da UML.

APÊNDICE D Unified Model Language (UML) 301 Atualmente, a especificação da UML, versão 2.4.1 [08], define 14 diagramas, conforme ilustrado na Figura D.2. Dependendo da complexidade e tipo do sistema a ser modelado, como no caso das visões, nem todos os diagramas são necessariamente construídos. DIAGRAMAS UML 2.4.1 Diagramas Estruturais Diagramas Comportamentais Diagrama de Classes Diagrama de Caso de Uso Diagrama de Objetos Diagrama de Atividades Diagrama de Pacotes Diagrama de Transiçãode Estados Diagrama de Estrutura Composta Diagramas de Interação Diagrama de Componentes Diagrama de Sequência Diagrama de Implantação Diagrama de Comunicação Diagrama de Perfil Digrama de Temporização Diagrama de Visão Geral da Interação Figura D.2 Diagramas definidos na UML, versão 2.4.1 (adaptado de [08]). Estes diagramas, como observado na Figura C.2, podem ser divididos por grupos em função do tipo de abordagem, estrutural ou comportamental. A seguir, descrevem-se brevemente estes diagramas. Os diagramas utilizados no exemplo de aplicação, no Capítulo 6 desta tese (Casos de Uso, Atividade, Sequência e Comunicação) são descritos primeiramente. Diagrama de Casos de Uso (DCU) O DCU é o diagrama mais geral e informal da UML. É utilizado principalmente para auxiliar no levantamento e análise dos requisitos, em que são determinadas as necessidades

APÊNDICE D Unified Model Language (UML) 302 do usuário, e na compreensão do sistema como um todo. Segundo a UML, o DCU é a ferramenta utilizada para a Modelagem dos Casos de Uso (MCU). O MCU é um modelo de análise que representa um refinamento dos requisitos funcionais do sistema a ser desenvolvido, representa as funcionalidades externamente observáveis do sistema e dos elementos externos ao sistema que interagem com o mesmo. O DCU pode ser consultado durante todo o processo de modelagem e serve de base para todos os outros diagramas, dá uma ideia de como o sistema irá se comportar. O DCU identifica os atores (usuário, operador, outros sistemas, outros softwares, hardwares, etc., que utilizarão de alguma forma o sistema modelado) e os casos de uso. Na Figura D.3 apresenta-se um exemplo de um DCU. Diagrama de Caso de Uso Ator 1 Caso de Uso 1 Ator 2 <<include>> Caso de Uso 1.1 Caso de Uso 2 Caso de Uso 4 Caso de Uso 3 Ator 3 Figura D.3 Exemplo de um Diagrama de Caso de Uso. Diagrama de Atividades Este diagrama descreve os passos a serem percorridos para a conclusão de uma atividade específica, muitas vezes representada por um método ou algoritmo, com certo grau de complexidade, podendo, no entanto, modelar um processo completo. Concentra-se na representação do fluxo de controle de um processo, atividade ou ação. O diagrama de atividades é utilizado para modelar o aspecto comportamental de processos. Neste diagrama, uma atividade é modelada como uma sequência estruturada de ações,

APÊNDICE D Unified Model Language (UML) 303 controladas potencialmente por nós de decisão e sincronismo. Os principais elementos de um diagrama de atividades são ilustrados em um exemplo por meio da Figura D.4. Operador (Subpartição 1) (Início da Atividade) (Nó de Ramificação) (Partições) Sistema (Subpartição 2) Pré-Condições p/ Ação 1 Ação 3 (Final do Fluxo) [xxxx] Ação 1 Ação 2 [xxxx] (Condição de Guarda) Ação 4 Ação 5 (Raias de Natação) (Nó de União) (Nó de Ramificação) (Bifurcação) (Barras de Sincronização) Atividade 1 Ação 6 Ação 7 Ação 8 A (Ponto de Extensão) (União) Ação 9 (Final do Fluxo) (Final da Atividade) Figura D.4 Exemplo de um Diagrama de Atividades com seus principais elementos. Identifica-se primeiramente no diagrama representado na Figura D.4, na sua parte superior, duas subpartições. As partições, separadas por raias de natação (swimlane), servem para indicar que diferentes ações ou atividades são executadas por diferentes agentes dentro de um processo. Normalmente utilizam-se diagramas de atividade com partições para representar os casos de uso. Nesse caso, uma partição é utilizada para representar o operador e outra para representar o sistema. As partições podem ser representadas tanto na vertical como na horizontal, ou uma combinação das duas. O ponto preto em cima indica o início da atividade, as caixas com cantos arredondados representam ações ou atividades ( ), os pequenos losangos são nós de decisão e as barras

APÊNDICE D Unified Model Language (UML) 304 horizontais pretas são nós de sincronização, pode ser do tipo bifurcação (fork) ou do tipo união (join). Os arcos conectando as ações representam a sequência em que as ações devem ser executadas, sendo que, nos nós que saem dois arcos de decisão existem condições de guarda, que decidem qual será a próxima ação a ser executada. Essas condições de guarda devem ser proposições mutuamente exclusivas, de tal forma que para n arcos saindo de um nó de decisão, somente um deles pode ser verdadeiro a cada instante de tempo. Identifica-se no diagrama um nó de finalização, que denota o final da atividade e dois nós de fluxos que representam o final de um fluxo. Quando o final de uma ação alcança um nó do tipo final de atividade, isso significa que a atividade como um todo, representada pelo diagrama termina. Quando o final de uma ação alcança um nó do tipo final de fluxo, somente o fluxo em questão é que termina, mas a atividade continua, em outros fluxos que estejam ainda em funcionamento. Uma ação representa um passo elementar de uma atividade, ou seja, um passo que não pode ser decomposto dentro de uma atividade. Uma atividade representa um comportamento que pode ser composto por ações ou outras subatividades. Uma ação pode ter um conjunto de arcos de entrada e de saída, que especificam o fluxo de controle e de dados para outros nós. Uma ação não inicia sua execução até que todas as suas condições de entrada sejam satisfeitas. Somente quando uma ação é terminada que a ação subsequente fica habilitada. Ações podem ser definidas com pré-condições, que definem as condições necessárias para que a ação possa ser executada, e pós-condições, que definem o estado depois que a ação é executada. Para se evitar que linhas longas conectando pontos extremos de um diagrama o tornem poluído, podem ser utilizados pontos de extensão, conforme indicado no diagrama. Diagramas de atividades são utilizados para detalhar os casos de uso levantados durante a especificação do sistema. Nesses diagramas, assume-se que o usuário do sistema realiza certas ações e o sistema, em resposta, reage realizando certas tarefas. Com isso, o comportamento do sistema pode ser especificado. Pode-se encontrar nas especificações da UML outros elementos não apresentados neste texto, que podem aumentar os recursos e a complexidade deste diagrama, como por exemplo, regiões de expansão, pinos de entrada e de saída, nós estruturados, conjuntos de parâmetros, interrupções, regiões de interrupção e outros, os quais podem ser consultados

APÊNDICE D Unified Model Language (UML) 305 diretamente na OMG/UML [08]. Diagrama de Sequência A interação entre objetos para dar suporte à funcionalidade de um caso de uso denomina-se realização de um caso. A realização de um caso de uso descreve o comportamento de um ponto de vista interno ao sistema. A realização de um caso de uso é representada por um ou mais diagramas de sequência. O diagrama de sequências determina a sequência de eventos que ocorrem em um determinado processo, identifica quais métodos devem ser disparados entre os atores, os objetos ou classes envolvidas e em que ordem. Este se baseia no diagrama de casos de uso. Normalmente há um diagrama de sequências para cada caso de uso, uma vez que um caso de uso, em geral, refere-se a um processo disparado por um ator. Dessa forma, o diagrama de sequência também permite documentar um caso de uso. O diagrama de sequências também depende da definição das classes e dos objetos (ou do diagrama de classes e do diagrama de objetos) também valida estes, pois ao ser modelado podem-se identificar falhas e a necessidade de se declarar novos métodos que não haviam ainda sido identificados [09]. Apresenta-se na Figura D.5, um exemplo de um diagrama de sequência com a identificação de seus principais elementos. Sendo que, a diferenciação de cor entre objetos do Objeto de Controle (cinza) e objetos do Sistema de Controle (azul), não é uma orientação da UML e sim, uma proposta desta tese.

APÊNDICE D Unified Model Language (UML) 306 Figura D.5 Exemplo de um Diagrama de Sequências com seus principais elementos 1. O objeto representa uma instância da classe envolvida no processo ilustrado pelo diagrama de sequência, seu nome de acordo com a UML é lifelines, pois participa de uma interação durante um determinado tempo, podendo teoricamente ser criado (instanciado) ou destruído. A linha de vida representa o tempo em que um objeto (lifelines) existe em um processo. É representada por uma linha vertical fina tracejada, partindo do objeto. O foco de controle ou ativação indica os períodos em que um objeto está participando no processo. Os focos de controle são sobrepostos a linha de vida de um objeto, são representados por uma linha mais grossa (neste trabalho, os focos de controle também seguem a mesma padronização de cores dos objetos a que pertencem, azul para Sistema de Controle e cinza para Objeto de Controle). Outros elementos do diagrama de sequência não apresentados neste texto, de acordo com a UML, podem ser encontrados nas literaturas referenciadas sobre o assunto. Neste texto identificaram-se apenas os mais importantes e de interesse para este trabalho. 1 Este diagrama de sequências foi construído utilizando-se o aplicativo Visual Paradigm for UML CE (Community Edition). Version 10.2 [133].

APÊNDICE D Unified Model Language (UML) 307 Diagrama de Comunicação Este diagrama está fortemente associado ao diagrama de sequência, pode-se afirmar que um complementa o outro e são equivalentes entre si. Partes das informações mostradas neste diagrama são as mesmas que no diagrama de sequências, porém concentra-se em como os objetos estão vinculados e quais mensagens trocam entre si durante o processo, dessa forma, este diagrama não se preocupa com a temporalidade do processo, mas ressalta a organização estrutural e identifica os objetos e as mensagens que são enviadas e recebidas entre os mesmos. Um diagrama de comunicação pode ser transformado em um diagrama de sequências equivalente, da mesma forma o inverso também é verdadeiro. Ambos os diagramas, de comunicação e de sequência, fazem parte do grupo de diagramas de interação. Estes são necessários para modelar um caso de uso específico sob uma visão dinâmica do sistema. A seguir, a Figura D.6 apresenta um exemplo de um diagrama de comunicação e seus principais elementos. Este diagrama de comunicação representa o mesmo caso de uso do diagrama de sequências representado na Figura D.5. Figura D.6 Exemplo de um Diagrama de Comunicação com seus principais elementos 2. Também neste diagrama, os elementos apresentados não representam todas as opções que a UML permite. Procurou-se mostrar os elementos de utilização e interesse neste trabalho. 2 Este diagrama de comunicação foi construído utilizando-se o aplicativo Visual Paradigm for UML CE (Community Edition). Version 10.2 [133].

APÊNDICE D Unified Model Language (UML) 308 Embora não são utilizados no exemplo de aplicação do Capítulo 6, na sequência apresentam-se uma breve explicação sobre os outros diagramas disponibilizados pela UML. Para mais informações sobre estes diagramas as literaturas de referências [07], [08] e [09] podem ser consultada. Diagrama de Classes Para representar o aspecto estrutural estático de um SSOO utiliza-se o modelo de classes, da mesma forma que o aspecto funcional é representado pelo modelo de caso de usos. A ferramenta da UML utilizada para representar o aspecto estrutural estático de um sistema é o diagrama de classes. Este diagrama é utilizado na construção do modelo de classes desde o nível de análise até o nível de especificação de um SSOO. O principal enfoque do diagrama de classes está em possibilitar a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, como também, apresentar uma visão estática de como estas classes estão organizadas e sua estrutura lógica. As classes podem ser descritas pelo seu nome, atributos, métodos e seus relacionamentos. Os valores dos atributos podem variar de uma instância (objeto) para a outra, porém os métodos devem ser idênticos para todas as instâncias de uma classe específica. As classes são consideradas os elementos mais importantes no desenvolvimento de SSOO. As classes costumam ter relacionamentos entre si, os quais permitem que elas compartilhem informações entre si e colaborem para a execução dos processos executados pelo sistema. Uma associação descreve um vínculo que ocorre normalmente entre os objetos de uma ou mais classe. Estas relações podem ser do tipo associações, agregação, composição, especialização, generalização, dependência e realização. Diagrama de Objetos Este diagrama está amplamente associado ao diagrama de classes, é praticamente um complemento do diagrama de classes, sendo bastante dependente deste. O diagrama de objetos fornece uma visão dos valores armazenados pelos objetos de um diagrama de classes em um determinado momento da execução de um processo. Diagramas de objetos podem ser vistos como instâncias de diagrama de classes, da

APÊNDICE D Unified Model Language (UML) 309 mesma forma que objetos são instâncias de classes. Diagrama de Pacotes O diagrama de pacotes representa os subsistemas ou submódulos englobados por um sistema de forma a definir as partes que o compõem. Pode ser utilizado de maneira independente ou associado com outros diagramas. Demonstra como os elementos estão organizados nos pacotes e as dependências que existem entre os elementos e os próprios pacotes. Este diagrama ajuda a mostrar a arquitetura de uma linguagem, como ocorre com a própria UML. Pacotes são utilizados para agrupar elementos e fornecer denominações para esses grupos. São úteis para a modelagem de subsistemas e subdivisões de arquitetura de uma linguagem. Diagrama de Estrutura Composta O diagrama de estrutura composta fornece meios para definir a estrutura de um elemento e focalizá-la na construção e nos relacionamentos internos. É um dos novos diagramas propostos, a partir da segunda versão da UML, voltado a detalhar elementos de modelagem estrutural, como classes, pacotes e componentes, descrevendo sua estrutura interna. O diagrama de estrutura composta introduz a noção de porto, um ponto de conexão do elemento modelado, a quem podem ser associadas interfaces. Também utiliza a noção de colaboração, que consiste em um conjunto de elementos interligados através de seus portos para a execução de uma funcionalidade específica recurso útil para a modelagem de padrões de projeto. Diagrama de Componentes O diagrama de componentes é um dos dois diagramas de UML voltados a modelar software baseado em componentes. Tem por finalidade indicar os componentes do software e seus relacionamentos. Este diagrama mostra os artefatos de que os componentes são feitos, como arquivos de código fonte, bibliotecas de programação ou tabelas de bancos de dados. As interfaces é que possibilitam as associações entre os componentes. Diagrama de Implantação O diagrama de utilização, também denominado diagrama de implantação, consiste na

APÊNDICE D Unified Model Language (UML) 310 organização do conjunto de elementos de um sistema para a sua execução. O principal elemento deste diagrama é o nodo, que representa um recurso computacional. Podem ser representados em um diagrama tantos os nodos como instâncias de nodos. O diagrama de implantação é útil em projetos onde há muita interdependência entre pedaços de hardware e software. Diagrama de Perfil Possibilita a definição de novos elementos UML, permitindo assim estender os diagramas existentes com a inclusão de estruturas customizadas para uma determinada necessidade. Diagrama de Transição de Estados Também chamado de diagrama de estados, tem como elementos principais o estado, que modela uma situação em que o elemento modelado pode estar ao longo de sua existência, e a transição, que leva o elemento modelado de um estado para o outro. O diagrama de máquina de estados vê os objetos como máquinas de estados ou autômatos finitos que poderão estar em um estado pertencente a uma lista de estados finita e que poderão mudar o seu estado através de um estímulo pertencente a um conjunto finito de estímulos. Diagrama de Temporização O diagrama de temporização consiste na modelagem de restrições temporais do sistema. É um diagrama introduzido a partir da segunda versão da UML, classificado como diagrama de interação. Este diagrama modela a interação e a evolução de estados. Corresponde a um tipo específico de diagrama de sequência, o qual descreve as mudanças de estado e as interações entre objetos dentro de intervalos de tempo tomados como parâmetro. Diagrama de Visão Geral da Interação O diagrama de visão geral de interação é uma variação do diagrama de atividades, proposto a partir da versão 2 da UML. Seus elementos sintáticos são os mesmos do diagrama de atividades. As interações que fazem parte do diagrama de visão geral de interação podem ser referências aos diagramas de interação existentes na especificação.