Académique Documents
Professionnel Documents
Culture Documents
com
Boch, Jacobson, Rumbaugh; UML Guia do Usurio; Editora: Elsevier; Ano: 2006 Martin Fowler; UML Essencial; Editora: Bookman; Ano: 2004
Modelagem
Descrever um sistema em um alto nvel de abstrao
Unificada
UML se tornou o padro mundial para modelagem de sistemas www.omg.org
Fernando Pedrosa Lopes 3
Linguagem grfica para especificar, visualizar, construir e documentar os artefatos de software Vantagens
Usa notao grfica: mais clara que a linguagem natural (imprecisa) e cdigo (muito detalhado) Ajuda a obter uma viso geral do sistema No dependente de tecnologia Diminui a fragmentao, aumenta a padronizao
Fernando Pedrosa Lopes 4
Ano Verso
2011:
2010:
UML 2.4
UML 2.3
2009:
Industrializao
2003:
2001:
Padronizao
1999: 1997:
1996:
Unificao
1995:
Fragmentao
Outros mtodos
Booch (OOAD)
OMT (Rumbaugh)
Diagramas estruturais
Mostram a estrutura esttica do sistema e suas partes em diferentes nveis de abstrao e como elas se relacionam No utilizam conceitos relacionados ao tempo
Diagramas comportamentais
Mostram a natureza dinmica dos objetos do sistema, que pode ser descrita como uma srie de mudanas no sistema com o passar do tempo
Fernando Pedrosa Lopes 7
(Governo do ES - CESPE 2009) [78] UML um mtodo para desenvolvimento de software que foi proposto para ser aplicado anlise e projeto de software orientados a objetos.
(EMBASA CESPE 2009) [94] Os diagramas em UML podem ser estticos ou dinmicos. O diagrama de classes um exemplo de um diagrama dinmico. (SERPRO CESPE 2008) [101] UML (universal modelling language) uma linguagem de modelagem proprietria que pode ser utilizada no desenvolvimento de sistemas de maneira intuitiva para visualizao de objetos.
(CGU - ESAF 2008) [31] - A linguagem de Modelagem Unificada (UML) emergiu como notao de diagramao de padro, de fato e de direito, para a modelagem orientada a objetos. Desta forma, a sentena que conceitua apropriadamente a UML, segundo o OMG-Object Management Group,
a) um mtodo para especificar e modelar os artefatos dos sistemas. b) um processo de especificao e modelagem de sistemas orientados a objeto. c) uma linguagem para implementar os conceitos da orientao a objetos. d) uma linguagem visual para especificar, construir e documentar os artefatos dos sistemas. e) um mtodo comum para a representao da orientao a objetos.
Classes Objetos Componentes Pacotes Implantao Estrutura Composta Perfis (UML 2.2)
10
um diagrama esttico da UML que rene os elementos mais importantes de um sistema orientado a objetos Exibe um conjunto de classes, interfaces e seus relacionamentos As classes especificam tanto as propriedades quanto os comportamentos dos objetos
11
Operaes
12
Nome
Nome + Atributos
13
Multiplicidade
Valor default
Restrio
14
Notao completa:
Visibilidade nome: tipo [multiplicidade] = valor_default {lista de restries}
Nome: corresponde ao nome do atributo Tipo: domnio do atributo Multiplicidade: indicao de quantos objetos podem preencher a propriedade [min..max] Valor Default: valor do atributo, caso ele seja omitido no momento da criao Restrio: permite indicar propriedades adicionais. {readOnly}, {ordered}, {unique}, etc.
15
16
Notao completa:
Visibilidade nome (lista de parmetros): tipo-de-retorno {lista restries}
Nome: corresponde ao nome da operao Lista de parmetros: so os parmetros da operao. Tipo de retorno: o tipo de dado retornado pela operao Restrio: permite indicar propriedades adicionais. ex: {query}.
17
Operaes abstratas, ou seja, que no tm uma implementao especfica, devem ser escritas em itlico Operaes estticas devem ser escritas com fonte sublinhada
18
Pblico (+)
O elemento visvel por qualquer classe
Protegido (#)
O elemento visvel na prpria classe e pelas subclasses da classe
Pacote (~)
O elemento visvel apenas pela prpria classe ou dentro do pacote onde a classe est localizada
Privado (-)
O elemento visvel apenas pela prpria classe
19
Relacionamentos ligam classes entre si, criando relaes lgicas Podem ser de:
Associao
Simples Agregao Composio
20
Indica que objetos de um elemento esto ligados a objetos de outro elemento A navegabilidade pode ser unidirecional ou bidirecional
Nome da Associao
Associao
Classe
Multiplicidade
Navegabilidade
Fernando Pedrosa Lopes 21
Um qualificador de associao um atributo do elemento-alvo capaz de identificar uma instncia dentre as demais
Associao simples
Associao qualificada
23
Relacionamentos todo-parte Agregao: a parte existe sem o todo Composio: o todo controla o ciclo de vida da parte, e ela no pode ser compartilhada em outros relacionamentos
Agregao
Composio
25
26
Relacionamento um tipo de
27
28
29
A notao bola-soquete (UML 2.0) utilizada para modelar uma dependncia e uma realizao entre duas classes e uma interface
Dependncia (interface requerida) Realizao (interface fornecida)
30
(MPE/AM CESPE 2008) [88] Na UML, uma agregao um relacionamento que estabelece que uma classe define objetos que so parte de um objeto definido por outra classe. [89] Em um diagrama de classes UML, uma associao entre classes pode ser documentada em termos da multiplicidade da associao.
31
32
[108] O mtodo #Cadastrar() da classe Instrutor tem visibilidade do modo protegido tal que somente a classe possuidora Instrutor pode utiliz-lo. [109] Na associao do tipo agregao composta identificado por #2, uma instncia da classe Departamento pertence exclusivamente a uma nica instncia composta em Escola, e um objeto da classe Escola pode relacionar-se com, no mximo, trs objetos da classe Departamento. [110] Instrutor uma superclasse abstrata; assim, o mtodo #Cadastrar() oferece uma assinatura, que, no entanto, est incompleta, devendo ser implementada pelos mtodos de mesmo nome nas suas classes-filhas.
33
Classes Objetos Componentes Pacotes Implantao Estrutura Composta Perfis (UML 2.2)
34
O diagrama de objetos representa uma fotografia do sistema em um dado momento Mostra os vnculos entre os objetos conforme estes interagem e os valores dos seus atributos Pode ser visto como uma instncia do diagrama de classe
35
vnculo
objeto
valor do atributo
objeto annimo
36
Classes Objetos Componentes Pacotes Implantao Estrutura Composta Perfis (UML 2.2)
37
Modela o sistema em termos de componentes e seus relacionamentos atravs de interfaces Decompe o sistema em subsistemas que detalham a estrutura interna Alguns componentes existem em tempo de ligao, outros em tempo de execuo
38
39
Classes Objetos Componentes Pacotes Implantao Estrutura Composta Perfis (UML 2.2)
40
Pacotes so estruturas que permitem agrupar qualquer construo da UML em estruturas de alto nvel Pode mostrar:
41
Pacote
C A
C B
42
Nome do pacote
43
(UNIPAMPA - CESPE 2010) [106] O diagrama de objetos est amplamente associado ao diagrama de classes, sendo que o primeiro consiste em uma instncia do segundo, em determinado momento da execuo, ou seja, um diagrama de objetos descreve os objetos, os mtodos, os atributos e seus valores, alm dos vnculos entre os objetos, sendo ambos diagramas estruturais.
(TRE/TO - CESPE 2007) [40] Um diagrama de componentes permite mostrar componentes de um sistema e as dependncias entre eles. As dependncias entre os componentes podem ser, por exemplo, dependncias de compilao ou de comunicao.
44
(EMBASA CESPE 2009) [96] O objetivo principal de um diagrama de pacotes agrupar os pacotes em classes. Esse tipo de diagrama pode usar dependncias. (TJ/PE - FCC 2007) [40] Diagrama de Pacotes descreve os pacotes ou pedaos do sistema, como o sistema dividido em agrupamentos lgicos e mostra as dependncias entre estes.
45
Classes Objetos Componentes Pacotes Implantao Estrutura Composta Perfis (UML 2.2)
46
Modela a configurao fsica do sistema, revelando que pedaos de software rodam em que equipamentos de hardware Inclui
Ns
Dispositivos (Hardware) Ambientes de Execuo Cdigo fonte, Cdigo binrio Executveis, etc.
Artefatos
47
N (dispositivo)
cliente.exe
Artefato
base.ear web.ear
Forma de comunicao
Linha de comunicao
N (ambiente de execuo)
Fernando Pedrosa Lopes 48
(STJ CESPE 2008) [54] No diagrama da figura III, h dois ns interligados, que representam duas unidades computacionais; h cinco componentes distribudos entre os ns; um destes implementa uma interface e um outro depende dessa interface; ClienteAplicacao depende de Stub; ServidorAplicacao depende de Banco de dados.
49
Classes Objetos Componentes Pacotes Implantao Estrutura Composta Perfis (UML 2.2)
50
utilizado para modelar colaboraes entre interfaces, objetos ou classes Pode ser usado para descrever
Parte: representa o conjunto de uma ou mais instncias contidas em outro elemento Porta: ponto de interao entre os elementos
Colaborao
Classe estruturada
[1] lugares:Assentos
[0..5] Pessoa Cabea
Porta
ana:Passageira
[2] Perna[2]
Busto
[2]
Brao[2]
Partes
Fernando Pedrosa Lopes 52
(UNIPAMPA - CESPE 2010) [105] Na UML 2.0, o diagrama de estrutura composta (composite structure diagram) descreve a estrutura interna de um classificador modelando as colaboraes, no qual uma colaborao descreve uma viso de um conjunto de instncias que cooperam entre si para executar uma funo especfica entre instncias de classes, objetos ou interfaces.
53
Classes Objetos Componentes Pacotes Implantao Estrutura Composta Perfis (UML 2.2)
54
um diagrama auxiliar que permite definir tipos padronizados de esteretipos, valores rotulados e restries A UML define o mecanismo de perfis como um mecanismo leve de extenso da linguagem Permite adaptar os modelos UML para diferentes plataformas e domnios
55
56
Diagrama de Casos de Uso Diagrama de Atividade Diagrama de Mquina de Estados Diagramas de Interao
57
58
59
O filho herda o comportamento do pai, podendo adicionar e redefinir passos em pontos arbitrrios do comportamento original
60
Incluso
Use quando o mesmo comportamento se repete em mais de um Caso de Uso e o processo de realizar X sempre envolve realizar Y pelo menos uma vez
Extenso
Use quando voc quiser modelar um comportamento opcional de um Caso de Uso
61
Use quando um ator (filho) um tipo de outro ator mais genrico (pai) Exemplo:
62
Concreto
iniciado por um ator e constitui um fluxo completo de eventos Abstrato: nunca instanciado diretamente Casos de Uso abstratos geralmente so:
Includos em outros Casos de Uso Estendidos de outros Casos de Uso Generalizaes de outros Casos de Uso
(EMBASA CESPE 2009) [95] Um diagrama de casos de uso descreve um cenrio que mostra as funcionalidades do sistema do ponto de vista do usurio. comum o uso de atores nesse diagrama.
(MPE/AM CESPE 2008) [85] Em um diagrama de casos de uso da UML, um ator definido como um usurio humano do sistema.
64
(MPE/RR - CESPE 2008) [87] No diagrama UML ao lado, o ator Presidente est relacionado ao caso de uso Criar projeto; o caso de uso informar dados contm comportamento comum a dois casos de uso; o caso de uso Pagar projeto estende o comportamento Financiar projeto e Cancelar projeto abstrato.
65
Diagrama de Casos de Uso Diagrama de Atividade Diagrama de Mquina de Estados Diagramas de Interao
66
Descreve lgicas de procedimento, processos de negcio e fluxos de trabalho Permite que seja mostrado que entidade responsvel por cada ao no diagrama, com uso de raias (swimlanes)
67
N inicial
Deciso Fluxo
Ao
Unio
N final
68
Unidades organizacionais
69
(PETROBRAS CESPE 2007) Com referncia ao diagrama de atividades UML ao lado, julgue os itens a seguir.
70
[88] No diagrama, h duas raias, um estado inicial e dois finais. Por estarem em raias distintas, a atividade Preencher cadastro pode ser realizada em paralelo atividade Analisar cadastro. Na deciso representada pelo losango, apenas uma condio de guarda especificada, o que torna o diagrama incorreto. [89] A atividade Notificar cliente pode ser executada em paralelo atividade Entregar produto, mas a atividade Encerrar pedido no pode ser executada em paralelo atividade Repor estoque. A atividade Elaborar relatrio ser executada aps ser concluda a atividade Encerrar pedido ou Repor estoque.
71
Diagrama de Casos de Uso Diagrama de Atividade Diagrama de Mquina de Estados Diagramas de Interao
72
Mostra os vrios estados possveis por quais um objeto pode passar Um objeto muda de estado quando acontece algum evento interno ou externo ao sistema Atravs da anlise das transies entre os estados, pode-se prever todas as possveis operaes realizadas, em funo de eventos que podem ocorrer
73
Estados
Situaes na vida de um objeto na qual ele satisfaz uma condio ou realiza alguma atividade
Transies
Estados so associados atravs de transies Transies tm eventos associados
Sintaxe: evento [condio]/ao
Aes
Ao passar de um estado para o outro o objeto pode realizar aes
Atividades
Executadas durante um estado
Fernando Pedrosa Lopes 74
dado disponvel
Bloqueado
interrupo / desalocar
Pronto
Rodando
estado
estado final
75
Ligado
fronteira da concorrncia
Tocando Radio
Tocando CD
pseudo-estado de histrico
Desligado
(EMBASA CESPE 2009) A figura acima um exemplo de diagrama de transio de estados, que permite modelar como o sistema responde a eventos internos e externos, especificando o que acontece quando o evento ocorre. Ele til para modelar o comportamento de sistemas de tempo real, j que tais sistemas lidam com estmulos do ambiente. A respeito desse assunto e da figura acima, julgue os prximos itens.
77
[73] possvel criar um diagrama de transio de estados que descreva o ciclo de vida de um objeto em nveis de detalhe arbitrariamente simples ou complexos, dependendo das necessidades, pois no h a obrigao de ilustrar todos os eventos possveis.
[74] Na figura, A associa-se a uma ao de guarda, e B, a uma ao de transio.
[97] Um diagrama de estado capaz de mostrar os estados possveis de um objeto. Alm disso, pode mostrar as transaes responsveis pelas suas mudanas de estado.
78
Diagrama de Casos de Uso Diagrama de Atividade Diagrama de Mquina de Estados Diagramas de Interao
79
Captura o comportamento de um determinado cenrio Mostra os objetos e as mensagens trocadas entre eles Enfatiza a ordem temporal das mensagens o diagrama mais utilizado na etapa de Projeto OO (solucionar o problema)
80
uma Compra
um Pedido
um Produto
um Cliente
getQuantidade
calcularPreo
getProduto
participante
linha de vida
umProduto
ativao
getDetalhesPreo
retorno
calcularPreoBase
auto-chamada
81
um Controlador
um comando SQL
criao
executar
destruio por outro objeto
resultados
extrairResultados
83
(PETROBRAS - CESPE 2007) Julgue os itens a seguir, relativos ao diagrama de seqncia UML apresentado acima. [91] Dois objetos existiam antes da interao e dois foram criados durante a interao. As setas da instncia de ControladoraPedido para a instncia de FronteiraPedido so retornos de mensagens. Um dos objetos tem nome Pedido e outro, Item. No diagrama, encontram-se representadas as linhas da vida dos objetos e as reas de ativao das mensagens.
[92] So assncronas as mensagens da instncia de FronteiraPedido para a de ControladoraPedido. H um erro no diagrama, pois uma instncia de uma classe no pode enviar mensagens para ela mesma.
84
Diagrama de Casos de Uso Diagrama de Atividade Diagrama de Mquina de Estados Diagramas de Interao
85
Captura o comportamento de um determinado cenrio Mostra os objetos e as mensagens trocadas entre eles Enfatiza a ordem estrutural das mensagens (relacionamentos entre objetos) equivalente ao diagrama de sequncia
uma Compra
um Cliente
1.3: getDetalhesPreo
um Pedido
um Produto
87
Diagrama de Casos de Uso Diagrama de Atividade Diagrama de Mquina de Estados Diagramas de Interao
88
Captura o comportamento de objetos ao longo do tempo e a durao na qual eles permanecem em determinados estados O foco se d nas restries de tempo das interaes uma mistura entre o diagrama de sequncia e o diagrama de mquina de estados
89
90
Diagrama de Casos de Uso Diagrama de Atividade Diagrama de Mquina de Estados Diagramas de Interao
91
Fornece uma viso geral do controle de fluxo entre objetos uma mistura entre diagramas de sequncia e diagramas de atividade
No exemplo, se o Cliente for externo, os dados so buscados de um XML. Se for interno, os dados so buscados de um banco de dados. A seqncia destes dois fluxos detalhada. Ao final, gerado um relatrio
Fernando Pedrosa Lopes 92
diagrama de sequncia
Linguagem que faz parte da UML e tem o objetivo de desenvolver modelos mais precisos Uma restrio (constraint) atua sobre um ou mais valores de um modelo orientado a objetos Vantagens
Modelos mais completos, consistentes e precisos Comunicao sem ambigidade Sintaxe e semntica formais
94
97