24
UML Msc Luiz Barboza

Uml

  • Upload
    lcbj

  • View
    3.999

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Uml

UML

Msc Luiz Barboza

Page 2: Uml

Interface Um abstração Descreve:

Propriedades (atributos) Comportamento (operações) Relacionamentos Semântica

Nome da classe

Atributos

Operações

Professor

nameProfessorId : UniqueId

create()save()delete()change()

UMLRepresentação de Classe

Page 3: Uml

Boundary

Entity

Control

<<boundary>>

<<control>>

<<entity>>

=

=

=

Revisão

Page 4: Uml

Uso do Diagrama de Classe

Modelar uma visão estática do sistema, pode ser obtido com técnicas de analise com base no: Entidades do sistema. Arquitetura desejada. Modelo da base de dados.

Estudante

+ get tuition()+ add schedule()+ get schedule()+ delete schedule()+ has pre-requisites()

Professor- name- employeeID : UniqueId- hireDate- status- discipline- maxLoad

+ submitFinalGrade()+ acceptCourseOffering()+ setMaxLoad()+ takeSabbatical()

Page 5: Uml

Mecanismo de organização para agrupamento de outros elementos.

Pacote

Camada de

Negócio

Page 6: Uml

Relacionamento fraco entre dois elementos

Usado quando não existe uma relação de associação permanente entre os dois elementos.

Em termos técnicos se trata tipicamente passagem de parâmetros ou variáveis locais de métodos.

Aluno NotaParc

Dependências

Page 7: Uml

Associações Relacionamentos estruturais permanentes

Dependência Relacionamento ‘fraco’ temporário.

Ambas são identificadas pelo diagrama de seqüência gerado na atividade de análise.

Association

EstudanteNotaFinal

NotaParcial

Dependency

Dependências vs. Associações

Page 8: Uml

Processo de Análise

Identificar Associação vs Dependência Refinamento de Associação

Composição Agregação

Atributo Primitivo x Associação Navegabilidade Multiplicidade

Page 9: Uml

Agregação Tempo de vida da classe ‘parte’ independente do tempo da

classe ‘todo’

Composição Tempo de vida restrito.

Todo Parte1..* 0..*

Multiplicidade > 1

Multiplicidade = 1

1Todo Parte0..*

Composição

Associação:Agregação vs Composição

Page 10: Uml

Atributo Primitivo vs Associação

Associação quando: Elemento não restrito a um tipo primitivo Tipicamente um atributo correlacionado a outros

da mesma classe. Alem da propriedade o elemento possuir um

comportamento. Ex Cliente vs Endereço.

Page 11: Uml

Navegabilidade Indica o sentido da navegação

Para cada destino de navegação é preciso um atributo na classe de origem Nome do atributo determina pelo nome da extremidade destino da associação

Estudante

Curso

curso

Associação nomeada: ‘Role’ (papel)

Page 12: Uml

Multiplicidade

2..4

0..1

1..*

0..*

1

*

Não especificado Apenas 1

Zero ou mais

Um ou mais Zero ou um ‘Range’ específico Vários ‘Range’

2, 4..6

Page 13: Uml

Multiplicidade = 1, ou Multiplicidade = 0..1 Atributo simples

Multiplicidade > 1 É preciso utilizar alguma estrutura de dados

Implementação da Multiplicidade

0..*0..1

instructor MateriaProfessor

0..*0..1

instructor

Needs a container

Professor Materia

Page 14: Uml

Estrutura de Dados Explícito

Por nota

instructorProfessor Materia

0..*0..1

Materia<<entity>>

Professor<<entity>>

CadastroaMaterias

+ new()+ add()

1

0..*

0..10..1

+instructor

Materia

0..*0..1

instructor

ListaLigada

Professor

Page 15: Uml

Item

ListClasse Parametrizada

Tipo

Classe Parametrizada (Template)Generics

Classe que necessita de um tipo adicional para sua instanciação

Tipicamente Coleções ex Lista, Dicionário, Fila e Pilha

Page 16: Uml

Generalização (Herança)

Define Relacionamento de ‘é-um’ Herança de atributos e métodos

Conta

balancenamenumber

Withdraw()CreateStatement()

CCorrente Poupança

GetInterest()

Superclass

Subclasses

RelacionamentoGeneralização

Page 17: Uml

Leao

talk ()

Tigre

talk ()

Animal

{abstract}

talk () {abstract}

Classes Concretas e Abstratas Abstrata

Basta um método sem comportamento, abstrato Não pode ser instanciado

Concreto Caso precise redefinir o método,

indicar como ‘virtual’ (C#) Pode ser instanciado

Page 18: Uml

Window

WindowWithScrollbar

Scrollbar

Esta correto?

Generalização vs Agregação

Generalização = relação ‘é-um’ Agregação = relação ‘tem-um’

Page 19: Uml

Scrollbar

Window

WindowWithScrollbar11

Window

WindowWithScrollbar

Scrollbar

WindowWithScrollbar “é-uma” WindowWindowWithScrollbar “tem-uma” Scrollbar

Generalização vs Agregação

Page 20: Uml

1: cadastrarCliente()

Objeto Cliente Objeto Fornecedor

Mensagem

:Boundary :Control

Escopo de atividade

Chamada localLinha de vida

1.1:validarCredito()

Numeração de seqüência demensagens

UML: Diagrama de Seqüência

Page 21: Uml
Page 22: Uml
Page 23: Uml
Page 24: Uml

UML

Msc Luiz Barboza