Exercicios resolvidos usando a linguagem de programação Prolog.Full description
Mortari exercicios resolvidos
Resolução capítulo 8 álgebra linear Boldrini
Descrição completa
Exercicios resolvidosDescrição completa
Full description
“UML, Metodologias e Ferramentas CASE ” Parte 2 – Linguagem de Modelação UML Alberto Rodrigues da Silva Carlos Videira
- Esboço da Resolução dos Exercícios Ímpares -
Capítulo 4 - UML – Visão Ge Geral
Exercícios do Capítulo 4
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
2
Capítulo 4 - UML – Visão Ge Geral
Exercícios do Capítulo 4
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
2
Capítulo 4 - UML – Visão Geral
/ 25
Das seguintes afirmações assinale as que são verdadeiras: O UML é uma metodologia metodologia orientado por objectos. objectos. O UML é independente das ferramentas ferramentas de modelação. modelação. O UML é um standard standard OMG OMG O UML é uma linguagem linguagem de programação programação robusta.
F, V, V, F
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
3
Capítulo 4 - UML – Visão Geral
/ 26
Quais são os dois aspectos importantes que se ganham com a adopção do UML.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
4
Capítulo 4 - UML – Visão Geral
/ 27
Quais são os principais tipos de relações identificados na estrutura de conceitos do UML?
Os principais tipos de relações do UML são nomeadamente relações do tipo associação, dependência, realização, generalização e transição de estado (ver Figura 4.4).
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
5
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)?
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
6
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.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
7
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.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
8
Capítulo 5 - UML – Casos de Utilização
Exercícios do Capítulo 5
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
9
Capítulo 5 - UML – Casos de Utilização
/ 31
Indique 2 vantagens da visualização de um caso de utilização.
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. 2: Permite a gestão e condução do próprio processo de desenvolvimento de software, considerando que cada caso de utilização pode ser a unidade básica da referida gestão e desenvolvimento.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
10
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).
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
11
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 Utilizador
Ajustar Volume
Ajustar Cor Programar Canal
Seleccionar Canal
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
12
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!
Caso de utilização: Ligar TV 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.
Cenário Alternativo 1 (controlo de acesso activado, entrada c/ sucesso):
O utilizador pressiona o botão ?. A TV liga-se, mas não mostra imagens. Pede que o utilizador introduza uma sequência de 4/5 caracteres correspondente a uma senha de acesso. O utilizador introduz a senha adequada. Seguidamente a TV mostra imagens relativas ao 1º canal seleccionado.
Cenário Alternativo 2 (controlo de acesso activado, entrada s/ sucesso): Idem ao cenário alternativo 1, em que o utilizador não introduz a senha correcta. O sistema permite a introdução de 3 tentativas sucessivas, ao fim das quais, em caso de insucesso, bloqueia-se durante 60 minutos.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
13
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”.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
14
Capítulo 5 - UML – Casos de Utilização
/ 35
Discuta as vantagens/desvantagens da aplicação de diagramas de casos de utilização na produção de cadernos de encargo e/ou propostas de sistemas de software.
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: Permite estruturar e apresentar o que se propõe realizar segundo uma perspectiva funcional. ?Como tem uma representação gráfica sugestiva, é mais fácil para os clientes entenderem a própria proposta. ?Ilustra-se sempre a perspectiva do utilizador. ?
Note-se, no entanto, que estes diagramas não substituem todas as informações necessárias de uma proposta, designadamente referentes a custos e prazos de execução.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
15
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.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
16
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
Paga Jogador
Compra Jogador
Contrata Treinador Despede Treinador
VendeJogador
Paga Treinador
Joga JogadorFutebol Treinador
Treina
GuardaRedes
Defende a Baliza
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
17
Capítulo 5 - UML – Casos de Utilização
/ 38
Faça um diagrama de casos de utilização a partir do manual de utilizador de uma determinada aplicação. Considere por exemplo o Word da Microsoft ou outra qualquer aplicação do seu conhecimento.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
18
Capítulo 6 - UML – Modelação da Estrutura
Exercícios do Capítulo 6
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
19
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 Jogador principal, e os outros Jogo dois árbitros auxiliares…» resultado data e hora
Bola peso diâmetro
Campo
Baliza
largura comprimento
nome peso altura
Equipa
Guarda_Redes
Defesa
Médio
Atacante
Ponta_de_Lança Árbito nome idade
EquipaArbitragem
Auxiliar Copyright, Alberto Silva & Carlos Videira Livro “UML, Metodologias e Principal Ferramentas CASE”,
20
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.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
21
Capítulo 6 - UML – Modelação da Estrutura
/ 41
Considere o diagrama de classes relativo ao sistema de “Jogo de Futebol” produzido no exercício anterior. Defina 4 pacotes respectivamente para agrupar classes relativas a (1) equipas de jogadores; (2) equipas de arbitragem; (3) clubes de futebol; e (4) os jogos propriamente ditos. Defina o diagrama de pacotes respectivo, evidenciando as classes exportadas e as dependências de importação correspondentes.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
22
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 »
rui:Proprietário nome = ”Rui" Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
23
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
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
24
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».
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
25
Capítulo 6 - UML – Modelação da Estrutura
/ 45
Observe atentamente o seguinte diagrama de classes e indique textualmente o seu significado.
Para todos os jogadores do tipo guarda-redes, o respectivo registo de desempenho ao longo de cada época e em cada equipa que o jogador tenha jogado; em particular o registo de golos marcados e sofridos, as vitórias, derrotas e empates ocorridos. Note-se que o jogador pode jogar ao longo de um época em mais que uma equipa.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
26
Capítulo 6 - UML – Modelação da Estrutura
/ 46
Modelize através de um diagrama de classes UML o modelo de dados para o seguinte discurso relativamente a um sistema básico de “Gestão de Facturas”: « Um sistema de facturação mantém informação sobre clientes, sobre tipos de produtos e de serviços vendidos/prestados. Um cliente é identificado univocamente pelo NIF, e tem ainda nome, morada, telefones, e tipo de cliente. Um cliente pode ter mais que uma morada… Uma factura é identificada univocamente pelo IDFactura, que é um número sequencial. Tem ainda a informação sobre data de facturação, cliente, valor total. Uma factura tem várias linhas, cada qual especificando a venda de um bem ou serviço… Uma factura pode ser paga por uma ou mais prestações. Cada pagamento parcial/total corresponde à emissão de respectivo recibo... »
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
27
Capítulo 6 - UML – Modelação da Estrutura
/ 47
Considerando o modelo de classes resultante do exercício anterior (“Gestão de Facturas”) descreva através de diagramas de objectos as seguintes situações: 1)«O cliente IPP S.A., com NIF “123456789”, com duas moradas. A primeira em “Praça da Alegria, 33, 1300-222 Lisboa” e a segunda em “Rua da Paz, 44, 4ºEsq, 2000-320 Santarém” »
m1:Morada ipp:Cliente nome = ”IPP S.A.”
local = “Praça da Alegria, 33 ” cp = “1300-222 Lisboa ”
NIF = 123456789
m2:Morada local = “ Rua da Paz, 44, 4ºEsq.” cp = “2000-320 Santarém ”
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
28
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” »
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
29
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 …”);
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
30
Capítulo 7 - UML – Modelação da Dinâmica
Exercícios do Capítulo 7
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
31
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. Emissor:MaqFax
:Central
enviar(número)
Receptor:MaqFax
estabelecerLigacao()
enviar(fax)
desligar
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
32
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.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
33
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. Inicio Ligar
Inicializando entry/ acender Led2 exit/ Apagar Led2 after (3 sec)
Ligado entry/ Acender Led1 Desligar
Desligando exit/ Apagar Led1
Fim
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
34
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.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
35
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 entry/ init()
doGet()
Activo
Destruição entry/ destroy()
doPost()
Post-Mortem
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
36
Capítulo 7 - UML – Modelação da Dinâmica
/ 54
Idem ao exercício anterior relativamente à classe java.applet.Applet .
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
37
Capítulo 7 - UML – Modelação da Dinâmica
/ 55
Desenhe o diagrama de actividades correspondente ao algoritmo do factorial de “n” (n! = 1 se n ? 1; n*(n-1)! se n > 1).
factorial( n )
inicialização entry/ i = 1 entry/ resultado = 1
impressão
[ n <= 1 ] [n>1]
entry/ Print (resultado)
calculo entry/ i = i + 1 entry/ resultado = resultado * i
[n>i] [n=i]
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
38
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.
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
39
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
[ tem pressa ] [ Não tem pressa]
Tomar pequeno-almoço
Fazer higiene matinal
[ bem disposto ]
[ mal disposto ]
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
Cumprimentar família
40
Capítulo 7 - UML – Modelação da Dinâmica
/ 58
Considere o seguinte código Java constituído pelas classes SimpleThread e TwoThreadsTest . Desenhe o diagrama de classes que o suporta e o diagrama de colaboração correspondente a instâncias da classe TwoThreadsTest ….
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
41
Capítulo 8 - UML – Modelação da Arquitectura
Exercícios do Capítulo 8
Livro “UML, Metodologias e Ferramentas CASE”, Copyright, Alberto Silva & Carlos Videira
42
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