Prévia do material em texto
Anotações U N ID A D E 5DIAGRAMAS ESTRUTURAIS E COMPORTAMENTAIS DA UML Carga horária 14 horas• EAD. Objetivo Conhecer o uso dos demais diagramas da UML: Diagrama • de Interação, Diagrama de Atividades, Diagrama de Estado, Diagrama de Componente, Diagrama de Implantação. Conteúdos Diagramas Comportamentais: Diagrama de Interação, de • Atividades e de Estados. Diagramas Estruturais: Diagrama de Componente e de • Implantação. Claretiano – Batatais90 Cursos de graduação CRC • • • © Análise e Projeto de Sistemas UNIDADE 5 1 Introdução Nas unidades anteriores, você conheceu e aprendeu a utilizar dois dos mais importantes diagramas da UML: dentro da abordagem comportamental, o Diagrama de Caso e o de Uso e dentro da abordagem estrutural, os diagramas de Classe e o de Objetos. Nesta unidade daremos continuidade ao estudo da UML, apresentando os demais diagramas. Veremos que um sistema pode apresentar diversas particularidades, as quais devem ser representadas claramente em modelos que sejam de fácil representatividade em esquemas de construção, por exemplo, por uma linguagem de programação. Mas como podem ser essas outras representações? Que tipos de situações elas podem abstrair? Acompanhe atentamente os estudos a seguir, buscando compreender e responder a essas questões. 2 dIagramas ComportamentaIs: dIagrama de Interação, de atIvIdades e de estados O primeiro diagrama que estudaremos nesta unidade é o Diagrama de Interação. Diagrama de Interação O Diagrama de Interação mostra como o fluxo de eventos ocorre por meio de um Caso de Uso. Os participantes desse diagrama são: Atores• . Objetos• envolvidos. Mensagens• trocadas. Há dois tipos de Diagramas de Interação: Diagrama de Seqüência.• Diagrama de Colaboração/Comunicação.• Em linhas gerais, um Diagrama de Seqüência enfatiza a ordenação seqüencial em que os comportamentos acontecem, ao passo que um Diagrama de Colaboração/ Comunicação destaca a ordenação estrutural dos objetos que colaboram entre si. Diagrama de Seqüência Como já vimos anteriormente, o Diagrama de Seqüência enfatiza a ordenação seqüencial em que os comportamentos acontecem. Além dos objetos e dos atores, outros elementos apresentados nesse diagrama, também, são essenciais, tais como: Linha de vida – 1) as linhas verticais nos Diagramas de Seqüência são chamadas de linha de vida, elas representam a vida do objeto durante uma interação. Cada objeto representado tem sua linha de vida independente. Foco de controle –2) representa o período de duração da colaboração entre os objetos. atenção! Lembre-se de que sua participação e cooperação são fundamentais para um curso a distância. Sempre que tiver dúvidas recorra ao Guia acadêmico do curso, neste guia você encontrará informações fundamentais para o bom desenvolvimento de seu curso. InFormação: Os diagramas de Interação são bons para mostrar as colaborações entre objetos, porém não são adequados para uma definição precisa de seu comportamento. Nesses casos você deve usar um Diagrama de Estados. Caso seja necessário observar o comportamento por meio de muitos Casos de Uso ou de muitos caminhos de execução, utilize o Diagrama de Atividades. Cursos de graduação © Análise e Projeto de Sistemas • • • CRC Batatais – Claretiano 91 UNIDADE 5 Mensagens – 3) a mensagem é representada por uma flecha horizontal entre dois objetos, ou melhor, entre as linhas de vida dos objetos, e sua ordem é mostrada de cima para baixo no diagrama. Cada mensagem deve ser rotulada, ou seja, deve possuir um identificador. Auto-chamada – 4) é a representação de uma mensagem que um objeto emite para si mesmo, enviando a flecha de mensagem de volta para a mesma linha de vida. Condição –5) indica quando uma mensagem é enviada a um objeto, desde que essa condição seja verdadeira. Marcador de interação (ou de controle) –6) o marcador de interação demonstra quantas vezes uma mensagem é enviada a um objeto. Mensagens de retorno7) – indica o retorno de uma mensagem e não de uma nova mensagem. Assim, todas as mensagens poderão ter retorno, desde que necessário. A mensagem de retorno difere-se das mensagens regulares, pois a linha é tracejada. Raias de natação – 8) são utilizadas para organizar as atividades representadas em diagramas. Nas raias de natação criamos grupos que são responsáveis pelas atividades que ocorrem nos Diagramas de Atividades e então, separamos esses grupos por meio de linhas delimitadoras, o que lembra uma piscina vista de cima, daí o nome raias de natação. Veja na Figura 1 os elementos gráficos representados: Objeto1 Objeto2 Mensagem Mensagem de retorno Auto-chamada Linha de vida do objeto 1 Foco de controle do objeto 1 * [condição] Objeto3 Mensagem3 Figura 1 Representação dos elementos gráficos de um Diagrama de Seqüência. Exemplificamos, graficamente, um Diagrama de Seqüência para exclusão de usuários para o Sistema Gerenciador de Avaliações. atenção! O Marcador de interação é útil quando precisamos demonstrar um processamento em que há mais de uma informação a ser processada. Ele é representado com um sinal de asterisco (*). InFormação: Utilize Mensagens de retorno quando o resultado de uma mensagem não ficar claro e objetivo, para quem estiver lendo o Diagrama de Seqüência. Quando, em um Diagrama de Seqüência houver muitos objetos colaborando, muitas mensagens de retorno podem confundir o leitor por deixar o diagrama poluído graficamente. Claretiano – Batatais92 Cursos de graduação CRC • • • © Análise e Projeto de Sistemas UNIDADE 5 Figura 2 Diagrama de Seqüência para exclusão de usuários. Diagrama de Colaboração/Comunicação Como você viu anteriormente, o Diagrama de Colaboração/Comunicação é o segundo tipo de Diagrama de Interação. Ele enfatiza a ordem estrutural dos objetos que colaboram entre si. O Diagrama de Colaboração/Comunicação pode ser visto como um Diagrama de Seqüência simples, que não utiliza elementos como interações ou fragmentos combinados. Esse diagrama é utilizado quando o foco do estudo for modelar a interação entre os objetos, mas não sua seqüência de mensagens. Como a disposição dos objetos é estrutural e não linear, o seqüenciamento das mensagens é determinado por uma sucessão numerada, indicando a ordem e, se for o caso, o alinhamento do processamento. A forma de numeração mais usual é 1, 1.n, 1.n.n, 2 etc. As mensagens, neste diagrama, são semelhantes às do Diagrama de Seqüência. Na Figura 3, vamos observar o exemplo de um Diagrama de Colaboração/ Comunicação para visualização de prova do Sistema Gerenciador de Avaliações. Cursos de graduação © Análise e Projeto de Sistemas • • • CRC Batatais – Claretiano 93 UNIDADE 5 Figura 3 Diagrama de Colaboração/Comunicação para visualização de prova. Diagrama de Atividade O Diagrama de Atividade representa um fluxo de controle de atividades que ocorrem no processo de um sistema, oferecendo suporte para comportamentos condicionais e paralelos. A representação gráfica de um Diagrama de Atividades é estabelecida, também, por uma série de símbolos. A seguir, acompanhe atentamente a descrição dos elementos que constituem esse importante diagrama. Início O Diagrama de Atividades é delimitado por um início distinto. Veja a representação de seu símbolo a seguir: Início Atividade Uma atividade é um estado de execução de alguma coisa. A atividade pode ser, por exemplo, a execução de uma operação em uma classe. O símbolo principal é o seguinte: Atividade Separação A separação é utilizada para exibir comportamentos paralelos a partir da execução de uma atividade. Ela representa uma transição de entrada e pode ter várias outras transições de saída ocorrendo em paralelo. Veja o exemplo a seguir: InFormação CompLementar:Ao contrário dos outros diagramas existentes na UML, o Diagrama de Atividades não tem origem nos trabalhos de Booch, Rumbaugh e Jacobson. Ele teve sua origem em outras técnicas, tais como os Diagramas de Eventos de Jim Odell, modelagem de estados SDL, modelagem de workflow e redes de Petri. Esses diagramas têm como característica principal a representação de comportamentos por meio de processamento paralelo. Claretiano – Batatais94 Cursos de graduação CRC • • • © Análise e Projeto de Sistemas UNIDADE 5 Atividade2 Atividade3 Junção A função da junção é exibir comportamentos paralelos a partir da execução de várias atividades, juntando-as em uma única saída. Observe o seguinte exemplo: Atividade2 Atividade3 Atividade4 Desvio O desvio é empregado para exibir o comportamento condicional de uma única entrada em várias transições de saída. Analise o exemplo a seguir: Atividade1 Atividade2 Atividade3 Intercalação Uma intercalação serve para exibir o comportamento condicional de várias transições de entrada em uma única transição de saída. Atente-se para o exemplo: Atividade2 Atividade3 Atividade4 Cursos de graduação © Análise e Projeto de Sistemas • • • CRC Batatais – Claretiano 95 UNIDADE 5 Fim O Diagrama de Atividades é delimitado, por último, por um fim distinto. Seu símbolo é: Fim Vamos verificar na Figura 4 o exemplo de um Diagrama de Atividades para a montagem da prova no Sistema de Avaliações. Verifica existência de questões Acessa cadastro de provas Preenche dados sobre a prova Incluir questões da prova Não apresenta questões Escolhe questão e atribui valor a ela Valor da prova maior que 10 Incluir mais questões Grava Não Sim Sim Não Sim Figura 4 Representação de um Diagrama de Atividades para criação de provas. atenção! Um Diagrama de Atividades informa às atividades que ocorrem dentro de um processo, mas não representa inicialmente, quem são os responsáveis por essa atividade. Caso seja necessário nomear os responsáveis por um grupo ou por uma atividade especificamente, utilize as raias de natação, como vimos nos Diagramas de Seqüência. Claretiano – Batatais96 Cursos de graduação CRC • • • © Análise e Projeto de Sistemas UNIDADE 5 Diagrama de Estado Os Diagramas de Estado são desenvolvidos com o objetivo de estudar o que acontece internamente com um objeto em tempo de execução. São também conhecidos como Diagramas de Transição de Estados, um nome talvez um pouco mais adequado. Eles são bons para descrever o comportamento de um objeto por meio de vários Casos de Uso. Isso acontece porque um objeto pode passar por diversas situações desde o momento em que é criado até sua destruição. Por exemplo, um objeto pode ser carregado, fazer uma solicitação etc. Um estado, portanto, representa: uma ação que está sendo executada; • uma condição que foi satisfeita;• uma situação estática de espera em que um objeto se encontra durante sua • existência ou durante o processo de execução de alguma atividade no sistema. Em algumas situações, você precisa compreender o sistema com base na especificação da seqüência de estados que um objeto vai passando em resposta aos eventos solicitados pelo sistema durante sua vida. Além disso, o Diagrama de Estado indica quais ações são realizadas pelo objeto em conseqüência de um determinado evento. Essa seqüência é também chamada de máquina de estados. Uma máquina de estados especifica o comportamento das instâncias do elemento fonte. Portanto, não só o objeto em si, mas qualquer entidade que seja capaz de um comportamento dinâmico pode ser descrita por meio de uma máquina de estado. Nome do Estado Opcionalmente, a figura que representa um estado pode ser dividida em três áreas: nome do estado;1) variáveis de estado, que indicam como ele se manifesta para o mundo 2) exterior; atividades do estado.3) A representação gráfica dos pontos de Estados Iniciais e Finais é concedida pelos seguintes símbolos: Estado Inicial Estado Final Em especial, indicam dois estados: Estado Inicial• – o ponto de partida de uma máquina de estado ou subestado. Estado Final• – o ponto em que a execução da máquina de estado ou estado envolvente terminou. Considerando que um Diagrama de Estado representa os comportamentos de um objeto, é preciso, então, representar esse movimento do objeto, em outras palavras, a transição de um estado para o outro. atenção! Observe ao lado a representação gráfica de um estado que é estabelecida por um retângulo com cantos arredondados. InFormação CompLementar: Pontos de entrada e de saída de um estado. O estado inicial é um ponto de entrada. Um ponto de saída é um pseudo-estado que indica a saída de uma região e o encerramento de uma máquina de estado. Uma máquina de estado pode conter qualquer número de pontos de saída. Cursos de graduação © Análise e Projeto de Sistemas • • • CRC Batatais – Claretiano 97 UNIDADE 5 Uma transição é um relacionamento entre dois estados indicando que o objeto no primeiro estado executará certas ações e entrará no segundo estado quando um evento especificado ocorrer e uma condição for satisfeita. Ao acontecer a mudança de estado, dizemos que a transição disparou. A representação gráfica da transição de um estado para o outro, na forma de uma seta, é a seguinte: Para facilitar sua compreensão, colocaremos nossa teoria em prática, estudando exemplos que ocorrem em nosso dia-a-dia. Inicialmente, estudaremos os estados de uma lâmpada elétrica. Uma lâmpada elétrica pode encontrar-se em dois estados: apagada e acesa, os quais ocorrem por causa de um evento: o acionamento do interruptor. Quando ela está no estado apagada, um toque no interruptor move-a para o estado acesa, e uma vez que ela estiver no estado acesa, um novo toque no interruptor a move para o estado apagada, até que ela queime. Observe a representação gráfica na figura a seguir: Apagada Acesa Interruptor ligado Interruptor desligado Figura 5 Representação de um Diagrama de Estado. Outro caso simples que ocorre em nosso dia-a-dia é o de uma porta qualquer. Uma porta pode encontrar-se em três estados: aberta, fechada e trancada. Estes estados ocorrem por causa de dois tipos de eventos: o fechamento/abertura da porta e o seu trancamento/destrancamento. Analise a Figura 6, ela representa graficamente a situação que acabamos de expor. Aberta Fechada Trancada [Entrada aberta]/Fechar Abrir Trancar Destrancar Figura 6 Representação de um Diagrama de Estado. Claretiano – Batatais98 Cursos de graduação CRC • • • © Análise e Projeto de Sistemas UNIDADE 5 Para finalizar este tópico, é importante ressaltar que pode ocorrer de um projeto não requerer um Diagrama de Estado, mesmo que seja praticamente impossível que não exista pelo menos um Diagrama de Estado em um projeto. Isso dependerá do domínio do problema e de sua necessidade de estudo e representação. 3 dIagramas estruturaIs: dIagrama de Componente e dIagrama de ImpLantação Os Diagramas Estruturais são divididos em duas categorias: Diagrama de Componente e Diagrama de Implantação. Diagrama de Componente As classes são os blocos de construção mais importantes nos Sistemas Orientados a Objetos, e os componentes, por sua vez, podem ser considerados implementações físicas desses blocos de construção. Portanto, um componente representa um módulo físico de código, podendo ser, também, um pacote. Você sabe por quê? Porque, em termos de implementação, uma classe pode estar presente em componentes múltiplos, estando definida apenas em um pacote. Basicamente, um Diagrama de Componente mostra os vários componentes em um sistema e suas dependências. As dependências entre os componentes mostram como as mudançasem um componente podem causar, também, mudanças em outros componentes. Verifique a seguir a representação gráfica de um componente. nomedoComponente Outro elemento do Diagrama de Componente é a interface. Uma interface é um conjunto de operações que definem os serviços de uma classe e/ou componente. Pode definir, de forma total ou parcial, os serviços que serão utilizados ou fornecidos por um componente. A interface é representada graficamente por um círculo, e em sua forma expandida, por uma classe estereotipada como >, conforme a imagem a seguir: Interface O exemplo que segue é de um Diagrama de Componentes para o Sistema de avaliações, observe: InFormação: Você sabe a diferença entre modelo e componente? Um modelo é algo que se pretende reproduzir, enquanto o componente é a própria reprodução, não abstrata, mas física e executável, ou seja, o próprio código, com o objetivo de se adaptar e realizar interfaces para constituir o software como um todo. Cursos de graduação © Análise e Projeto de Sistemas • • • CRC Batatais – Claretiano 99 UNIDADE 5 Figura 7 Diagrama de Componentes para o Sistema de Avaliações. Além dos componentes que interagem com as interfaces definidas, todos os outros tipos de artefatos que farão parte do sistema podem ser representados, tais como arquivos executáveis, bibliotecas, tabelas etc. Diagrama de Implantação O Diagrama de Implantação representa a configuração e a arquitetura de um sistema no qual os componentes estarão ligados. Os componentes representam a distribuição dos artefatos ou recursos da aplicação pelos pontos da topologia de hardware no qual o sistema será executado. Os recursos representados são chamados de “nós” e esse diagrama é, também, conhecido como Diagrama de Execução. O Diagrama de Implantação é útil aos profissionais envolvidos com o ambiente de hardware e de software no qual o projeto será desenvolvido. Servidores são comumente representados nesse diagrama. Observe a seguir a representação de um nó. nó1 Um Diagrama de Implantação para o Sistema de Avaliações é descrito da seguinte maneira: Claretiano – Batatais100 Cursos de graduação CRC • • • © Análise e Projeto de Sistemas UNIDADE 5 Figura 8 Diagrama de Implantação para o Sistema de Avaliações. Resumindo: Vamos retomar o que aprendemos sobre cada diagrama abordado nesta unidade: O Diagrama de Interação mostra como o fluxo de eventos ocorre por meio de um Caso de Uso. Há dois tipos de Diagramas de Interação: o Diagrama de Seqüência, que enfatiza a ordenação seqüencial em que os comportamentos acontecem; e o Diagrama de Colaboração/Comunicação, que é utilizado quando o foco do estudo for modelar a interação entre os objetos, mas não sua seqüência de mensagens. O Diagrama de Atividade representa um fluxo de controle de atividades que ocorrem no processo de um sistema, oferecendo suporte para comportamentos condicionais e paralelos. Os Diagramas de Estado são desenvolvidos com o objetivo de descrever o comportamento de um objeto por meio de vários Casos de Uso. Um Diagrama de Componente mostra os vários componentes em um sistema e suas dependências. As dependências entre os componentes mostram como as mudanças em um componente podem causar, também, mudanças em outros componentes. O Diagrama de Implantação representa a configuração e a arquitetura de um sistema no qual os componentes estarão ligados. 4 ConsIderações FInaIs Concluímos nosso estudo sobre a tecnologia de Análise Orientada a Objetos com a UML. Os conceitos estudados buscaram apresentar as notações-chave dos diagramas da UML. Uma grande variedade de fontes de informação sobre Análise Orientada a Objetos e assuntos relacionados está disponível na internet. Uma lista atualizada de referências da World Wide Web, que são relevantes para que possam aprimorar seus conhecimentos, pode ser encontrada no site indicado. Disponível em: . Acesso em: 28 jan. 2009. atenção! Veja no Caderno de atividades e interatividades (CAI) as atividades propostas para esta unidade. para voCÊ reFLetIr: Esta unidade apresentou um estudo detalhado sobre os demais diagramas da UML. Então, convidamos você a refletir sobre esses modelos. Você considera que devemos desenhar modelos para tudo? É melhor ter poucos diagramas representando pouca informação, porém utilizáveis e atualizáveis ou ter muitos modelos que podem representar mais informação, mas que podem ser esquecidos ou ficarem obsoletos? Cursos de graduação © Análise e Projeto de Sistemas • • • CRC Batatais – Claretiano 101 UNIDADE 5 Para encerrar, gostaríamos de retomar a idéia de que o processo de análise e desenvolvimento, seja no modelo Essencial ou em UML, geralmente não é linear, nem é levado a cabo de uma só vez. Normalmente, utilizamos a estratégia de “dividir para conquistar” e depois retomamos as idéias e os problemas que vão surgindo. Isso é um processo iterativo (cuidado, não é interativo). Assim, também, pode ser seu conhecimento quanto aos diagramas da UML. Consideramos importante que retome sempre que possível as leituras dos conceitos e, especialmente o uso dos diagramas na prática que foi apresentado a você, eles irão ajudá-lo a compreender cada vez melhor o uso das estratégias e modelos de análise para sistemas de software. Um forte abraço. 5 reFerÊnCIas bIbLIográFICas BOOCH, Grady et al. UML: guia do usuário. Rio de Janeiro: Campus, 2000. FURLAN, J. D. Modelagem de objetos através da UML. São Paulo: Makron Books, 1998. PRESSMAN, R. S. Engenharia de software. 6. ed. São Paulo: McGraw-Hill, 2006. Anotações