diagramas uml
TRANSCRIPT
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.