{dadepra, bzatt,

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

Download "{dadepra, bzatt,"

Transcrição

1 Metodologia para Verificação Funcional de Hardware através de Co-simulação Paralela dentro de Sistemas de Software Complexos usando PLI: Decodificador H.264/AVC como Estudo de Caso Dieison A. Deprá 1, Bruno Zatt 1, Marcelino B. dos Santos 2, Sergio Bampi 1 1 Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) - Brasil 2 Departamento de Engenharia Electrotécnica e de Computadores Instituto Superior Técnico - Portugal {dadepra, bzatt, bampi}@inf.ufrgs.br, marcelino.santos@ist.utl.pt Abstract. This work presents a new methodology for hardware (HW) functional verification through parallel co-simulation within complex software (SW) systems using PLI as a mechanism of interface between HW and SW. The novelty of this methodology inhabits in the HW/SW parallel execution and in the transparent communication between these modules provided by a handshake mechanism that guarantee the synchronism between the parts. The discussion about challenges, viability and validity of the presented proposal are based on the results of the case study carried through the application of this methodology to an H.264/AVC decoder. Resumo. Este trabalho apresenta uma proposta para uma nova metodologia de verificação funcional para Hardware (HW) por meio de co-simulação paralela dentro de sistemas de software (SW) complexos utilizando PLI como mecanismo de interface entre HW e SW. O diferencial desta metodologia reside no fato da execução dos módulos de SW e HW ocorre em paralelo e de que a comunicação entre os módulos acontece de forma transparente, utilizando-se apenas de um mecanismo de "handshake" para garantir o sincronismo entre as partes. A discussão sobre os desafios, viabilidade e validade da proposta apresentada são baseados nos resultados obtidos com o estudo de caso realizado com aplicação desta metodologia no escopo de um decodificador H.264/AVC. 1. INTRODUÇÃO Atualmente, o desenvolvimento de circuitos integrados (CI s) atinge níveis de complexidade e, conseqüentemente, de custos que tornam imprescindível a adoção de técnicas, ferramentas e metodologias de desenvolvimento capazes de prover eficiência. Além disso, estima-se que, aproximadamente, 50% do tempo de projeto sejam despendidos na etapa de verificação [Bergeron 2003], fato que força indústria e academia a atuarem na busca de formas de verificação mais econômicas, com índices de cobertura satisfatórios, a fim de tornar o processo de fabricação menos oneroso. Todavia, o custo para detecção e correção de erros no projeto tem crescimento exponencial em relação à etapa (nível de abstração) na qual ele é identificado e corrigido [Bergeron 2003]. Desta forma, torna-se imperativo direcionar os esforços para atingir

2 taxas de cobertura elevadas logo na primeira etapa de verificação, ou seja, na verificação funcional. Neste contexto, o presente trabalho propõe uma metodologia alternativa, em relação aos métodos tradicionais, para permitir a verificação funcional de HW dentro de sistemas computacionais complexos, onde há um particionamento dos blocos entre HW e SW. Os objetivos que a metodologia visa são, principalmente, facilitar o processo de obtenção, armazenamento e inserção de dados para verificação funcional do HW, através de co-simulação, onde HW e SW são executados em paralelo e a comunicação entre eles se dá de forma transparente para o projetista, via diretivas da linguagem PLI (programming interface language), sendo que, o sincronismo é garantido por um protocolo de handshake. Este artigo está organizado como segue: A Seção II introduz o processo de verificação funcional conforme as técnicas tradicionais; Na Seção III apresenta-se a linguagem PLI que possibilita a comunicação de forma transparente entre o HW e SW; A metodologia proposta é discutida em detalhes na Seção IV; Na Seção V o estudo de caso com aplicação da metodologia proposta num decodificador H.264/AVC é apresentado. As conclusões do trabalho são apresentadas na Seção VI, seguidas pelas referências. 2. VERIFICAÇÃO FUNCIONAL Conforme [Bergeron 2003] a verificação funcional pode ser definida como: [...] um processo usado para demonstrar que o objetivo do projeto é preservado em sua implementação., ou seja, que o HDL descrito é equivalente a especificação do projeto. Para isso, pode-se utilizar duas formas: 1) Verificação formal; ou 2) Verificação baseada em simulação [Piziali 2004]. Esse trabalho aborda apenas a verificação baseada em simulação, no qual o circuito é simulado com um subconjunto de suas entradas e possíveis estados. Considerando o grande número de entradas e possíveis estados de um CI composto por diversos módulos, o número de combinações possíveis torna-se, rapidamente, intratável para que se efetue uma verificação exaustiva [Piziali 2004]. Dessa forma, para minimizar o problema deve-se verificar módulos separadamente, antes da integração. Assim pode-se emular, por SW, o comportamento de todo o sistema, isolando apenas o módulo a ser testado para realizar uma verificação funcional do mesmo, obtendo suas entradas e valores de referência para comparação a partir dos resultados do SW. Em experiências anteriores, com desenvolvimento de arquiteturas de HW para aplicações específicas, foram enfrentadas grandes dificuldades para a realização da verificação funcional de cada bloco, pois com a geração de estímulos artificiais não dispunha-se de uma boa métrica para avaliar as taxas de cobertura da verificação realizada, ficando sem garantias da corretude do comportamento destes módulos antes de sua integração com os demais. A metodologia tradicional para verificação funcional consiste, basicamente, da injeção de um conjunto de estímulos de entrada no HW, para os quais as saídas esperadas são previamente conhecidas, permitindo assim a comparação dos resultados gerados pelo HW e pelo modelo de referência [Zatt 2006]. Entretanto, quando trata-se de um sistema complexo, onde apenas alguns blocos são SW e outros são HW dedicado,

3 o processo de obtenção das entradas e coleta das saídas não é tão trivial, exigindo em linhas gerais as seguintes etapas: 1. Localização dos casos de teste: Compreende o estudo do sistema para identificação dos casos chave, a identificação dos pontos de coleta de estímulos e resultados esperados, que deverão ser salvos em arquivos externos para ser utilizados nas etapas subseqüentes; 2. Testbench: Desenvolvimento de rotinas para injeção dos estímulos, capturados na etapa anterior, no DUT (Design Under Test), além da escrita dos resultados gerados para arquivos externos; 3. Simulação: Execução do testbench dentro de um ambiente de simulação para que o comportamento do HW possa ser simulado e os resultados sejam gerados; 4. Comparação dos resultados: Desenvolvimento e execução dos procedimentos para comparação e a conferência, propriamente dita, entre os resultados esperados e os resultados obtidos para atestar sua conformidade. Embora essa seja uma abordagem bastante efetiva para a verificação funcional, sua aplicação não respeita o processo iterativo que teria-se no mundo real onde o SW e o HW estariam executando em paralelo. Além disso, os testbenches precisam incorporar rotinas para leitura e gravação de arquivos, com estímulos e resultados gerados fato que aumenta a complexidade destes, tornando-os muitas vezes maiores e mais complexos que o próprio código do HW. Para tentar simplificar esse problema de complexidade dos testbenches foi criada a PLI, que será discutida na próxima seção. 3. VERILOG PLI Verilog PLI [Sutherland 2002; Mittra 1999] é uma linguagem de interface para programação. Ela provê ao projetista um caminho direto para combinar e comunicar blocos de SW, funções escritas em linguagem C/C++, com blocos de HW descritos em linguagem HDL dentro de um programa de simulação de Verilog. As funções contidas na API da PLI permitem registrar rotinas de inicialização e de tratamento de eventos, as quais serão dinamicamente ligadas ao programa de simulação, tornando-se acessíveis de forma transparente ao projetista. Desde sua criação, em meados de 1985, a linguagem PLI vem sofrendo atualizações que visam atender as novas demandas. Em linhas gerais, existem três grandes versões disponíveis, sendo que as funções de cada versão são identificadas por um prefixo, sendo eles: tf_, acc_ e vpi_. Com esses recursos PLI torna possível que engenheiros, tanto de SW como de HW, possam simular seus programas ou designs em simuladores de Verilog, podendo ainda customizar o simulador de forma a melhor atender suas necessidades específicas. A Figura 1 apresenta um exemplo clássico do fluxo de informações entre as entidades de SW e HW instanciadas numa entidade topo, sendo executadas dentro de um simulador Verilog com suporte a PLI. É importante salientar que, os blocos de HW e SW instanciados podem estar operando (do ponto de vista lógico) de forma paralela, desde que sejam declarados como blocos always. Entretanto, por uma limitação da definição do PLI para cada chamada de uma rotina em SW o simulador passa o controle

4 de execução para essa rotina, suspendendo a execução do HW até que a rotina em SW seja finalizada. A solução para essa restrição será abordada na próxima seção, onde a metodologia proposta será apresentada [Asic 2007]. Figura 1. Diagrama de relacionamento entre módulos de HW e SW. 4. METODOLOGIA PARA CO-SIMULAÇÃO PARALELA A metodologia proposta surgiu frente à necessidade de escrever testbenches, por vezes mais extensos que o próprio HDL do HW que se desejava verificar, apenas para realizar o processo de injeção dos estímulos, coleta dos resultados e comparação destes com as saídas esperadas. Essas tarefas envolvem, tipicamente, procedimentos como leitura e escrita de arquivos, os quais, apesar de possíveis, não são práticos de serem realizados em linguagem de descrição de HW, podendo ser resolvidas de forma mais eficiente em SW. Não obstante, idealizou-se que a metodologia deveria proporcionar a co-simulação, onde os módulos de SW e os blocos de HW fossem executados em paralelo, dentro de um mesmo simulador. Combinar essas necessidades e problemas com os recursos oferecidos pela PLI mostrou-se um caminho natural. Entretanto, a limitação imposta pela linguagem PLI, de que as chamadas para as funções do SW suspendam a execução do HW até que o SW encerre suas atividades, impede, a priori, a co-simulação paralela. Diante deste cenário, elaborou-se um método alternativo que contorna as limitações relatadas, permitindo a co-simulação paralela de SW e HW. Para isso, foram adotados dois recursos, um relativo a múltiplas linhas de execução e outro relativo ao sincronismo: 1. Threads: linhas de execução paralelas através de threads autônomas em relação ao fluxo de execução do simulador HDL. 2. Handshake: mecanismo de sincronização entre as partes de SW e HW através das interfaces fornecidas pela API da PLI combinadas às funções de solicita, aguarda e atende. Portanto, o conjunto de etapas sugeridas pela metodologia proposta permite realizar a co-simulação SW/HW dentro de um sistema complexo, com troca de informações e independência de execução, combinada a um mecanismo de handshake que garante o sincronismo entre as partes, oferecendo a possibilidade de verificação em tempo de execução. A Figura 2 ilustra a relação entre as entidades que compõem o sistema computacional a ser validado, conforme a metodologia proposta.

5 Figura 2. Diagrama de componentes e interação entre eles de acordo com a metodologia. A metodologia proposta consiste de um conjunto de passos que criam os elementos necessários para permitir a verificação funcional do HW através da cosimulação. Inicialmente, deve descrever uma entidade topo, na qual são instanciados apenas três módulos: binding, wakeup e a entidade a ser verificada hw_asic. O módulo de binding faz referência a uma função de SW, escrita pelo usuário, que é ligada dinamicamente ao simulador HDL e executa, apenas uma vez, antes do início da simulação; A esse módulo são indicadas as portas de entrada e saída presentes na interface da entidade hw_asic. O módulo wakeup compreende um bloco combinacional que gera um sinal periódico utilizando para sensibilizar a entidade hw_asic e ativa o mecanismo de monitoração responsável por parte do protocolo de handshake. A entidade hw_asic deve ser uma instância do bloco de HW a ser verificado, ao qual deve apenas acrescentar o sinal de wakeup em sua interface de entrada. É dentro da função binding, que os mecanismos de comunicação e sincronização entre as partes de SW e HW são definidos, sendo organizados em três etapas: Na primeira, as portas de entrada e saída do HW são mapeadas para identificadores globais, permitindo ao módulo em SW receber e enviar sinais diretamente para a entidade de HW sob verificação. Na segunda, devem-se registrar duas funções de monitoração, que serão executadas pelo simulador sempre que os sinais indicados sofrerem uma transição; O primeiro monitor deve ser registrado para interceptar alterações no sinal wakeup e será utilizado para gerar o sinal de comando para a entidade de hw_asic (sinal de clock ou de start); O segundo monitor deve ser registrado para um sinal que indique resultado pronto na entidade hw_asic. Na terceira etapa, será iniciada uma thread para execução do sistema de SW que ficará operando em paralelo com todo o processo de simulação. Por fim o controle será devolvido ao simulador que irá iniciar a simulação dos blocos always. Do ponto de vista lógico, a thread do sistema de SW ficará em execução até que seja necessário enviar ou receber informações do bloco de HW, neste momento, os valores apropriados deverão ser atribuídos para os manipuladores globais das portas do HW. A seguir deverá indicar o desejo de enviar ou receber e ficar em loop, aguardando uma indicação de pronto do protocolo de handshake. Neste ponto apenas as entidades de hw_asic e wakeup estarão ativas, sendo que o protocolo de handshake será executado a partir dos monitores wakeup e do sinal de pronto, liberando assim o SW para continuar sua execução. A Figura 3 apresenta um diagrama de seqüência que ilustra o procedimento descrito. Ela foi divida por questões de espaço.

6 Figura 3: Diagrama de sequência de iterações; parte (a) superior e (b) inferior. 5. ESTUDO DE CASO COM O DECODIFICADOR H.264/AVC A metodologia proposta foi aplicada na verificação funcional do bloco de interpolação de luminância [Sullivan 2004], que é um dos componentes da arquitetura de HW (MoCHA), desenvolvida para compensação de movimentação (MC) [Azevedo 2005], conforme especificado pelo padrão H.264/AVC [Sullivan 2004]. A seleção deste estudo de caso para validar a metodologia foi pautada pela existência de um SW de referência [IPHome 2007] que implementa todas as funcionalidades descritas no padrão H.264/AVC, tanto de codificação quanto de decodificação. Neste cenário a metodologia proposta pode ser aplicada adequadamente, pois se dispunha de um sistema de SW complexo, com módulos apropriados para serem substituídos por HW dedicado. A decisão sobre o bloco a ser substituído foi baseada na análise de complexidade para o decodificador de vídeo do padrão H.264/AVC, apresentada por [Horowitz 2003], que atribui custo computacional médio de 44.92% ao módulo (MC), do qual o bloco de interpolação de luminância é o maior gargalo. Na implementação do estudo do caso utilizou-se, como ferramenta de simulação, o SW ModelSim [Modelsim 2007], pois o mesmo oferece suporte adequado a linguagem PLI. Além disso, possui versões para várias plataformas e sistemas operacionais, sendo capaz de realizar simulações em diversos níveis de abstração. Dessa forma, todo o processo de verificação ocorre dentro de um único ambiente, onde o SW e o HW executam de forma concomitante. Seguindo as etapas definidas pela metodologia proposta definiu-se, primeiramente, uma entidade topo (em Verilog) para instanciar o bloco de inicialização, responsável pela ligação com a função de binding, o bloco combinacional que gera o sinal de wakeup ( clock_fake ou apenas fake ) periodicamente e o bloco combinacional com a entidade topo que deveria ser verificada. A seguir, foi necessário criar as funções de monitoração, inserindo as chamadas para o mecanismo de handshake no interior de função de SW que estava sendo substituída pelo módulo em HW, deixando o HW transparente para o restante do SW. Por fim, uma rotina para comparação entre os resultados produzidos pelo módulo em HW e pela função de SW correspondente foi elaborada. Neste cenário o sinal de relógio do bloco de HW foi utilizado como sinal a ser monitorado para ajustar o sincronismo entre SW e HW. Entretanto, como ambos módulos são executados em paralelo optou-se por deixar a

7 cargo do SW a definição de quando os pulsos de relógio deveriam sofrer uma transição. Assim foi possível garantir o sincronismo, fazer a validação através da rotina de comparação e visualmente através do vídeo decodificado, uma vez que todo processo ocorreu de forma simultânea. 6. CONCLUSÃO A metodologia apresentada mostrou-se eficaz para verificação funcional de HW em cenários de co-simulação paralela num sistema de SW complexo combinado com módulos de HW. Essa metodologia está baseada nas funcionalidades providas pela linguagem PLI combinadas à utilização threads e aos mecanismos de handshake para garantir a co-simulação paralela dos módulos de SW e HW. Além da discussão sobre a importância do processo de verificação funcional as etapas da metodologia foram, devidamente, detalhadas. A eficiência e aplicabilidade do método proposto foram comprovadas através do estudo de caso em um decodificador de vídeo H.264/AVC, onde substituiu-se uma das funções de SW por um módulo em HW e a funcionalidade pode ser comparada em tempo de execução. Desta forma foi possível verificar o correto funcionamento do HW através de simulações utilizando dados de vídeos reais eliminando a necessidade de testbenches complexos e agilizando significativamente o processo de verificação. Com base no estudo de caso conduzido foi possível constatar que a metodologia proposta é eficaz e apresenta vantagens sobre técnicas utilizadas anteriormente. Como trabalho futuro será estudada uma maneira de estender esta técnica aplicada à verificação funcional para que possa ser aplicada na fase de verificação com atrasos. REFERÊNCIAS Asic-World. Verilog PLI Tutorial, (2007). Azevedo, A. et al (2005). Motion Compensation Sample Processing for HDTV H.264/AVC Decoder, 23rd IEEE NORCHIP CONFERENCE. Oulu, Finlândia. Bergeron, J. (2003), Writing Testbenches: Functional Verification of HDL Models, Kluwer/Springer, 2nd edition. Horowitz, M. et al (2003), H.264/AVC Baseline Profile Decoder Complexity Analysis, IEEE Transactions on Circuits and Systems for Video Technology. IPHome. H.264/AVC Reference Software, (2007). Mittra S. (1999), Principles of Verilog PLI, Kluwer/Springer, 1st edition. Pìziali A. (2004), Functional Verification Coverage Measurement and Analysis, Kluwer/Springer. 1 edition. Sullivan, G. et al (2004). The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions, XXVII SPIE Conference on Applications of Digital Image Processing, Denver, EUA. Sutherland, S. (2002), The Verilog PLI Handbook: A User's Guide and Comprehensive Reference on the Verilog Programming Language Interface, Kluwer/Springer, 2nd edition. Zatt, B. et al (2006) Validação De Uma Arquitetura para Compensação de Movimento Segundo o Padrão H.264/AVC, XII IBERCHIP WORKSHOP, Costa Rica.

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 max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

FEDERAL UNIVERSITY OF RIO GRANDE DO SUL

FEDERAL UNIVERSITY OF RIO GRANDE DO SUL Tutorial ModelSim Workshop IEEE Circuits and Systems Society UFRGS Student Branch Bruno Zatt UFRGS - Porto Alegre BRAZIL Mentor Graphics ModelSim ModelSim é, atualmente, a ferramenta de simulação mais

Leia mais

MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS

MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS I. Autor: Prof. Oscar da Costa Gouveia Filho Departamento de Engenharia Elétrica Universidade Federal do Paraná II. Resumo: Verilog-AMS

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

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

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

Treinamento em Projeto de Sistemas Digitais

Treinamento em Projeto de Sistemas Digitais Treinamento em Projeto de Sistemas Digitais Projetando Sistemas Digitais com SystemVerilog Edna Barros Grupo de Engenharia da Computação Centro de Informática -UFPE Treinamento em Projeto de Sistemas Digitais

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo

Leia mais

FPGA & VHDL. Tutorial Aula 1. Computação Digital

FPGA & VHDL. Tutorial Aula 1. Computação Digital FPGA & VHDL Tutorial Aula 1 Computação Digital FPGA Field Programmable Gate Array Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programáveis ) para desempenhar uma

Leia mais

Ciclo de Seminários Técnicos

Ciclo de Seminários Técnicos A Computação Reconfigurável no Desenvolvimento de um Sistema Digital Delano Oliveira (delano@dsc.ufcg.edu.br) DSC/CEEI/UFCG Agenda Motivação Objetivo Conceitos Fluxo de Projeto Considerações Finais 2 Motivação

Leia mais

2 Conceitos. 2.1 Sistema Multiagentes Abertos e Abordagens de Leis

2 Conceitos. 2.1 Sistema Multiagentes Abertos e Abordagens de Leis 2 Conceitos Neste capítulo são apresentados alguns conceitos necessários para o entendimento desta dissertação. Visto que esta proposta está inserida no contexto de sistemas multiagentes abertos, serão

Leia mais

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema. Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

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

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves I Processos de desenvolvimento de SW profa. Denise Neves profa.denise@hotmail.com 2018 Projeto Um projeto é um empreendimento temporário empreendido para alcançar um único conjunto de objetivos. (PMI,PMBOK

Leia mais

5 Processo de Reificação e de Desenvolvimento com ACCA

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

3 Ferramenta Proposta 3.1. Objetivos

3 Ferramenta Proposta 3.1. Objetivos 3 Ferramenta Proposta 3.1. Objetivos O objetivo deste trabalho é a criação de um framework de testes que incorpore algumas das novas idéias encontradas na literatura. Sua principal característica deve

Leia mais

Prof. Ms. Ronaldo Martins da Costa

Prof. Ms. Ronaldo Martins da Costa Prof. Ms. Ronaldo Martins da Costa Diferentes conjuntos de etapas que envolvem métodos, ferramentas e procedimentos utilizados no desenvolvimento de software CiclodeVidaClássico Prototipação Modelo Espiral

Leia mais

Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação

Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Relatório do Trabalho da Disciplina de Arquitetura e Organização de Processadores CMP- 237 Marcelo

Leia mais

Projeto com Linguagens de Descrição de Hardware

Projeto com Linguagens de Descrição de Hardware Projeto com Linguagens de Descrição de Hardware Versão 2012 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware.

Leia mais

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno PDS Aula 1.4 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br 2 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados

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

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

Prof. Fábio Lúcio Meira

Prof. Fábio Lúcio Meira Prof. Fábio Lúcio Meira Objetivo Transformar os requisitos no design do futuro sistema Evoluir uma arquitetura robusta do sistema Adaptar o design para adequá-lo ao ambiente de implementação O principal

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

IA346 M Métodos de Pesquisa Para Engenharia de Computação. Atividade 07

IA346 M Métodos de Pesquisa Para Engenharia de Computação. Atividade 07 IA346 M Métodos de Pesquisa Para Engenharia de Computação Atividade 07 Nome: Janize Monteiro de Castilho RA: 150148 1. Tema de Pesquisa: Implementação de monitores para verificação de padrões de cenários

Leia mais

PROJETO DE UM MODELO DE UM CONVERSOR ANALÓGICO DIGITAL PARA SOC S

PROJETO DE UM MODELO DE UM CONVERSOR ANALÓGICO DIGITAL PARA SOC S UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA PROJETO DE UM MODELO DE UM CONVERSOR ANALÓGICO DIGITAL PARA SOC S PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Engenharia de Requisitos É, talvez, o maior problema da indústria de SW; Está relacionada

Leia mais

Plano de Aula 26/8/13. VHDL - Visão Geral. Obje%vos: VHDL - Visão Geral. Descrição de circuito digital em VHDL

Plano de Aula 26/8/13. VHDL - Visão Geral. Obje%vos: VHDL - Visão Geral. Descrição de circuito digital em VHDL Instituto Federal de Santa Catarina Área de Telecomunicações SST20707 Síntese de Sistemas de Telecomunicações Prof. Roberto de Matos viso de direitos utorais: Transparências baseadas no trabalho do Prof.

Leia mais

Montagem, testes, depuração e documentação de circuitos digitais

Montagem, testes, depuração e documentação de circuitos digitais Montagem, testes, depuração e documentação de circuitos digitais Versão 2012 RESUMO Esta experiência tem como objetivo um contato inicial com técnicas de montagem, teste e depuração de circuitos digitais.

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades

Leia mais

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programação de Alto Desempenho - 2. Prof: Carla Osthoff Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda

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

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

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software ENG SOFT - TESTES TESTES DE SOFTWARE 1. Fundamentos sobre testes de software A atividade de teste de software sempre foi considerada como um gasto de tempo desnecessário, uma atividade de segunda classe,

Leia mais

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC:

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC: 2 TinyOS e NesC O framework de programação mais utilizado em redes de sensores sem fio é composto pelo sistema operacional TinyOS [11] e pela linguagem de programação NesC [12]. A linguagem NesC foi definida

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos Conceitos avançados de programação Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos Objetivos de Aprendizagem e Entender as especificidades da programação em

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

FPGA & VHDL. Tutorial

FPGA & VHDL. Tutorial FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves

Leia mais

Prof. Me. Sérgio Carlos Portari Júnior

Prof. Me. Sérgio Carlos Portari Júnior Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade

Leia mais

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!

Leia mais

1. A principal razão de dividir o processo de teste em tarefas distintas é:

1. A principal razão de dividir o processo de teste em tarefas distintas é: Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. A principal razão de dividir o processo de teste em tarefas distintas é: a) Cada fase do teste tem uma proposta diferente b) É mais fácil para gerência

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

Processo de Desenvolvimento. Edjandir Corrêa Costa

Processo de Desenvolvimento. Edjandir Corrêa Costa Processo de Desenvolvimento Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Processo de Desenvolvimento Definição: É um roteiro que determina quais são as tarefas necessárias e em que ordem elas devem

Leia mais

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples Uma ULA Simples Versão 2015 RESUMO Esta experiência tem como objetivo o desenvolvimento do projeto de uma unidade lógica e aritmética simples que realiza quatro operações sobre dados de quatro bits. OBJETIVOS

Leia mais

6 Considerações Finais

6 Considerações Finais 6 Considerações Finais Este capítulo apresenta as contribuições desta tese e os trabalhos que podem dar continuidade à pesquisa nela apresentada. 6.1 Contribuições Este trabalho tinha como objetivo propor,

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro Frequencímetro Versão 2014 RESUMO Esta experiência tem como objetivo a familiarização com duas classes de componentes: os contadores e os registradores. Para isto, serão apresentados alguns exemplos de

Leia mais

Teste de Software. Karen Frigo Busolin Novembro / 2010

Teste de Software. Karen Frigo Busolin Novembro / 2010 Teste de Software Karen Frigo Busolin Novembro / 2010 Processo de Testes de Software Possibilitar aos profissionais maior visibilidade e organização dos trabalhos. Representa uma estruturação de etapas,

Leia mais

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários

Leia mais

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

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

Leia mais

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds TS03 Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE COTI Informática Escola de Nerds Teste do Desenvolvedor O Teste do Desenvolvedor denota os aspectos de design e implementação de teste mais apropriados

Leia mais

Título PROCESSO LABES ESPECIALIZADO PARA DESENVOLVIMENTO SEGUNDO O PARADIGMA ESTRUTURADO. Projeto. Analista; Requisitos Funcionais Escopo; Cliente;

Título PROCESSO LABES ESPECIALIZADO PARA DESENVOLVIMENTO SEGUNDO O PARADIGMA ESTRUTURADO. Projeto. Analista; Requisitos Funcionais Escopo; Cliente; 1/8 1. PROCESSO DE DESENVOLVIMENTO Levantamento Requisitos Análise Requisitos Projeto Implementação Testes 1.1 LEVANTAMENTO DE REQUISITOS 1.1.1 Intificação Requisitos Funcionais Requisitos Funcionais Escopo;

Leia mais

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome: Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. No ciclo de vida de software, a estrutura de dados, a arquitetura, os detalhes procedimentais

Leia mais

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual 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

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

Verificação e Validação (V & V)

Verificação e Validação (V & V) Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

CSE Métodos e Processos na Área Espacial

CSE Métodos e Processos na Área Espacial CSE-300-4 Métodos e Processos na Área Espacial Engenharia e Tecnologia Espaciais ETE Engenharia e Gerenciamento de Sistemas Espaciais L.F.Perondi Engenharia e Tecnologia Espaciais ETE Engenharia e Gerenciamento

Leia mais

Middleware para trilhas sonoras dinâmicas. em jogos digitais

Middleware para trilhas sonoras dinâmicas. em jogos digitais Middleware para trilhas sonoras dinâmicas em jogos digitais Nome: Lucas Dário Supervisor: Prof. Dr. Marcelo Queiroz MAC0499 - Trabalho de Conclusão de Curso Abril, 2015 1 1 Introdução Com o desenvolvimento

Leia mais

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins. Bibliografia Quais são os problemas? 4 A sofisticação do software ultrapassou nossa capacidade de construção. 4 Nossa capacidade de construir programas não acompanha a demanda por novos programas. 4 Nossa

Leia mais

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital Um Circuito Digital Versão 2016 RESUMO Esta experiência tem como objetivo o desenvolvimento de um circuito digital, especificado a partir de um diagrama ASM e um fluxo de dados. A parte prática deve ser

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

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

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia Engenharia de Software Processos Desenvolvimento de Software Tradicionais 2014/2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR Processos Um conjunto estruturado de atividades necessárias para o desenvolvimento

Leia mais

Diego Azevedo José Thiago Moutinho Sérgio Chaves Thiago Bemerguy William Sampaio

Diego Azevedo José Thiago Moutinho Sérgio Chaves Thiago Bemerguy William Sampaio Diego Azevedo José Thiago Moutinho Sérgio Chaves Thiago Bemerguy William Sampaio Índice O Processo Praxis Gestão de Qualidade Verificação Validação Correção Auditoria da Qualidade Discussões Processo praxis

Leia mais

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia Software. Ení Berbert Camilo Contaiffer Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado

Leia mais

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0 Instituto Federal Sul-rio-grandense Campus Pelotas Curso de Engenharia Elétrica Planejamento e Gerenciamento de Projetos Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão

Leia mais

VIVADO TUTORIAL 101: CADEADO DIGITAL

VIVADO TUTORIAL 101: CADEADO DIGITAL VIVADO TUTORIAL 101: CADEADO DIGITAL VERSÃO 1.0 - SISTEMAS DIGITAIS - Este tutorial inclui notas adicionais na margem esquerda da página (do tipo G(X.X)). Estas notas referram-se ao(s) passo(s) X.X do

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

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL Circuito em VHDL Versão 2017 RESUMO Esta experiência tem como objetivo um contato inicial com o desenvolvimento do projeto de um circuito digital simples em VHDL e sintetizado para uma placa de desenvolvimento

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

5 Implementação 5.1 Plataforma 5.2 Arquitetura

5 Implementação 5.1 Plataforma 5.2 Arquitetura 5 Implementação Neste capítulo são apresentados os detalhes sobre a implementação da ferramenta. São discutidas as tecnologias envolvidas, assim como as limitações e problemas encontrados durante o desenvolvimento.

Leia mais

Projecto de Sistemas Digitais. Trabalho Prático 1

Projecto de Sistemas Digitais. Trabalho Prático 1 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/07 2 o semestre Projecto de Sistemas Digitais Trabalho Prático 1 Modelação e simulação de uma interface de dados Objectivo Modelação

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Engenharia de Software I 2013.2 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo

Leia mais

Introdução à Linguagem VHDL

Introdução à Linguagem VHDL Fundamentos de Sistemas Digitais Introdução à Linguagem VHDL prof. Dr. Alexandre M. Amory Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar verilog e SystemC Bem didático! um

Leia mais

05/09/2013. Ciclo de vida de um Sistema de Informação

05/09/2013. Ciclo de vida de um Sistema de Informação Ciclo de vida de um Sistema de Informação Objetivos dessa aula: 1. O conceito de ciclo de vida de um projeto 2. As características do ciclo de vida do projeto clássico 3. As diferenças entre projetos clássicos

Leia mais

Engenharia de Software. Projeto de Software. Projeto: definição. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff

Engenharia de Software. Projeto de Software. Projeto: definição. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Engenharia de Software Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Projeto de Software Fundamentos de projeto de software Projeto estruturado Índice do documento de projeto

Leia mais

Exercícios de Fixação

Exercícios de Fixação Exercícios de Fixação Para entregar em 07/02/2013 Exercício I Implemente o circuito de seis portas lógicas abaixo em VHDL; Crie um projeto com o simulador Modelsim que contenha o par entidade-arquitetura

Leia mais

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles. Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens

Leia mais

- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.

- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional. Unidade V Evolução de Sofware - Engenharia Reversa - Profa. Dra. Sandra Fabbri Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Manutenção Teste Sistema Requisitos Desenvolvimento

Leia mais

Trabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA

Trabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA UNIVERSIDADE DE BRASÍLIA - UnB FACULDADE DE TECNOLOGIA - FT DEPARTAMENTO DE ENGENHARIA MECÂNICA - EME Trabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA Período: 1º/2001 Desenvolvimento de Applets JAVA

Leia mais

Teste de Software. Planejamento de Teste. Rosemary Silveira Filgueiras Melo

Teste de Software. Planejamento de Teste. Rosemary Silveira Filgueiras Melo Teste de Software Planejamento de Teste Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Atividades de Teste Conceitos importante no Contexto de Teste Abordagem de Teste 2 Atividades de

Leia mais

132 6 Conclusão 6.1. Contribuições da Tese

132 6 Conclusão 6.1. Contribuições da Tese 132 6 Conclusão Esta tese teve como objetivo principal o estudo da aplicação de transformações para manter a rastreabilidade de um sistema de software. Esta abordagem permite a captura automática das informações

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Processo de desenvolvimento de sistema de informação - DSI

Processo de desenvolvimento de sistema de informação - DSI - DSI Fases do processo de Desenvolvimento de Sistemas Informação Estudo da viabilidade Engenharia de requisitos Desenho (Modelagem) Codificação Testes e Implantação Estudo da viabilidade Estudo preliminar

Leia mais

Documento de Requisitos*

Documento de Requisitos* * Rosana T. Vaccare Braga *slides adaptados a partir do material da Profa Ellen Francine Barbosa Processo de Engenharia de Requisitos Documento de requisitos Processo de Engenharia de Requisitos Estudo

Leia mais

Engenharia de Software

Engenharia de Software Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos

Leia mais

Adaptação Dinâmica desistemas Distribuídos p.1/54

Adaptação Dinâmica desistemas Distribuídos p.1/54 Adaptação Dinâmica de Sistemas Distribuídos Francisco José da Silva e Silva Orientadores: Prof. Dr. Markus Endler Prof. Dr. Fabio Kon Instituto de Matemática e Estatística da Universidade de São Paulo

Leia mais

Escolhendo um Modelo de Ciclo de Vida

Escolhendo um Modelo de Ciclo de Vida Escolhendo um Modelo de Ciclo de Vida Ciclos de Vida 1 Ciclo de Vida de um Produto Qualquer desenvolvimento de produto inicia com uma idéia e termina com o produto pretendido. O ciclo de vida de um produto

Leia mais

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho 1 Introdução I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho Os hardwares gráficos atualmente podem ser considerados como verdadeiros processadores

Leia mais

Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses:

Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: 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