Técnicas de Inspecção de Programas para Inter-relacionar as Vistas Comportamental e Operacional
|
|
- Salvador Aranha Sacramento
- 8 Há anos
- Visualizações:
Transcrição
1 Técnicas de Inspecção de Programas para Inter-relacionar as Vistas Comportamental e Operacional Mario M. Berón 13 Pedro R. Henriques 1, Maria J. Varanda 2, Roberto Uzal 3 1 Departamento de Informática Universidade do Minho, CCTC, Braga, Portugal {marioberon prh}@di.uminho.pt 2 Departamento de Informática Instituto Politécnico de Bragança,Bragança, Portugal mjoao@ipb.pt 3 Departamento de Informática Universidad Nacional de San Luis, San Luis, Argentina ruzal@uolsinectis.com.ar Grau Académico: Doutor em Ciencias da Computação Inicio: 03/02/2006 Fim: 03/02/2009 Resumo A Compreensão de Programas (CP) é uma disciplina da Engenharia de Software destinada a criar modelos, métodos, técnicas e ferramentas, baseadas num processo da aprendizagem e num processo de engenharia, com o objectivo de alcançar um profundo conhecimento dos sistemas de software. O processo da aprendizagem implica a análise da forma como os programadores entendem os programas. Esta temática é bem descrita no contexto dos Modelos Cognitivos. O processo de engenharia necessita de ser abordado através de tópicos como: Métodos de Extracção da Informação, Administração da Informação e Visualização de Software. A pesquisa em todas estas áreas faz com que seja possível abordar a construção de boas ferramentas de CP. Além disso, esta tarefa dá a possivilidade de inter-relacionar o domínio do programa (componentes de software) e o domínio do problema (comportamento do sistema). Esta última actividade é um dos grandes desafios no contexto da compreensão de programas. Neste artigo, descrevemos as pesquisas e os resultados obtidos nos tópicos descritos nos parágrafos precedentes. Estas tarefas fazem parte de nossa tese de doutoramento denominada: Técnicas de Inspecção de Programas para Inter-Relacionar a Vista Operacional e a Vista Comportamental de Sistemas de Software. Palavras Chaves: Modelos Cognitivos, Extracção da Informação, Visualização de Software. 1 Introdução A compreensão de programas, traduz-se na habilidade de perceber uma secção de código escrito numa linguagem de alto nível. Um programa não é mais do
2 que uma sequência de instruções que serão executadas de forma a garantir uma determinada funcionalidade. O leitor dum programa, consegue extrair o significado do mesmo quando compreende de que forma o código cumpre com a tarefa para a qual foi criado. A área de Compreensão de Programas é uma das mais importantes da Engenharia de Software porque é necessaria para as tarefas de reutilização, inspecção, manutenção, migração e extansão de sistemas de software. Pode também ser utilizada em áreas como Engenharia Inversa ou no Ensino de Linguagens de Programação. O processo de compreensão de programas pode ter diferentes significados e pode ser visto desde perspectivas diferentes. O utilizador pode estar interessado em como o computador executa as instruções, com o objectivo de compreender o fluxo de control e o fluxo de dados, ou pode querer verificar os efeitos que a execução do programa tem sobre o objecto que está a ser controlado pelo programa. Considerando estes níveis de abstracção, uma ferramenta versátil de inspecção visual de código é crucial na tarefa de compreensão de programas. Para construir uma ferramenta destas características é necessário perceber temas relacionados com os Modelos Cognitivos (MC), Extracção da Informação (EI) e Visualização de Software (VS). MC ajuda a perceber as principais estruturas mentais utilizadas pelo programador para entender programas. Desta forma é possível desenhar arquitecturas de software que procurem representar essas componentes do conhecimento. EI torna possível extrair toda a informação dos sistemas de software. Isto é necessário tanto para construir arquitecturas como para implementar diferentes vistas do sistema. Finalmente, VS permite representar a informação claramente. Esta característica é muito importante porque facilita a compreensão. Além das facilidades de inspecção de código, consideramos que uma ferramenta de compreensão deveria possuir algumas formas de inter-relacionar o domínio do programa com o domínio do problema. Uma estratégia importante para alcançar esta relação e facilitar a compreensão, consiste em criar vários domínios intermédios. Usando estes domínios intermédios, e incorporando funções de navegação entre eles, é possível construir uma relação operacional-comportamental. Este artigo está organizado como se explica a seguir. A secção 2, descreve os trabalhos realizados no contexto dos Modelos Cognitivos. A secção 3, apresenta as pesquisas no âmbito da Visualização de Software. A secção 4, detalha a técnica usada para extrair a informação a partir dos sistemas. A secção 5, explica as técnicas da relação operacional-comportamental. Finalmente, a secção 6 apresenta a conclusão deste artigo. 2 Modelos Cognitivos Os Modelos Cognitivos (MC) no contexto da compreesão de programas descrevem a forma como os programadores compreendem os programas. Os MC são importantes porque permitem perceber os distintos processos mentais utilizados na compreensão de programas. Desta forma é possivel desenvolver estratégias ou
3 ferramentas com suporte cognitivo. Depois de realizar um estudo do estado da arte dos MC foi possível detectar que: Todos os autores concordam que um programador compreende um programa quando pode relacionar o domínio do programa com o domínio do problema. Com isto queram eles dizer, que para cada comportamento do sistema de estudo, o programador deve encontrar as peças de código que se utilizaram para produzir esse comportamento. Existe uma necessidade de uniformizar e sistematizar os conceitos usados nesta área. Isto deve-se á existencia de conceitos que produzem ambiguidade. Esta característica dificulta a possível implementação desses conceitos numa ferramenta de compreensão. Por exemplo, o conceito de chunk é muito utilizado para explicar como os programadores extraem informação dos sistemas. Comtudo, as bibliografías de MC não apresentam uma definição ou método para extrair chunks. Por esta razão, a automatização deste conceito fica ao criterio do programador. Esto conduz a conflitos na interpretação do conceito. Não existe uma única aproximação para a aprendizagem. Isto foi claramente observado através das analises das diferentes teorias de CM. Por exemplo, o Brook afirma que o processo utilizado pelos programadores para entender programas é top-down. Em quanto Soloway mantém que este processo é bottom-up. Finalmente, existem outros autores a proporem uma metamodelo integrado que une estas duas aproximações. Todas estas teorias apresentam resultados empíricos que suportam os seus estudos. Por esta razão esta área mostra uma grande divergência neste tópico. Actualmente o Construtivismo tem tomado relevância porque é uma teoria que admite o uso misturado de estratégias da aprendizagem. A primeira observação foi muito útil porque possibilita-nos seleccionar um abordagem para a construção de estratégias e ferramentas de compreensão. A segunda permitiu-nos fazer algumas contribuições nesta área. A terceira confirma que a abordagem seguida para entender programas é seleccionada pelo programador. Quanto ás nossas contribuições nesta área podemos dizer que desenvolvemos definições de conceitos mais próximas ao domínio do engenheiro de software. Desta forma eliminamos as ambiguidades produzidas pelo uso de vocabulário pedagógico. A modo de exemplo, na sub-secção seguinte apresentamos uma parte de uma sistematização dum conceito utilizado no contexto de MC. 2.1 Sistematização do Conceito de Chunk Um chunk é um conjunto de estruturas de texto. Ou seja é uma forma de construir uma abstracção desde o código fonte do programa. Com os chunks é possível construir hierarquias de chunks. Este conceito é muito utilizado no contexto dos MC contudo as bibliografias não especificam como os chunks podem ser extraídos
4 desde o texto do programa. Nós pensamos que uma definição mais precisa permite pensar em algoritmos que façam esta tarefa e portanto proporemos a seguinte sistematização deste conceito. Chunk: é um conceito que descreve conjuntos de estruturas de texto. Eles podem ser classificados em : sequencial, selecção, iteração e rotina. Nos seguintes parágrafos definimos cada uns deles. chunk seq (stmt, n, desc): Está formado por um conjunto de n sentenças genéricas (stmt) e uma descrição (desc). Neste contexto, sentença genérica representa atribuição, chamada a função ou sentença de entrada/saída. A descrição declara a funcionalidade deste grupo de sentenças. A seguinte peça de código ilustra dois exemplos de chunk seq de três sentenças. a=temp; a=b; b=temp;... c[k]=a[i]+b[j]; i=i+1; j=j+2; O primeiro chunk é denotado como chunk seq ({a = temp; a = b; b = temp}, 3, < instercambia o valor da variavel a e o valor da variavel b >). O segundo é definido como chunk seq ({c[k] = a[i] + b[j]; i = i + 1; j = j + 2}, 3, < soma os elementos dum vector >). O tamanho de n é determinado pelo programador e é dependente do nível de precisão desejado. chunk sel (chunk seq (stmt, 1, desc), chunck, chunck): Os chunks selecção são úteis para representar sentenças de selecção. Eles estão compostos dum chunk seq que representa a condição e dois chuncks que representam as sentenças usadas na parte then e na parte else. A seguinte peça de código é um exemplo de chunck sel. if (f(x)==0) { a=temp; a=b; b=temp;} else { c[k]=a[i]+b[j]; i=i+1; j=j+2; } Esta peça de código pode ser descrita usando chunks na seguinte forma: chunk sel ( chunck seq ({f(x) == 0}, 1, < descrição da condição >), chunk seq ({a = temp; a = b; b = temp}, 3, < intercambia o valor da variavel a e o valor da variavel b >), chunk seq ({c[k] = a[i] + b[j]; i = i + 1; j = j + 2}, 3, < soma os elementos dum vector >)) O leitor pode observar que estas definições são mais precisas e possibilitam construir algoritmos para extrair chunks. Por exemplo, uma forma de extrair chunks usando estas definições pode consistir em desenvolver um analisador sintático com acções semânticas que transformem o programa fonte noutro decorado com chunks. O resto das definições de chunks e doutros conceitos de MC pode ser visto em [6]. Neste artigo não foram descritas por razões de extensão. 3 Visualização de Software A Visualização de Software (VS) [7] [2] [4] é crucial no contexto do desenvolvimento desta tese de doutoramento. Isto se deve a que é necessário representar
5 os diferentes domínios através da utilização de vistas. As vistas apresentam uma perspectiva do sistema de estudo que revela algum aspecto do mesmo. Para construir vistas de sistemas úteis para a compreensão é necessário definir uma representação estrutural e uma representação gráfica. A primeira faz referência á estrutura de dados que se utilizará para armazenar a informação e criar as vistas. A segunda aborda a temática das representações visuais dessa informação. Seleccionamos como vistas importantes as seguintes: Códigos fonte e objecto: ambos os códigos são fontes básicas de inspecção e compreensão. Normalmente o programador recorre ao código fonte para entender e modificar o sistema de estudo, por este motivo, temos que possuir estratégias para aceder ao código fonte eficientemente para facilitar o proceso de inspecção e compreensão. O código objecto é uma vista secundária que pode ser útil para tarefas como a análise do código gerado pelo compilador. Grafo de Tipos: permite visualizar os tipos utilizados e as dependências entre eles no sistema de estudo. Grafo de Funções: o código fonte é uma vista de baixo nível muito complexa de analisar quando o sistema de estudo é grande. Uma vista alternativa de mais alto nível é o grafo de funções. Esta vista mostra como as funções estão interligadas estáticamente no sistema. Desta forma o utilizador pode, com uma maior probabilidade, encontrar as funções mais importantes. Esta última função pode ser facilitada através dos operadores de grafos. Grafo de Funções de tempo de execução: o grafo de funções contêm todas as funções do sistema. Contudo, em muitas ocasiões, o utilizador necessita inspeccionar só alguma delas. Por exemplo, normalmente ele gostaria de analisar só as funções que foram utilizadas para atingir algum objectivo específico. Esta informação é fornecida por um subgrafo do grafo de funções denominado grafo de funções de tempo de execução. Grafo de Módulos: esta vista possibilita ter uma visão mais abstracta do sistema, sendo muito útil para analisar como o sistema é construído e que módulos são os mais importantes ou os mais utilizados. Para todas estas vistas a representação estrutural é directa quando utilizam listas e grafos para armazenar toda a informação. Podem aparecer situações que impliquem a geração de novas estruturas de dados, sendo que esses tópicos estão bem descritos e documentados em diferentes livros relacionados com essa temática. O problema aparece quando deseja-mos criar a representação visual. Neste caso é necessário determinar que informação é útil e como a mostrar. Neste contexto, o nosso trabalho consistiu em definir um conjunto de atributos que sempre deveriam visualizar-se e como eles seriam visualizados. Este trabalho foi principalmente feito para as representações de grafos. Para as representações textuais necessita-mos pesquisar mais. A modo de exemplo na sub-secção seguinte apresentamos a definição da visualização das dependências de módulos.
6 3.1 Dependências de Módulos As dependências de módulos mais importantes encontradas podem ser classificadas como dependências de tipos, dados e funções. A estrutura básica para modelar esta situação é um hiper-grafo dirigido, o qual é definido como: MDG=(P,E 1,E 2,E 3 ) onde P={x/ x é um módulo do sistema} e E 1 = {(x, y) / x P y P o módulo x usa uma função definida no módulo y} E 2 = {(x, y)/x P y P o módulo x usa um dado definido no módulo y} E 3 = {(x, y)/x P y P o módulo x usa um tipo definido no módulo y} Estas três principais dependências podem ser mostradas usando diferentes cores e classes de arcos. Contudo é importante caracterizar o grau de inter-dependência entre os módulos. Esta actividade pode ser feita usando a largura ou intensidade da cor. A Figura 1 mostra as dependências entre um grupo de módulos de um sistema. Sobre a esquerda pode-se ver um grafo que mostra só as dependências. Sobre a direita visualiza-se um hiper-grafo decorado. Esta vista mostra diferentes dependências em diferentes cores. Em vermelho as dependências de funções, em preto as de dados e em azul as de tipos. Também é possível visualizar arcos com larguras distintas que indicam o grau de utilização de cada um destes componentes. Neste sentido pode-se observar que o módulo 2 depende mais do que o módulo 3 se tomamos como ponto de análise as funções. Por outra parte o módulo 3 usa mais dados definidos no módulo 1 do que o módulo 2. O problema com este tipo de representação das dependências é a sobrecarga da visualização. Este inconveniente pode ser resolvido usando operações tais como filtragem, zoom, etc. Este mesmo tipo de tarefas foram feitas para as outras vistas descritas nos parágrafos precedentes e podem ser observadas em [6]. 4 Métodos de Extracção da Informação Para extrair a informação dos sistemas utilizamos Instrumentação de Código [5]. Esta técnica consiste em inserir instruções úteis no código fonte do sistema. Selecionamos como pontos estratégicos o inicio e o fim das funções. Nesses lugares inserimos funções de inspecção. Estas funções imprimem o nome da função e alguma outra informação que o programador considere importante. Os resultados obtidos com esta aproximação não foram muito bons. Isto deve-se a que as funções do sistema podem ser invocadas muitas vezes porque em certas ocasiões elas encontram-se dentro de iterações ou formam parte dum algoritmo complexo. Isto produz uma quantidade imensa de funções que não podem ser administradas com facilidade. Por esta razão foi necessário instrumentar o código para controlar as sentenças de iteração. Para atingir este objectivo esta classe de sentenças
7 Figura 1. Dependências de Módulos foram instrumentadas inserindo sentenças antes, dentro e depois das iterações. As sentenças previas ás iterações tem como tarefa inserir numa pilha o número que indica a quantidade de vezes que as funções dentro de uma iteração podem mostrar-se. As sentenças dentro das iteraçãoes diminuem essa quantidade em um. Finalmente as sentenças depois das iteraçãos tem como objectivo recuperar o número de vezes que as funções da iteração anterior devem-se mostrar. Este esquema permitiu reduzir a quantidade de funções reportadas pela nossa técnica de instrumentação. Além disso o número de funções pode ser controlado pelo utilizador porque ele pode decidir as vezes que as funções serão recuperadas. Este resultado foi satisfatório e possibilitou-nos avançar com o desenvolvimento da tese de doutoramento. A Figura 2.a mostra o esquema implementado para a instrumentação das funções e a Figura 2.b mostra o esquema para o controlo de ciclos. void f (int a, int b) push(pila,n) { for(i=0;i<tam;i++) INSPECTOR_ENTRADA("f"); {... /* acciones del loop */ INSPECTOR_SALIDA("f");... return; decrementartope(pila); } } pop(pila); (a) (b) Figura 2. Instrumentação de Funções e Controlo de Ciclos
8 4.1 Outras informações extraidas do sistema Ademais de implementar a instrumentação de código nós recuperamos toda a informação do sistema. Esta actividade permite-nos dispor de todos os componentes necessários para construir as visualizações descritas na secção 3 e inspeccionar todos as partes do código do sistema com facilidade. Além disso, nós desenhamos e criamos uma heurística de detecção de tipo de dados abstractos definidos pelo utilizador. Esta técnica baseia-se na construção dum grafo de dependências de tipos, denominado Grafo de Tipos (GT) que representa a relação é parte de. Depois a estratégia toma cada função do sistema, extrai os tipos usados em sua assinatura e constrói um sub-grafo de GT. Este último grafo contêm os nós do GT que representam os tipos usados pela função. Nós denominamos a este conjunto de nós do grafo nós básicos. Além destes nós o sub-grafo contem a todos os outros nós que podem alcançar através dum caminho aos nós básicos. Finalmente, a heurística extrai os nós maximais. Se a cardinalidade deste conjunto é maior que um, então a heurística não associa a função a nenhum tipo. Noutro caso a função é associada ao tipo maximal. A Figura 3 ilustra esta técnica. Sobre a esquerda pode-se observar um grafo de tipos. No centro encontra-se uma funçaõ. Na direita esta o sub-grafo do GT para a funçao f. O tipo seleccionado pela heurística é visualizado em cor vermelha. Figura 3. Heurística de detecção de grafos de tipos 5 Estratégias de Relação Operacional-Comportamental Nesta secção descrevemos doiss procedimentos para alcançar a relação operacionalcomportamental [3]. O primeiro é uma consequência de nosso esquema de instrumentação de código. O segundo é uma estratégia que usa informação estática é dinâmica para recuperar esta relação.
9 5.1 Efeito derivado do esquema de instrumentação de código Esta aproximação consiste em permitir a execução paralela do sistema instrumentado e do programa que administra as funções de inspecção. Este procedimento permite visualizar, directamente, as funções que estão sendo utilizadas pelo sistema para construir a sua saída. O efeito desta estratégia é similar a uma execução passo a passo a nível de funções. Básicamente este resultado é um produto derivado da implementação do nosso esquema de instrumentação de código. 5.2 BORS BORS (Behavioral-Operational Relation Strategy) [5] [6] tem por objectivo explicar o contexto onde as funções do sistema foram chamadas e suas funcionalidades. BORS baseia-se na seguinte observação: A saída dum sistema está composta de objectos do domínio do problema. Normalmente esses objectos são implementados por tipos de dados abstractos, no caso de linguagens imperativos, ou por classes, no caso de linguagens orientados a objectos. Tanto os TDAs como as classes têm objectos de dados que armazenam o seu estado e um conjunto de operações que os manipulam. Por este motivo é possível descrever cada objecto do dominio do problema utilizando os TDAs ou classes que os implementam. BORS consta dos seguintes passos: Detectar as funções relacionadas com cada objecto do domínio do problema: esta tarefa é feita em forma semi-automática. O utilizador selecciona os Tipos de Dados Abstractos que deseja explicar através da heurística de detecção de tipos descrita em brevemente na sub-secção 4.1. Depois todas as funções relacionadas com esses tipos são candidatas a ser explicadas e são armazenadas numa lista. Construir a arvore de execução de funções de tempo de execução: a saída do esquema de instrumentação de código contêm toda a informação necessária (inicio e fim da execução das funções) para construir uma estrutura de dados denominada fe-tree (Funtion Execution Tree) [1] [5] que descreve como as funções do sistema de estudo foram executadas. Explicar as funções encontradas no passo 1 usando a arvore construído no passo 2: combinando a informação dos passos anteriores (lista de funções a explicar e fe-tree) podem-se explicar as funções mostrando: o contexto onde foram invocadas (caminho desde a raíz até a função) e a tarefa que realizou para o sistema (sub-arvore que tem como raíz a função que está a ser explicada). Este processo aplica uma travessia por níveis sobre a fe-tree. Cada vez que se encontra um nó da fe-tree que pertence á lista de funções a explicar reporta-se o caminho desde esse nó até a raíz. Também é possível mostrar a sub-arvore que tem como raíz o nó analisado.
10 6 Conclução Neste artigo apresentamos os trabalhos realizados no contexto do desenvolvimento de nossa tese de doutoramento. As pesquisas estão relacionadas com: Modelos Cognitivos, Visualização de Software e Métodos de Extracção da Informação. Cada uma destas temáticas permite-nos extrair aspectos importantes para construir estratégias e ferramentas úteis para a compreensão de programas. Como principais contribuições deste trabalho podemos mencionar: a sistematização dos conceitos utilizados no âmbito dos modelos cognitivos, a caracterização de varias vistas dum sistema de software, a elaboração dum esquema de instrumentação de código para a extracção de informação dinâmica e a criação da estratégia BORS. As primeiras duas contribuições são a nível teórico enquanto as últimas são teóricas e práticas. Os procedimentos práticos são parte dum sistema de compreensão e inspecção de programas denominado PICS. Este sistema tenta implementar inter-relação de domínios através de distintas vistas, usa BORS e instrumentação de código como estratégias para relacionar directamente os domínios de programa e do problema. Uma descrição detalhada pode ser vista em [6]. Actualmente os nossos esforços estão orientados a completar: o sistema de visualização do PICS com as caracterizações teóricas do tipo das descritas na secção 3, o esquema de instrumentação de código com a inserção de sentenças noutras partes do programa. Além disso desejamos implementar técnicas de elaboração de documentação de alto nível que usem a nossa sistematização de conceitos de Modelos Cognitivos. Por outra parte, e talvez paralelamente ás tarefas previamente mencionadas, pretendemos fazer uma análise de requisitos com o objectivo de implementar uma estratégia de relação operacional-comportamental que siga um caminho top-down. Referências 1. Abdelwahab Hamou-Lhadj.The Concept of Trace Summarization.PCODA: Program Comprehension through Dynamic Analysis.(2005), Franoise Balmas, Harald Werts, Rim Chaabane. DDGraph: a Tool to Visualize Dynamic Dependences. Program Comprehension through Dynamic Analysis (2005), Lieberman H. and Fry C., Bridging the Gulf Between Code and Behavior in Programming, ACM Conference on Computers and Human Interface, (1994). 4. Maria J. Varanda and P. Henriques, Sistematização da Animação de Programas, Ph.D Thesis, University of Minho, (2000). 5. Mario M. Beron, Pedro Henriques, Maria J. Varanda, Roberto Uzal. A System to understand Programs Written in C Language by Code Annotation. European Joint Conference on Theory and Practice of Software, (2007). 6. Mario M. Beron, Pedro Henriques, Maria J. Varanda, Roberto, Program Inspection to interconnect Behavioral and Operational Views for Program Comprehension, Internal Report. University of Minho - National University of San Luis, (2007). 7. Moher T. G., {PROVIDE}: A Process Visualization and Debugging Environment, IEEE Transactions on Software Engineering, 14 (1988),
Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia maisCiclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental
CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS Elicitação Ciclo de Vida Clássico ou Convencional O Modelo Cascata Análise Ana Paula Terra Bacelo Blois Implementação Material Adaptado do Prof. Marcelo Yamaguti
Leia maisGereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática
Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 GereComSaber Ana Duarte, André Guedes, Eduardo
Leia maisAMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
Leia maisDEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS
DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS Planificação Anual da Disciplina de TIC Módulos 1,2,3-10.ºD CURSO PROFISSIONAL DE TÉCNICO DE APOIO À GESTÃO DESPORTIVA Ano Letivo 2015-2016 Manual adotado:
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisPONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:
Leia maisGereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios
Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática 3ºAno Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/2010 GereComSaber Sistema de
Leia maisModelo Cascata ou Clássico
Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação
Leia maisTECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite
Leia maisA VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO
DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,
Leia maisARQUITECTURAS DE SOFTWARE
ARQUITECTURAS DE SOFTWARE AULAS Nº 8 e 9 7-21/12/2007 F. Mário Martins Case Studies: Ligação das partes Use Case Diagram Use Case Specification Passo 1: ---------- Passo 2: ---------- Passo 3: ----------
Leia maisGeração de código intermediário. Novembro 2006
Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia maisUniversidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Leia maisALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA
ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisAlgoritmos e Estrutura de Dados III. Árvores
Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas
Leia maisAnálise de Sistemas. Conceito de análise de sistemas
Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de
Leia maisDiagrama de transição de Estados (DTE)
Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem
Leia maisArquitecturas de Software Licenciatura em Engenharia Informática e de Computadores
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:
Leia maisSISTEMAS DE INFORMAÇÃO PARA GESTÃO
07-05-2013 1 SISTEMAS DE INFORMAÇÃO PARA GESTÃO Aula I Docente: Eng. Hercílio Duarte 07-05-2013 2 Objectivo Sistemas Modelos Dados Vs. Informação Introdução aos sistemas de Informação 07-05-2013 3 Introdução
Leia maisMódulo 15 Resumo. Módulo I Cultura da Informação
Módulo 15 Resumo Neste módulo vamos dar uma explanação geral sobre os pontos que foram trabalhados ao longo desta disciplina. Os pontos abordados nesta disciplina foram: Fundamentos teóricos de sistemas
Leia maisENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000
ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário Gestão da Qualidade 2005 1 As Normas da família ISO 9000 ISO 9000 descreve os fundamentos de sistemas de gestão da qualidade e especifica
Leia maisFigura 1 - O computador
Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...
Leia maisProgramação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
Leia maisComputação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.
Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia
Leia maisConceitos básicos de programação
O QUE É UM PROGRAMA? Para executar uma dada tarefa é geralmente necessário entender o sistema onde ela é realizada. Por exemplo, para fazer um bolo temos um sistema composto por: Ingredientes Cozinheiro
Leia maisOrientação à Objetos. Aécio Costa
Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual
Leia maisAjuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental
Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma
Leia maisAnálise semântica. Análise Semântica. Estrutura de um compilador. Anotação da árvore sintática. Tipos de comunicação de atributos?
Estrutura de um compilador Análise semântica Tradução orientada pela sintaxe 1 2 Análise Semântica Anotação da árvore sintática Análise semântica: Tipos (& Declarações) Escopo Checagens estáticas: Idéia:
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisPossui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.
3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisUniversidade da Beira Interior
Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia maisEscola Secundária de Camarate
Escola Secundária de Camarate Ano Lectivo 2014/2015 Planificação da Disciplina de Tecnologias da Informação e Comunicação Curso Profissional de Técnico Auxiliar de Saúde e Técnico de Restauração e Bar
Leia maisTECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado
Escola Básica e Secundária de Velas Planificação de TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC Curso Profissional de Técnico de Secretariado 10º C MÓDULO 1 FOLHA DE CÁLCULO Microsoft Excel Conteúdos
Leia maisMódulo de Administração de Utilizadores
base Módulo de Administração de Utilizadores Versão 2.0 Manual do utilizador Janeiro 2002 Ficha técnica Título BIBLIObase : Módulo de Administração de Utilizadores: versão 2.0 : manual do utilizador Autores
Leia maisUML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
Leia maisBanco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]
1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto
Leia mais1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio:
1. Conceitos de sistemas Conceitos da Teoria de Sistemas OPTNER: É um conjunto de objetos com um determinado conjunto de relações entre seus objetos e seus atributos. TILLES: É um conjunto de partes inter-relacionadas.
Leia maisTécnicas de Teste de Software
Técnicas de Teste de Software Luis Renato dos Santos FAES - UFPR 2011 Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 1 / 23 Sumário Introdução Fundamentos de Teste de Software
Leia maisAula 03 Teoria Geral dos Sistemas: Dados x Informação x Conhecimento
Curso de Sistemas de Informação Aula 03 Teoria Geral dos Sistemas: Dados x Informação x Conhecimento Professora: Germana Rolim Semestre 2010.2 Agenda 1. Sistemas de Informação 2. Conceitos de Dados, Informação
Leia maisÁrvores Binárias Balanceadas
Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios
Leia maisDirecção Regional de Educação do Algarve
MÓDULO 1 Folha de Cálculo 1. Introdução à folha de cálculo 1.1. Personalização da folha de cálculo 1.2. Estrutura geral de uma folha de cálculo 1.3. O ambiente de da folha de cálculo 2. Criação de uma
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Microsoft Word Folha
Leia maisAnálise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisBanco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses
Leia maisPLANIFICAÇÃO ANUAL DE CONTEÚDOS
ESCOLA SECUNDÁRIA DE MANUEL DA FONSECA Curso Profissional: Técnico de Gestão e Equipamentos Informáticos PLANIFICAÇÃO ANUAL DE CONTEÚDOS GRUPO 550 CICLO DE FORMAÇÃO 2012/2015 ANO LECTIVO 2012/2013 DISCIPLINA:
Leia maisEngenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.
Leia mais2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro
2. ALGORITMOS Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 2 - Algoritmo 2.1: Introdução Antes de se utilizar uma linguagem de computador,
Leia maisPLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016
PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016 CURSO/CICLO DE FORMAÇÃO Técnico de Eletrotecnia e Técnico de Gestão de Equipamentos Informáticos / 2015/2018 DISCIPLINA: Tecnologias da Informação e Comunicação
Leia mais12 EXCEL MACROS E APLICAÇÕES
INTRODUÇÃO O principal objetivo deste livro é auxiliar o leitor na sua aprendizagem sobre os recursos avançados do Excel em especial na interligação com o Visual Basic for Applications (VBA). Pretende-se
Leia maisRequisitos de Software
Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,
Leia maisProfº. Enrique Pimentel Leite de Oliveira
Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam
Leia maisBase de Dados para Administrações de Condomínios
Base de Dados para Administrações de Condomínios José Pedro Gaiolas de Sousa Pinto: ei03069@fe.up.pt Marco António Sousa Nunes Fernandes Silva: ei03121@fe.up.pt Pedro Miguel Rosário Alves: alves.pedro@fe.up.pt
Leia maisCapítulo. Sistemas de apoio à decisão
Capítulo 10 1 Sistemas de apoio à decisão 2 Objectivos de aprendizagem Identificar as alterações que estão a ter lugar na forma e função do apoio à decisão nas empresas de e-business. Identificar os papéis
Leia maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisSistemas de Informação I
+ Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas
Leia maisCurso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:
Trabalho elaborado por: Carlos Palma nº5608 Curso de Eng. Informática Linguagens de Programação C Sharp University Data Processing (C Sharp Universidade de Processamento de Dados) Docente: José Jasnau
Leia maisIntrodução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
Leia maisDEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS (GRUPO INFORMÁTICA) Ano Letivo de 2014/2015 MÓDULO 1 FOLHA DE CÁLCULO
Ensino Regular Diurno Disciplina: T.I.C. Professores: Margarida Afonso Curso Profissional - Técnico de Auxiliar de Saúde Ano: 10.º Turma(s): TAS MÓDULO 1 FOLHA DE CÁLCULO OBJECTIVOS Indicar as principais
Leia maisFaculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu
1 Programação Não Linear Aula 25: Programação Não-Linear - Funções de Uma única variável Mínimo; Mínimo Global; Mínimo Local; Optimização Irrestrita; Condições Óptimas; Método da Bissecção; Método de Newton.
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisProgramação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente
Leia maisE/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética
2 PARADIGMA IMPERATIVO 2.1 CONCEITO As linguagens que pertencem ao paradigma imperativo tomam por base a perspectiva da máquina. Ou seja, no modo como o computador executa programas em linguagem de máquina.
Leia maisADM041 / EPR806 Sistemas de Informação
ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes
Leia maisRock In Rio - Lisboa
Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem
Leia maisUML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Leia maisComponentes da linguagem C++
Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras
Leia maisTrabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores
Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação
Leia maisSumário. Uma visão mais clara da UML
Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da
Leia maisPragmática das Linguagens de Programação 2004/2005
Instituto Superior Técnico Pragmática das Linguagens de Programação 2004/2005 Segundo Exame 11/2/2005 Número: Turma: Nome: Escreva o seu número em todas as folhas do teste. O tamanho das respostas deve
Leia maisApostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi
Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia
Leia maisCONVENÇÃO DE CÓDIGO JAVA
CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisBanco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas
Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar
Leia maisNa medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.
1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade
Leia maisMódulo 4. Construindo uma solução OLAP
Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de
Leia maisModelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.
Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever
Leia maisGereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios
Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática 3ºAno Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/2010 GereComSaber Sistema de
Leia maisExemplo de aplicação Car Parking 1in1out
Animator Exemplo de aplicação Car Parking 1in1out Neste documento será apresentado um exemplo de aplicação de um parque de estacionamento com uma entrada, uma saída, e três lugares livres de estacionamento.
Leia mais15 Computador, projeto e manufatura
A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as
Leia maisSistema de Certificação de Competências TIC
Sistema de Certificação de Competências TIC Portal das Escolas Manual de Utilizador INDICE 1 Introdução... 5 1.1 Sistema de formação e certificação de competências TIC...6 1.1.1 Processo de certificação
Leia maisDEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização
Leia maisTIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.
Conceitos relativos à Informação 1. Informação O que á a informação? Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. 2. Dados Em informática designa-se
Leia maisSistemas de Banco de Dados Aspectos Gerais de Banco de Dados
Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma
Leia mais21/03/2012. WorkFlow. Gestão Eletrônica de Documentos. Workflow HISTÓRICO
WorkFlow Gestão Eletrônica de Documentos Workflow HISTÓRICO 1 CSCW - Computer-supported CooperativeWork trabalho cooperativo auxiliado por computador Estudo dos conceitos que definem e desenvolvem o trabalho
Leia maisOrganização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores
Leia maisAlgoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br
(Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Leia maisMicrosoft Office PowerPoint 2007
INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em
Leia maisEngenharia de Software Sistemas Distribuídos
Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software
Leia mais