Diagramas UML

Preview:

Citation preview

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 1/55

 

Linguagem UML

Profª Fabiana Alves Diniz de MouraCurso: Sistemas de InformaçãoCEULJI/ULBRA

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 2/55

 

O que são modelos????

Uma simplificação da realidade. Oferece um desenho de um sistema em um

determinado nível de abstração Exemplos de modelos:

Modelo planetário Modelo atômico Modelo de um sistema de transporte coletivo Modelo de um sistema operacional Modelo de um sistema de gerenciamento de

alunos

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 3/55

 

Por que modelamos?

Porque é uma forma deentendermos melhor o sistemaque estamos construindo.

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 4/55

 

Onde um modelo nos ajuda?

Nos ajuda a visualizar um sistema comoele é ou como desejamos que seja

Nos permite especificar a estrutura ou ocomportamento de um sistema Na construção de um guia para a

construção do sistema Na documentação das decisões tomadas

no projeto

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 5/55

 

Modelagem de Sistemas Orientados aObjetos

Antigamente não havia uma forma padrão de se analisare modelar sistemas orientados a objetos.

Diferentes metodologias levavam a um desentendimentoe confusão por parte de analistas e desenvolvedores, porsuas diferentes características, elementos conceituais enotação.

Algumas metodologias eram boas em determinadascaracterísticas, mas ruins ou inexistentes em outrasnecessidades da análise e modelagem OO.

Grady Booch, James Rumbaugh e Ivar Jacobson (“ostrês amigos” ) se juntaram, unificaram suasmetodologias e criaram a UML, pegando o melhor decada e melhorando com o suporte e ajuda dacomunidade, e hoje é mantida pela OMG (ObjectManagement Group).

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 6/55

 

Avanço metodológico

1970 a 1980: programaçãoestruturada.

1980 a 1985: Análise estruturada edesenho estruturado 1985 a 1990: Engenharia da

informação. 1990 a 1995: Orientação a objetos.

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 7/55

O que é um objeto?

Objeto é uma ocorrência específica(instância) de uma classe (o que é umaclasse???).

Na programação orientada a objeto, umobjeto é qualquer coisa, real ou abstrata,sobre a qual armazenamos dados e

operações que manipulam os dados. Ex de objetos: Uma pessoa, um veículo,

um documento, uma região etc...

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 8/55

Exemplo de Classe e Objeto

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 9/55

UML (Unified Modeling Language):Histórico

Versão Ano Principais Fatos Ocorridos.

UML 0.8 1995 Lançamento do primeiro esboço da UML.

UML 0.9 1996 Integração de Jacobson à equipe da Rational Software, e seu método OOSEà expansão do escopo da UML; formação de um consórcio de empresas,com o objetivo de apoiar a definição da UML.

UML 1.0 1997 A UML foi submetida como candidata a linguagem-padrão de modelagem àOMG (Object Management Group, uma entidade de padronizaçãoestabelecida pela indústria de software).

UML 1.1 1997 Expansão do consórcio formado por empresas para apoiar a definição daUML, e aceitação da UML pela OMG.

UML 1.2 1998 Revisões e novas padronizaçõesUML 1.3 1998 Revisões e novas padronizações

UML 1.4, 1.5 1999 Revisões e novas padronizações

UML 2.0 2000 a 2003 Várias novidades em relação as versões anteriores

UML 2.0 2005 Versão oficial adotada pelo OMG (http://www.omg.org/)

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 10/55

UML (Unified Modeling Language):O que é?

UML é uma linguagem de modelagemde sistemas, usada para: especificar modelar visualizar

documentar

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 11/55

Usando UML para especificar

Especificar é construir modelos precisos,sem ambigüidades e completos

UML atende a todas as decisõesimportantes em termos de análise,projeto e implementação de sistemas de

software.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 12/55

Usando UML para modelar

Modelos gerados em UML podem serconectados a várias linguagens deprogramação

É possível mapear modelos UML emlinguagens de programação e vice-versa

(engenharia reversa, mas nem sempre é possível).

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 13/55

Usando UML para visualizar

UML permite elaborar modelos explícitosque facilitam a comunicação

UML utiliza um conjunto de símbolos quepermite comunicar idéias semambigüidade

Ex: Um modelo escrito por um

desenvolvedor pode ser interpretado poroutro desenvolver.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 14/55

Usando UML para documentar

Auxilia na documentação de artefatos desoftware como: requisitos, arquitetura eprojeto

UML proporciona uma linguagem paraexpressão de requisitos e para arealização de testes

UML auxilia na modelagem dasatividades de planejamento do projeto egerenciamento e versões.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 15/55

Unified Modeling Language (UML): Oque é?

A UML é uma linguagem, e como tal,fornece um vocabulário e as regras para a

combinação de palavras dessevocabulário com a finalidade decomunicar algo (criação de modelos bemformados).

UML não é um processo, portanto nãoindica quais modelos deverão ser criados,nem quando deverão ser criados.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 16/55

Porque utilizar UML?

Desenvolver o modelo de uma aplicação antes de construí-la,é tão essencial quanto ter uma planta para a construção deuma casa.

Bons modelos são essenciais para a comunicação entre ostimes de projetos e para assegurar a beleza arquitetural.

Com o aumento da complexidade dos sistemas, é importanteconhecer boas técnicas de modelagem.

Ter um rigoroso padrão de linguagem de modelagem é umfator essencial para o sucesso de um projeto.

Como a UML se tornou uma notação padrão da indústria dearquitetura de software, ela é assunto abordado em muitoslivros, seminários e sites.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 17/55

Fases do Desenvolvimento de umsoftware

Análise de Requisitos: Fase que captura as intenções enecessidades dos usuários do sistema, através das funçõesdesejadas no sistema, chamadas de Casos de Uso.

Análise: Onde se cria as primeiras abstrações e mecanismospresentes no domínio do problema.

Design (Projeto): O resultado da análise é expandido emsoluções técnicas. As classes do domínio do problema sãomescladas com classes de infra-estrutura. É o detalhamentopara a fase de programação.

Programação: Os modelos criados são convertidos emcódigos de linguagem.

Testes: Testes unitários, testes de integração e testes deaceitação.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 18/55

Diagramas da UML

Com a UML é possível modelar os projetos desistemas, baseados em diagramas. Osdiagramas são divididos, basicamente, em:

Diagramas Estruturais: diagrama de classes,diagrama de objetos, diagrama de componentese diagrama de disponibilização.

Diagramas de Comportamento: diagrama decasos de uso, diagrama de seqüência, diagramade atividades, diagrama de colaboração ediagrama de estados.

• Diagramas de Gerenciamento do Modelo:pacotes, subsistemas e modelos.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 19/55

Por que tantos diagramas?

Fornecer múltiplas visões do sistema a sermodelado, analisando-o e modelando-o sobdiversos aspectos.

Procurar atingir a completitude da modelagem,permitindo que cada diagrama complete o outro. Cada diagrama da UML analisa o sistema, ou

parte dele, sob uma determinada ótica. A utilização de vários diagramas permite que

falhas sejam descobertas, diminuindo apossibilidade da ocorrência de erros futuros.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 20/55

Estudo de caso

Para nosso aprendizado, usaremosum caso de estudo simples. Imagine um loja, que vende seus

produtos na internet. Os usuáriopoderão fazer o login no site, escolher os produtos que deseja adquirir econsolidar o seu pedido, com a

efetuação da compra, no caso, avenda, para a loja.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 21/55

Diagrama de caso de Uso

Descreve as funcionalidades do sistemadesempenhada pelos atores externos

É a visão central, base para as outras

visões do sistema O Diagrama de Casos de Uso serve para

visualizar os relacionamentos entre osatores e os casos de uso do sistema(cenários), numa visão geral.

Serve para modelar os requisitosfuncionais do sistema.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 22/55

Diagrama de caso de uso

Elementos

Nome do Caso

ATORASSOCIAÇÂO

Caso de Uso

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 23/55

Diagrama de caso de uso

Exemplo: Estudo de caso

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 24/55

Diagrama de Atividades

O objetivo do diagrama de atividades émostrar o fluxo de atividades em umúnico processo.

Eles capturam ações e seus resultados Eles focam o trabalho executado na

implementação de uma operação(método)

Tipicamente as atividades são estadosde ação – estados que transitam paraoutro estado

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 25/55

Diagrama de Atividades

Elementos

Nome do Estado

TRANSIÇÂO

ESTADO

INICIO

FIM

FLUXO PARALELO

TOMADA de DECIÇÂO 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 26/55

Diagrama de Atividades

Exemplo

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 27/55

Diagrama de Atividades

A maior qualidade dos diagramas deatividades está no fato de que elessuportam e encorajam comportamentoparalelo.

A maior desvantagem destesdiagramas é que eles não deixam

muito claras as ligações entre ações eobjetos.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 28/55

Diagrama de Atividades

Devemos utilizar diagramas deatividades nas seguintes situações: Analisando um caso de uso.

Descrevendo um algoritmo seqüencial complicado

Lidando com aplicações de

 processamento paralelo.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 29/55

Diagrama de Classes

É a descrição de conjunto de objetos quecompartilham os mesmos atributos erelacionamentos (estado), operações e

semântica (comportamento)

O Diagrama de Classes mostra a estruturaestática do modelo da aplicação

Este diagrama exibe as classes do sistemae o grau do relacionamentos entre elas

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 30/55

Diagrama de Classes

Elementos

Cliente

Nome : String

Idade : Num

Criar()

Destruir()

Nome da Classe

Atributos

Operações

ASSOCIAÇÂO

AGREGAÇÃO

COMPOSIÇÃO

GENERALIZAÇÃO DEPENDENCIA

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 31/55

Diagrama de Classes

Diagrama de classe (simples)

Escola

ProfessorAluno

matricula contrata

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 32/55

Diagrama de Classes

Exemplo: Sistema escola

Escola

alunos: Alunos[ ]professores: Professores[ ]

adicionarProfessor (Professor p) : void

adicionarAlunos(Aluno a) : void

executar( ) : void

listarAlunos( ): void

Alunonome: Stringmatricula: int

construtor( ):

nota1: intnota2: int

Professor

nome: String

matricula: intturmas: int

construtor( ):

1 1

* *

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 33/55

Diagrama de Classes

Exemplo

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 34/55

Diagrama de Classes

Uma agregação é um relacionamento dotipo “parte de”, nos quais objetosrepresentando os componentes são

associados com objetos representando umamontagem. Se A é parte de B e B parte de C, então A é

parte de C

Estojo Lapis

*1

contém 

*1

Sistema Linguagem

11

contém 

11

AlunoTurma

* *

contém 

**

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 35/55

Diagrama de Classes

Composição é uma forma mais forte deagregação. Na composição, o objeto parte podepertencer somente a um todo e espera-se queas partes vivam e morram com o todo.

Se o objeto da classe que contém for destruído,as classes da composição serão destruídas

 juntamente.

JTextField JTextArea JButton

Formulario

JComboBox

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 36/55

Diagrama de Objetos

O Diagrama de Objetos é muito similar aoDiagrama de Classes e utiliza quase amesma notação

Este diagrama mostra uma “fotografia” dos objetos existentes em umdeterminado momento na execução dosistema

São muito úteis para exemplificarrelacionamentos complexos entre objetosem determinado momento

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 37/55

Diagrama de Objetos

Exemplo

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 38/55

Diagrama de Estado

O Diagrama de Estados serve paramostrar todos os estados possíveisdos objetos de uma classe domodelo, e que eventos do sistemacausam essas mudanças de estado.Não há a necessidade de

representar os estados dos objetosde todas as classes.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 39/55

Diagrama de Estado

Exemplo

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 40/55

Diagrama de Sequência

O Diagrama de Sequência mostra ainteração entre os objetos daaplicação arranjados numa linha dotempo. São utilizados para descrevera seqüência de um fluxo ou caso deuso da aplicação. É muito útil para se

levantar quais são os envolvidos nofluxo e definir a interface de algunsobjetos.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 41/55

Diagrama de Sequência : Exemplo

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 42/55

Diagrama de Colaboração

O Diagrama de Colaboração é semelhante aoDiagrama de Seqüência, mostrando acolaboração dinâmica entre os objetos, semlevar em conta a linha do tempo. Nestediagrama, além da troca de mensagens, pode-se perceber o relacionamento entre os objetos.

Se a ênfase do diagrama for o decorrer dotempo: Diagrama de seqüência

Se a ênfase for o contexto do sistema: Diagrama de colaboração.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 43/55

Diagrama de Colaboração

Exemplo

   

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 44/55

Diagrama de Componentes

Um componente representaum módulo físico do código.

O Diagrama de Componentesmostra o lado funcional,expondo a relação entre seuscomponentes e suasdependências.

As dependências entre

componentes mostram comomudanças em um componentepodem causar mudanças emoutros componentes

Determina tipo

de Pagamento

Componente A

Determina tipo

de Pagamento

Componente B

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 45/55

Diagrama de Componentes

Vamos criar “pedaços” de códigoou componentes que irão

materializar as diferentesperspectivas obtidas com osdiagramas de casos de uso,classes, actividades, estados,sequência e colaboração.

   

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 46/55

Diagrama de Componentes

Relacionamentos dedependência são utilizadosentre componentes para

indicar que um componenterefere-se a serviços oferecidospor outros componentes.

A relação de dependência érepresentada através de umaseta tracejada desenhada nosentido componente clientepara o componente fornecedor.

Determina tipo

de Pagamento

Componente A

Determina tipo

de Pagamento

Componente B

      

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 47/55

Diagrama de Componentes :exemplo

GestãoEncomendas.Exe - responsávelpor todas as operações relacionadascom encomendas. Depende docomponente ControloAcesso.dll paraverificar se o utilizador possuipermissões para executar as

operações. Depende dos outrosmódulos pois necessita deinformações sobre produtos e clientese guardar os dados numa base dedados.

GestãoProdutos.dll - responsável portodas as operações relativas à gestão

de produtos. Depende do componenteControloAcesso.dll para verificar se outilizador possui permissões paraexecutar as operações. Dependetambém do módulo BaseDados.dllpara guardar os dados numa base dedados.

Determina tipo

de PagamentoGestaoEncomendas.Exe

Determina tipo

de Pagamento

GestãoClientes.dll

Determina tipo

de PagamentoControloAcesso.dll

Determina tipo

de PagamentoBaseDados.dllDetermina tipo

de PagamentoGestãoProdutos.dll

       

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 48/55

Diagrama de Componentes :exemplo

Determina tipo

de PagamentoGestaoEncomendas.Exe

Determina tipo

de Pagamento

GestãoClientes.dll

Determina tipo

de PagamentoControloAcesso.dll

Determina tipo

de PagamentoBaseDados.dllDetermina tipo

de PagamentoGestãoProdutos.dll

GestãoClientes.dll - responsável portodas as operações relacionadas coma gestão de clientes. À semelhançados anteriores, depende docomponente ControloAcesso.dll eBaseDados.dll.

BaseDados.dll - responsável porconter as operações de acesso emanutenção da informação nas basesde dados, separando assim os outroscomponentes dos diferentes tipos debases de dados.

ControloAcesso.dll - responsável porconter as regras e política de acessoàs operações e objectos do sistema.Só depende do componenteBaseDados.dll para guardar os seusdados.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 49/55

Diagrama de Execução

O Diagrama de Execução mostra olado funcional, exibindo aarquitetura física do hardware e dosoftware do sistema.

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 50/55

Diagrama de Execução

Exemplo:

ClienteB

ClienteA

Servidor

Banco

TCP/IP

TCP/IP

Classs deAcesso

(Applet) Classes daAplicação

Servidor

Dados

SQL - TCP/IP

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 51/55

Perguntas?????

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 52/55

Exercícios

1) Identifique os atores e casos de uso em cadaum dos planos de discurso a seguir.a) “… o sistema possibilita ao cliente atualizar 

seus dados cadastrais acessando o site nainternet…”

b) “… o caixa eletrônico permitirá ao associado

da cooperativa emitir um extrato da sua conta,bem como retirar ou depositar uma quantiafinanceira na sua conta…”c) “… a secretária pode importar o Registro

Acadêmico dados dos alunos do sistemaadministrativo, desde que informe o seu login e

senha…” 

2) D d i

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 53/55

2) De acordo com a imagem aseguir responda:

De acordo com a imagem a seguirresponda:

a) Descreva as funcionalidades queo sistema é capaz de realizar.b) Identifique os erros, e justifiqueo seu ajuste.

c) Construa um novo diagrama decaso de uso corrigindo os erros.

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 54/55

 

5/14/2018 Diagramas UML - slidepdf.com

http://slidepdf.com/reader/full/diagramas-uml-55a822b3b989f 55/55

3) Crie um diagrama de classes para o seguinte problema:Sistema de gestão de vendas imobiliárias

“Uma empresa de imobiliário vende imóveis. Para tal detémuma carteira de clientes e uma carteira de imóveis que tentaconciliar. Os clientes são descritos pelo seu nome e código,endereço e telefone.Os imóveis são descritos pelo seucódigo, tipologia, zona, ano de construção e preço. Os

clientes têm um conjunto de interesses que descrevem assuas preferências por tipologia, zona e preço. Os clientespodem firmar acordos de promessa de compra/venda com aempresa para um determinado imóvel, sendo este acordofirmado numa determinada data. Um cliente pode comprarmais do que um imóvel, mas para cada compra terá de terum acordo distinto. Identifique algumas operações nas classee monte 1 diagrama de seqüência como exemplo.

Recommended