DIAGRAMAS DE CLASSE UML

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

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

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

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:

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

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

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

INF1404 MODELAGEM DE SISTEMAS

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

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

UML - Unified Modeling Language

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

INF1013 MODELAGEM DE SOFTWARE

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

Requisitos de sistemas

Modelagem de Processos

Introdução a UML e seus diagramas

Capítulo 5 Modelação do Sistema 1

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

Panorama da notação UML

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Linguagem de Modelagem Unificada UML

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

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

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

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

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.

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

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

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

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

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

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

UML e seus diagramas

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

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

Introdução a UML (Unified Modeling Language)

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

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES]

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

UML. Rodrigo Leite Durães.

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

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Análise e projeto de sistemas

SIG SIG. GEO-OMT Exercícios. Alisson Fernando Coelho do Carmo

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

UML (Unified Modelling Language)

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Análise e projeto de sistemas

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

APÊNDICE D Unified Model Language (UML)

Como Modelar com UML 2

Análise e Projeto Orientados a Objetos

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Análise e Projeto Orientados a Objetos: Visibilidade Diagrama de Classe de Projeto

UML. Modelando um sistema

Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite

Análise e Projeto Orientados a Objetos

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:

Classes e Objetos. Sintaxe de classe em Java

Modelagem Orientada a Objeto

Lista Diagrama de Casos de Uso

Aula 7 Visibilidade entre objetos e Diagramas de Classes

Especificação de Sistemas de Software e a UML

Programação Orientada a Objeto

Transcrição:

DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar Prova extra: Data: 30/10/2017 (1ª chamada) e 06/12/2017 (2ª chamada) Assunto: Mesmo assunto da 1ª prova Questões: Apenas questões problema Atenção: Não são apenas para desenho de diagramas! Objetivo: Parecer ou solução para um determinado problema. 1

Projeto de Objetos Modelagem Estática e Dinâmica Modelos Dinâmicos: Exemplos: Modelos de Interação UML (Diagramas de Sequência ou de Comunicação) Ajudam a projetar a lógica, o comportamento do código ou o corpo do método. Modelos Estáticos: Exemplo: Diagramas de Classe UML Ajudam a projetar a definição de pacotes, nomes de classes, atributos e assinaturas de métodos (mas não o corpo do método). Projeto de Objetos Modelagem de Objetos Estática A modelagem estática mais comum é através dos Diagramas de Classes UML. Outros apoios para esta modelagem: Diagrama de Pacotes e Diagrama de Instalação. 2

Ilustra classes, interfaces e suas associações Em uma perspectiva conceitual, pode ser usado para visualizar um Modelo de Domínio Perspectiva de Software ou Projeto: de Projeto (DCP). O conjunto de todos os DCPs forma parte do Modelo de Projeto. Outras partes do Modelo de Projeto: Diagramas UML de Interação e de Pacotes. Diagramas de Classe em duas perspectivas: 3

Classificador UML: Elemento do modelo que descreve características comportamentais e estruturais. São uma generalização de muitos elementos da UML, inclusive classes, interfaces, casos de uso e atores. Classificadores mais comuns: classes e interfaces regulares Atributos de um classificador (ou propriedades estruturais): Notação textual de atributo Notação de linha de associação Ambas juntas Modos de mostrar atributos: Textual e linhas de associação 4

Notação textual de atributos UML: Formato completo: Porém, a UML permite qualquer outra sintaxe de linguagem de programação para declaração de atributo, desde que o leitor ou ferramenta seja notificado. Visibilidade: + (público), - (privado) Atributos são considerados privados, se nenhum sinal de visibilidade é dado. Notação da linha de associação: Uma seta de navegabilidade apontando do objeto fonte para o objeto alvo, indicando que um objeto fonte tem um atributo do tipo do objeto alvo. Uma multiplicidade na extremidade do alvo, mas não na extremidade da fonte Mesma notação de multiplicidade do Modelo de Domínio Nome do papel apenas na extremidade do alvo para mostrar o nome do atributo Sem nome de associação 5

Notação de texto ou de linha de associação? Notação textual de atributos para: Objetos de tipos de dados Notação de linha de associação: Para todos os demais objetos Notação de linha de associação 6

Notação de linha de associação para uma coleção Símbolos de anotação: Notas, Comentários, Restrições e Corpos de métodos 7

Operações e Métodos: Formato oficial: Operações são consideradas públicas se nenhuma visibilidade for identificada. Cadeia de propriedade: contem informação adicional. Exemplo: exceções que podem ser levantadas, se a operação é abstrata etc. Um Método é a implementação de uma Operação. Diagrama de Classes Operações e Métodos: Operações de acesso a atributos (gets e sets) geralmente são excluídas do 8

Palavras Chave: Enfeite textual para caracterizar um elemento de um modelo. Estereótipos, Perfis e Etiquetas: Não são palavras chave, embora a notação possa ser a mesma. Estereótipo: Representa um refinamento de um conceito de modelagem existente É definido dentro de um perfil UML Perfil UML: Coleção de estereótipos, etiquetas e restrições relacionadas. Especializa o uso da UML para um domínio ou plataforma específicos. Exemplo: um perfil UML para gestão de projetos ou para modelagem de dados. 9

Estereótipos, Perfis e Etiquetas: Estereótipo: A UML predefine alguns estereótipos como o «destroy» (usado no diagrama de sequência). Mas também permite estereótipos definidos pelo usuário, fornecendo um mecanismo de extensão. Etiquetas: Um estereótipo declara um conjunto de etiquetas, usando a sintaxe de atributo. Quando um elemento é marcado como um estereótipo, todas as etiquetas se aplicam ao elemento e a elas podemos atribuir valores. Estereótipo definido pelo usuário: Estereótipo Etiquetas 10

Generalização: Relacionamento entre um classificador mais geral e um classificador mais específico. Cada instância do classificador específico é também uma instância indireta do classificador geral. Realizada através de classes abstratas e operações abstratas. Classes abstratas e operações abstratas: Podem ser mostradas pela etiqueta {abstract} ou pelo nome em itálico. Classes finais e operações que não podem ser sobrepostas em subclasses são mostradas com a etiqueta {leaf}. 11

Dependência: Indica que: Um elemento cliente (classes, pacotes, casos de uso etc) tem conhecimento de outro elemento fornecedor. Uma modificação no fornecedor pode afetar o cliente. Pode ser vista como uma outra versão de acoplamento. Dependência: Ocorre quando o elemento cliente: Tem um atributo do tipo do elemento fornecedor. Envia uma mensagem ao elemento fornecedor Recebe um parâmetro do tipo do elemento fornecedor Também quando o elemento fornecedor é uma superclasse ou interface. Todos poderiam ser dependência, mas alguns já tem linhas específicas (ex: superclasse, implementação de interface etc). 12

Dependência: Dependência: 13

Dependência: Rótulos de dependência: Interfaces: Interfaces são elementos do modelo que definem conjuntos de operações que outros elementos do modelo, como classes ou componentes devem implementar. A implementação da interface é chamada de realização da interface. 14

Composição: relacionamento do tipo todo-parte tal que: Uma instância da parte pertence a apenas uma instância composta A parte deve sempre pertencer a uma composição A composição é responsável pela criação e remoção de suas partes. Se a composição é destruída, suas partes também são destruídas ou acopladas a outra composição. Restrições: Restrição ou condição em um elemento UML. Notação: entre chaves ({...}) Pode ser em linguagem natural ou em qualquer outra, como a Linguagem de Restrição de Objetos (Object Constraint Language OCL). Restrições 15

Associação qualificada: Tem um qualificador usado para selecionar um objeto (ou objetos) a partir de um conjunto maior de objetos relacionados, baseado na chave do qualificador. A qualificação reduz a multiplicidade na extremidade alvo da associação. Classe Associativa: Permite tratar uma associação em si como uma classe e modelá-la com atributos, operações e outras características. Notação: linha tracejada 16

Classes gabarito e interfaces: Muitas linguagens possuem tipos gabaritados, também conhecidos como tipos parametrizados ou genéricos. São comumente usados para o tipo de elemento de classes de coleção como, por exemplo, List e Map. Neste exemplo, a classe concreta que implementa a interface List é um ArrayList: tanto List como ArrayList são parametrizadas. Classes gabarito e interfaces: 17

Classes ativas: Um objeto ativo, que pertence a uma classe ativa, executa e controla sua própria linha de execução. Classes ativas são mostradas da seguinte forma: Notação: linhas verticais duplas Relacionamento entre Diagramas de Interação e Diagramas de Classes: 18

Diagrama de Classe Visão geral de todos os elementos: Bibliografia Esta aula foi retirada dos seguintes livros/artigos: LARMAN, Craig. Utilizando UML e Padrões: uma introdução à análise e ao projeto orientados a objetos e ao desenvolvimento iterativo. 3. ed. Porto Alegre: Bookman, 2007. 19