360 likes | 561 Views
Introdu ção a UML, Diagrama de Classes e Comunicação/ Colabaração. Prof. Leandro Buss Becker lbecker@das.usfsc.br. Unified Model Language. UML ( Unified Modeling Language ) – Linguagem de Modelagem Unificada É uma linguagem de modelagem (visual), não uma linguagem de programação
E N D
Introdução a UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br
UnifiedModelLanguage • UML (UnifiedModelingLanguage) – Linguagem de Modelagem Unificada • É uma linguagem de modelagem (visual), não uma linguagem de programação • É uma linguagem de modelagem não proprietária • Permite a utilização de diagramas padronizados para especificação e visualização de um sistema
De onde surgiu? • Da união de três metodologias de modelagem: • Método de Booch, de GradyBooch; • Método OMT (ObjectModelingTechnique) de Ivar Jacobson; • Método OOSE (ObjectOriented Software Engineering) de James Rumbaugh. • Os “três amigos”.
UML “Fundadores” da UML
De onde surgiu? • A primeira versão foi lançada em 1996 • Em 1997 a UML foi adotada pela a OMG (Object Management Group – Grupo de gerenciamento de Objetos) como linguagem padrão de modelagem.
O que é modelagem? • Atividade de construir modelos que expliquem as características ou comportamentos de um sistema. • A UML pode ser usada com todos os processos durante o ciclo de desenvolvimento do projeto • Análise de requisitos; • Análise de sistema; • Design; • Programação e • Testes.
Por que usar UML? • Desenvolver o modelo de uma aplicação antes de construí-la, é tão essencial quanto ter uma planta para a construção de uma casa. • Analisar o projeto sobre vários aspectos; • Diminui a possibilidade de erros. • Facilita a programação; • Todo o time entende a modelagem, facilitando assim a manutenção.
E onde fica a modelagem? Análise de requisitos Modelagem Testes Implementação Manutenção Modelo de desenvolvimento mais comum. Todos os modelos são derivados dessa idéia
Ciclo de Desenvolvimento Análise de requisitos Modelagem Testes Implementação Manutenção
Modelos • Tipos de Modelagens • Estrutural; • Comportamental. • Estrutural (Estática) • Diagrama de Classes • Diagramas de Objetos • Diagrama de Caso de Uso • Diagrama de Componentes • Dinâmica • Diagrama de Estados • Diagrama de Atividades • Diagrama de Colaboração • Diagrama de Seqüência
Relacionamento • As Classes costumam possuir relacionamento entre si, com o intuito de compartilhar informações e colaborarem umas com as outras para permitir a execução dos diversos processos executados pelo sistema.
Associações • Descreve um vínculo que ocorre normalmente entre duas Classes, chamado neste caso de Associação Binária. • Em uma Associação determina-se que as instâncias de uma Classe estão de alguma forma ligadas às instâncias das outras Classes.
Associação Binária • Ocorre quando são identificados relacionamentos entre duas classes. • Este tipo de Associação constitui-se na mais comum encontrada nos Diagramas de Classe.
Agregação • É um tipo especial de associação onde tenta-se demonstrar que as informações e um objeto (chamado objeto-todo) precisam ser complementadas pelas as informações contidas em um objeto de outra classe (chamado objeto-parte).
Composição • Constitui-se em uma variação do tipo agregação. Uma associação do tipo Composição tenta representar um vínculo mais forte entre os objetos-todo e objetos-parte. • Tenta mostrar que os objetos-parte têm que pertencer exclusivamente a um único objeto-todo.
Especialização / Generalização • Seu objetivo é identificar classes-mãe (gerais) e classes filhas (especializadas). • Permite também demonstrar a ocorrência de métodos polimórficos nas classes especializadas.
Dependência • Não é um tipo comum de relacionamento, como o próprio nome diz, identifica um certo grau de dependência de uma classe em relação a outra. • Representado por uma reta tracejada entre duas classes, contendo uma seta na extremidade do relacionamento que é dependente de alguma forma.
Diagrama de Classes • É com certeza o mais importante e o mais utilizado diagrama da UML. • Permite a visualização das classes que comporão o sistema com seus respectivos atributos e métodos, bem como os relacionamento entre as classes.
Diagrama de Classes • Apresenta uma visão estática de como as Classes estão organizadas; • Preocupação apenas com a estrutura lógica. • Serve como base para outros diagramas da UML.
Diagrama de Comunicação/Colaboração • O Diagrama de Comunicação era conhecido como Diagrama de Colaboração até a versão 1.5 da UML, tendo seu nome modificado para Diagrama de Comunicação a partir da versão 2.0.
Diagrama de Comunicação/Colaboração • Representa interação entre os objetos do sistema • Preocupação com o tempo de execução. • Em um diagrama de comunicação o tempo é representado através de uma numeração, que pode ser de duas formas: • simples (1,2,3,...) • composta (1.1, 1.2, 1.2.1, ...)
Diagrama de Comunicação/Colaboração Um objeto é representado como um retângulo, contendo no seu interior um rótulo, que informa o nome do objeto e o nome da classe, separados por dois pontos
Diagrama de Comunicação/Colaboração Um vínculo é uma associação que identifica uma ligação entre dois objetos envolvidos em um processo. É caracterizado pelo envio ou recebimento de uma mensagem, ou ambos.
Diagrama de Comunicação/Colaboração É possível adicionar condições, para representar as mensagens enviadas entre os objetos, basta adicionar a descrição entre colchetes na própria mensagem.
Diagrama de Comunicação/Colaboração Um objeto pode disparar uma mensagem em si próprio, o que é reconhecido como autochamada.
Diagrama de Comunicação/Colaboração Exemplo: Realizar submissão de um artigo em um congresso. Mostrar as mensagens trocadas entre o Submissor, a página do congresso, o controlador do congresso, o tema e a Submissão.