TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Engenharia Software

Artigos Científicos: Engenharia Software. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  9/5/2013  •  3.586 Palavras (15 Páginas)  •  1.396 Visualizações

Página 1 de 15

INTRODUÇÃO

Neste trabalho será abordada toda a matéria do 3º Semestre, dentro deste contexto serão apresentados os conceitos de listas lineares, FIFO, FILO, seus apontadores, ordens de inclusão, exclusão e pesquisa. Definirei também os conceitos de alocação simplesmente encadeada, alocação duplamente encadeada, com representações gráficas das duas.

Em relação a banco de dados, definirei os conceitos das propriedades ACID de uma transação e sua importância para um SGBD; e serão apresentadas duas ferramentas para se fazer ORM, bem como a explanação sobre o que é ORM e seus paradigmas.

No

que tange a UML será mostrado os conceitos de polimorfismo e herança, bem como exemplos que os representem em diagramas de classe.

LISTAS LINEARES

Lista Linear é a estrutura que permite representar um conjunto de dados afins, de forma a preservar a relação de ordem linear de seus elementos.

Exemplos diários de listas lineares:

- Letras de uma palavra

- Palavras de uma frase

- Pessoas esperando ônibus

fifo

As listas são amplamente utilizadas em programação para implementar filas de espera. Em uma fila de tipo FIFO os elementos vão sendo colocados na fila e retirados (ou processados) por ordem de chegada. A ideia fundamental da fila é que só podemos inserir um novo elemento no final da fila e só podemos retirar o elemento do início.

Como exemplo de aplicação para filas, pode-se citar a fila de processos de um sistema operacional. Nela, é estabelecido um tempo a ser usado por cada um dos processos. Se durante a execução de um processo o tempo passa de a, este é posto na fila e o processo seguinte é executado. Se o processo seguinte não terminar de ser executado no tempo, ele é posto na fila e o processo subsequente é executado, e assim por diante até todos os processos serem executados.

Aplicações FIFO

Os algoritmos FIFO's são comumente usados em circuitos eletrônicos de buffer e controle de fluxo, que vai desde o hardware até o software. Na forma de um hardware o FIFO consiste basicamente de um conjunto de ler e escrever ponteiros, armazenamento e lógica de controle. Armazenamento pode ser SRAM, flip-flops, fechos ou

qualquer outra forma adequada de armazenamento. Para o FIFO, de tamanho não trivial, uma SRAM de porta dupla geralmente é utilizada quando uma porta é usada para a escrita e a outra para leitura.

O FIFO síncrono aonde o mesmo clock é usado para leitura e escrita. Um FIFO assíncrono utiliza diferentes relógios para leitura e escrita. Uma aplicação comum de um FIFO assíncrono utiliza um código de Gray (código binário refletido), ou qualquer unidade de código à distância, para ler e escrever os ponteiros para garantir a geração de bandeira confiável. Uma nota mais preocupante é que se deve necessariamente usar a aritmética de ponteiro para gerar bandeiras para implementações assíncronas FIFO. Por outro lado, pode-se usar a abordagem de um balde "de fuga" ou a aritmética de ponteiro para gerar bandeiras nas implementações síncronas FIFO.

Exemplos de sinalizadores de status FIFO incluem: cheios, vazios, quase cheio, quase vazio, etc.

Vantagens e Desvantagens do FIFO

* Vantagens:

* O mais simples entre os processos de escalonamento;

* Todos os processos tendem a serem atendidos.

* Desvantagens:

* Muito sensível à ordem de chegada;

* Se processos maiores chegarem primeiro aumentarão o tempo médio de espera;

* Não garante um tempo de resposta rápido;

* Não é eficiente em sistemas de tempo compartilhado;

* Não é eficiente em sistemas em tempo real.

filo

Em ciência da computação, a FILO (First In, Last Out, que em português significa primeiro a entrar, ultimo a sair) refere-se a estruturas de dados do

tipo pilha. É equivalente a LIFO, que significa Last In, First Out.

O conceito de pilha é amplamente utilizado na informática, como, por exemplo, durante a execução de um programa, para o armazenamento de valores de variável local a um bloco e também para conter o endereço de retorno do trecho de programa que chamou a função ou procedimento atualmente em execução.

Usam-se os termos push e pop para denominar a inserção e remoção de elementos da pilha, respectivamente. Usa-se o termo top para consultar o elemento do topo da pilha, sem o remover.

Uma pilha é uma lista linear na qual o primeiro elemento a entrar é o último elemento a sair. Ela possui apenas uma entrada, chamada de topo, a partir da qual os dados entram e saem dela.

ALOCAÇÃO SIMPlISmente Encadeada

A maneira mais simples de acomodar uma lista linear em computador é através da utilização de um vetor. A representação por vetor explora a sequencialidade da memória de tal forma que os nós de uma lista sejam armazenados em endereços contíguos, ou igualmente distanciados um do outro.

X1 X2 X3 X4 X5 X6 Xn-1 Xn

Exemplos de algoritmos para as operações de inserção e retirada de um elemento numa pilha com alocação contígua:

VARIÁVEIS: TOPO (índice que indica a última posição ocupada)

MÁXIMO (variável cujo valor representa o tamanho do vetor)

VALOR (elemento incluído/retirado)

INICIO INSERIR

SE TOPO = MAXIMO ENTÃO

“OVERFLOW”

SENÃO

TOPO := TOPO + 1

VETOR[TOPO] := VALOR

FIM SE

FIM

INICIO RETIRAR

SE TOPO = 0 ENTÃO

“UNDERFLOW”

...

Baixar como (para membros premium)  txt (23.2 Kb)  
Continuar por mais 14 páginas »
Disponível apenas no TrabalhosGratuitos.com