Documente Academic
Documente Profesional
Documente Cultură
Exercícios do Capítulo 4
2
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 4 - UML – Visão Geral / 25
Das seguintes afirmações assinale as que são verdadeiras:
O UML é uma metodologia orientado por objectos.
O UML é independente das ferramentas de modelação.
O UML é um standard OMG
O UML é uma linguagem de programação robusta.
F, V, V, F
3
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 4 - UML – Visão Geral / 26
Quais são os dois aspectos importantes que se ganham com a adopção do UML.
4
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 4 - UML – Visão Geral / 27
5
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 4 - UML – Visão Geral / 28
Com base em que princípio de modelação o UML propõe vários tipos de diagramas (com base nos
quais se podem produzir visões complementares de um sistema)?
6
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 4 - UML – Visão Geral / 29
O que é uma marca com valor? Para que serve? Dê um exemplo de aplicação.
Uma marca com valor é representada por “{marca=valor}” e permite adicionar novas
propriedades aos elementos, quer sejam elementos já existentes no UML, quer sejam
elementos definidos por recurso a novos estereótipos.
Uma marca com valor é um conceito que deve ser entendido como metadata (isto é,
dados que descrevem dados) pois o seu valor aplica-se ao próprio elemento e não às
suas instâncias.
Conforme ilustrado na Figura 4.12, pode-se especificar o número de processadores
instalados em cada tipo de nó, ou pode-se especificar se um determinado componente é
para ser instalado/usado com perfil de cliente, servidor, ou ambos. Outras aplicações
comuns encontram-se no suporte de versões e na gestão/produção de
documentação/código.
7
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 4 - UML – Visão Geral / 30
O que é um pacote UML? Enumere as três principais motivações/benefícios para a utilização de
pacotes.
8
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização
Exercícios do Capítulo 5
9
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização / 31
1: Melhor compreensão dos requisitos por parte dos clientes e dos utilizadores,
melhorando o processo de comunicação entre a equipa projectista e os
clientes/utilizadores.
10
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização / 32
Com base no exemplo da “Máquina de Bebidas” descrito na Secção 5.4 complete a descrição dos
requisitos do sistema ao especificar textualmente os casos de utilização definidos (passo 5 da
metodologia proposta).
11
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização / 33
Esboce um diagrama de casos de utilização para um controlo remoto de TV. Garanta que inclui todas as
funções do controlo remoto como casos de utilização do seu modelo. Descreva textualmente os use case
“Ligar TV” e “Seleccionar Canal”. Sugestão: Considere que a TV tem um sistema de password, configurado
opcionalmente, para que os pais tenham a garantia que os filhos não passem muitas horas em frente ao
televisor!
Programar Inibição de TV
Ligar TV
Desligar TV
Ajustar Cor
Programar Canal
Seleccionar Canal
12
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização / 33 (cont.)
Esboce um diagrama de casos de utilização para um controlo remoto de TV. Garanta que inclui todas as
funções do controlo remoto como casos de utilização do seu modelo. Descreva textualmente os use case
“Ligar TV” e “Seleccionar Canal”. Sugestão: Considere que a TV tem um sistema de password, configurado
opcionalmente, para que os pais tenham a garantia que os filhos não passem muitas horas em frente ao
televisor!
Cenário Principal:
O utilizador pressiona o botão ?. A TV liga-se. A imagem do monitor da TV aparece,
apresentando informação do 1º canal que tiver sido programado.
13
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização /34
Analise os processos RUP e ICONIX e discuta as suas respectivas interpretações relativamente aos
conceitos “requisitos” e “casos de utilização”.
14
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização / 35
Os diagramas de casos de utilização são uma técnica que pode ser aplicada na
elaboração de cadernos de encargo ou em propostas de sistemas de software,
apresentando as seguintes vantagens:
15
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização / 36
Discuta as vantagens/desvantagens da adopção de um estilo de escrita dos casos de utilização
na óptica dos seus utilizadores. Sugestão: considere a possibilidade de geração de
documentação.
16
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização / 37
Considere o sistema de uma equipa de futebol constituído pelos seguintes actores: jogador, treinador,
atacante, guarda-redes, médio, defesa, presidente. Desenhe o respectivo diagrama de casos de
utilização. Sugestão: considere por exemplo os seguintes casos: jogar, treinar, defender a baliza, pagar
ao jogador, pagar ao treinador, vender jogador, contratar jogador, contratar treinador, despedir treinador.
Presidente
Joga
JogadorFutebol
Treinador
Treina
Defende a Baliza
GuardaRedes 17
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 5 - UML – Casos de Utilização / 38
18
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura
Exercícios do Capítulo 6
19
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 39
Usar classes para definir o glossário do sistema “Jogo de Futebol” descrito de seguida: «O jogo de
futebol é realizado por duas equipas de jogadores. Cada equipa é composta por 11 jogadores, com
diferentes funções: o guarda-redes, defesas, médios, atacantes, e pontas de lança. O ponta de lança é
um atacante especial por ter especiais características de goleador... O jogo é realizado num campo
com medidas regulamentares (em comprimento e largura), tem duas balizas, cada qual em extremos
opostos do campo. Ganha o jogo a equipa que marcar mais golos (i.e., colocar a bola) na baliza do
adversário. No jogo apenas existe um única bola, que apresenta características (peso, diâmetro, …)
regulamentares... O jogo de futebol é mediado por uma equipa de 3 árbitros, em que um é o árbitro
principal, e os outros
Jogo dois árbitros auxiliares…» Jogador
resultado Equipa nome
Bola
data e hora peso
peso altura
diâmetro
Ponta_de_Lança
Árbito
EquipaArbitragem
nome
idade
20
Livro “UML, Metodologias e Principal Auxiliar Copyright, Alberto Silva & Carlos Videira
Ferramentas CASE”,
Capítulo 6 - UML – Modelação da Estrutura / 40
Tendo em conta o sistema “Jogo de Futebol” descrito no exercício anterior e as classes identificadas
estabeleça agora as suas relações de forma a descrever o modelo de classes correspondente.
21
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 41
EquipaFutebol EquipaArbitragemFutebol
- Jogador + EquipaArbitragem
+Equipa + ÁrbitroPrincipal
+Treinador + ÁrbitroAuxiliar
Clube JogoFutebol
22
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 42
Tendo em conta o Exemplo 6.1, defina o diagrama de classes e o diagrama de objectos que suportem as
seguintes afirmações:
1) «o empresa XPTO possui um Audi A6 TDi vermelho, com matricula “99-99-AA”, que tem um motor
1900cc, com número “9999”»
2)«a Marta é dona de um Ferrari F40 vermelho, com matricula “66-66-FF”, mas sem motor»
3)«o Rui não têm qualquer carro»
:Veiculo :Motor
xpto:Proprietário
modelo = “A6”
nome = "XPTO" número = 9999
matricula = “99-99-AA” cilindrada = 1900cc
cor = vermelho
:Veiculo
marta:Proprietário
modelo = “Ferrari F40”
nome = ”Marta"
matricula = “66-66-FF”
cor = vermelho
rui:Proprietário
nome = ”Rui"
23
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 43
Modelize através de um diagrama de classes o seguinte discurso: “Uma mesa de café é constituída
por um tampo e por quatro pernas…”
MesaCafé 1 Tampo
1
1
4 Pernas
24
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 44
Considere o seguinte discurso relativamente a um sistema de partidas de ténis: «Num torneio de ténis,
cada partida é jogada entre 2 jogadores. Pretende-se manter informação sobre o nome e idade dos
jogadores; data da partida e atribuição dos jogadores às partidas. O máximo de partidas que um jogador
poderá realizar é 6 e o mínimo 1». Pretende-se:
1)O diagrama de classes correspondente.
2)O diagrama de objectos que retrate a seguinte situação: «Os jogadores Zé Maria e Pedro Cunha
disputaram um partida às 20:30 de 99/10/10».
25
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 45
26
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 46
27
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 47
m1:Morada
ipp:Cliente
local = “Praça da Alegria, 33”
nome = ”IPP S.A.” cp = “1300-222 Lisboa”
NIF = 123456789
m2:Morada
local = “Rua da Paz, 44, 4ºEsq.”
cp = “2000-320 Santarém”
28
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 47 (cont.)
2) «A factura, n.º “3445/2000”, data de facturação em “28/11/2000”, cliente “IPP S.A., e valor total de
“350,000$00, é constituída por duas linhas. A primeira linha de factura consiste na venda de “200
caixas de parafusos de 20’”; a segunda linha consiste na venda de “10 perfuradoras de 350W”»
ipp:Cliente :Factura
nr= “3445/2000”
nome = ”IPP S.A.”
data-factura = 28/11/2000
NIF = 123456789 valor-total = 350,000$00
l1:LinhaFactura l2:LinhaFactura
nr-unidades = 200 nr-unidades = 10
:Produto
:Produto
designação = “cx, parafusos 20’”
designação = “perfuradora de 350 W”
29
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 6 - UML – Modelação da Estrutura / 48
Considere a seguinte extracto de código Java relativo utilização de classes definidas na package
java.sql.*, em particular das classes DriverManager, Connection e Statement. Considere ainda
que o código ilustrado está implementado na classe Cliente. Desenhe o diagrama de classes
correspondente.
Connection con;
Statement stmt;
...
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:BD1");
stmt = con.createStatement();
...
stmt.executeUpdate(“INSERT …”);
...
stmt.executeUpdate(“UPDATE …”);
30
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica
Exercícios do Capítulo 7
31
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 49
Considere-se o melhor cenário para o caso de utilização “Enviar Fax” (o cenário em que tudo corre
bem”). Considere um sistema composto pelos seguintes objectos: máquina que envia; máquina que
recebe; uma central que encaminha faxes e chamadas telefónicas. Desenhe o diagrama de
sequências respectivo.
enviar(número) estabelecerLigacao()
enviar(fax)
desligar
32
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 50
Considere-se outros cenários para o caso de utilização “Comprar Bebida” relativo ao sistema “Máquina
de Bebidas” introduzido anteriormente:
- O utilizador introduziu mais dinheiro que o valor da bebida, e a máquina tem dinheiro para troco
- O utilizador introduziu mais dinheiro que o valor da bebida, e a máquina não tem dinheiro para troco
Desenhe os respectivos diagramas de sequências e de colaboração.
33
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 51
Desenhe o diagrama de estados de uma tostadeira. Defina os diferentes estados do pão na tostadeira,
sem esquecer de especificar os necessários eventos, acções, e condições com guarda.
Ini cio
Ligar
Inicializando
after (3 sec)
Ligado
Desligar
Desligando
Fim
34
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 52
Desenhe o diagrama detalhado do estado “Screen Saving de um PC” que inclua sub-estados concorrentes
(ver Exemplo 7.4). Considere, por exemplo, os estados responsáveis por tratarem o input do utilizador,
outros responsáveis pela geração de imagens e actualização dinâmica no monitor.
35
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 53
Desenhe o diagrama de estados da classe javax.servlet.http.Servlet. Considere que
um servlet Java evolui ao longo de diferentes estados, tais como: carregamento, inicialização,
tratar pedido, destruição.
Carregando
Inicialização
doGet()
entry/ init()
Activo
Destruição
Post-Mortem
36
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 54
37
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 55
iniciali zação
fac torial ( n )
entry/ i = 1
entry/ resultado = 1
impressão
[ n <= 1 ]
entry/ Print (resultado)
[n>1]
calculo
entry/ i = i + 1
entry/ resultado = resultado * i
[n>i]
[n=i]
38
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 56
Desenhe o diagrama de actividades correspondente ao seguinte processo de negócio: “gestão de encontros
com clientes”:
1. Um vendedor telefona ao cliente e marca uma reunião.
2. Se a reunião é na empresa, os técnicos da empresa preparam a sala de conferências para a apresentação.
3. Se a reunião é fora da empresa (no escritório do cliente) um consultor prepara a apresentação num computador portátil.
4. O consultor e o vendedor reúnem-se com o cliente no local e hora combinada.
5. O vendedor envia ao cliente uma carta a resumir o “sucesso” da reunião.
6. Se a reunião resultou na identificação de um problema, o consultor escreve uma proposta e envia-a para o cliente.
39
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 57
Modifique o diagrama de actividades da Figura 7.24 de modo a especificar o processo “levantar da
cama” com as seguintes considerações. A seguir à actividade “acordar” um indivíduo realiza geralmente
as seguintes actividades, sem uma ordem predefinida: “tomar pequeno-almoço”, “fazer a higiene
matinal” e “cumprimentar a família”. Contudo, (1) apenas toma o pequeno-almoço se não tiver pressa; e
(2) apenas cumprimenta a família se estiver bem disposto.
Acordar
Tomar Cumprimentar
[ mal disposto ] família
pequeno-almoço
40
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 7 - UML – Modelação da Dinâmica / 58
….
41
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 8 - UML – Modelação da Arquitectura
Exercícios do Capítulo 8
42
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 8 - UML – Modelação da Arquitectura / 59
Pretende-se o diagrama de componentes correspondente ao programa ex-pipes desenvolvido em
linguagem C, com os seguintes módulos: ex-pipes.c util.c server.c client.c, e com
dependências definidas pelo seguinte makefile:
CC = gcc
CFLAGS = -g
ex-pipes : ex-pipes.o util.o server.o client.o
$(CC) -g -o ex-pipes ex-pipes.o util.o server.o client.o
<<Applic ation>>
ex_pipes
43
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 8 - UML – Modelação da Arquitectura / 60
Pretende-se o diagrama de componentes correspondente à página web http://www.tvi.pt/ com o
seguinte conteúdo:
<html>
<head>
<meta http-equiv="content-type" content="text/html">
<title>TVI OnLine</title>
</head>
44
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 8 - UML – Modelação da Arquitectura / 61
Internet
sBD:Servidor
Oracle 8i
meuPC:PC *
(PC XPTO, PIII 450MHz)
sIP:Servidor
Windows 2000
DNS
Server
sWeb:Servidor
Office 97 Netscape
Apache
45
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 8 - UML – Modelação da Arquitectura / 62
Alterar o diagrama produzido na exercício anterior de modo a incluir a descrição dos postos de trabalho e as
componentes de software mais relevantes (e.g., servidor Web, ferramentas de trabalho (e.g., Rose, VisualStudio),
servidor BD, sistema operativo).
46
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 8 - UML – Modelação da Arquitectura / 63
Considere o serviço 118 da PT conforme introduzido no Exemplo 8.3. Modifique o exemplo dado tendo em
consideração que o serviço é acedido através de um cliente/browser Web.
118-servidor:Servidor
Directório de *
Telefones :PC
Resultados
Programa WebBrowser
de Pesquisa
HTTP
118-
WebServer
47
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 8 - UML – Modelação da Arquitectura / 64
Sugestões:
(1) Considere que os recursos do negócio (unidades orgânicas e as pessoas) são nós do diagrama
a desenhar.
(2) Represente, através de estereótipos, o tipo das associações existentes entre nós.
48
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 9 - UML – Aspectos Avançados
Exercícios do Capítulo 9
49
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 9 - UML – Aspectos Avançados / 65
Tendo em conta a arquitectura a quatro camadas do UML, diga a que camada pertence cada um dos
seguintes elementos: (i) Class; (ii) MetaClass; (iii) myServlet002; (iv) MyServlet.
50
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 9 - UML – Aspectos Avançados / 66
51
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 9 - UML – Aspectos Avançados / 67
52
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 9 - UML – Aspectos Avançados / 68
53
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 9 - UML – Aspectos Avançados / 69
O que é a classe base de um estereótipo? Qual é a classe base do estereótipo «entity», definido no
perfil UML para processos de desenvolvimento de software?
54
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 9 - UML – Aspectos Avançados / 70
Considere o padrão de desenho Composto descrito na Secção 9.6.2; aplique-o para modelar a
estrutura de elementos compostos e primitivos de um documento XML.
55
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Capítulo 9 - UML – Aspectos Avançados / 71
56
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira