Portifolio

14
ROGERIO RODRIGUES DE OLIVEIRA SISTEMA DE ENSINO PRESENCIAL CONECTADO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ATIVIDADE INTERDISCIPLINAR INDIVIDUAL

description

 

Transcript of Portifolio

Page 1: Portifolio

ROGERIO RODRIGUES DE OLIVEIRA

SISTEMA DE ENSINO PRESENCIAL CONECTADOSUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE

SISTEMAS

ATIVIDADE INTERDISCIPLINAR INDIVIDUAL

Page 2: Portifolio

castanhal - pa2013

ROGERIO RODRIGUES DE OLIVEIRA

ATIVIDADE INTERDISCIPLINAR

Page 3: Portifolio

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

castanhal2013

Page 4: Portifolio

SUMÁRIO

1 INTRODUÇÃO 3

2 DESENVOLVIMENTO 4

2.1 algoritmos 4

2.1.1 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 5

2.2 banco de dados 6

2.2.1 ACID 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 objetos7

2.3.1 Qual a vantagem de se utilizar Orientação a Objetos? 7

2.3.2 Como e quando utiliza-se polimorfismo? 8

2.4 análise de sistemas9

2.4.1 O que é um atributo derivado e como representa-lo no diagrama de classe? 9

1 CONCLUSÃO 10REFÊRENCIAS..........................................................................................................11

74743785

Page 5: Portifolio

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 IIO que é um atributo derivado e como representa-lo no diagrama de classe?

Page 6: Portifolio

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.

Page 7: Portifolio

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.

typedef struct celula

Page 8: Portifolio

{

    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, 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.

.

Page 9: Portifolio

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.

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

Page 10: Portifolio

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.

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.

Page 11: Portifolio

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.

.

Page 12: Portifolio

• CONCLUSÃO

Com esse trabalho realizado buscou-se apresentar a matéria solicitada

pelas quatro matérias do 3° semestre do curso de ADS.

Page 13: Portifolio

REFÊRENCIAS

Tanaka, Simone Sawasaki Análise de sistemas II: sistemas / Simone Sawasaki Tanaka. –

São Paulo: Pearson Prentice Hall, 2009Nishimura, 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%20sistemas/XP.pdf

http://pt.wikipedia.org/wiki/Orientado_a_objeto

http://pt.wikipedia.org/wiki/Algoritmo#An.C3.A1lise_de_algoritmos