Upload
erick-tell-regis
View
2.059
Download
22
Embed Size (px)
Citation preview
SISTEMA DE ENSINO PRESENCIAL CONECTADO
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
ERICK TELL REGIS SILVA
PORTFÓLIO INDIVIDUAL
João Pessoa
2011
ERICK TELL REGIS SILVA
PORTFÓLIO INDIVIDUAL
Trabalho apresentado ao Curso Análise e
Desenvolvimento de Sistemas da UNOPAR -
Universidade Norte do Paraná, 3º Semestre.
João Pessoa
2011
3
Sumário
1) Introdução ----------------------------------------------------------------------------- 4
2) Desenvolvimento -------------------------------------------------------------------- 5
3) Conclusão ----------------------------------------------------------------------------- 13
4
1) INTRODUÇÃO
Este trabalho apresenta a produção textual interdisciplinar
individual do 3º semestre do curso de Análises e Desenvolvimento de
Sistemas. A divisão do trabalho foi efetuada de acordo com cada
disciplina apresentada no módulo.
1 – Algoritmos
Sobre listas lineares defina os conceitos de FIFO, FILO, seus
apontadores suas ordens as para inclusão, exclusão e pesquisa,
coloque exemplos do cotidiano e da informática sobre listas lineares.
Defina também os conceitos de alocação simplesmente encadeada,
alocação duplamente encadeada, represente graficamente as duas
alocações de encadeamento e responda e qual delas tem maiores
vantagens e motivo.
2 – Banco de Dados II
Definição dos conceitos das propriedades ACID de uma
transação.
3 – Programação Orientada a Objetos
Qual a vantagem de se utilizar Orientação a Objetos? Como e
quando é utilizado o Polimorfismo?
4 – Análises de Sistemas II
O que é um atributo derivado e como representá-lo no diagrama
de classe?
5
2) Desenvolvimento
2.1) Lista Lineares
É uma estrutrura de dados que corresponde a uma sequência ordenada
de elementos do mesmo tipo. Estes elementos denominados nós, podem
conter, cada um, um dado primitivo ou um dado composto. Uma estrutura de
dado bem projetada permite a manipulação eficiente, em tempo e em espaço,
dos dados armazenados através de operações específicas.
É uma lista linear em que todas as inserções de novos elementos são
realizadas numa extremidade da lista e todas as remoções são feitas na outra
extremidade.
Exemplos diários:
- Pessoas esperando ônibus
- Letras de uma palavra
- Palavras de uma frase
2.1.1) Conceito de FIFO
FIFO (“First In First Out”) – O Primeiro elemento que entrou é o primeiro
a sair. A informação é processada pela ordem que foi recebida, isto é, o
primeiro elemento a ser inserido é o primeiro elemento a ser eliminado.
Uma fila é uma estrutura do tipo FIFO (“First In First Out”). Elementos
novos são inseridos no lado In (fim da fila) e a retirada ocorre no lado Out
(frente ou começo da fila). As listas são amplamente utilizadas
em programação para implementar filas de espera. A idéia fundamental da fila
é que só podemos inserir um novo elemento no final da fila e só podemos
retirar o elemento do início.
Campos de aplicação das filas:
6
- Filas de espera em diversos domínios
- Algoritmos para a representação de processos que envolvem a partilha e
distribuição de recursos (timesharing).
- Recursividade (algoritmos recursivos)
Um exemplo do cotidiano é a Fila de Banco, onde a sequência de atendimento
será de acordo com a ordem de chegada.
Um exemplo na área da Informática é o Sistema Operacional, os processos
prontos para entrar em execução são geralmente mantidos numa fila.
2.1.2) Conceito de FILO
Ao Contrário do FIFO, no FILO o último elemento que entrou é o
primeiro a sair. É uma lista linear em que todas as inserções, as remoções e os
acessos são feitos em uma única extremidade, chamada topo.
Um FILO (“First In Last Out”) refere-se à estrutura de dados do tipo Pilha. Uma
Pilha é uma lista linear na qual o primeiro elemento a entrar é o último
elemento a sair. Como o último elemento que entrou na pilha será o primeiro a
sair da pilha, a pilha é conhecida como uma estrutura do tipo LIFO (“Last In
First Out”).
Exemplos:
Na vida real: pilhas de pratos numa cafeteria (acréscimos e retiradas de
pratos sempre feitos num mesmo lado da pilha - lado de cima)
Na execução de um programa: uma pilha pode ser usada na chamada
de procedimentos, para armazenar o endereço de retorno (e os parâmetros
reais). A medida que procedimentos chamam outros procedimentos, mais e
mais endereços de retorno devem ser empilhados. Estes são desempilhados à
medida que os procedimentos chegam ao seu fim.
7
2.1.3) Alocação Simplesmente Encadeada
As posições de memória são alocadas na medida em que são
necessárias (ou dispensadas). Os nós de uma lista encontram-se
aleatoriamente dispostos na memória e são interligados por ponteiros, que
indicam a posição de memória (endereço) do próximo elemento. Qualquer
estrutura, inclusive listas, que seja armazenada em alocação encadeada requer
o uso de um ponteiro que indique o endereço de seu primeiro nó. O percurso
de uma lista é feito, então, a partir desse ponteiro.
Listas encadeadas são estruturas flexíveis onde a cada novo elemento
inserido na estrutura é alocado um espaço de memória para que seja
processado seu armazenamento. Uma lista encadeada é uma coleção de nós,
que armazenam dados, e de ligações com outros nós. Os nós podem estar
localizados agora em qualquer lugar da memória, e a passagem de um nó para
o outro se dará através do armazenamento dos endereços de outros nós. Na
lista encadeada cada nó conterá um ou mais campos responsáveis pelo
armazenamento das informações, além de um campo que é um ponteiro para
uma próxima estrutura do mesmo tipo.
A Figura lista encadeada mostra como seria uma lista usando ponteiros
para encadear os elementos da lista. O ponteiro pt aponta para o nó inicial da
lista. Cada nó está representado por um retângulo dividido em duas partes.
Uma das partes contém a informação e a outra o ponteiro para o próximo nó.
Observar que o no último nó a seta aponta para a terra, que indica fim da lista.
8
2.1.4) Alocação Duplamente Encadeada
A lista duplamente encadeada possui maior facilidade de acesso aos
nós da lista possibilitando uma maior manipulação das informações e da
própria lista.
É necessário redefinir a estrutura do nó da lista com um novo ponteiro que irá
apontar para o nó anterior e com isso interligará a lista em que pode obter uma
busca tanto para direita da lista como para a esquerda da lista.
Na criação da lista continua com o conceito de lista encadeada em que os
ponteiros “inicio” e “fim” permanecem com valores nulos para a que a lista
possa ser iniciada.
Para inserir novos valores na lista duplamente encadeada é necessário que os
ponteiros que apontam para o próximo nó e para o anterior estejam
devidamente programados para que a lista não possua ponteiros inutilizados
com a inserção de novos nós.
Esse método de inserção de valores insere novos valores no inicio da lista em
que agora é preciso que o novo ponteiro que aponta para o nó anterior precisa
ser definido.
A lista duplamente encadeada é o melhor método de listas, visto
que, facilita o programador na implementação de métodos que aumentam
a capacidade de armazenar mais informações da lista de forma que essas
informações possam ser encontradas com uma maior praticidade e
também na organização dessas informações.
9
2.2) Banco de Dados
2.2.1) ACID
Do ponto de vista de gerenciadores de dados (bancos de
dados), ACID são propriedades fundamentais nos processos transacionais,
pois garantem a consistência da base de dados. As 4 propriedades que
definem o termo ACID são:
Atomicidade - Capacidade de uma transação ter todas as suas operações
executada ou nenhuma delas. A propriedade de atomicidade garante que as
transações sejam atômicas (indivisíveis).
Exemplo: Em uma transferência de valores entre contas bancárias, é
necessário que, da conta origem seja retirado um valor X e na conta destino
seja somado o mesmo valor X. As duas operações devem ser completadas
sem que qualquer erro aconteça, caso contrário todas as alterações feitas
nessa operação de transferência devem ser desfeitas;
Consistência - Os dados de um Banco de Dados devem permanecer íntegros
após qualquer transação, transação esta que deve respeitar restrições e pré-
requisitos impostos pelo SGBD.
Exemplo: Uma fotografia é tirada dos dados de um banco de dados. Este é o
estado do BD. Após a fotografia, é feita uma transação neste BD e retira-se
uma nova foto. Se na primeira o BD (Banco de Dados) estava consistente,
então na segunda ele tem que estar também.
Isolamento - Uma transação deve ser executada como se estivesse isolada
das demais. Isto é, a execução de uma transação não deve sofrer interferência
de quaisquer outras transações concorrentes.
10
Durabilidade - Indica que depois de uma transação ser executada com
sucesso, as alterações efetuadas persista e não sejam desfeitas.Essas
mudanças não devem ser perdidas em razão de uma falha.
O ACID é muito importante para um BD, pois é este conjunto de
características que garante a qualidade e segurança (contra falhas do sistema)
das transações, obtendo assim bons resultados no armazenamento correto das
informações
2.3) Programação Orientada a Objetos
2.3.1) Qual a vantagem de se utilizar Orientação a Objetos?
O uso de objetos na modelagem torna mais fácil descrever as estruturas e o
comportamento existente no mundo real fazendo com que problemas sejam mais
facilmente identificados;
Maior facilidade para reutilização de código e por conseqüência do
projeto – possibilidade do desenvolvedor trabalhar em um nível mais elevado
de abstração – utilização de um único padrão conceitual durante todo o
processo de criação de software – maior adequação à arquitetura
cliente/servidor – maior facilidade de comunicação com os usuários e com
outros profissionais de informática.
2.3.2) Como e quando é utilizado o Polimorfismo?
Polimorfismo é a propriedade que permite que a mesma mensagem
possa ser respondida de forma diferente por duas ou mais classes.
A aplicação do polimorfismo torna o código mais legível, facilita
manutenção dos sistemas, pois permite que se utilize métodos com o mesmo
11
nome para objetos diferentes. A mesma operação, que foi implementada
através da codificação um método, pode atuar de modo diferente em classes
diferentes. Isto significa que objetos diferentes podem responder a uma mesma
mensagem de forma diferente.
Com o Polimorfismo, os mesmos atributos e objetos podem ser
utilizados em objetos distintos, porém, com implementações lógicas diferentes.
Por exemplo: podemos assumir que uma bola de futebol e uma camisa
da seleção brasileira são artigos esportivos, mais que o cálculo deles em uma
venda é calculado de formas diferentes.
Tipos Clássicos de Polimorfismo:
1) De operadores (distinção pelo tipo do elemento): já vem
implementado em todas as linguagens. Por exemplo, se você deseja somar
dois números inteiros.
2) Redefinição de operadores: utilizada quando necessita-se de
operações que normalmente não são disponíveis na linguagem de
programação.Por exemplo, soma de matrizes.
3) Dois métodos iguais na mesma classe: distinguem-se pelo número
e/ou tipo de parâmetros ou objetos referenciados.
12
2.4) Análise de Sistemas II
Um atributo de uma classe é uma propriedade da classe, é como que
um adjetivo que descreve essa classe.
Atributos Derivados são atributos derivados de outros atributos ou
originados de algum calculo. O valor de um atributo derivado é determinado em
função dos valores de atributos essencias e de outros atributos derivados.
Exemplo de emprego de atributos derivados no diagrama de classes:
Descrição Voo
- Hora partida Prevista
-Duração Prevista
/ Hora Chegada Prevista
No caso da classe descrição do voo, a hora de
chegada prevista pode ser calculada a partir dos outros dois
campos. Por isso é um atributo derivado.
Um atributo derivado é denotado através da / antes
do seu nome.
13
3) Conclusão
Neste trabalho foi realizado um estudo e desenvolvido conceitos, exemplos e
situações sobre as disciplinas solicitadas no 3º semestre do Curso de Analises
de Sistema.