a) Desenhe os respetivos diagramas de sequência e de colaboração associado a este caso de uso..



Documentos relacionados
Engenharia da Programação Problemas (2002/2003)

UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação

Rock In Rio - Lisboa

Orientação a Objetos

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

Java : Comunicação Cliente-Servidor.

UML, Metodologias e Ferramentas CASE Parte 2 Linguagem de Modelaçã

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

2 Diagrama de Caso de Uso

Persistência de Classes em Tabelas de Banco de Dados

UML Aula I Diagramas de Caso de Uso, Sequência e Colaboração

Projeto de Software Orientado a Objeto

Java. Marcio de Carvalho Victorino

Universidade da Beira Interior. Sistemas Distribuídos

Manual de Convenções. BPMN Business Process Modelling Notation GFI Portugal

Engenharia Informática

Manual de Utilizador Documentos de Transporte. TOConline. Suporte. Página - 1

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

Java Mail Server. Manual do Utilizador

Engenharia de Software Folha 1 - UML - Casos de Uso/Utilização DI-UBI

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Threads e Concorrência em Java (Material de Apoio)

Java 2 Standard Edition Como criar classes e objetos

THREADS EM JAVA. George Gomes Cabral

Introdução a Java. Hélder Nunes

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

2 a Lista de Exercícios

insfcanceof new public switch transient while byte continue extends for int null

exercícios - cap. 4 1

Integrando Java com Banco de Dados

Microsoft Access Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

Manual de utilização da aplicação web Gestão de Delegados de Informação Médica

Ficheiros PS2 Pagamentos

Programação Orientada a Objetos JDBC Java Database Connectivity

J550 Integração com Bancos de Dados

Sistemas Paralelos e Distribuídos /2004 Curso: Matemática /Informática Sistemas Distribuídos /2004 Curso: Ensino da Informática

Programação com Acesso a Banco de Dados

PHC Workflow CS. O controlo e a automatização de processos internos

Programação Concorrente em java - Exercícios Práticos Abril 2004

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Controladores Lógicos Programáveis 2

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Regulamento. Cartão. Giae. Pag. 1

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

exercícios - cap Construa uma máquina de estados que ilustre os requisitos de uma máquina multibanco (levantamento de dinheiro)

Orientação a Objetos

Engenharia de Requisitos Estudo de Caso

Princípios de Análise e Projeto de Sistemas com UML

Exercícios de Revisão Java Básico

Especificação do 3º Trabalho

1.6. Tratamento de Exceções

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Pedido de Microfilmes

Manual do Almoxarifado SIGA-ADM

Gestão de projectos na Web

BEMVINDO AO ONLINE SHIPPING MANUAL

PRIMAVERA EXPRESS: Funcionalidades do Produto

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

UML Aula I Diagramas de Sequência e Colaboração. Ricardo Argenton Ramos

Acesso a Bancos de Dados em Java (JDBC)

Java TM e o Modelo de Objetos

Guia de Especificação de Caso de Uso Metodologia CELEPAR

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

Manual de Introdução da Bomgar B100

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

II Torneio de Programação em LabVIEW

Gestão de Venda de Jogos

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

WebSphere_Integration_Developer_D_Jan06 Script

Metodos de Programação

MANUAL ARTSOFT Mobile Pre Sales

Guia de Utilização. Acesso Universal

Capítulo 4. Packages e interfaces

Módulo Vendas Balcão. Roteiro passo a passo. Sistema Gestor New

Programa de Parcerias e Submissão de Propostas 2014/15

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

Plataforma. Manual de Utilização Acesso ao Procedimento Fornecedor. Electrónica BizGov

Actualização. Versão 5.3.1

Programação Orientada a Objetos (DPADF 0063)

Trabalho 3: Agenda de Tarefas

Cookies. Krishna Tateneni Jost Schenck Tradução: José Pires

Documento de Análise e Projeto VideoSystem

Manual do Módulo SAC

KF2.4 MANUAL DE UTILIZADOR

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

COMPUTAÇÃO E PROGRAMAÇÃO

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

WORLD CHEESE AWARDS 2015 INSTRUÇÕES ONLINE PARA AS SUAS INSCRIÇÕES

Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos

1. Contratos de aluguer automóvel

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Programação 2008/2009 MEEC Guia de instalação do PC de programação

Programa de Computador que funciona em Rede

Portal Fornecedores 1

Instruções para configuração e utilização do. fiscal (ECF)

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

Transcrição:

1. Considere 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ência respectivo. 2. Considere o exemplo do caso de uso Comprar Bebida do sistema da Máquina de Bebidas. Pretende-se especificar o cenário ideal (em que tudo corre bem, i.e., em que há bebida, há troco, etc.) deste caso de uso através de diagramas de interação. Para tal, é necessário identificarem-se os objetos que deverão de alguma forma interagir. Assim sendo, considere-se que a máquina é composta por quatro objetos principais: Cliente: o utilizador da máquina Interface: o painel de interface com o utilizador Registadora: a caixa registadora, que guarda o dinheiro Dispensa: a caixa/armário que guarda as diferentes bebidas Considere ainda que o cenário a representar é composto pela seguinte sequência de ações: O cliente insere o dinheiro na ranhura no painel de interface da máquina O cliente seleciona o tipo de bebida O dinheiro vai até a caixa registradora, esta atualiza a sua reserva de dinheiro A interface pede a bebida à dispensa A dispensa envia a bebida selecionada para o painel de interface. A interface devolve a bebida ao cliente a) Desenhe os respetivos diagramas de sequência e de colaboração associado a este caso de uso.. b) Redesenhe os diagramas de sequência e de colaboração anteriores, considernado outros cenários para o caso de uso 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 3. Pretende-se representar as ações que serão levadas a cabo se numa dada aplicação se pretender remover um projeto. Devem ser levadas em conta os seguintes fatos: o utilizador usará uma interface gráfica para efetuar esta operação a informação relativa aos projetos econtra-se armazenada numa BD DI-UBI 1

Para desacoplar a interface a interface da BD usa-se uma classe intermédia chamada Controlador. Ignora-se toda a possível complexidade da interface através do uso de uma única classe Interface. 4. Um cliente cria uma encomenda. Após a sua criação pode adicionar um número arbitrário de itens à encomenda. Cada item tem um código, uma quantidade e um preço. Quando o cliente termina a encomenda, esta é enviada para processamento pelo departamento de vendas. A cada cliente está associado um nome, uma morada e um NIF. A cada encomenda está associado um número identificativo e uma data. A valor total da encomenda deve ser calculado antes da mesma ser processada. Desenhe os diagramas de caso de uso, de classes e de sequência para o caso descrito. 5. Redesenhe os diagramas anteriores de forma a contemplar as seguintes situações: O cliente tem de se identificar para poder criar a encomenda. Pode existir um erro na identificação. Deve ser dada uma mensagem apropriada no caso de ocorrência de um erro. 6. Redesenhe os diagramas anteriores de forma a que se encontre representada a ação de criação duma factura correspondente à encomenda. 7. Redesenhe os diagramas anteriores de forma a representar a ação de pagamento da encomenda via cartão de crédito (online). 8. Considere o seguinte extracto de código Java relativo à utilização de classes definidas no pacote java.sql.*, em particular das classes Connection e Statement. 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 ); Para resolver este exemplo, considere-se o respetivo diagrama de classes: Com base no diagrama de classes, que ilustra as relações estruturais entre as diferentes classes desenhe os diagramas de interação (sequência e colaboração) correspondentes ao código ilustrado. DI-UBI 2

9. Desenhe o diagrama de estados de uma lâmpada, que evolui entre os estados acesa e apagada, conforme se liga e desliga um interruptor. 10. Desenhe o diagrama de estados de uma máquina de lavar roupa: depois da passagem de um determinado período de tempo, a máquina de lavar termina o seu programa de lavagem, e inicia o de secagem. 11. Desenhe o diagrama de estados uma instância da classe javax.servlet.http.servlet, que evolui ao longo de diferentes estados, tais como: em carregamento, inicializada, preparada para tratar pedido, destruída. 12. Desenhe o diagrama de actividades correspondente ao algoritmo do factorial de n (n! = 1 se n = 1; n*(n-1)! se n > 1). 13. 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. 14. 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. 15. Idem ao exercício anterior relativamente à classe java.applet.applet. 16. Desenhe os diagramas de atividades com pistas e com objetos do processo de negócio Preparar Proposta, típico de uma empresa de serviços. São representadas três entidades participantes: o cl iente, que solicita a proposta; o gestor comercial, que prepara o orçamento; e o gestor de produção, que pode eventualmente intervir no processo, caso o serviço solicitado exija aspectos específicos da produção. 17. Desenhe o diagrama de atividades que ilustre a emissão e recepção do sinal mudar(canal) entre os diagramas de actividades correspondentes ao controlo de uma televisão. 18. Considere a função Fibonacci no domínio dos números inteiros dada pela fórmula: fib(n) =1, se n 2; = fib(n-1)+ fib(n-2), se n> 2 Desenhe o diagrama de actividades (neste caso, tomando a forma de fluxograma) correspondente ao algoritmo de implementação da dita função. DI-UBI 3

19. Desenhe o diagrama de actividades correspondente ao seguinte processo de negócio: gestão de encontros com clientes : a) Um vendedor telefona ao cliente e marca uma reunião. b) Se a reunião é na empresa, os técnicos da empresa preparam a sala de conferências para a apresentação. c) Se a reunião é fora da empresa (no escritório do cliente) um consultor prepara a apresentação num computador portátil. d) O consultor e o vendedor reúnem-se com o cliente no local e hora combinada. e) O vendedor envia ao cliente uma carta a resumir o sucesso da reunião. f) Se a reunião resultou na identificação de um problema, o consultor escreve uma proposta e envia-a para o cliente. 20. Considere-se que o processo de levantar da cama implica a execução das seguintes actividades tomar pequeno-almoço, fazer a higiene matinal e cumprimentar a família. Considere-se que essas actividades têm de se realizar obrigatoriamente, embora não seja relevante a sua ordem de execução. O problema colocado representa uma situação típica na modelação de workflows: representar a execução independente e concorrente de um conjunto de actividades. Modifique o diagrama de actividades anterior (que representa a concorrência em diagramas de actividades) 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 pequenoalmoç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. DI-UBI 4

21. 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. public class SimpleThread extends Thread { public SimpleThread(String str) { super(str); public void run() { for (int i = 0; i < 10; i++) { System.out.println(i + " " + getname()); try { sleep((long)(math.random() * 1000)); catch (InterruptedException e) { System.out.println("DONE! " + getname()); public class TwoThreadsTest { public static void main (String[] args) { SimpleThread jamaica, fiji; jamaica= new SimpleThread("Jamaica"); fiji= new SimpleThread("Fiji") jamaica.start(); fiji.start(); DI-UBI 5