Computação Orientada aos Serviços. WF (parte 1) Semestre de Inverno 13/14

Tamanho: px
Começar a partir da página:

Download "Computação Orientada aos Serviços. WF (parte 1) Semestre de Inverno 13/14"

Transcrição

1 Computação Orientada aos Serviços WF (parte 1) Semestre de Inverno 13/14

2 Workflow No desenvolvimento de software, o principal objetivo é resolver problemas reais de negócio. Normalmente parte-se a resolução do problema em partes, e depois compõem as resoluções das partes. Um workflow é uma série de passos ordenados a realizar com vista a concretizar determinado propósito, de acordo com um conjunto de regras. Um workflow permite facilmente modelar interações de sistemas e humanos. As interações humanas são aquelas que envolvem pessoas reais. Que controlo é que se tem na ordem de execução realizadas por pessoas?

3 Workflow Um workflow é uma atividade Uma ou mais atividades compõem um workflow A modelação de um processo como um workflow tem como vantagem: A transparência: um modelo bidimensional, que ilustra a lógica no contexto do processo.

4 Ciclo de vida do desenvolvimento de um sistema Planeamento Descoberta Análise Desenho Testes Desenvolvimento

5 Processar o pedido de um cliente Diagrama de Actividades

6 Tecnologia Workflow WF foi desenvolvido para visar certos requisitos mais complicados de implementar: Processos de longa duração Workflows declarativos permitem construir workflows que visualmente processam uma lógica condicional complexa Workflow persistence fornece uma mecanismo para libertar a memória de processamento dos workflows que estão parados ou à espera de algum evento.

7 Componentes do WF As componentes são: Workflow Runtime Activities Workflows Workflow Designer Workflow DataModel Persistência Monitorização

8 Workflow Hosts WorkflowApplication: Permite às aplicações que fazem host de workflows gerir a execução, nomeadamente a persistência ou o cancelamento de um workflow e subscrever as notificações do tempo de vida de um workflow. WorkflowServiceHost: Utilizado para gerir configurações e endpoints para fazer hosting de workflows como serviços WCF WorkflowInvoker: Para facilmente fazer hosting de workflows sincronamente, embora também possam ser executados assíncronamente.

9 Workflow em WF WF fornece uma framework para desenvolver workflows; Um workflow pode ser desenhado em WF de 3 modos diferentes: Baseado em código; Baseado em XAML XAML é um linguagem declarativa utilizada na Framework Windows É deste modo fornecido um modelo de programação declarativo Parcialmente baseado em código e parcialmente baseado em XAML Existem duas formas de desenvolver workflows em XAML: Editor de WF Escrever as tags de XML manualmente

10 Ciclo de vida de um workflow Quando se executa um workflow É criada uma instância designada por WorkflowInstance Durante o seu processamento, podem ocorrer vários estados WorkflowCreated WorkflowStarted WorkflowLoaded WorkflowIdled WorkflowUnLoaded WorkflowSuspended WorkflowResumed WorkflowTerminated WorkflowPersisted WorkflowCompleted

11 Atividades As atividades podem ser categorizadas em: Control Flow: Modelam o fluxo dos processos no contexto de um worflow. Flowchart: Fornecem modelação de árvores de decisão no contexto de um workflow. State-machine: Modelam transições entre estados possíveis, indicando interação humana e eventos no contexto de workflows. Messaging: Fornecem funcionalidades de comunicação para construir workflows que são expostos como serviços e comunicam uns com os outros através de protocolos de transporte. Runtime: Fornecem instruções ao runtime de WF para gerir o comportamento de um workflow. Primitives: Fornecem funcionalidades gerais de execução. Transaction: Fornecem funcionalidades para permitir que as actividades sejam executadas no contexto de uma transação. Collection Fornecem funcionalidades básicas para gerir os dados representados como coleções no contexto de um workflow Error Handling: Fornece funcionalidades de tratamento de exceções.

12 Atividades Control Flow: DoWhile, ForEach, If, Parallel, ParallelForEach<T>, Pick, PickBranch, Sequence, While, Switch Flowchart: FlowChart, FlowDecision, FlowSwitch. State-machine: StateMachine, State, FinalState. Messaging: CorrelationScope, InitializeCorrelation, Receive, ReceiveAndSendReply, Send, SendAndReceiveReply, TransactionReceiveScope Runtime: Persist, TerminateWorkflow. Primitives: Assign, Delay, InvokeMethod,WriteLine Transaction: CancellationScope, CompensableActivity, Compensate, Confirm, TransactionScope Collection AddToCollection<T>, ClearToCollection<T>, ExistsInCollection<T>, RemoveFromCollection<T> Error Handling: Rethrow, Throw<T>, TryCatch.

13 Exemplo public static Activity GetParallel(Activity[] a) { Parallel workflow = new Parallel(); for (int i = 0; i < a.length; i++) { workflow.branches.add(a[i]); } return workflow; }

14 Exemplo Variable<ICollection<string>> fruitlist = new Variable<ICollection<string>> { Name = "FruitList }; Variable<bool> result = new Variable<bool> { Name = "Result }; Activity wf = new Sequence { Variables = { fruitlist, result }, Activities = { new If { Condition = new ExistsInCollection<string>{ Collection = fruitlist, Item = "Pear }, Then = new AddToCollection<string> { Collection = fruitlist, Item = "Pear }, Else = new RemoveFromCollection<string> { Collection = fruitlist, Item = "Apple } }, } }; new RemoveFromCollection<string>{ Collection = fruitlist, Item = "Apple, Result = result }, new If{ Condition = result, Then = new ClearCollection<string>{ Collection = fruitlist, } } }

15 Tipos de workflow Sequencial Caracteristicas incluem: fluxo predeterminado, sistemático, menor flexibilidade Máquina de Estados Caracteristicas incluem: Fléxiveis, modelam o comportamento humano, reactivos Flowchart Caracteristicas incluem: opções de decisão transparentes, maior nível de transparência para tomar decisões, fluxo de voltar a atividades anteriores previamente executadas mais natural

16 Ciclo de vida de uma atividade Executar Em falha Cancelada Terminada

17 Hello Workflow HelloWorkflow.sln

18 HelloWorkflow utilizando código imperativo Uma definição de workflow pode ser criada através de instanciar uma instância de um tipo de atividade e configurando as propriedades do objecto atividade Activity wf = new WriteLine(){ Text = "Hello World." }; WorkflowInvoker.Invoke(wf); Activity -> namespace System.Activities WriteLine -> namespace System.Activities.Statements WorkflowInvoker -> namespace System.Activities

19 HelloWorkflow utilizando código imperativo public class HelloWorkflow : Activity } { public HelloWorkflow() { } this.implementation = () => new Sequence() { }; Activities = { new WriteLine() {Text="Hello Workflow"} } Sequence -> namespace System.Activities.Statements

20 DoWhile

21 ForEach

22 Namespaces Namespace System.Activities System.Activities.Statements Significado Contém todas as classes necessárias para criar e trabalhar com atividades. Contém atividades que podem ser utilizadas para criar workflows.

23 Estrutura dos Workflows As atividades são os blocos de construção do WF Todas as atividades derivam de Activity. Atividades são unidades de trabalho em WF. As atividades podem ser compostas em atividades maiores Quando uma atividade é utilizada como atividade de topo, é designada por Workflow.

24 Modelo de Dados WF Para processamento de informação, o workflow obtém os dados de 3 formas diferentes: Quando um workflow inicia Os argumentos de input são passados ao workflow através do runtime WF O nome de cada argumento de input tem de ser explicitamente atribuído a um argumento no contexto do workflow para que os dados podem passar para o workflow Lê de eventos externos Ex: processamento de uma encomenda Recebe através de eventos externos Ex: invoca serviços externos

25 Modelo de Dados WF Modelo de Dados Variável Argumento Expressão Descrição Utilizadas como áreas de armazenamento, definidas pelo tipo de objeto e, opcionalmente, por nome. Os valores das variáveis são atribuídos em tempo de execução e armazenados como parte do estado da instância de workflow. Controlam como os dados fluem, aceitando e retornando dados de input e de output de uma atividade. Uma atividade com um valor de retorno utilizado em bindings de argumentos.

26 Argumentos Os argumentos são utilizados para receber e retornar dados para o WF runtime. Os argumentos em WF podem ser de um dos 3 tipos: InArgument -> envia um argumento para uma atividade através do WF runtime. OutArgument -> retorna um valor como argumento afetado no contexto de uma atividade em runtime. InOutArgument -> é um referenced value que pode ser passado a uma atividade, afetado com um valor e retornado outra vez para o WF runtime.

27 InArgument Um conectivo terminador que representa fluxo de dados para uma atividade WithAnArgument public class WorkflowInCode:Activity { public InArgument<string> FirstName { get; set; } public InArgument<string> SecondName { get; set; } public WorkflowInCode() { this.implementation = () => new Sequence() { Activities = { new WriteLine(){ Text=new InArgument<string>( activitycontext=>"my name is "+FirstName.Get(activityContext) ) }, new WriteLine(){ Text=new InArgument<string>( ActivityContext=>SecondName.Get(ActivityContext) ) } } }; }

28 OutArgument OutArgumentWorkflow

29 Computação Orientada aos Serviços WF (parte 2) Semestre de Inverno 13/14

30 If-Else UseIfElse UseIfElseExplicit

31 Parallel Activity Se apenas existirem atividades síncronas no contexto de uma atividade Parallel, as atividades do workflow serão executadas na mesma thread do workflow. Exemplos: Parallel ParallelWithDelays ParallelSplitPatternAsynchr

32 A actividade Pick A atividade Pick executa uma das suas subactividades paralelas, e apenas uma das atividades será executada antes da actividade Pick terminar. É tipicamente utilizada para definir um time-out para uma actividade. A actividade Pick contém uma coleção de atividades PickBranch, onde cada PickBranch é um par de atividades Trigger e Action. Em tempo de execução, os triggers de todos os branches são executados em paralelo. Quando um trigger termina, a sua action correspondente é executada e todos os outros triggers são cancelados. PickActivity PickCodeActivity Não é possível definir variáveis no contexto de uma Pick activity

33 A actividade Sequência É considerada uma actividade composta É um contentor para atividades As atividades contidas numa sequência são executadas de modo sequencial

34 A atividade Switch

35 InOutArguments Este tipo de argumento é utilizado para receber valores e também passar valores para quem invoca este workflow. Exemplos: InOutArguments InOutArgumentsExplicit

36 Variáveis Têm de ser declaradas de modo a poderem ser utilizadas por elementos do workflow. O workflow é stateless, isto é, não armazena elementos As variáveis são apenas definição de dados UseVariable UseVariableExplicit O contexto da variável está disponível para a atividade Sequência e para todas as suas descendentes.

37 FlowChart Workflow Num workflow Flowchart as atividades estão conectadas por árvores de decisão Numa sequence, as atividades são executadas por ordem sequencial O padrão de workflow sequence é implementado através da atividade sequence Num flowchart, a ordem de execução de atividades pode variar consoante a decisão tomada. E outros padrões de workflow básicos? Exclusive choice Parallel Split

38 Flow Chart FlowChart FlowChartExplicit FlowChartWithSwitch

39 Computação Orientada aos Serviços WF (parte 3) Semestre de Inverno 13/14

40 Atividade Máquina de estado Cada estado tem dois triggers: Entry e Exit

41 Atividade Máquina de Estados As atividades máquina de estados fornecem uma alternativa para modelar comportamento humano quando fluxo de eventos não é passível de ser previsto As máquinas de estados incluem: Um estado inicial Um estado final Estado: cada estado num workflow tem uma entry e uma exit action Cada transição representa um evento disparado externamente.

42 Exemplos StateMachineExample1 StateMachineExample2 Um estado pode ter mais do que uma transição para outro estado StateMachineExample3

43 BookMarks Os métodos para resumir bookmarks system.activities.workflowapplication.resumebookmark.as px Exemplo: Driving workflow

44 Fluxo de controlo State Machine Sequence FlowChart Fluxo Event driven Predeterminado Flexível Tipo do Modelo Interacção humana Tarefas Ordenadas Tomador de decisões Comportamento Reactivo Sistemático Opções

45 Exemplo public class ImperativeCodeWorkflow { public void AdditionActivity() { Variable<int>Add1 = new Variable<int> { Name = "Add1", Default = 5 }; Variable<int>Add2 = new Variable<int> { Name = "Add2", Default = 5 }; Variable<int>Sum=new Variable<int> { Name = "Sum" }; }

46 Exemplo Activity wfsequence = new Sequence { Variables = { Add1,Add2,Sum }, Activities = { new Assign<int> { To = Sum, Value = new InArgument<int>(ad) => Add1.Get(ad) +Add2.Get(ad)) }, new WriteLine { Text = new InArgument<string>( (sm) =>string.format("the sum of {0} and {1} is {2} ", Add1.Get(sm),Add1.Get(sm),Sum.Get(sm)) ) } } }; WorkflowInvoker.Invoke(wfSequence); }

47 Padrões básicos de workflow Os padrões de fluxo de controlo básicos capturam os aspectos elementares do controlo de processos. Sequence; Parallel Split; Synchronization; Exclusive Choice Sequence: É utilizado para construir uma sequência de actividades consecutivas, que são executadas em sequência. Em WF, este padrão é implementado através: da actividade Sequence da actividade FlowChart Exemplo: Permite serem adicionadas actividades que serão executadas sequencialmente.

48 Padrões básicos de workflow:parallel Split Parallel Split Permite que uma única thread de execução seja partida em dois ou mais branches, de modo a pode executar tarefas concorrentemente. Em WF, este padrão é implementado através da actividade Parallel Exemplo: Permite serem adicionadas actividades que serão executadas em paralelo. Exemplo: Após cobrar o cartão de crédito, enviar o recibo por ao cliente e começar o processo de envio da ordem. Mais exemplos: ParallelSplitPattern ParallelSplitPatternAsync

49 Padrões básicos de workflow:parallel Split Synchonization Permite a reconvergência da execução de threads de dois ou mais branches em paralelo. Em WF, este padrão é implementado através: das actividades Sequence e Parallel das actividades Sequence e ParallelForEach Exemplo: Após sincronização, o controlo de execução é dado à actividade que for adicionada sequencialmente

50 Padrões básicos de workflow Exclusive Choice Permite direccionar a thread de controlo para uma determinada actividade, dependendo do resultado produzido pela actividade precedente. Em WF, pode ser implementado, dependendo do caso concreto, através: Da actividade Sequence e da actividade If Da actividade Sequence e da actividade Switch Da actividade Sequence e da actividade Pick Da actividade FlowChart e da actividade FlowDecision Da actividade FlowChart e da actividade FlowSwitch Exemplos: Adicionar actividade precedente

51 Exemplo: OrderDelivery Dada uma encomenda de alguns produtos, o workflow a desenvolver, correspondente à logistica, deverá determinar o custo total da encomenda, tendo em conta o peso da encomenda (50 ct por kg) e da urgência na entrega (no próprio dia, no dia seguinte, 8 ou mais dias). public class OrderItem{ public int OrderItemID{ get; set; } public int Quantity{ get; set;} public string ItemCode{ get; set;} public string Description{ get; set;} } public class Order{ public List<OrderItem> Items{ get; set;} public Order(){ Items=new List<OrderItem>(); } public string Description{ get; set;} public double TotalWeight{get; set;} public string ShippingMethod{get; set;} } Quais os padrões de workflow envolvidos na implementação deste workflow?

52 Exemplo: OrderDelivery Padrões utilizados em Order: Sequence Pattern: apenas receber a ordem, calcular quanto é que deve ser cobrado pelo peso Exclusive Choice Pattern: dependendo a urgência da entrega, é cobrado 5, 10 ou 15 euros) Workflow

53 Hierarquia das classes de Actividade

54 Exemplo Leitura de um número: ReadNumber

55 Manipulação de Excepções Além da actividade TryCatch, também existe a actividade Throw. Através da actividade TryCatch, pode-se implementar os padrões Cancel Task e CancelCase

56 Invocar métodos Invocar métodos sem parâmetros public void Method() { Console.WriteLine("'void Method()' is called"); }

57 Invocar métodos com parâmetros public void Method(string message1, string message2) { Console.WriteLine("'void Method(string message1, string message2)' is called"); Console.WriteLine("Hello, this is your message1:" + message1); Console.WriteLine("Hello, this is your message2:" + message2); }

58 Invocar métodos com retorno public string MethodWithReturn(string message1, string message2) { Console.WriteLine("'string MethodWithReturn(string message1,string message2)' is called"); return "message1:" + message1 + " " + "message2:" + message2; }

Computação Orientada aos Serviços. WF (parte 1) Semestre de Inverno 12/13

Computação Orientada aos Serviços. WF (parte 1) Semestre de Inverno 12/13 Computação Orientada aos Serviços WF (parte 1) Semestre de Inverno 12/13 Workflow No desenvolvimento de software, o principal objectivo é resolver problemas reais de negócio. Normalmente parte-se a resolução

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

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

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 Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

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

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;} 2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

Leia mais

4.4. UML Diagramas de interacção

4.4. UML Diagramas de interacção Engenharia de Software 4.4. UML Diagramas de interacção Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de interacção mostra um padrão de interacção entre vários objectos, com objectos e

Leia mais

Trabalho Prático Nº1 Introdução ao C#.NET

Trabalho Prático Nº1 Introdução ao C#.NET Trabalho Prático Nº1 Introdução ao C#.NET 1. OBJECTIVOS - Entender o contexto da plataforma.net - Desenvolver programas simples em C#.NET - Saber efectuar entradas de dados em modo Consola e Windows Forms

Leia mais

Computação Orientada aos Serviços. WCF Semestre de Inverno 11/12 (Parte 1)

Computação Orientada aos Serviços. WCF Semestre de Inverno 11/12 (Parte 1) Computação Orientada aos Serviços WCF Semestre de Inverno 11/12 (Parte 1) WCF O Windows Communication Foundation (WCF) é uma application programming interface (API) na.net Framework para construir aplicações

Leia mais

Universidade da Beira Interior. Sistemas Distribuídos

Universidade da Beira Interior. Sistemas Distribuídos Folha 6-1 Sincronização de Threads A sincronização de Threads em Java é baseada no conceito do Monitor (de Hoare). Cada objecto Java tem associado um monitor (ou lock ) que pode ser activado se a palavra

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho. Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia

Leia mais

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

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Manual técnico. v2.2 2015/10

Manual técnico. v2.2 2015/10 Manual técnico v2.2 2015/10 Índice 1. INTRODUÇÃO... 3 2. DESCRIÇÃO... 3 3. INTEGRAÇÃO DO SISTEMA... 4 3.1 DESCRIÇÃO... 4 3.2 INTEGRAÇÃO... 5 3.2.1. Geração de referências... 5 getreferencemb...5 getreferencemb2...7

Leia mais

Rock In Rio - Lisboa

Rock In Rio - Lisboa Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

Treinar - Cursos e Treinamentos C# Módulo I. Carga horária: 32 Horas

Treinar - Cursos e Treinamentos C# Módulo I. Carga horária: 32 Horas Treinar - Cursos e Treinamentos C# Módulo I Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

Leia mais

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014 MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP Curso Superior de Tecnologia em Sistemas para Internet 2/2014 1. Nomes e localização dos arquivos do projeto: O template

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais

Leia mais

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código Cap.2.5: Design de Algoritmos e Programação Estruturada Algoritmos, fluxogramas e pseudo-código 1 Sumário Problemas e algoritmos Desenho de algoritmos/programas Passos na construção de algoritmos Método

Leia mais

Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada Algoritmos, fluxogramas e pseudo-código 1 Sumário Problemas e algoritmos Desenho de algoritmos/programas Passos

Leia mais

Programação Estruturada e Orientada a Objetos. Tratamento de Exceções

Programação Estruturada e Orientada a Objetos. Tratamento de Exceções Programação Estruturada e Orientada a Objetos Tratamento de Exceções 2013 O que veremos hoje? Introdução Tratamento de exceções Exercícios Transparências baseadas no material do Prof. Gilbert Azevedo Referencias

Leia mais

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

Leia mais

Profº. Enrique Pimentel Leite de Oliveira

Profº. Enrique Pimentel Leite de Oliveira Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam

Leia mais

Controle de robôs industriais via Labview

Controle de robôs industriais via Labview Leonel Lopes Lima Neto Instituto Tecnológico de Aeronáutica Rua H20B, casa, nº 114, Campus do CTA São José dos Campos São Paulo 12.228-460 Bolsista PIBIC-CNPq leonel@aluno.ita.br Emilia Villani Instituto

Leia mais

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva http://www.elvio.pro.br elvio@fmr.edu.

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva http://www.elvio.pro.br elvio@fmr.edu. ANÁLISE ORIENTADA À OBJETO UML FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva http://www.elvio.pro.br elvio@fmr.edu.br AULA Nº 1 A UML utiliza vários diagramas

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido

Leia mais

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

Programação Concorrente em java - Exercícios Práticos Abril 2004 Programação Concorrente em java - Exercícios Práticos Abril 2004 1. Introdução As threads correspondem a linhas de controlo independentes no âmbito de um mesmo processo. No caso da linguagem JAVA, é precisamente

Leia mais

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

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

Bases de Dados 2007/2008. Aula 9

Bases de Dados 2007/2008. Aula 9 Bases de Dados 2007/2008 Aula 9 1. T-SQL TRY CATCH 2. TRATAMENTO ERROS RAISERROR 3. TRIGGERS 4. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql

Leia mais

Workflow Management Systems

Workflow Management Systems Workflow Management Systems João Sequeira Tecnologias de Middleware 28 Outubro 2004 Plano de Apresentação Introdução O que são WfMS Background Histórico Definição de Sistemas de Workflow Execução de um

Leia mais

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web: Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade Page 1 podem ser comparadas com arrays, visto que também apresentam a capacidade de armazenar referências para vários objetos. Entretanto, as coleções apresentam uma gama de funcionalidades bem maior do

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Manual Resumido PR Master. Versão 4.5.12

Manual Resumido PR Master. Versão 4.5.12 Manual Resumido PR Master Versão 4.5.12 Introdução PR Master é o programa de configuração e gestão do sistema de controlo de acessos da Roger. Integra-se com os controladores PRxx1, PRxx2, leitores PRT

Leia mais

2 echo "PHP e outros.";

2 echo PHP e outros.; PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento

Leia mais

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2) Diagrama de Classes Diagrama de Classes Modelo de classes de especificação Perspectiva de Projeto Ilustra as especificações de software para as classes e interfaces do sistema. É obtido através da adição

Leia mais

Estudo de Caso 4.1 Coleta de Estatísticas

Estudo de Caso 4.1 Coleta de Estatísticas 4 Estudo de Caso Com o propósito de melhor apresentar a arquitetura NeMaSA, assim como melhor ilustrar seu funcionamento, dois exemplos práticos de testes desenvolvidos sobre a arquitetura proposta serão

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Millennium ECO 2.0 (beta)

Millennium ECO 2.0 (beta) MILLENNIUM NETWORK Millennium ECO 2.0 (beta) Documentação Técnica (draft) 10/2013 Este documento contém as instruções para a utilização da biblioteca Millenium_Eco que se presta à comunicação de aplicativos

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais

Variáveis e estruturas de controlo. Introdução à Programação André L. Santos

Variáveis e estruturas de controlo. Introdução à Programação André L. Santos Variáveis e estruturas de controlo Introdução à Programação André L. Santos Variáveis Uma variável pode ser vista como um espaço em memória onde um valor de determinado tipo (p.e. inteiro) pode ser guardado.

Leia mais

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.

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. 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.x = x; this.y = y; public String tostring(){ return "(" + x + "," +

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

PROGRAMANDO EM C# ORIENTADO A OBJETOS

PROGRAMANDO EM C# ORIENTADO A OBJETOS PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

BC0501 Linguagens de Programação

BC0501 Linguagens de Programação BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados

Leia mais

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 03 APRESENTAÇÃO: Hoje vamos conhecer o comando switch, o bloco try catch;

Leia mais

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

UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação Ricardo Argenton Ramos Engenharia de Software II 2013.1 Diagrama de Estado Um diagrama de estados (statechart), também conhecido por

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

PHP. Hypertext Pre-Processor

PHP. Hypertext Pre-Processor PHP Hypertext Pre-Processor O que é o PHP? Uma linguagem de scripting é uma linguagem cujo código não tem de ser compilado para ser executado! O código escrito é interpretado em tempo de execução para

Leia mais

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Uma visão mais clara da UML Sumário

Uma visão mais clara da UML Sumário Uma visão mais clara da UML Sumário 1 Definição de Objeto...2 2 Estereótipos...3 2.1 Classe fronteira (boundary):...3 2.2 Classe de Entidade (entity):...3 2.3 Classe de Controle (control):...4 3 Interação

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

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

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

Sistemas Operativos 2005/2006. Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca. Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes

Sistemas Operativos 2005/2006. Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca. Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes Sistemas Operativos 2005/2006 Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca Turma 3EIC3 Grupo 5 Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes O trabalho efectuado, consiste numa

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Objectivos Indicação onde são utilizados os computadores Primeiro programa em C++ Etapas básicas do desenvolvimento de programas Projecto centrado nos objectos Classes e programação

Leia mais

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Operação

Leia mais

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Computação e Programação Aula prática nº 5. Enunciados dos problemas Enunciados dos problemas 1 1. Processador de números 1.1 Objectivos do exercício análise sequencial de um problema baseada em objectos e desenvolvimento do respectivo algoritmo; codificação do algoritmo

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Programação Paralela e Distribuída (DCC/UFRJ)

Programação Paralela e Distribuída (DCC/UFRJ) Programação Paralela e Distribuída (DCC/UFRJ) Aula 7: Programação com memória compartilhada usando OpenMP 1, 8, 10 e 15 de abril de 2015 OpenMP (Open MultiProcessing) Projetado para sistemas de memória

Leia mais

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado

Leia mais

Figura 1: Componentes do Kepler

Figura 1: Componentes do Kepler Modelagem do Workflow Científico no Kepler Modelagem do workflow de simulação científica do trabalho: Uma abordagem para gerência de projetos de experimentos científicos. Em referencia à explicação detalhada

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações

Leia mais

Engenharia Informática

Engenharia Informática Escola Superior de Ciência e Tecnologia Engenharia Informática Análise de Sistemas Informáticos 3º ano Exame 12 de Julho de 2006 Docentes: José Correia e João Paulo Rodrigues Duração: 90 m; Tolerância:

Leia mais

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 4 Algoritmos e Estruturada Module Introduction Algoritmos e Estruturada Objectivos:

Leia mais

Download. Instalaça o. Geral

Download. Instalaça o. Geral Download Não estou a conseguir fazer o download da versão demo do produto. Há outra forma de o obter? Sim, com certeza. Por favor, envie uma solicitação para algum dos meios de suporte disponíveis no nosso

Leia mais

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos. import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)

Leia mais

DEFINIÇÃO DE MÉTODOS

DEFINIÇÃO DE MÉTODOS Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos

Leia mais

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

Num sistema de objectos distribuídos, dois conceitos são fundamentais. Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores 1. Objetivos Situar a atividade de programação de computadores Apresentar conceitos fundamentais relativos

Leia mais

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

Leia mais

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define

Leia mais

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Seminário - C# DSO II Desenvolvimento de Sistemas Orientados a Objetos 2 Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Roteiro Breve Histórico Plataforma.NET Características da Linguagem Sintaxe Versões

Leia mais