Computação Orientada aos Serviços. WF (parte 1) Semestre de Inverno 13/14
|
|
- Maria de Abreu Faro
- 8 Há anos
- Visualizações:
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 Workflow No desenvolvimento de software, o principal objectivo é resolver problemas reais de negócio. Normalmente parte-se a resolução
Leia maisOrientaçã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 maisSistemas 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 maisGrupo 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 mais2ª 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 maisIntroduçã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 mais1.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 mais4.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 maisTrabalho 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 maisComputaçã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 maisUniversidade 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 maisTabela 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 maisComputaçã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 mais3 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 maisManual 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 maisRock 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 maisProcessos 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 maisOs 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 maisTreinar - 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 maisConteú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 maisFelipe 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 maisMANUAL 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 maisProf. 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 maisCap.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 maisProf. 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 maisProgramaçã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 maisProjeto 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 maisProfº. 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 maisControle 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 maisFMR 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 maisDesenvolvimento 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 maisManipulaçã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 maisFBV - 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 mais4 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 maisMIDDLEWARE 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 maisConteú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 maisUniversidade 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 maisCurso 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 maisProgramaçã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 maisGuia 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 maisBases 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 maisWorkflow 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 maisWeb 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 mais2 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 maisHugo 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 maisAlgoritmos 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 maisColeçõ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 maisSistemas 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 maisManual 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 mais2 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 maisDiagrama 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 maisEstudo 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 mais2. 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 maisParadigmas 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 maisProgramando 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 maisMillennium 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 maisLaborató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 maisVariá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 maisExercí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 maisCURSO 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 maisPROGRAMANDO 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 mais2 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 maisBC0501 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 maisCriaçã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 maisUNIVERSIDADE 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 maisUML 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 maisProgramaçã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 maisPHP. 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 maisCurso: 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 mais3 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 maisUma 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 maisNotas 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 maisPersistê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 maisSistemas 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 maisSistemas 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 maisFeature-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 maisJava. 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 maisEXERCÍ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 maisEngenharia 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 maisUniversidade 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 maisComputaçã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 maisINTRODUÇÃ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 maisProgramaçã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 maisColeçõ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 maisFigura 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 maisVisã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 maisEngenharia 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 maisModule 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 maisDownload. 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 maispublic 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 maisDEFINIÇÃ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 maisNum 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 maisMC102 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 maisINTRODUÇÃ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 maisJava 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 maisSeminá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