Programação Modular. Alessandro Garcia. DI/PUC-Rio Agosto 2016

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

Download "Programação Modular. Alessandro Garcia. DI/PUC-Rio Agosto 2016"

Transcrição

1 Programação Modular Alessandro Garcia DI/PUC-Rio Agosto 2016 Programação Modular Quem sou eu? Quem são vocês? Qual é o problema abordado no curso? Qual é o objetivo do curso? Organização: aulas, avaliação - provas e trabalhos, etc... Slides adaptados de: Staa, A.v. Notas de Aula em Programacao Modular; / 18 1

2 Quem sou eu? Prof. Alessandro Garcia, Sala RDC 506 Iniciei atividades em Computação em fevereiro de 1992 Programador em Cobol e Pascal: Graduação (Pascal e C): Mestrado em C. Computação, UNICAMP, Tema: Tratamento de Exceções para Sistemas Concorrentes Uso de reflexão computacional: Guaraná extensão da MV de Java Prêmio da SBC em 2000 IBM, San Jose, EUA: arquitetura e programação do TSpaces PhD em C. Informática pela PUC-Rio, em cooperação com: University of Waterloo, Canadá, Tese: Programação Orientada a Aspectos para Sistemas Multiagentes Professor, Ciência da Computação Lancaster University, Inglaterra, 2005 Jan 2009 Sétimo ano lecionando na PUC-Rio... 3/ 18 Áreas de Atuação e Projetos Desenvolvidos Áreas de pesquisa Técnicas avançadas de programação modular Ex.: programação orientada a aspectos novos mecanismos de tratamento de exceções Manutenção de software, ex.: medição de software e detecção automática de anomalias de modularidade Alguns projetos realizados Sistema de controle de alunos e disciplinas (UEM) Mecanismo reflexivo modular de tratamento de exceções (Unicamp) TSpaces: arquitetura distribuída e tolerante à falhas de espaços de tuplas (IBM) e várias aplicações embarcadas Linha de produto para gerência de dados em dispositivos móveis (projeto com SAP/Siemens) Plataforma de desenvolvimento orientada a modelos (projeto com Marinha do Brasil)... 4/ 18 2

3 Por que mencionar tudo isso? Não se percebe a necessidade de programação modular sem experiência com projetos de média e larga escala À priori, princípios desta disciplina podem não parecer importantes Portanto: a disciplina consiste de trabalhos práticos Sem raciocínio e projeto cuidadoso não se desenvolve software de porte razoável decomposição em partes bem definidas (módulos) princípios: interfaces explícitas, separação de interesses, etc... Um dos objetivos do curso é capacitar os alunos a usarem técnicas de modularidade adequadas ao desenvolvimento de software reutilizável, manutenível e confiável teste, documentação, modelos, assertivas, tratamento de exceções, métricas inspeção, instrumentação, estratégias de cobertura de teste, etc... 5/ 18 Professores envolvidos Prof. Alessandro Garcia responsável desta turma ([email protected]) Alexander Lopes Monitoria Dúvidas de aulas e trabalhos: por Outra turma: Flavio Bevilacqua 6/ 18 3

4 Quem são vocês? Nome? Período? Curso? Ênfase? Já experiência com Programação OO? Trabalha? Estagiário? Envolvimento prévio com projetos de software? 7/ 18 O que é programação modular? Programação Modular (PM) é a base para se desenvolver programas de porte médio a muito grande a partir da garantia de qualidade de cada um dos módulos Estratégia básica: particionamento sistemático do programa em módulos (ex. agregado de funções) de tal forma a: facilitar a manutenção de software software, cada vez mais, é desenvolvido de forma incremental possibilitar o reuso de módulos já desenvolvidos possibilitar o trabalho em equipe facilitar a gerência do desenvolvimento 8/ 18 4

5 O que é programação modular? Quais são os outros elementos importantes da programação modular? necessidade de atitude visando produzir módulos isentos de defeitos exemplo: não somente casos de teste para demonstrar que funções funcionam nos casos triviais cada módulo deve ser desenvolvido com o devido cuidado seguir convenções apropriadas de programação Caso contrário: além dos princípios de modularidade... também é importante que padrões de nomes e estruturação sejam seguidos software dificilmente atingirá nível de qualidade satisfatório custo do software será mais alto 9/ 18 Pré-requisitos esperados Conhecimento da Linguagem C Estruturas de dados básicas: ex. vetores e listas árvores e grafos: não são pré-requisitos obrigatórios, mas os trabalhos podem exigir (já que a coleta de novos requisitos faz parte dos objetivos do trabalho/disciplina) vários exemplos em sala de aula são baseados nestas estruturas Saber utilizar as ferramentas de desenvolvimento P.e. Visual Studio da Microsoft janela de linha de comando 10/ 18 5

6 Problema abordado no curso Como desenvolver um programa complexo tendo certeza que de fato funcionará e será de qualidade? definir o que é esperado (especificar) organizar a solução em temos de módulos e interfaces bem definidos (arquitetura) Decompor e programar cada módulo em funções e dados (projeto detalhado e implementação) assegurar continuamente a corretude saber ler e criticar o código sendo lido inspeções testar de forma sistemática automatizar os testes 11/ 18 Os deveres do aluno Ler o documento Apresentação da Disciplina... Dedicar-se aos trabalhos práticos da disciplina não deixar para a última hora ser autodidata quando necessário coleta de requisitos (ex. novas estruturas de dados) Assinar as listas de presença Comparecer nas aulas para os ausentes: não serão tiradas dúvidas sobre conceitos básicos já explicados em sala de aula Fazer os exercícios dados em sala de aula Entender como trabalhar em equipe respeitar os companheiros mas lembre: devem trabalhar com a hipótese que desentendimentos podem ocorrer e devem ser solucionados 12/ 18 6

7 Livro texto Staa, A.v.; Programação Modular; Rio de Janeiro: Campus; 2000 não é necessário adquirir, mas obviamente ajuda Texto complementar algum livro que trate de programação usando a linguagem C 13/ 18 Convivência Pontualidade início as aulas, no máximo, às 13:15 Sua participação é importante espero que sejam feitas perguntas sempre perguntas podem ser feitas levante o braço antes de fazer sua pergunta 14/ 18 7

8 Organização Seqüência das aulas: página 7 Toda a comunicação deverá ser feita eletronicamente [email protected] Sítio (site) da disciplina: notas de aula disponíveis após as aulas avisos diversos provas são no horário de aula Software e documentos para download Dúvidas - Alessandro Garcia, Alexander Lopes: dúvidas das aulas e trabalhos por Monitoria: 9º andar do prédio Pe. Leonel Franca Horário a definir 15/ 18 Critério de aprovação 2 provas, com consulta questões teóricas, práticas e/ou relacionadas aos trabalhos P1: 24/10, segunda, 13:00 P2: 21/12, quarta, 13:00 4 trabalhos, prazos pág. 6 T1: exercícios e workshops em sala de aula T2: 19/10, distribuição: aprox. 15/09 T3: exercícios e workshops em sala de aula T4: 19/12, distribuição: aprox. 15/11 Cálculo da nota final G1 = ( P1 * 2 + T1 + T2 * 2 ) / 5 G2 = ( P2 * 2 + T3 + T4 * 2 ) / 5 GrauFinal = if ( G2 >= 3 ) then ( G1 + G2 ) / 2 else ( G1 + 3 * G2 ) / 4 fi 16/ 18 8

9 Trabalhos O aprendizado também é adquirido e demonstrado através da realização de trabalhos interdependentes O objetivo dos trabalhos não é escrever algum programa, mas, sim: desenvolver programas modulares de boa qualidade e que comprovadamente satisfaçam massas de teste previamente estabelecidas estamos pouco interessados no seu conhecimento sobre particularidades da linguagem de programação: C Não é objetivo verificar se o aluno conhece todas as sutilezas da linguagem de programação, ou dos algoritmos empregados 17/ 18 Trabalhos Os trabalhos serão feitos em grupos de 2 ou 3 alunos Serão aceitos somente programas redigidos em C Os trabalhos serão corrigidos descritos na seção Critérios de Correção de Trabalhos Os programas devem ser compiláveis utilizando o compilador MS Visual C/C Façam logo: tentem instalar o arcabouço... para aproveitarem a aula de instalação e uso - arcabouço Vide outras regras no documento... [1] O Departamento de Informática tem uma licença de uso de software da Microsoft. Veja no LabGrad como conseguir as cópias. 18/ 18 9

10 Trabalhos De maneira geral os trabalhos são bastante trabalhosos sua realização deve ser iniciada imediatamente ao receber o enunciado os enunciados deixarão margens para dúvidas pressuposições e justificativas devem ser feitas nestes casos Intenção: simular o mundo real ao desenvolver programas em empresas ambigüidades, inconsistências e incompletudes são elementos naturais em especificações de requisitos desenvolvimento incremental Recompensa: dedicação aos trabalhos se refletirá naturalmente em bom desempenho também nas provas cuidado! prova detecta elementos ausentes do trabalho em grupo 19/ 18 Trabalhos Entrega: os trabalhos devem ser entregues via . Vírus: caso a mensagem contenha vírus, a nota será 0 (zero) são utilizados diversos controladores de vírus Atrasos: será descontado 1 ponto por dia útil de atraso domingos e feriados não são dias úteis Critério: leia com atenção o folheto de critérios de avaliação dos trabalhos em anexo. 20/ 18 10

11 Perguntas? 21/ 18 Programação Modular Alessandro Garcia DI/PUC-Rio Agosto

Programação Modular. Alessandro Garcia. DI/PUC-Rio Março 2013

Programação Modular. Alessandro Garcia. DI/PUC-Rio Março 2013 Programação Modular Alessandro Garcia DI/PUC-Rio Março 2013 Programação Modular Quem sou eu? Quem são vocês? Qual é o problema abordado no curso? Qual é o objetivo do curso Organização: aulas, avaliação

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

Aula 8 Especificação de Requisitos

Aula 8 Especificação de Requisitos Aula 8 Especificação de Requisitos Alessandro Garcia Abril 2017 Recados Enunciado do trabalho prático (T2) já está disponível no sítio da disciplina: http://www.inf.puc-rio.br/~inf1301/ Enviem mensagem

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

INF1007 Programação II

INF1007 Programação II INF1007 Programação II Departamento de Informática PUC-RIO 2018/1 Turma, Horário e Professor Prof. Bruno Feijó email: [email protected] Turma Horário - Salas INF1007-33C: 13-15h salas L 546 / L 546

Leia mais

INF 1301 Programação Modular

INF 1301 Programação Modular INF 1301 Programação Modular Turmas INF1301 turma 3WA Sala: L216 Prof. Alessandro Garcia e-mail: [email protected] INF1301 turma 3WB Prof. Flavio Bevilacqua e-mail: [email protected] Página

Leia mais

INF1007 Programação II

INF1007 Programação II INF1007 Programação II Departamento de Informática PUC-RIO 2019/1 Turma, Horário e Professor Prof. Bruno Feijó email: [email protected] Turma Horário - Salas INF1007-33B: 11-13h salas L 546 / L 546

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

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Apresentação da Disciplina Edirlei Soares de Lima Programação II Turma 33L Prof. Edirlei Soares de Lima Horário das Aulas: Segunda

Leia mais

INF1007 Programação II

INF1007 Programação II INF1007 Programação II Departamento de Informática PUC-Rio Turma, Horário e Professor INF1007 Turma I Bruno Feijó [email protected] Salas e Horário 2ª. (L546 - Lab) e 4ª. (L150) 15-17h Esquema das

Leia mais

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO ESW200 Introdução à Engenharia de Software 2 36 30 - ESW201 Prática de Programação I

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG LEI Nº.9, DE 9//00, PUBLICADA NO DOU DE 0//00, SEÇÃO I, PAGS. I - Rua São Luiz Gonzaga, s/n - São Luiz - Formiga - MG - CEP: 70-000 Tel: (7)-09 - Site: www.formiga.ifmg.edu.br Matriz Curricular FGGCOMP

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

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

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento

Leia mais

Introdução à programação em C#

Introdução à programação em C# Destinatários Todos os interessados em adquirir competências básicas para programar. Nº mínimo de inscritos 6 Pré-requisitos Conhecimentos básicos de lógica de programação. Utilização avançada do computador

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG LEI Nº.9, DE 9//00, PUBLICADA NO DOU DE 0//00, SEÇÃO I, PAGS. I - Rua São Luiz Gonzaga, s/n - São Luiz - Formiga - MG - CEP: 0-000 Tel: ()-09 - Site: www.formiga.ifmg.edu.br Matriz Curricular FGGCOMP -

Leia mais

Organização para Realização de Teste de Software

Organização para Realização de Teste de Software Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: Desenvolvedores: interesse em demonstrar que o programa é isento de erros. Responsáveis pelos testes:

Leia mais

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje 1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria

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

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento

Leia mais

DOCUMENTO DE VISÃO 1. TÍTULO DO PROJETO. 2. RESPONSÁVEL PELO DOCUMENTO Ciclano

DOCUMENTO DE VISÃO 1. TÍTULO DO PROJETO. 2. RESPONSÁVEL PELO DOCUMENTO Ciclano DOCUMENTO DE VISÃO 1. TÍTULO DO PROJETO Título: SIGLA Sistema de Gestão de Capacitação Coordenador do Projeto: Fulano de Tal E-mail: [email protected] 2. RESPONSÁVEL PELO DOCUMENTO Ciclano 3. FINALIDADE

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

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

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1 Verificação e Validação Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1 Objetivos Apresentar a verificação e validação de software e discutir a distinção entre elas Descrever

Leia mais

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 12 Março 2012 Inconsistente: perguntei laranjas, respondeu

Leia mais

Relatório Individual Projeto final de Programação II. Xadrez. José Mauro Nazareth Cardoso Neto

Relatório Individual Projeto final de Programação II. Xadrez. José Mauro Nazareth Cardoso Neto Relatório Individual Projeto final de Programação II Xadrez José Mauro Nazareth Cardoso Neto Vitória, 18 de dezembro de 2011. I - Com respeito ao projeto de grupo 1. Dificuldades técnicas enfrentadas:

Leia mais

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1 2 2 aulas teóricas e 2 aulas práticas (ambas em laboratório) Terças às 17:10, lab 22 do DECOM Prof. Túlio

Leia mais

Circuitos Elétricos 40 Módulo 1 Eletrônica Geral 80 Módulo 1. Hidráulica e Pneumática II 40 Módulo 1. Tecnologia dos Materiais 40 Módulo 1

Circuitos Elétricos 40 Módulo 1 Eletrônica Geral 80 Módulo 1. Hidráulica e Pneumática II 40 Módulo 1. Tecnologia dos Materiais 40 Módulo 1 Curso Técnico Concomitante em Mecatrônica CÂMPUS LAGES MATRIZ CURRICULAR Módulo/Semestre 1 Carga horária total: 320h Unidade Curricular C/H Semestral Pré-Requisito Instalações e Comandos Elétricos 60 Não

Leia mais

Laboratório de Engenharia de Software I

Laboratório de Engenharia de Software I Laboratório de Engenharia de Software I Turma 01: Profa. Lucia Vilela Leite Filgueiras Turma 02: Profa. Maria Alice Grigas Varela Ferreira Aula 01 Casos de uso e protótipo da interface de usuário Roteiro

Leia mais

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação MULTIPROCESSADORES

Leia mais

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Histórico de Linguagens de Programação

Histórico de Linguagens de Programação Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: [email protected] Objetivos Geral: Estudar as características

Leia mais

TESTES DE SOFTWARE. Profa. Maria Auxiliadora

TESTES DE SOFTWARE. Profa. Maria Auxiliadora TESTES DE SOFTWARE 1 Teste de software É uma atividade crítica na garantia de qualidade de software; Quatro dimensões: Estado do teste ( o momento ); Técnica do teste ( como vou testar ); Metas do testes

Leia mais

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1 ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA - 2008/1 DC 9481 03/10/07 Rev. 00 1. Dados Legais Autorizado pelo Parecer 278 do Conselho

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

SSC0156 Computação Pervasiva

SSC0156 Computação Pervasiva SSC0156 Computação Pervasiva Apresentação do Curso Prof. Jó Ueyama Agosto/2013 [email protected] Sejam bem-vindos! n SSC0156 Computação Pervasiva n Bacharelado em Ciências da Computação n Terça das

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Conceito de Algoritmo Pseudocódigo Tipos de

Leia mais

SSC0541 Sistemas Operacionais

SSC0541 Sistemas Operacionais SSC0541 Sistemas Operacionais Prof. Jó Ueyama ICMC 2o. Semestre 2010 Sejam bem-vindos! Fundamentos de Sistemas Operacionais Programação Concorrente e Paralela 2 Aula de Hoje Apresentação da disciplina

Leia mais

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVOS Compreender o processo de gerenciamento de qualidade e as principais atividades do processo de garantia, planejamento e controle

Leia mais

Página 1 de 7 PRÓ-REITORIA DE GRADUAÇÃO ANEXO "F" ESCOLA POLITÉCNICA CURRÍCULO IDEAL (EC3-2018) Curso: Engenharia Elétrica - Ênfase em Computação

Página 1 de 7 PRÓ-REITORIA DE GRADUAÇÃO ANEXO F ESCOLA POLITÉCNICA CURRÍCULO IDEAL (EC3-2018) Curso: Engenharia Elétrica - Ênfase em Computação s em Sequência Aconselhada Obrigatórias 1º semestre 4323101 Física I 3 0 3 45 MAC2166 Introdução à Computação MAT2453 Cálculo Diferencial e Integral I 6 0 6 90 MAT3457 Álgebra Linear I PCC3100 Representação

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

Linguagens de Programação 10 Avaliação de Linguagens

Linguagens de Programação 10 Avaliação de Linguagens Linguagens de Programação 10 Avaliação de Linguagens Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal

Leia mais

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software INTRODUÇÃO AO SWEBOK Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Origens do corpo de conhecimentos da Engenharia de Software: Engenharia da Computação Ciência da

Leia mais

Introdução ao Python. Programa Computacional

Introdução ao Python. Programa Computacional Programa Computacional É um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, Python, etc.). É a tradução do algoritmo para uma linguagem que será interpretada pelo computador.

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

RUP RATIONAL UNIFIED PROCESS

RUP RATIONAL UNIFIED PROCESS O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos

Leia mais

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de:

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de: Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de: a) Um erro b)

Leia mais

Engenharia de Software

Engenharia de Software PLANO DE AVALIAÇÕES Engenharia de Software 1ª AP: 08 de setembro 2ª AP: 13 de outubro 3ª AP: 10 de novembro NAF: 17 de novembro Referência bibliográfica: SOMMERVILLE, I. Engenharia de Software. 8ª ed.

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Introdução a Sistemas Operacionais Andreza Leite [email protected] Plano de Aula Introdução aos Sistemas Operacionais Fundamentação Teórica Evolução Histórica Características

Leia mais

SSC0548 Redes Móveis

SSC0548 Redes Móveis SSC0548 Redes Móveis Apresentação do Curso Prof. Jó Ueyama Agosto/2014 [email protected] Sejam bem-vindos! n SSC0548 Redes Móveis n Sistemas de Informação n Terça 21:00 às 22:40 2 Conteúdo Detalhado

Leia mais

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0> Projeto Integrador Documento Visão Versão Histórico de Revisões Data Versão Descrição Autor

Leia mais

Introdução a Engenharia de Software

Introdução a Engenharia de Software Engenharia de Software Aula 02 Introdução a Engenharia de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] ou [email protected] 7 Março de 2018 Bibliografia

Leia mais

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO 1º Período Código Disciplina CHT 1 CHP 2 CH Total Pré-requisitos Dados I 40 40 80 - Cálculo I 80-80 - Fundamentos da Computação 40-40 - Fundamentos

Leia mais

Verificação e Validação

Verificação e Validação Verificação vs Validação Verificação e Validação Verificação: Estamos construindo o produto corretamente? O software deve estar de acordo com sua especificação. Validação: Estamos construindo o produto

Leia mais

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP Desenvolvimento de Algoritmos Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP Desenvolvimento de algoritmos Na computação, algoritmos representam os passos de um programa um conjunto

Leia mais