WebMedia 2009 Minicurso 3 Parte 3: Modelagem Parte 3 MODELAGEM 1

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

Download "WebMedia 2009 Minicurso 3 Parte 3: Modelagem Parte 3 MODELAGEM 1"

Transcrição

1 Parte 3 MODELAGEM 1

2 Antes, uma pergunta Onde fica a rua do porto? Siga reto nessa rua mesmo, depois vire à direita no semáforo. Passe um posto de gasolina, é a terceira rua! 2

3 Outra pergunta Quais as forças que atuam sobre a asa de uma nova aeronave sendo projetada? 3

4 Mais uma... Como ficará a ocupação urbana da capital Xangai em 2020? 4

5 Essa agora... Pedro tem dois irmãos Daqui a cinco anos, o mais novo terá a metade da idade de Pedro Daqui a dez anos, o mais velho terá o triplo da idade do mais novo Quantos anos tem Pedro e os irmãos? 5

6 O que existe em comum entre estas perguntas? O uso de modelos pode ajudar a respondê-las Modelos abstraem detalhes Modelos representam conceitos Modelos possuem informação útil Modelos são fáceis de compreender Outras propriedades... 6

7 maps.google.com 7

8 8

9 9

10 Idade de Pedro hoje = x Idade do irmão mais novo hoje = y Idade do irmão mais velho hoje = z Sistema y+5 = (x+5)/2 z+10 = (y+10)*3 10

11 E no desenvolvimento de software? Modelo de Classes Modelo de interface Requisitos Rabiscos Modelo de Dados Modelo de Casos de Uso Modelo de Componentes 11

12 Definição do OMG Um modelo de um sistema é uma descriçãoou especificação daquele sistema e seu ambiente, para um determinado propósito. Um modelo é frequentemente apresentado como uma combinaçãode desenhos e texto. O texto pode ser em uma linguagem de modelagem ou uma linguagem natural. 12

13 Porém, para o MDD Modelos devem servir de entradapara geradores, transformadores, etc... Portanto, precisam ser automaticamente intepretáveis Por uma máquina Capacidade cognitiva limitada Devem ser Estruturados Formalmente definidos Sintaticamente corretos Completos Não ambíguos... 13

14 Exemplo Calculadora Software que entende um modelo interpretador / analisador Realiza ações Some 56 com treze, 56 e depois quarenta e +13 cinco. Do total, subtraia cinquenta +45 e sete. Tudo isso -57 vezes meia-meia. *66 14

15 Resumindo Preciso de: Um formato que o computador entenda Um analisador Conceito de LINGUAGEM Linguagem natural Ainda está distante... 15

16 Elementos de uma linguagem Sintaxe concreta Palavras, caracteres, espaços Quadrados, círculos, linhas, ícones Sintaxe abstrata Representação interna Independe da sintaxe concreta Semântica Significado dos conceitos Para que serve? Em qual contexto? 16

17 LINGUAGENS TEXTUAIS E LINGUAGENS VISUAIS 17

18 Linguagens textuais Dentro da ciência da computação Compiladores Linguagens Autômatos 18

19 Linguagens textuais Objeto Objeto o ( Tamanho (3,4,2) Peso 20kg ) Tamanho Alavanca Peso Força Pessoa p ( Idade 20 ) Comprimento Ponto de apoio Pessoa Idade 19

20 Linguagens textuais Objeto o ( Tamanho (3,4,2) Peso 20kg ) Pessoa p ( Altura 1,80 ) public class Objeto { int larg, alt, prof; float peso; } public class pessoa { int altura; } 2 Tarefa impossível! São necessárias: -3 pessoas(> 1,70) -6 alavancas(> 5.5m) 3 20kg

21 Linguagens textuais AST Parsing Ações semânticas Objeto o ( Tamanho (3,4,2) Peso 20kg ) Pessoa p ( Altura 1,80 ) Geração de código Execução canônica Cálculos 21

22 Sintaxe abstrata É comum utilizar um modelo Orientado a Objetos Metamodelo A informação fica mais fácil de ser consultada Referências são automaticamente mantidas 22

23 Sintaxe abstrata OO public class Endereco { String rua; int numero; } Pessoa nome:string public class Pessoa { String nome; Endereco enderecoresidencial; Endereco enderecoprofissional; } Endereco rua:string numero:int enderecoprofissional enderecoresidencial 23

24 Sintaxe abstrata OO public class Pessoa { String nome; Endereco enderecoresidencial; Endereco enderecoprofissional; } public class Endereco { String rua; int numero; } Pessoa nome:string enderecoprofissional Endereco rua:string numero:int?? enderecoresidencial 24

25 Sintaxe concreta Programas Sentenças Palavras Caracteres Regras Léxicas Sintáticas 25

26 Nos primórdios Parsers precisavam ser implementados à mão Tabela de símbolos Máquina de estados Otimizações Obs: para linguagens complexas, ainda é necessário 26

27 Depois Compiler Compiler Ou geradores de compiladores Parser generators YACC, ANTLR,... Regras (léxica + sintática) CC Código Parser 27

28 Atualmente Ferramentas para Modelagem Textual Parser + Metamodelo Eclipse TCS Textual Concrete Syntax Xtext(OpenArchitectureWare Eclipse TMF) Código Regras (léxica + sintática) CC API metamodelo Parser 28

29 Atualmente Facilita a construção de interpretadores Maior flexibilidade Poder computacional Facilidade de manutenção Mudanças nas regras são propagadas para o parsere metamodelo 29

30 Outra opção XML (extensible Markup Language) SAX Simple API for XML À base de eventos Árvore é percorrida e eventos são disparados quando elementos são encontrados DOM Document Object Model Modelo OOdo documento 30

31 XML como linguagem de modelagem Vantagens Parsers já existem! Permite a checagem de metadados XMLSchema / DTD Consulta facilitada (XPath) Desvantagens Baixa legibilidade Prejudica seu poder expressivo Ainda é uma árvore! 31

32 Linguagens textuais São boas para modelos hierárquicos(árvore) Classes, Tabelas, Objetos, Atributos, etc São boas para aspectos de algoritmos Sequência de passos, comandos Expressões regulares Funcionam bem com sistemas de controle de versões (CVS, SVN,...) 32

33 Linguagens textuais Demonstração Exemplo 1 33

34 Linguagens visuais Para as linguagens que são naturalmente grafos Modelos estruturais(arquiteturas, topologias, etc) Diagramas blocos e setas Orientação a Objetos Entidade-Relacionamento Muitos outros Sintaxe abstrata orientada a objetos 34

35 Linguagens visuais 35

36 Linguagens visuais Sintaxe Abstrata Concreta Sintaxe abstrata Modelo orientado a objetos Estrutura dos modelos (classes, relacionamentos, herança, atributos,...) MetaModelo 36

37 atributos 1 ClasseUML nome:string lados 1 AssociaçãoUML nome:string 1 AtributoUML nome:string tipo:string * participante * 2 LadoAssociaçãoUML multiplicidade: String AgregaçãoUML referencia:boolean Cliente:ClasseUML nome:string string fone:string 1 comprador * produto 1 * Compra:ClasseUML data:date Produto:ClasseUML nome:string fabricante:string preço:currency * depto 1 Departamento:ClasseUML nome:string obj1:cliente nome = João =joao@ .com fone= /03/2008 obj2:cliente nome = Pedro =pedro@bol.com fone= obj3:produto nome = Secadora fabricante = Brastemp preço = R$ 2600,00 depto = Eletrodomésticos obj4:departamento nome = Eletrodomésticos 37

38 atributos 1 ClasseUML nome:string lados 1 AssociaçãoUML nome:string AtributoUML nome:string tipo:string * Metamodelo participante 1 * 2 LadoAssociaçãoUML multiplicidade: String AgregaçãoUML referencia:boolean Cliente:ClasseUML nome:string string fone:string 1 comprador * produto 1 Produto:ClasseUML nome:string Modelo fabricante:string preço:currency * * 1 Compra:ClasseUML data:date depto Departamento:ClasseUML nome:string obj1:cliente nome = João 10/03/2008 =joao@ .com obj3:produto fone= nome = Secadora Informação fabricante = Brastemp preço = R$ 2600,00 obj2:cliente depto = Eletrodomésticos obj4:departamento nome = Eletrodomésticos nome = Pedro =pedro@bol.com fone=

39 atributos 1 ClasseUML nome:string Metametadados lados 1 AssociaçãoUML nome:string M2 AtributoUML nome:string tipo:string * participante 1 * 2 LadoAssociaçãoUML multiplicidade: String AgregaçãoUML referencia:boolean Cliente:ClasseUML nome:string string fone:string 1 M1 comprador * produto 1 Produto:ClasseUML nome:string Metadados fabricante:string preço:currency * * 1 Departamento:ClasseUML Compra:ClasseUML data:date nome:string depto obj1:cliente nome = João =joao@ .com fone= M0 10/03/2008 obj2:cliente nome = Pedro =pedro@bol.com fone= obj3:produto nome = Secadora Dados fabricante = Brastemp preço = R$ 2600,00 depto = Eletrodomésticos obj4:departamento nome = Eletrodomésticos 39

40 atributos 1 Entidade nome:string Relacionamento 1 1 Atributo nome:string * participante * Papel cardinalidade: {1,N} 3 papéis Nome Fabricante Nome Cliente Produto 1 N Departamento Nome Tabela Clientes ID Nome 1 João joao@ .com 2 Pedro pedro@ .com Tabela Produtos ID Nome Fabricante DeptoID 1 Secadora Brastemp 1 2 Fogão Dako 2 Tabela Departamentos ID Nome 1 Eletrodomésticos 2 Cozinha Restrição de chave estrangeira Produtos(DeptoID) Departamentos(ID) 40

41 Objeto nome:string tipo * Mensagem ordem:int conteudo:string * * de para Classe nome:string 5: verifica() 4: envia(txt) s:sms 1: new() c:central 3: conecta(nro) :AplicativoMIDP 2: enviatexto( , Mensagem ) public class SMS { public Central c; public void enviatexto(string nro, String txt) { c.conecta(nro); c.envia(txt); c.verifica(); } } public class Central { public void conecta(string nro) {... } public void envia(string txt) {... } public void verifica() {... } } public class AplicativoMIDP { void main{ SMS s = new SMS(); s.enviatexto( , Mensagem ); } } 41

42 Metamodelo Colaboração UML Mensagem ordem:int conteudo:string * * Objeto nome:string de tipo para * Classe nome:string Metamodelo E-R atributos 1 Entidade nome:string Relacionamento 1 1 Atributo nome:string * participante * Papel cardinalidade: {1,N} 3 papéis Metamodelo Classes UML atributos 1 ClasseUML nome:string lados 1 AssociaçãoUML nome:string 1 AtributoUML nome:string tipo:string * participante * 2 LadoAssociaçãoUML multiplicidade: String AgregaçãoUML referencia:boolean 42

43 Metametamodelo M3 M3 Metametamodelo Metametametadados Metametamodelo M2 Metamodelo Metametadados Metamodelo UML Metamodelo E- R M1 Modelo Metadados Modelo de classes Modelo E- R Modelo de colaboração M0 Informação Dados objetos objetos objetos objetos tabelas tabelas tabelas tabelas programas 43

44 Linguagem do Metametamodelo Deve ser ricao bastante para descrever modelos de vários domínios Portanto, deve ser capaz de descrever a si mesma MOF Meta-Object Facility OMG Diagrama classes UML simplificado Ecore Eclipse EMF MOF adaptado para maior eficiência MetaGME MIC Vanderbilt Generic Modeling Environment 44

45 Linguagem visual Sintaxe abstrata Voltada ao computador Metamodelo Sintaxe concreta Voltada ao ser humano Ícones Caixas Linhas Setas Cores... 45

46 Linguagem visual Múltiplas sintaxes concretas Exemplo Diagrama de sequência Diagrama de colaboração 46

47 Interpretação metamodelo OO Atualmente Através de APIs geradas / reflexivas Benefícios da orientação a objetos Métodos Coleções Referências Exemplos Builder Object Network (GME) Originalmente em C++ Existe uma versão em Java Eclipse Modeling Framework (Eclipse Modeling) 47

48 Linguagens visuais Demonstração Exemplo 2 48

49 Recapitulando Visual (estrutura) Analisar a tarefa Linguagem Abstrata Concreta Analisar o domínio do problema Modelo Textual (hierarquia, algoritmo) Gerar código Simular Experimentar Problema Testar Analisar 49

50 Recapitulando o papel dos modelos Especialista do domínio Especialista em TI finanças medicina economia jogos turismo geologia esportes MODELOS componentes classes subrotinas frameworks código máquina padrões objetos bytes bits Problema Solução 50

51 E quanto à UML? Modelagem de software não é sinônimo de UML? É a linguagem mais conhecida Com maior suporte de ferramentas Grande documentação Supre as principais necessidades Análise, casos de uso, negócio, aspectos estáticos e dinâmicos, componentes, implantação... 51

52 Tente representar... Um organograma Um circuito elétrico Um esquema físico de BD Uma GUI Mesmo com perfis Ainda tem pouca capacidade expressiva Fica preso à semântica da UML No contexto do MDD É uma falha grave 52

53 Domínio Domínios técnicos(horizontais): aspectos técnicos comuns a diversas aplicações Distribuição GUI Persistência Domínios funcionais(verticais): aspectos de negócio, organizacionais Bancos Finanças Seguros Aeronáutica 53

54 Hierarquia de domínios Sistemas automotivos Sistemas embarcados Controladores de motor Diesel Gas 54

55 Hierarquia de domínios Sistemas web E-Commerce Aplicações ebusiness E-Banking 55

56 Vários domínios Sistema Persistência GUI Comunicação Transações Segurança E-commerce Web Compras Cartão de crédito Boleto Fórum Showroom 56

57 Escopo da linguagem Sistemas automotivos Linguagens de modelagem de propósito geral GPL General Purpose Language Sistemas embarcados Diesel Controladores de motor Gas Sistemas web E-Commerce Aplicações ebusiness E-Banking 57

58 Linguagens específicas de domínio Focada Em um problema Em uma organização Em um projeto Linguagem pequena, normalmente declarativa, que oferece poder expressivo focado em um domínio de problema em particular Arievan Deursen, Paul Klint, and JoostVisser. Domain-specific languages: An annotated bibliography. SIGPLAN Notices - ACM Press, 35(6):2636,

59 Escopo de um domínio Linguagens de modelagem de propósito geral GPL General Purpose Language Sistemas embarcados Diesel Sistemas automotivos Controladores de motor Gas Linguagens específicas de domínio DSL Domain-Specific Language Sistemas web Aplicações ebusiness E-Commerce E-Banking 59

60 Linguagens específicas de domínio Eficiência Produtividade Dificuldade na implementação Mais genérica (GPL) Especificidade a um domínio Mais específica (DSL) Aplicabilidade (nro. de cenários) Facilidade de utilização (ferramentas prontas) 60

61 Linguagens específicas de domínio Eficiência Produtividade Tecnologia de DSL MDA Ferramentas atuais Dificuldade na implementação Mais genérica (GPL) Especificidade a um domínio Mais específica (DSL) Aplicabilidade (nro. de cenários) Facilidade de utilização (ferramentas prontas) 61

62 Fim da parte 3 Perguntas? Sugestões: Qual linguagem de metamodelagem é melhor? Ecore, MOF ou MetaGME? É possível criar modelos visuais fora do padrão blocos e setas? É possível combinar modelos visuais e textuais? Quanto está custando o kg da picanha bovina? Sério! Vai ter coffe break?? Estamos sozinhos no universo? Todas soluções de valor zero matematicamente interessantes da função zeta de Riemann possuem forma a + bi? Os matemáticos conseguirão libertar os poderes das equações de Navier-Stokes? 62

1/23/2009. Quais as forças que atuam sobre a asa de uma nova aeronave sendo projetada? Onde fica a rua do porto?

1/23/2009. Quais as forças que atuam sobre a asa de uma nova aeronave sendo projetada? Onde fica a rua do porto? Onde fica a rua do porto? Siga reto nessa rua mesmo, depois vire à direita no semáforo. Passe um posto de gasolina, é a terceira rua! www.oliverdominguez.com Quais as forças que atuam sobre a asa de uma

Leia mais

1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M

1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M Abstrações do mundo real Sistema e seu ambiente Com um propósito específico Simulação, geração de código No MDD Quem lê e entende o modelo é o computador Uma vez que o computador entenda o modelo... O

Leia mais

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores Motivação Prof. Sérgio Faustino Compiladores Conhecimento das estruturas e algoritmos usados na implementação de linguagens: noções importantes sobre uso de memória, eficiência, etc. Aplicabilidade freqüente

Leia mais

Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas. Prof. Valdemar Neto INF-UFG

Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas. Prof. Valdemar Neto INF-UFG Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas Prof. Valdemar Neto INF-UFG Agenda Introdução Conceitos Ferramentas Aplicações Perspectivas Engenharia de Software Convencional

Leia mais

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste 6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam

Leia mais

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( ) ELEMENTOS BÁSICOS DA LINGUAGEM JAVA Patricia Della Méa Plentz INE-CTC-UFSC E-Mail: plentz@inf.ufsc.br URL: http://moodle.ufsc.br INE5605-Turma 0238B Sumário 2.1 Classes e Objetos na POO 2.2 2 Revisão da

Leia mais

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Definindo DSLs Linguagem específica de domínio: uma linguagem de programação de computadores de expressividade

Leia mais

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

Model Driven Development (MDD)

Model Driven Development (MDD) Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software

Leia mais

UML. Adriano J. Holanda 21/3/

UML. Adriano J. Holanda 21/3/ UML Adriano J. Holanda 21/3/2016 UML Introdução UML - Unified Modeling Language Linguagem Unificada de Modelagem. Adquiriu maturidade na segunda década de 1990 pela fusão dos métodos e diagramas de Grady

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados

Leia mais

Paradigmas de Linguagem de Programação. Aspectos Básicos

Paradigmas de Linguagem de Programação. Aspectos Básicos Paradigmas de Linguagem de Programação Aspectos Básicos Introdução Nesta segunda etapa de nossos estudos, veremos: aspectos básicos de programa e linguagem de programação; revisão de conceitos de compilador

Leia mais

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs 1 Introdução Os sistemas multiagentes (SMAs) estão tendo cada vez mais aceitação no setor da engenharia de software e no meio acadêmico como um paradigma para o desenvolvimento e a criação de sistemas

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

CP Compiladores I Prof. Msc.. Carlos de Salles

CP Compiladores I Prof. Msc.. Carlos de Salles CP 5017.9 Prof. Msc.. Carlos de Salles 1 - EMENTA O Processo de Compilação. Deteção e Recuperação de Erros. Introdução à geração de Código Intermediário. Geração de Código de Máquina. Otimização. Uma visão

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

3 Tecnologias Relacionadas

3 Tecnologias Relacionadas Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais

Leia mais

Como Modelar com UML 2

Como Modelar com UML 2 Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

V.2 Especificação Sintática de Linguagens de Programação

V.2 Especificação Sintática de Linguagens de Programação V.2 Especificação Sintática de Linguagens de Programação Deve ser baseada: No planejamento da Linguagem / Compilador Objetivos, Filosofia, Potencialidades,... Nos critérios de projeto/avaliação Legibilidade,

Leia mais

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML

Leia mais

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL 0 UNIDADE V: MAPEAMENTO OBJETO RELACIONAL Paradigma da Orientação a Objetos: Este paradigma parte do princípio que existem diversos

Leia mais

XML - Extensible Markup Language

XML - Extensible Markup Language Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso

Leia mais

CAP. VI ANÁLISE SEMÂNTICA

CAP. VI ANÁLISE SEMÂNTICA CAP. VI ANÁLISE SEMÂNTICA VI.1 Introdução Semântica SIGNIFICADO, SENTIDO LÓGICO, COERÊNCIA,... Diferença entre SINTAXE e SEMÂNTICA Sintaxe : descreve as estruturas de uma linguagem; Semântica : descreve

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Introdução Diretoria Acadêmica de Gestão e Tecnologia da Informação Introdução Os sistemas computacionais adquiriram extrema importância para as organizações públicas

Leia mais

Linguagens de Programação

Linguagens de Programação O estudante estuda muito. Regras: 7 9 12 14. . Regras: 2 4 . Regras: 1 Representar através de uma árvore de derivação. 77 O estudante estuda muito.

Leia mais

Autômatos e Linguagens

Autômatos e Linguagens Autômatos e Linguagens Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Agosto, 2016 1 / 41 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores

Leia mais

1 Introdução e Conceitos básicos

1 Introdução e Conceitos básicos 1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2

Leia mais

4 ALBATROZ : Um ambiente para desenvolvimento de SMA

4 ALBATROZ : Um ambiente para desenvolvimento de SMA 41 4 ALBATROZ : Um ambiente para desenvolvimento de SMA Resumo Neste capítulo será apresentado o processo de desenvolvimento do ambiente Albatroz. Cada ferramenta é detalhada indicando suas funcionalidades.

Leia mais

Compiladores Análise Semântica

Compiladores Análise Semântica Compiladores Análise Semântica Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Árvores Sintáticas Abstratas (ASTs) A árvore de análise sintática tem muita informação redundante Separadores,

Leia mais

Compiladores I Prof. Ricardo Santos (cap 1)

Compiladores I Prof. Ricardo Santos (cap 1) Compiladores I Prof. Ricardo Santos (cap 1) Compiladores Linguagens de programação são notações que permitem descrever como programas devem executar em uma máquina Mas, antes do programa executar, deve

Leia mais

Model-Driven Architecture

Model-Driven Architecture Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Model-Driven Architecture Guilherme Potenciano Ricardo Cacheta Waldemarin SSC5944 - Arquitetura de Software (...) it might be

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

Unidade: Introdução à POO (Programação Orientada a Objetos)

Unidade: Introdução à POO (Programação Orientada a Objetos) Unidade: Introdução à POO (Programação Orientada a Objetos) 0 Unidade: Introdução à POO (Programação Orientada a Objetos) Paradigmas de Programação Um paradigma de programação fornece (e determina) a visão

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

Compiladores 02 Analise léxica

Compiladores 02 Analise léxica Compiladores 02 Analise léxica Sumário Análise Léxica Definição: Lexema, tokens Tabela símbolos Expressões regulares, automatos Relembrando O compilador é dividido em duas etapas Análise Síntese Análise

Leia mais

Visão Geral... e conceitos básicos

Visão Geral... e conceitos básicos Visão Geral.. e conceitos básicos 1 Curso de... Programação O que se estuda aqui? Algoritmos 2 E o que são algoritmos? Sequência finita e não ambígua de passos para a solução de um problema. Lembre- se

Leia mais

UML Unified Modeling Language Linguagem de Modelagem Unificada

UML Unified Modeling Language Linguagem de Modelagem Unificada UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: porto@gilbertoporto.com.br A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Leia mais

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais.

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais. Apresentação Universidade dos Açores Departamento de Matemática www.uac.pt/~hguerra/!! Aquisição de conceitos sobre a definição de linguagens de programação.!! Familiarização com os métodos de construção

Leia mais

Técnicas para Reutilização de Software

Técnicas para Reutilização de Software DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de

Leia mais

Hierarquia de Chomsky e sua relação com os autômatos

Hierarquia de Chomsky e sua relação com os autômatos Hierarquia de Chomsky: Linguagens Regulares, Livres de Contexto, Sensíveis ao Contexto e Irrestritas seus Reconhecedores, e Geradores Autômatos são essenciais para o estudo dos limites da computação. Existem

Leia mais

DESENVOLVIMENTO DO COMPILADOR PARA A LINGUAGEM SIMPLE

DESENVOLVIMENTO DO COMPILADOR PARA A LINGUAGEM SIMPLE DESENVOLVIMENTO DO COMPILADOR PARA A LINGUAGEM SIMPLE Jeferson MENEGAZZO 1, Fernando SCHULZ 2, Munyque MITTELMANN 3, Fábio ALEXANDRINI 4. 1 Aluno 5ª fase do Curso de Ciência da Computação do Instituto

Leia mais

Projeto de Compiladores

Projeto de Compiladores Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira 26 e 27 de fevereiro de 2007 Agenda da Aula Revisão Linguagem de Programação Tradutores Compilador As Fases de Um Compilador Linguagem

Leia mais

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 32. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 32. Instituto de C ompiladores Introdução Bruno Lopes Bruno Lopes ompiladores 1 / 32 Apresentação Em que período estão? O quanto sabem de programação? Quais linguagens? O quanto sabem de unix? O quanto sabem de Linguagens

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos

Leia mais

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise

Leia mais

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl UNIVERSIDADE REGIONAL DE BLUMENAU Introdução Objetivos Especificação Estruturada Especificação Orientada a Objetos Estratégia de Mapeamento

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 03 Processo de Compilação Edirlei Soares de Lima Métodos de Implementação Arquitetura de Von Neumann: A linguagem de máquina de um computador

Leia mais

Linguagens de Programação Classificação

Linguagens de Programação Classificação Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda

Leia mais

FIC-POO. Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação. Prof. Dr. Bruno Moreno

FIC-POO. Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação. Prof. Dr. Bruno Moreno FIC-POO Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Apresentação Professor Bruno Neiva Moreno E-mail institucional: bruno.moreno@ifrn.edu.br

Leia mais

XML. Prof. Júlio Machado

XML. Prof. Júlio Machado XML Prof. Júlio Machado julio.machado@pucrs.br INTRODUÇÃO O que é XML? É a sigla de Extensible Markup Language Linguagem de especificação para descrever dados Padrão aberto e largamente usado Definido

Leia mais

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Model Driven Architecture. Centro de Informática/UFPE Fernando Trinta

Model Driven Architecture. Centro de Informática/UFPE Fernando Trinta Model Driven Architecture Centro de Informática/UFPE Fernando Trinta Roteiro Contexto Introdução Conceitos MDA Platform Independent Model Platform Specific Model Transformations Consequências Promessas

Leia mais

DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE

DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE Relatório parcial PIBIC Bolsista: Eduardo Rohde Eras e-mail: eduardorohdeeras@gmail.com Responsável: Prof. Dr. Nandamudi L. Vijaykumar e-mail: vijay@lac.inpe.br

Leia mais

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONSTRUÇÃO DE COMPILADORES CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2017/02 PROFESSOR: EDUARDO FERREIRA DOS SANTOS

Leia mais

INE5421 LINGUAGENS FORMAIS E COMPILADORES

INE5421 LINGUAGENS FORMAIS E COMPILADORES INE5421 LINGUAGENS FORMAIS E COMPILADORES PLANO DE ENSINO Objetivo geral Conhecer a teoria das linguagens formais visando sua aplicação na especificação de linguagens de programação e na construção de

Leia mais

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONSTRUÇÃO DE COMPILADORES CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2016/02 PROFESSOR: EDUARDO FERREIRA DOS SANTOS

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Paradigma de orientação a Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Contextualização Paradigma de orientação a Contextualização A construção

Leia mais

Capítulo 5 Modelação do Sistema 1

Capítulo 5 Modelação do Sistema 1 Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos

Leia mais

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior. LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica

Leia mais

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução

Leia mais

Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação

Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação Análise Semântica Disciplina: Compiladores Equipe: Luiz Carlos dos Anjos Filho José Ferreira Júnior Compiladores Um compilador

Leia mais

Compiladores. Fabio Mascarenhas

Compiladores. Fabio Mascarenhas Compiladores Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/comp Introdução Compiladores x Interpretadores Offline x Online Um compilador transforma um programa executável de uma linguagem fonte

Leia mais

Formas de Gerência de Dados XML

Formas de Gerência de Dados XML Bancos de Dados XML Formas de Gerência de Dados XML SGBDRs estendidos com suporte à XML adequados a dados XML fortemente estruturados ( documentos orientados a registros ) beira-mar104apto

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Compiladores. Conceitos Básicos

Compiladores. Conceitos Básicos Compiladores Conceitos Básicos Processadores de Linguagem De forma simples, um compilador é um programa que recebe como entrada um programa em uma linguagem de programação a linguagem fonte e o traduz

Leia mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DComp 2017 Modelagem de Dados UML 2 1 Eduardo Bezerra Editora Campus/Elsevier Porcentagem de projetos que terminam dentro do

Leia mais

Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015

Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015 Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015 1 Introdução Motivação; MDE; Programas Adaptativos. SBMM; Metamodelo para Programas Adaptativos; Ferramenta CASE para Programas Adaptativos;

Leia mais

Análise de Sistemas. Aula 5

Análise de Sistemas. Aula 5 Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles

Leia mais

Sérgio Koch Van-Dall

Sérgio Koch Van-Dall PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO WEB SERVICES Sérgio Koch Van-Dall sergiod@inf.furb.br Orientador: Prof. Paulo Fernando da Silva UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIAS

Leia mais

Projeto de Linguagem. Linguagens de Programação

Projeto de Linguagem. Linguagens de Programação Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem

Leia mais

Ferramenta para criaçã. ção o e execuçã

Ferramenta para criaçã. ção o e execuçã Ferramenta para criaçã o e execuçã o visual de algoritmos em grafos Susan Braun Paulo César Rodacki Gomes Orientador Roteiro da apresentaçã Introdu Objetivos do trabalho Fundamenta teórica Principais conceitos

Leia mais

Especificações Gerais do Compilador e Definição de FRANKIE

Especificações Gerais do Compilador e Definição de FRANKIE Especificações Gerais do Compilador e Definição de FRANKIE 1. Especificações Gerais do Compilador (Decisões de projeto) 2. Especificações da Linguagem Fonte Definição Informal Considerações Léxicas Considerações

Leia mais

Aula 1.7 Introdução a APOO e UML

Aula 1.7 Introdução a APOO e UML APOO Aula 1.7 Introdução a APOO e UML Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Possuir um lápis e uma régua não te tornam um arquiteto 2 Você pode conhecer toda a API Java, C++ ou qualquer LPOO. 3 Mas

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas Arquitetura de Computadores, Arquitetura de Computadores Organização de Computadores, Conjunto de Instruções, Sistemas Operacionais, Sistemas Operacionais, Sistemas Mecanismos de Interrupção e de Exceção,

Leia mais

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Compiladores - JACC. Fabio Mascarenhas

Compiladores - JACC. Fabio Mascarenhas Compiladores - JACC Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp JACC Gerador de analisadores sintáticos LALR que gera código Java Sintaxe baseada na sintaxe do YACC (e de muitos outros

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

Introdução a UML (Unified Modeling Language)

Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário

Leia mais

Linguagens de Programação Aula 3

Linguagens de Programação Aula 3 Aula 3 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada... Classificação das LPs (nível, geração e paradigma) Paradigmas Imperativo, OO, funcional, lógico e concorrente 2/33 Na aula de hoje...

Leia mais

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga

Leia mais

Princípios de Análise e Projeto Orientados a Objetos com UML

Princípios de Análise e Projeto Orientados a Objetos com UML Princípios de Análise e Projeto Orientados a Objetos com UML Eduardo Bezerra Editora CAMPUS Copyright 2002, 2003 Eduardo Bezerra 1 Capítulo 1 Visão Geral Um modelo é uma simplificação da realidade que

Leia mais

As fases de um compilador

As fases de um compilador As fases de um compilador Compilando um programa simples estrutura de um compilador formas de organização de um compilador processo de execução de uma linguagem de alto-nível Compilando um programa simples

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) g BREVE HISTÓRICO g CARACTERÍSTICAS g CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS g MODELAGEM DE ANÁLISE E DE PROJETO 1 I. BREVE HISTÓRICO Em fins dos anos

Leia mais

5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos

5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos 5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos Este capítulo apresenta a ferramenta desenvolvida para apoiar a aplicação, em diagramas de classes, de mecanismos de análise da qualidade

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown Conclusões Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown QUESTÕES FUNDAMENTAIS 1. Correção do código gerado 2. Desempenho do compilador: a. Notificação de erros; b.

Leia mais