• Nenhum resultado encontrado

Introduç od ão uç ão a UML a UM 71

N/A
N/A
Protected

Academic year: 2021

Share "Introduç od ão uç ão a UML a UM 71"

Copied!
18
0
0

Texto

(1)

Introdução a UML

Introdução a UML

(2)

Neste ponto surge a questão:

Como modelar os sistemas desenvolvidos com orientação a objeto?

Utilizando um método de modelagem.

Introdução a UML

Qual método utilizar?

Na década de 1980 esta resposta era muito complexa.

Pois, existiam inúmeros métodos, cada um com sua notação para representar o mesmo conceito.

(3)

Esta situação gerava um crescente problema, devido ao grande avanço na utilização da orientação a objeto (OO) no desenvolvimento de sistemas.

Percebendo isto, em 1994 dois conceituados metodologistas (James Rumbaugh e Grady Booch) efetuaram a unificação de seus métodos. Buscando minimizar os transtornos gerados pela ausência de

Introdução a UML

minimizar os transtornos gerados pela ausência de uma metodologia padrão para OO.

O método foi publicado sob o título Unified Method 0.8.

No ano de 1995 outro metodologista, Ivar Jacobson, se juntou à dupla, gerando em outubro de 1996 a versão 0.91 da Unified Modeling Language ou apenas UML.

(4)

Desde então a UML vem se consolidando cada vez mais como linguagem padrão para modelagem de sistemas orientados a objeto.

Numa definição mais geral UML é uma linguagem para especificação, construção, visualização e documentação de sistemas de software.

Introdução a UML

documentação de sistemas de software.

Representando a união da sintaxe gráfica de vários métodos, com vários símbolos removidos e vários adicionados.

Detalharemos agora o diagrama de classes em UML.

(5)

Uma classe em UML é representada por um retângulo dividido em três partes.

Por exemplo:

Introdução a UML

Nome da classe (inicia com letra maiúscula)

Atributos da classe Qualificadores

(visibilidade):

Protegido Privado

Pessoa

#nome -endereco

Atributos da classe (Dados) inicia com letra minúscula. Se

houver concatenação, a letra inicial da segunda palavra é maiúscula.

Métodos ou Operações da classe.

(Comportamento) Privado

Público

-endereco -cpf

-rg

+divida

+atualizarDivida(;)

+atualizarDivida(valor;)

+atualizarDivida(valor1, valor2;)

(6)

Existem diversos softwares para gerar diagramas em UML.

Trabalharemos com o Dia, pois este serve para criar inúmeros tipos de diagramas, como por exemplo, diagramas UML, diagramas de fluxos, diagramas de rede e diagramas elétricos.

Introdução a UML

rede e diagramas elétricos.

Duas característica do Dia influenciaram em sua escolha, o fato deste ter versões para Linux e para Windows, além de ser um software gratuito.

(7)

Exercício: Represente a classe professor, discutida anteriormente, em UML.

Introdução a UML

Professor -matriculaSIAPE

-nome

-areaDeConhecimento -titulacao

+alteraNome (nome;) +consultaNome(;nome)

+consultaAreaDeConhec (;area) +registraNotas(turma;)

+consultaMatSIAPE(;mat) +alterarAreaDeConhec(area;) +registraFaltas(turma;)

+alteraTitulacao(titulacao;) +consultaTitulacao(;titulacao)

(8)

Uma associação em UML é representada por uma linha ligando os retângulos que representam as classes envolvidas.

Por exemplo:

Introdução a UML

Pessoa

#nome Produto

Nome da associação associação

#nome -endereco -cpf

-rg

+divida

+atualizarDivida(;)

+atualizarDivida(valor;)

Produto -descricao

-preco

+consultarPreco(;preco)

multiplicidades

compra 0..*

0..*

(9)

Exercício: Represente uma associação, utilizando UML, considerando um sistema de gestão acadêmica.

Introdução a UML

Professor -matriculaSIAPE

-nome

-areaDeConhecimento -titulacao

Agenda -semestre

+registrarCompromisso(comp;) +consultarCompromisso(;comp) possui->

+consultaNome(;nome)

+consultaAreaDeConhec (;area) +registraNotas(turma;)

+alterarAreaDeConhec(area;) +registraFaltas(turma;)

+alteraTitulacao(titulacao;) +consultaTitulacao(;titulacao) +manipularAgenda(operação, compromisso;)

Faltou indicar as multiplicidades?

Não.

Porque quando não se especificam as multiplicidades estas são consi- deradas com sendo de 1 para 1.

(10)

Uma agregação em UML é representada por

ligando os retângulos que representam as classes envolvidas.

Por exemplo:

Introdução a UML

Casa -cor

-tamanho -tamanho

Janela -dimensao -localizacao

Porta -altura

-largura

O diamante indica a classe Todo

(a que agrega)

(11)

Exercício: Represente uma agregação, utilizando UML, considerando um sistema de gestão acadêmica.

Introdução a UML

Aluno -matricula

-nome

Turma -numeroDeAlunos

Implicitamente visualiza-se algo como:

- Aluno alunos[50];

-nome -curso -cr

+alteraNome (nome;) +consultaNome(;nome)

-numeroDeAlunos

+registrarNotas (notas;) +registrarFaltas (faltas;)

(12)

Uma generalização (herança) em UML é representada por uma seta ligando os retângulos que representam as classes envolvidas.

Por exemplo:

Introdução a UML

Veiculo Bicicleta

A seta indica a superclasse

Veiculo -numeroRodas

-qtdAssentos -cor

+calculaVelocidade(;vel) +trocaPneus(;)

Bicicleta -qtdraios

-tipoCorrente +trocaGuidao(;)

Carro -capacidadePortaMalas +limpaPortaMalas(;)

(13)

Exercício: Represente uma generalização, utilizando UML, considerando um sistema de gestão acadêmica.

Introdução a UML

Servidor

#matriculaSIAPE

#nome

#titulacao

Professor -areaDeConhecimento

+alterarAreaDeConhec(area;) +consultaAreaDeConhec(;area) +registraNotas(turma;)

Atenção

#titulacao

+alteraNome (nome;) +consultaNome(;nome) +consultaMatSIAPE(;mat) +alteraTitulacao(titulacao;) +consultaTitulacao(;titulacao)

+registraNotas(turma;) +registraFaltas(turma;)

Tecnico -nivel

-atividade

+consultaNivel(;nivel) +executaFuncao (;)

Atenção

(14)

O relacionamento de uma classe com uma associação em UML é representada por uma linha tracejada ligando a linha da associação ao retângulo que representa a classe em questão.

Por exemplo:

Introdução a UML

Produto -descricao

-preco compra 0..*

0..*

Pessoa

#nome -preco

+consultarPreco(;preco) 0..*

Pedido -numero

-data

-quantidadeDeItens -listaDeItens[100]

#nome -endereco -cpf

-rg

+divida

+atualizarDivida(;)

+atualizarDivida(valor;)

arga

(15)

Exercício: Represente relacionamento de uma classe com uma associação , utilizando UML, considerando um sistema de gestão acadêmica.

Introdução a UML

Agenda -semestre

+registrarCompromisso(comp;) +consultarCompromisso(;comp) possui

Professor -matriculaSIAPE

-nome

-areaDeConhecimento -titulacao

Atedimento -historico

+registrarAtendimento(agenda, dadosDoAtendimento;)

+recuperaHistorico(;historico) -titulacao

+consultaNome(;nome)

+consultaAreaDeConhec (;area) +registraNotas(turma;)

+alterarAreaDeConhec(area;) +registraFaltas(turma;)

+alteraTitulacao(titulacao;) +consultaTitulacao(;titulacao) +atualizaAgenda(compromisso;)

(16)

Classe abstrata

Uma classe abstrata é uma classe que não pode ser instanciada, sendo assim, sua finalidade fica restrita a definir características (atributos) e comportamentos (métodos) para que outras classes possam herdar.

Em UML representamos uma classe abstrata

Introdução a UML

Em UML representamos uma classe abstrata colocando seu nome em itálico.

Por exemplo:

Animal

+mover(posicao;)

(17)

Exercício: Represente uma classe abstrata, utilizando UML, considerando um sistema de gestão acadêmica.

Introdução a UML

Servidor

#matriculaSIAPE

#nome

#titulacao

Professor -areaDeConhecimento

+alterarAreaDeConhec(area;) +consultaAreaDeConhec(;area) +registraNotas(turma;)

#titulacao

+alteraNome (nome;) +consultaNome(;nome) +consultaMatSIAPE(;mat) +alteraTitulacao(titulacao;) +consultaTitulacao(;titulacao)

+registraNotas(turma;) +registraFaltas(turma;)

Tecnico -nivel

-atividade

+consultaNivel(;nivel) +executaFuncao (;)

(18)

Exercício:

Com base nos conceitos estudados, modele, utilizando UML, um sistema OO para gerenciar o agendamento de consultas em uma clínica odontológica, considerando a realização de serviços.

Tente explorar ao máximo os tópicos trabalhados.

Introdução a UML

Tente explorar ao máximo os tópicos trabalhados.

Referências

Documentos relacionados

Estudar o efeito da plastificação do ATp com glicerol nas características físico-químicas da blenda PLA/ATp; Analisar a mudança na cristalinidade dos laminados submetidos a

 Criação de uma compilação de algumas experiências pelas quais profissionais da área de design já passaram, com o objetivo de entender comportamentos nas

aprendizagem interdisciplinar dos tópicos referentes à Biblioterapia, possibilitando maior compreensão da temática e permitindo que os alunos contribuíssem para a

Durante as nictemerais, os valores do fósforo total e do fosfato total nos dois viveiros apresentaram também valores acima do recomendado pela GAA, exceto para o fosfato total na

Distribuição espectral dos sistemas de iluminação LED e do controle Observa-se na Figura 12A, a análise de componentes principais, relacionado à biometria das mudas pré-brotadas

A respeito das propostas de desregulamentação nas relações de trabalho e da seguridade social no Brasil, percebidas tanto nas defesas do Banco Mundial quanto nas

Nesta etapa são identificados os processadores que podem ser alocados exclusivamente a apenas uma tarefa (produto). O problema proposto é inspirado em um

z Este aparelho destina-se apenas para uso doméstico. Este aparelho não se destina para uso em aplicações como:.. - áreas de cozinha para funcionários em lojas, escritórios e