Aula 08 Ferramentas de desenvolvimento. Alessandro Garcia Alexander Chávez Eduardo Fernandes Leonardo Sousa LES/DI/PUC-Rio Setembro 2017

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

Download "Aula 08 Ferramentas de desenvolvimento. Alessandro Garcia Alexander Chávez Eduardo Fernandes Leonardo Sousa LES/DI/PUC-Rio Setembro 2017"

Transcrição

1 Aula 08 Ferramentas de desenvolvimento Alessandro Garcia Alexander Chávez Eduardo Fernandes Leonardo Sousa LES/DI/PUC-Rio Setembro 2017

2 Especificação Objetivo dessa aula Apresentar algumas das ferramentas utilizadas ao desenvolver programas modulares. Referências complementares: Ierusalimschy, R.; Programming in Lua; Rio de Janeiro: Lua.org; Staa, A.v.; Utilitário GMAKE: Gerador de diretivas MAKE; LES - Laboratório de Engenharia de Software, Departamento de Informática, PUC-Rio; / 40

3 Especificação Ambientes de engenharia de software. Atividades do desenvolvimento modular. A ferramenta MAKE. A ferramenta GMAKE. Ferramentas feitas em casa. 3 / 40

4 Ambientes de engenharia de software Processos de desenvolvimento documentos descrevendo, passo a passo, o que e quando deve ser realizado Procedimentos (métodos) documentos descrevendo como devem ser realizadas as atividades do processo Padrões conjuntos de regras, recomendações e diretrizes a serem obedecidas ao desenvolver determinada classe de artefatos Técnicas formas de apresentar ou habilidades de fazer algo 4 / 40

5 Ambientes de engenharia de software Plataformas de desenvolvimento hardware rede sistema operacional software de suporte... Repositórios arquivos organizados contendo todas as informações relativas aos sistemas objetivo Ferramentas software de apoio ao desenvolvimento CASE Computer aided software engineering 5 / 40

6 Ambientes de engenharia de software Papéis descrições das funções a serem desempenhadas por pessoas. Pessoas com proficiência - experiência professional - formação - know how - habilitação 6 / 40

7 Atividades do desenvolvimento modular 7 / 40

8 Ferramentas básicas Editor de texto editor convencional editor sensível à sintaxe Editor de linguagens de representação gráficas editor de diagramas Processador de linguagem compilador de programas, pode gerar: - linguagem nativa - byte code Interpretador puro, ex. batch; byte code 8 / 40

9 Processo de compilação simples 9 / 30

10 Ferramentas básicas Bibliotecas e frameworks Framework de apoio aos testes Compositor de bibliotecas (LIB) compõe uma biblioteca de módulos objeto Ligador (LINK) MAKE controla a reconstrução de artefatos compostos Depurador (debugger) executa um programas compilado de modo que se possa controlar, visualizar e modificar o progresso da execução Backup 10 / 40

11 Make Problema tenho 1000 módulos, altero o módulo m512 o que fazer para reconstruir o programa? Recompilar tudo é muito caro desnecessário: grande parte dos componentes não varia de uma compilação para outra 11 / 40

12 Make Problema tenho 1000 módulos, altero o módulo m512.c o que fazer para reconstruir o programa? - recompilar m512 - ligar tudo tenho 1000 módulos, altero o módulo m512.h o que fazer para reconstruir o programa? - procurar todos os clientes de m512 e recompilá-los - recompilar m512 - ligar tudo Risco: não recompilar todos que deveriam ser recompilados Risco: recompilar vários que não deveriam ser recompilados Custo: trabalho para descobrir quem deve ser recompilado Que tal desenvolver uma ferramenta? 12 / 40

13 Make 13 / 40

14 Make 14 / 40

15 Exemplo de um arquivo make 1 / 3 15 / 30

16 Exemplo de um arquivo make 2 / 3 16 / 30

17 Exemplo de um arquivo make 3 / 3 17 / 30

18 Processo de compilação simples 18 / 30

19 Exemplo de um arquivo make:.build Diretivas.build são utilizadas pelo linker Exemplo 19 / 40

20 GMAKE - Gerador de script de make Redigir um script de make tende a ser enfadonho e sujeito a erros Solução: desenvolver uma ferramenta que gere o script make a partir de: - um script de composição (específico para um construto) um script de plataforma de desenvolvimento (genérico para todos os construtos de um projeto) 20 / 40

21 GMAKE exemplo de composição 21 / 40

22 GMAKE exemplo de composição [Diretorios]: Seção obrigatória e necessariamente a primeira seção do arquivo <ArqConst>. Define o nome do construto e a estrutura padrão de diretórios. [Modulos]: Seção obrigatória. Contém a lista de arquivos origem (em geral arquivos contendo módulos de implementação), a partir dos quais deve ser gerado o construto. [BuildInicio]: Seção opcional. As diretivas desta seção contém as linhas do script que devem anteceder a lista de módulos componentes do artefato a ser composto pelo LINK ou LIB. Estas diretivas serão gravadas no arquivo <construto>.build. Estas diretivas informam tipicamente os parâmetros de composição a serem utilizados pelo LINK ou LIB. 22 / 40

23 Exemplo de script make gerado 23 / 40

24 Exemplo de script make gerado 24 / 40

25 Exemplo de script make gerado 25 / 40

26 Exemplo de script make gerado 26 / 40

27 Exemplo de script make gerado 27 / 40

28 Ferramentas feitas em casa :.bat O que é um arquivo Batch (.bat)? 28 / 40

29 Ferramentas feitas em casa :.bat Exemplo de batch file 29 / 40

30 Novo projeto Visual Studio 2008 ou 2010 Editor Criar Projeto > Aplicação de Console Win32 Importar Arquivos ArcabouçoTeste.lib CESPDIN.H CONTA.H GENERICO.H LERPARM.H TST_ESPC.H MODULO -.H,.C e TST.C Build da Aplicação \debug\.exe GMake Compilação via prompt 30 / 40

31 Aula 08 Ferramentas de desenvolvimento Alessandro Garcia Alexander Chávez Eduardo Fernandes Leonardo Sousa LES/DI/PUC-Rio Setembro 2017

Aula 07 Teste Automatizado Parte II

Aula 07 Teste Automatizado Parte II Aula 07 Teste Automatizado Parte II Prof. Alessandro Garcia Eduardo Fernandes (assistente) LES/DI/PUC-Rio Março 2018 Especificação Objetivo dessa aula Apresentar como sistematicamente instalar e utilizar

Leia mais

Aula 05 Ferramentas de desenvolvimento

Aula 05 Ferramentas de desenvolvimento Aula 05 Ferramentas de desenvolvimento Francisco Dantas e Alessandro Garcia LES/DI/PUC-Rio Agosto 2010 Especificação Objetivo dessa aula Apresentar algumas das ferramentas utilizadas ao desenvolver programas

Leia mais

Arcabouço de Apoio ao Teste Automatizado para Programas Redigidos em C Leia.me

Arcabouço de Apoio ao Teste Automatizado para Programas Redigidos em C Leia.me Arcabouço de Apoio ao Teste Automatizado para Programas Redigidos em C Leia.me Arndt von Staa Março 2006 Apresentação Este texto descreve, resumidamente, o conteúdo do arquivo ArcaboucoTeste-2-00.zip que

Leia mais

Aula 02 Conceitos e Princípios de Modularidade 1

Aula 02 Conceitos e Princípios de Modularidade 1 Aula 02 Conceitos e Princípios de Modularidade 1 Alessandro Garcia LES/DI/PUC-Rio Agosto 2016 Lembretes Horário das aulas inicio cada aula a partir de 13:15 Sítio (site) da disciplina: www.inf.puc-rio.br/~inf1301

Leia mais

Aula 05 Instalação e Uso do Arcabouço. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016

Aula 05 Instalação e Uso do Arcabouço. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016 Aula 05 Instalação e Uso do Arcabouço Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016 Sumário Teste automatizado Instalação do arcabouço. Estrutura de diretórios do arcabouço. Como utilizar

Leia mais

16. Compilação no Linux

16. Compilação no Linux 16. Compilação no Linux 16.1 Compilador X Interpretador Um código fonte pode ser compilado ou interpretado. Compiladores e interpretadores tratam o código de maneira diferente. Interpretador: Lê o código

Leia mais

Aula 06 Introdução a Teste Automatizado. Alessandro Garcia LES/DI/PUC-Rio Março 2013

Aula 06 Introdução a Teste Automatizado. Alessandro Garcia LES/DI/PUC-Rio Março 2013 Aula 06 Introdução a Teste Automatizado Alessandro Garcia LES/DI/PUC-Rio Março 2013 Especificação Objetivo dessa aula Apresentar os uma técnica para a criação testes automatizados e mostrar como desenvolver

Leia mais

Aula 04 Introdução a Teste Automatizado. Alessandro Garcia LES/DI/PUC-Rio Setembro 2013

Aula 04 Introdução a Teste Automatizado. Alessandro Garcia LES/DI/PUC-Rio Setembro 2013 Aula 04 Introdução a Teste Automatizado Alessandro Garcia LES/DI/PUC-Rio Setembro 2013 Especificação Objetivo dessa aula Apresentar os uma técnica para a criação testes automatizados e mostrar como desenvolver

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

Aula 02 Conceitos e Princípios de Modularidade 1

Aula 02 Conceitos e Princípios de Modularidade 1 Aula 02 Conceitos e Princípios de Modularidade 1 Alessandro Garcia LES/DI/PUC-Rio Março 2017 Lembretes Horário das aulas vamos ter que começar as 13:00 Definição de horário de monitoria Sítio (site) da

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação

Leia mais

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Ferramentas Programação. UDESC - Prof. Juliano Maia 1 Ferramentas Programação UDESC - Prof. Juliano Maia 1 Índice Seção 1 Linguagens de Programação Seção 2 Interpretador Seção 3 Compilador / Linkeditor Seção 4 Ambientes de Desenvolvimento UDESC - Prof. Juliano

Leia mais

1.1 Linguagens de Programação

1.1 Linguagens de Programação Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode

Leia mais

Ciclo de vida: fases x atividades

Ciclo de vida: fases x atividades Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação

Leia mais

Aula 13 Modelagem da Arquitetura

Aula 13 Modelagem da Arquitetura Aula 13 Modelagem da Arquitetura Alessandro Garcia LES/DI/PUC-Rio Setembro 2017 Especificação Objetivos dessa aula Notação de modelagem da arquitetura Realizar exercício: definição da arquitetura do programa

Leia mais

Aula 11 Modelagem da Arquitetura. Alessandro Garcia LES/DI/PUC-Rio Abril 2016

Aula 11 Modelagem da Arquitetura. Alessandro Garcia LES/DI/PUC-Rio Abril 2016 Aula 11 Modelagem da Arquitetura Alessandro Garcia LES/DI/PUC-Rio Abril 2016 Especificação Objetivos dessa aula Revisar notação de modelagem da arquitetura Realizar exercício: definição da arquitetura

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

Aula 10 Arquitetura de Software e Exercício. Alessandro Garcia LES/DI/PUC-Rio Abril de 2017

Aula 10 Arquitetura de Software e Exercício. Alessandro Garcia LES/DI/PUC-Rio Abril de 2017 Aula 10 Arquitetura de Software e Exercício Alessandro Garcia Abril de 2017 Não Esquecer... Preencher tabela de atividades ao longo do processo. NÃO DEIXE PARA ÚLTIMA HORA, POIS VOCÊ NÃO SE LEMBRARÁ DO

Leia mais

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS Acadêmico: Roger Anderson Schmidt Orientador : Marcel Hugo Supervisor : Ricardo de Freitas Becker Empresa

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

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

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

Programação Modular: Prova, Trabalho e Considerações Finais

Programação Modular: Prova, Trabalho e Considerações Finais Programação Modular: Prova, Trabalho e Considerações Finais Alessandro Garcia LES/DI/PUC-Rio Junho 2016 Prova 22/06 Toda matéria Em particular, material após P1 Dicas: Revisem os exercícios dados em sala

Leia mais

Programação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários

Programação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários Nesta aula... 1 2 Introdução à - minor Ciência de computadores: incluí tópicos de matemática (linguagens formais para especificar ideias) engenharia (projetar, juntar componentes para formar um sistema,

Leia mais

EA876 - Introdução a Software de Sistema

EA876 - Introdução a Software de Sistema A876 - Introdução a Software de Sistema Software de Sistema: conjunto de programas utilizados para tornar o hardware transparente para o desenvolvedor ou usuário. Preenche um gap de abstração. algoritmos

Leia mais

Gerando um programa executável a partir de um módulo Python

Gerando um programa executável a partir de um módulo Python Gerando um programa executável a partir de um módulo Python Wendel Melo (Departamento de Ciência da Computação UFRJ), Notas de aula de Computação II 15/03/2012 A linguagem de programação Python segue o

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação Programação Tradução de um algoritmo para uma linguagem de programação Cada linguagem de programação possui sua sintaxe

Leia mais

Aula 12. Implementação da Programação Modular

Aula 12. Implementação da Programação Modular Aula 12 Implementação da Programação Modular Prof. Alessandro Garcia Eduardo Fernandes (assistente) LES/DI/PUC-Rio Abril 2018 Especificação Objetivo dessa aula Visão geral sobre compilação de programas

Leia mais

COMPILAÇÃO. Ricardo José Cabeça de Souza

COMPILAÇÃO. Ricardo José Cabeça de Souza COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo

Leia mais

Aula 5 Introdução à Teste de Módulos. Alessandro Garcia LES/DI/PUC-Rio Agosto 2017

Aula 5 Introdução à Teste de Módulos. Alessandro Garcia LES/DI/PUC-Rio Agosto 2017 Aula 5 Introdução à Teste de Módulos Alessandro Garcia LES/DI/PUC-Rio Agosto 2017 Avisos Monitoria, horário: Sextas, 11:00 às 13:00 9º. Andar do Prédio Pe. Leonel Franca Próxima aula: exercício (T1) Alessandro

Leia mais

Apêndice 1. Recomendações para testes de módulos

Apêndice 1. Recomendações para testes de módulos Recomendações para testes de módulos - 1 Apêndice 1. Recomendações para testes de módulos O presente conjunto de recomendações tem por objetivo definir um conjunto mínimo de critérios de seleção de casos

Leia mais

Paradigmas de Software

Paradigmas de Software Paradigmas de Software Objetivos Introdução aos paradigmas de software. Descrição de modelos genéricos e sua aplicabilidade. Descrição dos processos de requisitos, desenvolvimento, teste e evolução. Modelo

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

Aula 13 Implementação da Programação Modular

Aula 13 Implementação da Programação Modular Aula 13 Implementação da Programação Modular Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Outubro 2016 Especificação Objetivo dessa aula Visão geral sobre compilação de programas modulares Estudar

Leia mais

Microsoft Visual Studio Community 2013

Microsoft Visual Studio Community 2013 Microsoft Visual Studio Community 2013 Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação

Leia mais

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha

Leia mais

INF1301 Programação Modular Período: Profs. Alessandro Garcia

INF1301 Programação Modular Período: Profs. Alessandro Garcia INF1301 Programação Modular Período: 2017-2 Profs. Alessandro Garcia 4o. Trabalho Data de divulgação: Data de entrega: 3 de novembro (sexta-feira) até 7 de dezembro (quinta-feira) 1. Descrição do quarto

Leia mais

Apresentação da plataforma.net. Ambientes Virtuais de Execução. Semestre de Verão, 12/13

Apresentação da plataforma.net. Ambientes Virtuais de Execução. Semestre de Verão, 12/13 Apresentação da plataforma.net Ambientes Virtuais de Execução Semestre de Verão, 12/13 Desenvolvimento baseado em componentes Desenvolvimento modular funcionalidades genéricas implementadas em componentes

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

Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação

Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação Para executar uma tarefa qualquer, um computador precisa receber instruções precisas sobre o que fazer. Uma seqüência adequada

Leia mais

Aula 10 Especificação de Requisitos

Aula 10 Especificação de Requisitos Aula 10 Especificação de Requisitos Alessandro Garcia LES/DI/PUC-Rio Setembro 2016 Especificação Objetivos dessa aula Apresentar a importância e o que são especificações de requisitos, bem como conceitos

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

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

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

Conceitos Básicos de Programação

Conceitos Básicos de Programação BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 É o processo de tradução

Leia mais

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação Linguagem de Programação II Programação Orientada a Objetos Ambientes de Programação Prof. Alessandro Borges 2 Tópicos Prompt de comando JDK IDE NetBeans Eclipse Jbuilder Visual Café Visual J++ NetBeans

Leia mais

Programação 2017/2018 2º Semestre

Programação 2017/2018 2º Semestre Mestrado em Engenharia Electrotécnica e de Computadores Programação 2017/2018 2º Semestre Aula de Problemas 1 Os alunos deverão executar os passos aqui descritos no seu computador pessoal ou no laboratório.

Leia mais

Programação Estruturada Aula - Introdução a Linguagem C

Programação Estruturada Aula - Introdução a Linguagem C Programação Estruturada Aula - Introdução a Linguagem C Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 HISTÓRICO DA LINGUAGEM C HISTÓRICO DA LINGUAGEM C Como tudo iniciou... C iniciou

Leia mais

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,

Leia mais

Professor Leo Larback Esta apresentação pode ser baixada livremente no site

Professor Leo Larback Esta apresentação pode ser baixada livremente no site C# Professor Leo Larback Esta apresentação pode ser baixada livremente no site www.larback.com.br C# - Definições C# é uma linguagem orientada a objeto que permite aos desenvolvedores construírem uma variedade

Leia mais

Linguagens de Programação Sistemas de Linguagens

Linguagens de Programação Sistemas de Linguagens Linguagens de Programação Sistemas de Linguagens Andrei Rimsa Álvares Sumário Introdução A sequência clássica Sobre o;mizações Variações da sequência clássica Depuradores (Debuggers) Suporte em tempo de

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE MATEMÁTICA profericomartins@unemat.br

Leia mais

Aula 9 Especificação de Requisitos Exercício

Aula 9 Especificação de Requisitos Exercício Aula 9 Especificação de Requisitos Exercício Alessandro Garcia LES/DI/PUC-Rio Abril 2017 Exercício Faça a especificação de requisitos do programa do jogo FreeCell com base no que foi apresentado na aula

Leia mais

Web site. Profa. Patrícia Dockhorn Costa.

Web site.  Profa. Patrícia Dockhorn Costa. Estruturas de Dados Aula 1: Introdução e conceitos básicos Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Monitoria: Alexandro alexandrosouzaramos@gmail.com

Leia mais

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio FUNDAMENTOS DE ENGENHARIA DE SOFTWARE Professor: Paulo Vencio Bibliografia: Como o assunto é cobrado: Conceito de forma geral Bibliografia Específica Aplicação do Conceito Conteúdo Programático: Conceito

Leia mais

Leandro Soares de Sousa (D.Sc.) Página:

Leandro Soares de Sousa (D.Sc.)   Página: Leandro Soares de Sousa (D.Sc.) e-mail: lsousa@id.uff.br Página: http://www.ic.uff.br/~lsousa Sobre o curso Sumário Ementa Bibliografia Aulas Avaliações Plano de aula Trabalhos Fontes dos programas (onde

Leia mais

Programação de Sistemas (Sistemas de Programação) Semana 10, Aula 17

Programação de Sistemas (Sistemas de Programação) Semana 10, Aula 17 PCS3616 Programação de Sistemas (Sistemas de Programação) Semana 10, Aula 17 Linguagens e Compiladores Programação em linguagem de alto nível Escola Politécnica da Universidade de São Paulo Roteiro 1.

Leia mais

Aula 04 Princípios de Modularidade 3 e Introdução à Teste de Software Alessandro Garcia

Aula 04 Princípios de Modularidade 3 e Introdução à Teste de Software Alessandro Garcia Aula 04 Princípios de Modularidade 3 e Introdução à Teste de Software Alessandro Garcia LES/DI/PUC-Rio Março 2017 Avisos O horário de monitoria será no seguinte horário: 6ª. Feira, 13:00 15:00 (15 alunos

Leia mais

Introdução à Computação

Introdução à Computação UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Histórico da Computação Prof. Yandre

Leia mais

Introdução à Computação

Introdução à Computação UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Histórico da Computação Prof. Yandre

Leia mais

Introdução à Engenharia ENG1000

Introdução à Engenharia ENG1000 Introdução à Engenharia ENG1000 Apresentação 2016.1 Prof. Augusto Baffa Introdução à Engenharia Fundamentos do Projeto + Design de Jogos + Programação de Jogos Objetivos da Disciplina

Leia mais

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Compiladores e Interpretadores Compiladores

Leia mais

Fundamentos de Informática Introdução aos Conceitos Básicos

Fundamentos de Informática Introdução aos Conceitos Básicos Fundamentos de Informática Introdução aos Conceitos Básicos Professor: Luiz A. P. Neves neves@ufpr.br e lapneves@gmail.com 1 Roteiro Objetivos Conceitos Básicos Processamento de Dados Modalidade de Computadores

Leia mais

As fases de um compilador

As fases de um compilador As fases de um compilador Paradigmas de LP Métodos de Implementação de LP Compilando um programa simples estrutura de um compilador formas de organização de um compilador processo de execução de uma linguagem

Leia mais

Linguagens e Compiladores

Linguagens e Compiladores Linguagens e Compiladores Aula 1: a) Critérios b) Noções de Compiladores e Interpretadores c) Usos da tecnologia de compilação d) Compiladores, filtros e pré-processadores e) Estruturação lógica de compiladores

Leia mais

Imagem retirada do site:

Imagem retirada do site: DESENVOLVENDO ANDROID CONFIGURAÇÃO DO AMBIENTE DE DESENVOLVIMENTO Android SDK Software utilizado para desenvolver aplicações no Android, possui emulador para testar as aplicações, ferramentas e API completa

Leia mais

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Introdução Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível (escrito em uma linguagem de

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna BCC201 Introdução à Computação Turmas 31, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca puca@iceb.ufop.br Aula 2 Introdução:

Leia mais

Programação Modular: Exercício T4 e Considerações Finais

Programação Modular: Exercício T4 e Considerações Finais Programação Modular: Eercício T4 e Considerações Finais Alessandro Garcia LES/DI/PUC-Rio Cronograma Aula 13/6: Eercício do T3 relativo a: critérios de cobertura de teste caia-branca instrumentação para

Leia mais

Módulo 1 Conceitos Fundamentais

Módulo 1 Conceitos Fundamentais Estruturas de Dados Módulo 1 Conceitos Fundamentais 7/3/2007 (c) Marco A. Casanova - PUC-Rio 1 Preliminares Referência básica: Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Aula 20 Testes 3 Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Slides adaptados de: Staa, A.v. Notas de Aula em Programacao Modular; 2008. Teste de Caixa Branca O que

Leia mais

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO Introdução Resolução de problemas Encontrar uma maneira de descrever este problema de uma forma clara e precisa. Encontremos uma seqüência

Leia mais

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. O uso do computador Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. Exemplos: Modelos meteorológicos. Cálculo estrutural.

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais CAP 2: Conceitos de Hardware e Software Prof. MSc. Diego R. Moraes diegorm@anhanguera.com Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads

Leia mais

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006 DSP Builder - Altera MO801 - Tópicos em Arquitetura e Hardware Michele Tamberlini 05/2006 DSP Builder Roteiro Introdução Funcionalidades MegaCore MATLAB / SIMULINK SOPC Builder Bibliotecas Introdução Algoritmos

Leia mais

1/16 MAKEFILES Makefiles Programação II

1/16 MAKEFILES Makefiles Programação II 1/16 MAKEFILES Definição 2/16 Definição O makefile - é um arquivo para configuração de compilação utilizado pelo programa make, - a ideia é simplificar e agilizar a compilação de programas. Vantagens e

Leia mais

Métodos de implementação de linguagens. Kellen Pinagé

Métodos de implementação de linguagens. Kellen Pinagé Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

INFORMÁTICA: Informação automática

INFORMÁTICA: Informação automática INTRODUÇÃO INFORMÁTICA: Informação automática Definição: Principais funções: Ø Ø Ø Ø 1 COMPUTADOR: 2 Sistema de Computação 3 Objetivo: Processamento de Dados: 4 Software Software ou Programas: básicos

Leia mais

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia. Para qualquer artesão seja mecânico, carpinteiro, engenheiro de software uma boa oficina deve ter 3 características: - uma coleção de ferramentas úteis que ajudam em cada passo da construção do produto

Leia mais

Sistemas Embarcados. GNU toolchain. Introdução. Mas o compilador sozinho não adianta muito... Compilador. Aula 07

Sistemas Embarcados. GNU toolchain. Introdução. Mas o compilador sozinho não adianta muito... Compilador. Aula 07 Sistemas Embarcados Ferramentas de desenvolvimento GNU toolchain Introdução Projetistas de software empregam várias ferramentas durante o ciclo de desenvolvimento de um software E.g.: editores, compiladores,

Leia mais

Programação 2010/2011 MEEC

Programação 2010/2011 MEEC Programação 2010/2011 MEEC Code::Blocks Criação de projectos O Code::Blocks é um IDE (ambiente de desenvolvimemnto integrado) que permite a escrita do codigo, compilação, correcção de erros e depuração

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 Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e

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

Arquitetura e Organização de Computadores. Compiladores e processamento

Arquitetura e Organização de Computadores. Compiladores e processamento Arquitetura e Organização de Computadores Compiladores e processamento Verificar a existência dos pacotes: - GCC (Gnu C Compiler); - GDB (Gnu Debuger); - Libc (blibliotecas C); - nano, vi, emacs ou outro

Leia mais

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Introdução O que são estruturas

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES AULA 03 PROFº RITIELLE SOUZA DISTRIBUIÇÃO LÓGICA DISTRIBUIÇÃO LÓGICA Arquitetura de Von Neumann Uma unidade central de processamento recebe informações através de uma unidade

Leia mais

SE RPG 2.0: Uma nova versão do Software Engineering- Acadêmico: Felipe Koche Ambrosio Orientadora: Fabiane Barreto Vavassori Benitti

SE RPG 2.0: Uma nova versão do Software Engineering- Acadêmico: Felipe Koche Ambrosio Orientadora: Fabiane Barreto Vavassori Benitti SE RPG 2.0: Uma nova versão do Software Engineering- Roleplaying Game Acadêmico: Felipe Koche Ambrosio Orientadora: Fabiane Barreto Vavassori Benitti Roteiro da apresentação Introdução - Objetivos do trabalho

Leia mais

OpenWrt: modelagem do

OpenWrt: modelagem do Instituto Federal do Ceará Essas apresentação possui um acumulado de informações de mais de 9 meses de pesquisa e desenvolvimento em redes mesh utilizando o firmware Openwrt. OpenWrt: modelagem do 1 código

Leia mais

Guia para configurar o IDE Netbeans para desenvolver projectos em C/C++ com OpenMP:

Guia para configurar o IDE Netbeans para desenvolver projectos em C/C++ com OpenMP: Guia para configurar o IDE Netbeans para desenvolver projectos em C/C++ com OpenMP: Ativando C/C++ / Fortran no IDE NetBeans: Se você quiser trabalhar com C, C++ ou Fortran no IDE NetBeans, a instalação

Leia mais

Introdução à Engenharia ENG1000

Introdução à Engenharia ENG1000 Introdução à Engenharia ENG1000 Apresentação 2018.1 Prof. Augusto Baffa Introdução à Engenharia Fundamentos do Projeto + Design de Jogos + Programação de Jogos Objetivos da Disciplina

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 22 Introdução a linguagem compilada C (2) Structs Ponteiros Arrays D.E.M. Área Científica de Controlo Automação e Informática Industrial

Leia mais

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Versão 1.0.0 1 ÍNDICE Sumário INTRODUÇÃO... 3 PRINCIPAIS CARACTERÍSTICA DA ASTAH... 3 COMO BAIXAR... 4 PRINCIPAIS FUNCIONALIDADES...

Leia mais