1. O documento discute conceitos de algoritmos, banco de dados, programação orientada a objetos e análise de sistemas. 2. Inclui definições de listas lineares, propriedades ACID, vantagens da orientação a objetos e o que é um atributo derivado. 3. O resumo aborda os principais tópicos de cada seção para fornecer uma visão geral do conteúdo do documento.
3. ATIVIDADE INTERDISCIPLINAR
Trabalho apresentado a produção textual interdiciplicar
indivual do 3º semestre do curso de analise e
desenvolvimento de sistemas da Universidade Norte do
Paraná - UNOPAR
5. SUMÁRIO
1
INTRODUÇÃO 3
2
DESENVOLVIMENTO
2.1
algoritmos
2.1.1
4
4
Listas Lineares
4
2.1.1.1 Conceito de FIFO (First In First Out)
4
2.1.1.2 Conceito de FILO (First in, Last Out) 5
2.1.1.3 Alocação Simplesmente Encadeada 5
2.1.1.4 Alocação Duplamente Encadeada
2.2
banco de dados
2.2.1
ACID
5
6
6
2.2.1.1 Atomicidade
6
2.2.1.2 Consistência
6
2.2.1.3 Integridade
7
2.2.1.4 Durabilidade
7
2.3
programação orientada a objetos 7
2.3.1
Qual a vantagem de se utilizar Orientação a Objetos?
2.3.2
Como e quando utiliza-se polimorfismo?
2.4
7
8
análise de sistemas 9
2.4.1 O que é um atributo derivado e como representa-lo no diagrama de classe?
9
1
CONCLUSÃO 10
REFÊRENCIAS..........................................................................................................11
74743785
6. 1 INTRODUÇÃO
Será abordado nesse trabalho a produção textual interdisciplinar
individual do 3º semestre do curso de análise e desenvolvimento de sistemas e tem
como objetivo aplicar os conceitos das disciplinas apresentadas.
1 – Algoritmos
Pesquisa sobre listas lineares definindo os conceitos de FIFO, FILO,
seus apontadores suas ordens para inclusão, exclusão e pesquisa, exemplos do
cotidiano e da informática sobre listas lineares. Definição dos conceitos de alocação
simplesmente encadeada, alocação duplamente encadeada, representação grafica das
duas alocações de encadeamento e resposta a qual delas tem maiores vantagens e o
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
utiliza-se polimorfismo?
4 – Análise de Sistemas II
O que é um atributo derivado e como representa-lo no diagrama de
classe?
7. 2 DESENVOLVIMENTO
2.1 ALGORITMOS
2.1.1 Listas Lineares
Uma lista linear é um conjunto de n elementos (de
informações.
Exemplos diarios de listas lineares:
- Pessoas esperando em uma fila.
- Letras do alfabeto
2.1.1.1 Conceito de FIFO (First In First Out)
FIFO – First In, First Out, que significa “Primeiro a entrar, primeiro a
sair”,
referindo-se
a
estrutura
de
dados
do
tipo
fila.
Em uma fila do tipo FIFO os elementos são colocados na fila e
retirados por ordem de chegada. Na fila só podemos inserir um novo elemento no final
da fila e só podemos retirar o elemento do inicio.
Vantagens:
•
O mais simples entre os processos de escalonamento
•
Todos os processos tendem a serem atendidos
Desvantagens:
•
Muito sensível a 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 HYPERLINK
"http://pt.wikipedia.org/wiki/Tempo_compartilhado"compartilhado.
•
Não é eficiente em sistemas em tempo real.
8. Exemplo do cotidiado: fila de bancos.
2.1.1.2 Conceito de FILO (First in, Last Out)
FILO – First In, Last Out, que significa “Primeiro a entrar, Ultimo a sair”,
refere-se a estrutura de dados do tipo pilha.
Uma pilha é uma lista linear na qual o primeiro elemento a entrar é o
ultimo a sair. Ela possui apenas uma entrada, chamada de topo, a partir da qual os
dados entram em saem dela.
.
Exemplos do cotidiado:
-Pilhas de pratos, pilhas de livros, etc.
2.1.1.3 Alocação Simplesmente Encadeada
É um tipo de estrutura de dados dinâmica compostas por nós
ligados apenas num sentido, isto é, do início para o fim.
Neste caso, INFO indica a informação do nodo que é do tipo string
(inteiro) onde pode ser armazenado o nome da pessoa, endereço, telefone entre
outros. PROX é o ponteiro, onde informa o endereço ou referência de memória do
próximo elemento.
2.1.1.4 Alocação Duplamente Encadeada
É um tipo de estrutura de dados diferente da simplesmente
encadeada porque é adicionado ao nodo um segundo apontador que identifica qual o
nodo antecessor. Exemplo:
Na lista duplamente encadeada, INFO continua sendo a informação do
nodo do tipo string, PROX continua sendo o ponteiro que informa qual o próximo
elemento da minha lista, e ANT é o ponteiro adicionado que permite saber qual o
elemento anterior.
Conclui-se que a desvantagem de utilizar duplamente
encadeada é que utiliza-se mais espaço em disco e a complexidade dos algoritmos
aumenta, mas a vantagem é que possibilita maior controle da lista, menos espaço em
disco, maior confiabilidade e mais segurança, com menos risco de perda da lista.
9. typedef struct celula
{
struct celula
*anterior;
/* ponteiro da celula anterior */
int
indice;
/* campo de dado
char
nome[15];
/* campo de dado */
struct no
*proxima;
*/
/* ponteiro da proxima célula */
} tipoCelula;
tipoCelula *cabeca, *cauda;
2.2 BANCO DE DADOS
2.2.1 ACID
De Atomicidade, Consistência, Integridade e Durabilidade.
2.2.1.1 Atomicidade
Dizemos que uma transação é atômica, pois a transação não é divisível
em partes, ou seja, a transação deve ser realizada por inteiro ou ela não
podeserrealizada.
Lembramos que uma transação pode ter várias operações de alteração de dados,
então ou cumprimos todas elas ou não realizamos nenhuma delas.
Ex. em uma transação realizamos a inclusão de um cliente novo, a
geração de uma nota fiscal e a baixa no estoque do produto vendido, ao final desta
transação, devemos confirmar a transação por inteiro e gravar todas estas operações,
10. se esta transação não se confirmar ao final, nenhuma destas operações pode ser
gravada no banco de dados, garantindo assim a atomicidade da transação.
2.2.1.2 Consistência
Uma transação quando inicia, os dados armazenados estão todos
consistentes, ao concluir a transação os dados devem estar consistentes novamente,
ou seja, as regras de negócio devem continuar sendo executadas e cumpridas.
.
2.2.1.3 Integridade
É também conhecida como Isolamento de transações.
Uma transação deve ser íntegra/isolada, ou seja, as regras de negócio
devem ser cumpridas durante a realização das operações na transação
independentemente de existirem mais transações simultaneamente e ao final delas,
esta integridade deve permanecer .
Ex. se for estabelecida uma regra de negócio onde um cliente de uma
vídeo locadora pode cadastrar até dois dependentes, mas que todo dependente deve
obrigatoriamente estar vinculado a um cliente, se um determinado cliente for deletado
do banco de dados, os dependentes deste cliente deverão ser deletados também, pois
se eles permanecerem no banco de dados, a integridade desta regra de negócio estará
comprometida e toda esta operação ocorrer simultaneamente a outras transações no
banco de dados, inclusive podendo ser nas mesmas tabelas ou não.
2.2.1.4 Durabilidade
Uma transação depois que for realizada e confirmada deve
obrigatoriamente ser durável, ou seja não pode desaparecer do banco de dados sem
que uma outra transação realize esta operação.
11. 2.3 PROGRAMAÇÃO ORIENTADA A OBJETOS
2.3.1Qual a vantagem de se utilizar Orientação a Objetos?
Maior reaproveitamento de código, Componentes bem modularizados
com funções bem definidas servindo a propósitos claros e delimitados (alta coesão)
podem ser reaproveitados, significando meno s código (e conseqüentemente, menor
custo de manutenção). A orientação a objetos trás vários recursos para produzir
componentes independentes intercambiáveis (encapsulamento, interfaces, etc),
promovendo o baixo acoplamento.
- Herança – torna o programa menor e facilita a manutenção. Utiliza-se as classes para
implementar novas funcionalidades podendo-se herdar o comportamento (que está
codificado) de outras classes anteriormente implementadas.
- Escalabilidade, que é a capacidade de uma aplicação adaptar-se facilmente às
exigências de novos requisitos do sistema sem aumentar muito a sua complexidade e
sem comprometer o desempenho. Para aumentar a escalabilidade a aplicação é
construída utilizando-se a composição de objetos e a troca de mensagens entre estes
objetos.
- O encapsulamento não permite que seja feito o acesso direto ao estado interno de um
objeto, isto é, oculta e protege as informações dos objetos. O acesso aos mesmos
deve ser feito através das mensagens que o objeto pode receber. O programador não
necessita conhecer o código, precisa apenas da documentação dos objetos para que
possa utilizá-los.
- A apropriação, que possibilita agrupar em classes os objetos com comportamento
semelhante e estas classes podem ser agrupadas em hierarquias de herança , pode
ser uma vantagem e também uma desvantagem. A vantagem é podermos utilizar um
agrupamento de objetos e fornecermos uma solução para um problema. A
desvantagem é que estes objetos serão tratados em grupos e não de forma individual.
12. 2.3.2 Como e quando utiliza-se polimorfismo?
A aplicação do polimorfismo torna o código mais legível, mais enxuto e
facilita manutenção dos sistemas pois permite que se utilize métodos com o mesmo
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.
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.
2.4 ANÁLISE DE SISTEMAS
2.4.1 O que é um atributo derivado e como representa-lo no diagrama de classe?
Um atributo derivado é um atributo cujo valor pode ser deduzido a
partir de outras informações. E é determinado em função dos valores de atributos
essênciais e de outros atributos derivados. Por outro lado, o valor de um atributo
essencial é determinado pelo estado interno de um objeto. Naturalmente, esta
classificação depende das diferentes visões que podemos ter da realidade.
.
13.
14. •
CONCLUSÃO
Com esse trabalho realizado buscou-se apresentar a matéria solicitada
pelas quatro matérias do 3° semestre do curso de ADS.
15. REFÊRENCIAS
Tanaka, Simone Sawasaki
Análise de sistemas II: sistemas / Simone Sawasaki Tanaka. –
São Paulo: Pearson Prentice Hall, 2009
Nishimura, Roberto Yokio
Banco de dados II: sistemas / Roberto Yukio Nishimura. –
São Paulo: Pearson Prentice Hall, 2009
http://www.cin.ufpe.br/~gamr/FAFICA/Desenvolvimento%20de%20si
stemas/XP.pdf
http://pt.wikipedia.org/wiki/Orientado_a_objeto
http://pt.wikipedia.org/wiki/Algoritmo#An.C3.A1lise_de_algoritmos