Validando Sistemas Distríbuidos em Java com RMI Utilizando Injeção de Falhas

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

Download "Validando Sistemas Distríbuidos em Java com RMI Utilizando Injeção de Falhas"

Transcrição

1 Validando Sistemas Distríbuidos em Java com RMI Utilizando Injeção de Falhas Vieira, Marcio. J. 1 1 Departamento de Informática Universidade Federal do Paraná (UFPR) Curitiba PR Brasil marciojv@inf.ufpr.br Abstract. This article presents as fault injection of imperfections for experimental validation of Java applications with RMI (Remote Method Invocation),and the behavior of these distributed systems, after the injection of software imperfections affecting attributes and public object methods of the interface Through an application they are intercepting the remote calls of protocol RMI during the execution of the class stub, for the injection of imperfections. Resumo. Este artigo apresenta como realizar injeção de falhas para validação experimental de aplicações Java com RMI ( Remote Method Invocation ), e o comportamento deste sistemas distribuídos, após a injeção de falhas de software afetando atributos e métodos de objeto público da interface. Através de uma aplicação são interceptando as chamadas remotas do protocolo RMI durante a execução da classe stub, para a injeção de falhas. 1. Introdução Sistemas distribuído é uma referência à computação paralela e descentralizada, realizada por dois ou mais computadores conectados através de uma rede, cujo objetivo é concluir uma tarefa em comum. Os Sistemas distribuídos em Java são muitos usados para serviços de alta disponibilidade que exigem que mecanismos de tolerância a falhas sejam validados, para que não apresentarem um comportamento inesperado no momento que que são requisitados no ambiente operacional. Injeção de Falhas é uma técnica para melhorar a cobertura de um teste introduzindo falhas ao sistema. Java é uma linguagem de programação orientada a objeto desenvolvida pela Sun Microsystems [Spec 2007] e o RMI (Remote Method Invocation) é uma interface de programação que permite a execução de chamadas remotas no estilo RPC em aplicações desenvolvidas em Java. Para validar este ambiente sugerimos neste trabalho a injeção de falhas para validação experimental de aplicações Java com RMI. As falhas injetadas serão baseadas em falhas de interface seguindo um sistema de padrões para injeção de falhas [Leme 2001]. A incorporação de sistemas computacionais ao cotidiano para o atendimento de serviços de missão crítica exige confiança no comportamento deste serviço, pois uma falha descoberta após o sistema estar em operac cão pode gerar consequências desastrosas. O middleware para objetos distribuídos, Remote Method Invocation (RMI) da SUN Microsystem [Spec 2007] é muito utilizado para o desenvolvimento de aplicações Java

2 distribuídas, embora ainda disponha de uma infra-estrutura básica para a construção de aplicações distribuídas, devem existir mecanismos de tolerância a falhas para que estes sistemas não apresentem um comportamento inesperado no momento que são requisitados no ambiente operacional. Este artigo apresenta o comportamento de sistemas distribuídos desenvolvidos sobre Java com RMI na injeção de falhas, auxiliando na validação de aplicações desenvolvidas sobre esta plataforma, utilizando uma aplicação para injeção de falhas de software afetando atributos e métodos de objeto publico da interface [Regina O. M. 2003], e assim definição de um modelo de falhas para RMI. 2. Injeção de Falhas Injeção de falhas é uma técnica de teste em que se procura produzir ou simular falhas e observar o sistema sob teste para verificar sua resposta nesta condição [Hsueh 1997]. Quando conhecemos o modelo de falhas no sistema podemos criar falhas para injeta-las. Experimentos de injeção de falhas também podem revelar problemas de software, que não são encontrados com técnicas tradicionais de testes e métodos formais [Voas 1997] Injeção de falhas por Software Uma ferramenta de injeção de falhas por software geralmente é um trecho de código que usa todos os ganchos ( hooks ) possíveis do processador e do sistema para criar um comportamento incorreto de maneira controlada [Carreira 1998]. Está técnica pode simular folhas de hardware, de software e de interface. Neste artigo vamos injetar falhas por software em uma aplicação distribuída desenvolvida sobre a arquitetura da RMI Ferramentas de Injeção de Software Para que se possa injetar falhas é necessário dispor de ferramentas apropriadas. Essas ferramentas executam o sistema sobre teste e produzem ou simulam a presena de falhas, monitorando o sistema para verificar qual é o seu comportamento [Gabriela J.; Regina O. M.; Taisy S.; Martins 2004].Jaca é uma ferramenta de Injeção de Software desenvolvida em Java com alta portabilidade [Regina O. M. 2003] usando um o Javassist reflection toolkit [Chiba 1998], compatível com JVM padrões, tanto o Jaca como Javassist não necessitam do código fonte da aplicação para serem utilizados, porém e necessário conhecer o mínimo de informação sobre a aplicação Java Distribuída Sistemas padrões de Injeção de Falhas No desenvolvimento de software e comum deparar-se com problemas que são recorrentes dentro de um determinado domínio de aplicações e nã o raro, resolvem-se esses problemas de forma similar a outras solucoes já utilizadas por outros desenvolvedores.essas solucoes podem ser documentadas em forma de padrões que são independentes de linguagens de programacao. Esses padrões auxiliam o desenvolvimento mais eficiente,robusto, portável e reutilizável [Schmidt 1995], facilitando o entendimento e

3 instanciando soluções que tém sido consideradas eficientes para solucionar os problemas a que se propõem. 3. Remote Method Invocation RMI A RMI permite que objetos Java executados num mesmo computador ou em computadores separados se comuniquem entre si via chamadas de métodos remotos. A RMI está baseada em uma tecnologia anterior semelhante para programação procedural, chamadas de chamadas de procedimento remoto ( remote procedure call RPCs ). A RPC permite que um programa procedural chame uma função de outro computador tão convenientemente como esta função fosse parte do mesmo programa executado no mesmo computador [Deitel 2004]. A RMI é a implementação da RPC por Java para comunicação distribuída de um objeto Java com outro. Uma vez que um método (ou serviço) de um objeto Java é registrado como sendo remotamente acessível, um cliente pode pesquisar ( lookup ) esse serviço e receber uma referência que permita ao cliente utilizar esse servio. Como com RPC, a ordenação (marshal) de dados é tratada por RMI. A RMI oferece transferência de objetos de tipos de dados complexos através do mecanismo de serialização de objeto [Deitel 2004]. 4. Reflexão Computacional De acordo com Maes [Maes 1987], computação reflexiva é a atividade desempenhada por um sistema computacional quando a computação realizada é sobre a sua própria computação. A Reflexo Computacional é definida como uma técnica de programaç ão que permite ao programador obter informações a respeito do próprio programa, com o objetivo de monitorá-lo, adicionar novas funcionalidades e mesmo fazer alterações adaptativas em tempo de execuo [Silveira 2003]. Sua utilização no processo de teste possibilita realizar uma anlise da aplicao de forma dinãmica, sem a necessidade de instrumentar o cdigo-fonte da aplicao. Atravs da reflexão é possível monitorar classes e objetos específicos, realizando uma intervenção na computação da aplicação em teste [Silveira 2003]. neste trabalho usaremos como apoio a ferramenta Javassist. [Chiba 2004] para reflexão Javassist Javassist (Java Programming Assistant) faz simples manipulação bytecode java. Isto é, uma biblioteca para editar bytecodes em Java, habilita programas desenvolvidos em Java para definir uma nova classe em tempo de execução modificando o arquivo da classe que a JVM ( Java Virtual Machine ) está carregando [Chiba 2006]. 5. Metodologia Através de uma aplicação será interceptando as chamadas remotas do protocolo RMI ( Remote Method Invocation ) durante a execução da classe stub, para a injeção de falhas, as interceptações serão realizadas em um sistema distribuída simples que será utilizado apenas como base de estudos. Todas as falhas apresentadas serão catalogadas.

4 As classes stub são geradas pelo compilador RMI ( rmic ) e não são considaredas classes do sistema podendo ser reflexionadas pelo carregador de classes do Javassist. Na Figura 1, demostramos a idéia básica que vamos implementar para validara injeo de falhas em RMI, através da classe stub, uma aplicação exemplo com applet Java, chama um método remoto ( RMI ) de um determinado web-server. Figura 1. Chamada de método remoto por RMI. 6. Cronograma de Atividades A tabela 1 apresenta as atividades e serem desenvolvidas pelo projeto com datas previstas e o estado atual de realização. o contato com os desenvolvedores de uma ferramenta chamada Jaca, que implementa injeções semenhantes foi realizado solicitando o código fonte para darmos continuidade ao trabalho já realizado anteriormente. Data Atividade Estado 10/04/2007 Aplicação distribuída usando RMI. Concluído 16/04/2007 Entrega da proposta de trabalho. A validar 16/04/2007 Fazer Contato com Desenvolvedor do JACA. Concluído 30/04/2007 Alterar Jaca para injetar falhas em RMI. A realizar 01/05/2007 Melhorar e complementar artigo com base em novas referências A realizar 07/05/2007 Analizer Projeto com Prof. Aldri. A eealizar 15/05/2007 Descrever conclusões Sobre testes realizados. A realizar Tabela 1. Cronograma de Atividades.

5 7. Conclusão O artigo tem intensão de apresentar uma solução para injeção de falhas na arquitetura de sistemas distribuídos baseados em RMI. trabalhos publicados anteriormente não implementaram está solução para arquitetura RMI mas com base no estudo de Martins, E. [Gabriela J.; Regina O. M.; Taisy S.; Martins 2004], podemos afirmar que possivel implementar a proposta descrita neste artigo. Referências Carreira, J. e Silva, J. G. (1998). Why do some (weird) people inject faults? acm sigsoft. In Software Engineering Notes. Volume 23, Número 1, pp Janeiro Chiba, S. (1998). Javassist - a reflection-based programming wizard for java. In Proc. of the ACM OOPSLA 98. Outubro, 98. Chiba, S. (2004). Javassist: Java bytecode engineering made simple java. In Developerś Journal. vol. 9, issue 1, January 8, Chiba, S. (2006). Javassist. url: chiba/javassist/ acessado em 20/04/2007. Deitel, H. M. (2004). Java, como Programar. Bookman, 4 edition. Gabriela J.; Regina O. M.; Taisy S.; Martins, E. (2004). Validando sistemas distribuídos desenvolvidos em java utilizando injeção de falhas de comunicação por software. In SBRC Hsueh, M. T. T. I. R. (1997). Fault injection techniques and tools. In IEEE Computer. Volume 30, Número 4, pp Abril Leme, N.G.M. e Martins, E. R. e. C. (2001). A software fault injection pattern system. In Proc. of the IX Brasilian Symposium on Fault-Tolerant Computing. Florianópolis,SC, Brasil, Març01, pag Maes, P. (1987). Concepts and experiments in computational reflection. In Proceeding of OOPSLA Orlando,Estados Unidos,outubro Regina O. M., Martins, E. (2003). Jaca a software fault injection tooll. In DNS Schmidt, D. C. (1995). Using design patterns to develop reusable object-oriented communication software. In Communications of the ACM. v. 38(10), pp Outubro Silveira, F. F. (2003). Ferramenta de apoio ao teste de aplicações java baseada em reflexão computacional. In Disponível em: Acesso em: 20 set Spec, J. (2007). Java Especification. url: acessado em 10/04/2007.

6 Voas, J. (1997). Software fault injection: Growing safer system. In Proceedings of IEEE Aerospace Conference v.2, pp aspen, Estados Unidos. Fevereiro 1997.

Validando Sistemas Distribuídos Desenvolvidos em Java Utilizando Injeção de Falhas de Comunicação por Software

Validando Sistemas Distribuídos Desenvolvidos em Java Utilizando Injeção de Falhas de Comunicação por Software Validando Sistemas Distribuídos Desenvolvidos em Java Utilizando Injeção de Falhas de Comunicação por Software Gabriela Jacques-Silva 1, Regina Lúcia de O. Moraes 2, Taisy Silva Weber 1, Eliane Martins

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016 Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

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

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013 Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4. Unidade Curricular

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

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

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

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel

Leia mais

RMI: Uma Visão Conceitual

RMI: Uma Visão Conceitual RMI: Uma Visão Conceitual Márcio Castro, Mateus Raeder e Thiago Nunes 11 de abril de 2007 Resumo Invocação de Método Remoto (Remote Method Invocation - RMI) trata-se de uma abordagem Java para disponibilizar

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Programação de Computadores II TCC-00.309 Turma A-1

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

Distributed Object-oriented Virtual Environment using Web Services on Grid

Distributed Object-oriented Virtual Environment using Web Services on Grid Distributed Object-oriented Virtual Environment using Web Services on Grid paralela e Felipe L. Severino Programação com Objetos Distribuídos Felipe L. Severino 1/ 15 Introdução; Distributed Object-oriented

Leia mais

GERAÇÃO DE RELATÓRIOS

GERAÇÃO DE RELATÓRIOS UNIOESTE Universidade Estadual do Oeste do Paraná CCET - CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação GERAÇÃO DE RELATÓRIOS

Leia mais

Linguagem de Programação Introdução a Linguagem Java

Linguagem de Programação Introdução a Linguagem Java Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,

Leia mais

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede Prof. Samuel Souza } Monolíticas Aplicações em um computador centralizado } Em Rede Aplicações com comunicação em rede } Distribuídas Comunicação e cooperação em rede } Aplicações que são funcionalmente

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java 1 Objetivo: O aluno deverá adquirir capacidades e habilidades

Leia mais

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

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

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da

Leia mais

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com Análise e Projeto de Sistemas de Informação Andrêza Leite andreza.lba@gmail.com Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

Leia mais

Importância da Arquitetura de Sistemas Baseados em Componentes para os Testes por Injeção de Falhas

Importância da Arquitetura de Sistemas Baseados em Componentes para os Testes por Injeção de Falhas Importância da Arquitetura de Sistemas Baseados em Componentes para os Testes por Injeção de Falhas Regina Lúcia de Oliveira Moraes Universidade Estadual de Campinas (UNICAMP) Centro Superior de Educação

Leia mais

GT Computação Colaborativa (P2P)

GT Computação Colaborativa (P2P) GT Computação Colaborativa (P2P) Djamel Sadok Julho de 2003 Este documento tem como objetivo descrever o projeto de estruturação do grupo de trabalho GT Computação Colaborativa (P2P), responsável pelo

Leia mais

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais

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

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 4 Estilos Arquitetônicos Estilos Arquiteturais Dataflow

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres Linguagem de Programação Orientada a Objeto Introdução a Orientação a Objetos Professora Sheila Cáceres Introdução a Orientação a Objetos No mundo real, tudo é objeto!; Os objetos se relacionam entre si

Leia mais

Aspectos técnicos do desenvolvimento baseado em componentes

Aspectos técnicos do desenvolvimento baseado em componentes Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Introdução à Programação Orientada a Objetos Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 Histórico das linguagens de programação ENIAC (1944) Programação

Leia mais

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.

Leia mais

Tópicos Especiais em Redes de Telecomunicações

Tópicos Especiais em Redes de Telecomunicações Tópicos Especiais em Redes de Telecomunicações Redes definidas por software e Computação em Nuvem Prof. Rodrigo de Souza Couto Informações Gerais Prof. Rodrigo de Souza Couto E-mail: rodsouzacouto@ieee.org

Leia mais

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas ATIVIDADE 1 MÁQUINAS VIRTUAIS Existem hoje diversas tecnologias e produtos para virtualização de computadores e ambientes de execução, o que pode gerar uma certa confusão de conceitos. Apesar disso, cada

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

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

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

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

Leia mais

FAP - Faculdade de Apucarana Curso de Sistemas de Informação RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO -

FAP - Faculdade de Apucarana Curso de Sistemas de Informação RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO - FAP - Faculdade de Apucarana Curso de Sistemas de Informação RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO - PLATAFORMA ARES: UMA PLATAFORMA VIRTUAL

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

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 1 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional Introdução à Linguagem JAVA Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação Laboratório de Visão Computacional Vantagens do Java Independência de plataforma; Sintaxe semelhante às linguagens

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

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 04: Comunicação Versão: 20 de março de 2014

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO EPE0147 UTILIZAÇÃO DA MINERAÇÃO DE DADOS EM UMA AVALIAÇÃO INSTITUCIONAL

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a

Leia mais

Modelos Arquiteturais

Modelos Arquiteturais Modelos Arquiteturais Carlos Ferraz cagf@cin.ufpe.br Tópicos da Aula Modelos arquiteturais e-servidor Objetos distribuídos 2 O que é um modelo arquitetural? Estrutura em termos de componentes especificados

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos

Leia mais

Fault Tolerance Middleware for Cloud Computing

Fault Tolerance Middleware for Cloud Computing Fault Tolerance Middleware for Cloud Computing W. Zhao & P. Melliar-Smith & L. Moser Sistemas Distribuídos e Tolerância a Falhas Ivan Pires m3797 Gilberto Melfe m4088 Introdução A cloud computing tem por

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli Objetivo; Roteiro da Apresentação Visão Geral sobre Internet,

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix. UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas

Leia mais

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Autor: Daniel Vieira de Souza 1, Orientador: Luís Fernando Faina 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Java RMI

Sistemas Distribuídos: Conceitos e Projeto Java RMI Sistemas Distribuídos: Conceitos e Projeto Java RMI Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 19 de agosto

Leia mais

Desenvolvimento Cliente-Servidor 1

Desenvolvimento Cliente-Servidor 1 Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados

Leia mais

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Sloan School of Management

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Sloan School of Management MASSACHUSETTS INSTITUTE OF TECHNOLOGY Sloan School of Management 15.565 INTEGRAÇÃO DE SISTEMAS DE INFORMAÇÃO: FATORES TECNOLÓGICOS, ESTRATÉGICOS E ORGANIZACIONAIS Panorama Funcional CP0 -- INTRODUÇÃO AO

Leia mais

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

Leia mais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds MSc2006 Aula

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

Exemplos práticos do uso de RMI em sistemas distribuídos

Exemplos práticos do uso de RMI em sistemas distribuídos Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande

Leia mais

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR Curso Engenharia Informática Ano letivo 2012/2013 Unidade Curricular Sistemas Distribuídos ECTS 6 Regime Obrigatório Ano 3º Semestre 2º sem Horas de trabalho globais Docente (s) Rui Pedro Marques Pereira

Leia mais

PROGRAMAÇÃO JAVA. Parte 1

PROGRAMAÇÃO JAVA. Parte 1 PROGRAMAÇÃO JAVA Parte 1 O que é um programa? Um algoritmo (sequência de operações elementares - instruções) convertido para uma linguagem que possa ser executada por um computador Programa = Algoritmos

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais