Diagrama de Classes (Análise de casos de uso)

Documentos relacionados
Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla

Relações entre Classes e Persistência

ESTUDO DE CASO: CONVERSOR CELSIUS-FAHRENHEIT

Diagrama de Classes de Projeto. Prof. Cesar Augusto Tacla

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

Diagrama de Classes de Projeto

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

Levantamento de classes (Análise de casos de uso)

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

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

Unified Modeling Language (UML)

PROGRAMAÇÃO ORIENTADA A

Levantamento de classes (Análise de casos de uso) Prof. Cesar Augusto Tacla

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

Requisitos de sistemas

Técnicas de Modelação de Dados

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

Modelagem Orientada a Objeto

Herança - Conceitos Básicos

Projeto Banco de Dados

POO29004 Programação Orientada a Objetos

Linguagem de Modelagem Unificada UML

Modelagem Entidade Relacionamento Estendida. Evandro E.S. Ruiz, Ph.D.

04/11/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE CLASSE

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

Programação Orientada a Objetos Relacionamentos entre classes

PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO. Projeto de Programas PPR0001

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

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO

Banco de Dados I Generalização/Especialização

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

UML. Diagrama de Classes

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

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

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

Diagrama de Classes (Notação) - Aula 11 (parte 2)

Linguagem de Programação. Diagrama de classes

INF1013 MODELAGEM DE SOFTWARE

TIC - Programação Visual

POO29004 Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Herança - Conceitos Básicos

Project-Based Learning TADS MS Diagrama de Classes

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

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Análise e Projeto de Sistemas

UML. Diagrama de Classe

UML. Adriano J. Holanda 21/3/

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

PROJETO DE DESENVOLVIMENTO DE SOFTWARE

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

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

UML Diagrama de Classes

Representação para Programação Orientada a Objetos

Análise e Projeto de Software Parte I. Marcos Dósea

Aula 4 POO 1 Análise OO. Profa. Elaine Faria UFU

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

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

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

Linguagem de Programação II Relacionamento entre classes

Refinamento da Modelagem

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

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

Sumário. Modelo Entidade-Associação : Avançado 1 Associações Ternárias. Exemplo. Associações Ternárias. Exemplo. André Restivo. September 21, 2010

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

Modelagem de Sistemas

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

Modelo Entidade-Relacionamento

POO29004 Programação Orientada a Objetos

Modelagem de dados usando MER. Andre Noel

Unidade IV. Compreende uma conexão bidirecional entre classes que indica a existência de um relacionamento entre os objetos dessas classes.

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Introdução ao método de projeto OO

Introdução ao método de projeto OO. Prof. Cesar Augusto Tacla

Banco de Dados. André Luís Duarte Capítulo 2. exatasfepi.com.br

Diagramas de Classe. Sumário. Introdução aos Diagramas de Classe

Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação

PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

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

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

Orientação a Objetos e UML

UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos

UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO E ESTATÍSTICA. Professor: Eduardo Coelho

Capítulo 5 Modelação do Sistema 1

Bases de Dados 2013/2014 Modelo Entidade-Associação (EA) Helena Galhardas 2013 IST. Bibliografia

BANCO DE DADOS E APLICAÇÕES EM NEGÓCIOS: Modelagem usando o Modelo Entidade Relacionamento. Evandro Eduardo Seron Ruiz, Ph.D.!

Ciclo de Desenvolvimento de Sistemas de BD

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

INF1012 MODELAGEM DE DADOS

DIAGRAMAS DE CLASSE UML

Diagrama de Classes Diagrama mais

MAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1

Transcrição:

Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Diagrama de classes Estrutura do sistema (classes) Representação estática da colaboração (relações) Relações associação (mais comum) agregação (um tipo de associação), generalização/especialização dependência Associação Nome da associação Multiplicidade das relações Objetos de uma classe se associam a objetos de outra!! Multiplicidade: exemplo Multiplicidade: exercício.. Qual a representação em UML para o caso seguinte? Carro João Matemática João FIAT AXY8704 Física quim FUSCA BHY990 História CORCEL ATT020

Multiplicidade: exemplo Navegabilidade: unidirecional Qual a representação em UML para o caso seguinte? Faça um exemplo com instâncias que ilustre a representação. Não Uma pessoa participa de no máximo 3 projetos, mas pode não participar. Um projeto pode ter vários participantes e somente pode começa a existir quando o primeiro participante é designado. Navegabilidade: bidirecional Navegabilidade: não especificada Não especificada Não especificada Direção de leitura Papéis Papéis Empresa Trabalha ou emprega? Empresa empregador empregado Qual a interpretação desejada? Trabalha pessoa trabalha para Empresa ou empresa trabalha (presta um serviço) para ; Emprega (contrata) empresa emprega ou pessoa emprega (contrata) Empresa Papel de empresa Uso de papéis pode suprimir ambigüidades Papel de pessoa 2

Levantamento das associações Examinar Regras do negócio, Modelo do domínio Requisitos funcionais Casos de uso Diagramas de interação Associações reflexiva Objetos de uma classe se relacionam com objetos da mesma classe Associação reflexiva: exemplo Associação reflexiva: exemplo 2 filho 0.. Empregado 0.. subordinado pai 0.. gerente s Mário Mário é pai de João Gerente Filho(a) pai Quem é o pai de Mário? subordinado João é gerente de e é gerente de Mário Carlos Mário Quem é gerente de João? Classes associativas Classes associativas: características Frequentes em relações de multiplicidade : Não é nomeada: somente a classe associativa Quando uma relação associativa possui atributos próprios pode ser transformada em classe. Classes associativas podem estar relacionadas a outras classes. 3

Classes associativas: exercício Uma companhia aérea oferece vôos Número do vôo Data e horário de partida Duração Passageiros tem programa de fidelidade Número do cartão de fidelidade Nome Sobrenome Levantamento de associações Exemplo: regras do negócio de uma biblioteca um aluno pode emprestar no máximo quatro obras Aluno 0.. Empresta 0..4 Livro Passageiros recebem milhas por vôo função da duração Levantamento das associações sd análise casos de uso Classes de análise e associações :meteorologista :IUConv ersao :CtrlConv ersao :Historico :Conv ersaocf s de análise (associações) solicitar valor Celsius valor Celsius? c IUConversao CtrlConversao ConversaoCF c pertence 0..0 converter valor c guardar conversao mostrar valor convertido valor Fahrenheit :IUHistorico CtrlHistorico Historico valor Fahrenheit AGREGAÇÃO Agregação: adornos Composição/pertinência associação Parte Todo Propagação Janela Time Jogador Exercício: desenhe uma instância possível da classe janela 3 0.. Botão ComboBox ScrollBar Qual a interpretação? 4

Tipos de agregação Agregação por composição Composição Janela 3 0.. Botão ComboBox ScrollBar Relação forte Destruição do todo se propaga para as partes Tempo de vida do todo = das partes Associação Time Jogador Exemplo: agregação por composição Agregação por associação Relação mais fraca que anterior Tempos de vida diferentes class Aluno { public String nome; private Endereco endereço = new Endereco( R. JP,58, APTO 4, Curitiba ); } Agregação: diferença Levantamento de agregações Decomposição dividir classe complexa Composição Coleção de objetos reunidos barra de rolagem + menu + text area = janela Partes comuns classes com subconjunto de atributos semelhantes 5

Agregação: partes comuns Classes de análise e relações s de análise (associações) IUConversao CtrlConversao ConversaoCF 0..0 :IUHistorico CtrlHistorico Historico GENERALIZAÇÃO GENERALIZAÇÃO Classes compartilham atributos e comportamentos É um tipo de Relação de generalização Sobreposição do método calcularipva Herda atributos e métodos Taxonomia: hierarquia de classes Atributos e operações comuns Qualidade de uma hierarquia Estável: critérios de classificação não mudam ao longo do tempo. Extensível: é fácil incluir novas classes derivadas na hierarquia Dica: respeitar o princípio da substituição Atributos e operações específicas 6

Princípio da substituição Qualquer instância de uma classe derivada pode ser tratada como se fosse uma instância de uma classe base sem alterar a semântica de um programa escrito para a classe base. Exemplo Círculo e polígonos podem ser tratados como FormaGeométrica Exemplo: taxonomia mal feita Herança múltipla Livro ObjetoVoador Animal LivroEmprestado LivroDisponível Avião Helicóptero Pássaro Não construir hierarquias em função de estados das classes 7