Apostila de algoritmos - com exercicios

Apostila de algoritmos - com exercicios

(Parte 1 de 8)

UFU – Universidade Federal de Uberlândia Faculdade de Computação

Apostila de Introdução a Algoritmos

Prof. Luiz Gustavo Almeida Martins

UFU – Universidade Federal de Uberlândia Faculdade de Computação Introdução a Algoritmos

1. Resolução de Problemas pelo Computador

! O computador é uma ferramenta que permite a realização do processamento de dados.

! Passos para resolução de problemas:

" Entendimento do Problema " Criação de uma seqüência de operações para solução do problema " Execução desta seqüência " Verificação da adequação da solução ! O computador desempenha apenas uma parte deste processo (3º passo).

2. Fases de Desenvolvimento de Sistemas O processo de desenvolvimento de sistemas de programação é dividido em 4 fases:

2.1. Análise e Especificação de Requisitos

! Um sistema de programação deve satisfazer as necessidades de seus usuários, as quais são expressas na forma de requisitos.

Dados de Entrada

Procesamento

((Transformação)) Dados de

Saída

Análise de

Requisitos Problema Especificação

Programas Produto

Projeto e DesenvolvimentoManutenção

Testes e Validação

Prof. Luiz Gustavo A. Martins Pág.:1/28

UFU – Universidade Federal de Uberlândia Faculdade de Computação

Requisito = ação que deve ser executada pelo sistema. (Ex: registrar as notas dos alunos, calcular a média final, etc.)

! O levantamento destes requisitos e o seu refinamento (detalhamento) devem ser realizados junto com o usuário e registrado em um documento.

! O sucesso do sistema depende de 3 fatores:

" Quão bem o sistema captou os requisitos expressos; " Quão bem os requisitos captaram as necessidades; " Quão bem as necessidades refletem a realidade.

2.2. Projeto e Desenvolvimento do Sistema

! A partir do documento de análise de requisitos, projeta-se o sistema de programação:

! Este processo é dividido em 3 etapas:

" Projeto Preliminar: definição da estrutura modular do software, as interfaces e as estruturas de dados utilizadas;

" Projeto Detalhado: descrição detalhada de cada módulo definido no projeto preliminar (algoritmo);

" Codificação: migração das instruções do algoritmo para uma linguagem de programação previamente definida (programas).

2.3. Teste e Validação

! Tem por objetivo garantir que o sistema satisfaça os requisitos expressos.

! Consiste da realização de alguns tipos de testes com o intuito de encontrar erros. A inexistência de erros não representa a adequação operacional do sistema.

" Teste de módulo: é feito para garantir que o módulo atenda às funcionalidades previstas e às especificações de interface;

Solução Algorítmica

Programa de Computador

1ª Fase: Resolução do Problema

2ª Fase: Implementação (codificação)

Prof. Luiz Gustavo A. Martins Pág.:2/28

UFU – Universidade Federal de Uberlândia Faculdade de Computação

" Teste de integração: é feito em uma agregação parcial de módulos e visa a detecção da inconsistências nas interfaces entre módulos;

" Teste de sistema: é efetuado durante a fase final de validação para assegurar que o sistema funcione de acordo com os requisitos;

" Teste de instalação: é realizado durante a instalação do sistema em seu ambiente real de operação, com o objetivo básico de verificar o seu funcionamento neste novo ambiente e corrigir possíveis falhas de instalação;

" Teste de validação: é feito junto ao usuário, o qual deve validar o perfeito funcionamento do sistema no seu ambiente real de operação, segundo os requisitos especificados e documentados na 1ª fase.

! Engloba qualquer alteração no sistema que se fizer necessária após a entrega do sistema.

! Tipos de Manutenção:

" Corretiva: visa a correção de erros/falhas;

" Incremental: visa a inclusão de novas funcionalidades e/ou a alteração dos requisitos originais.

(Parte 1 de 8)

Comentários