• Nenhum resultado encontrado

Computação e Programação

N/A
N/A
Protected

Academic year: 2021

Share "Computação e Programação"

Copied!
27
0
0

Texto

(1)

Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII

Aula Teórica 4

Computação e Programação

MEMec - LEAN 1º Semestre 2010-2011

• Construção de programas

• Actividades de teste a programas

• Processo de Desenvolvimento (PD)

• Modelo do PD

• Actividades do PD

(2)

José Borges Computação e Programação 2010/2011 3

• Construção de programas

Actividades de teste a programas

Processo de Desenvolvimento (PD)

Modelo do PD

Actividades do PD

Alinhamento da AT 4

Programa de Computador

“Um programa de computador é uma colecção de instruções que descreve uma tarefaa ser realizada por um computador.

O termo pode ser uma referência ao código fonte, escrito em alguma linguagem de programação, ou ao arquivo que contém a forma executáveldeste código fonte.”

(3)

José Borges Computação e Programação 2010/2011

Construção de programas

5

Consiste dodesenho da lógica que resolve um problema e sua codificaçãonum ambiente computacional, segue umprocesso de desenvolvimento,

segundo uma estratégia de problem-solving, por exemplo a abordagem Top-Down.

Abordagem Top – Down

• Abordagem para resolução de problemas tendo por base a realização de refinamentos sucessivos em sub-problemas, até à decomposição em tarefas elementares

• Os refinamentos ao mesmo nível hierárquico são como processos independentes,com entradase saídas. As comunicaçõesentre processos só se realizam de/para níveis hierárquicos diferentes, e nunca ao mesmo nível Problema Sub-problemas Tarefas T o p -D o w n

(4)

José Borges Computação e Programação 2010/2011

Abordagem Top – Down

7

• Abordagem para resolução de problemas tendo por base a realização de refinamentos sucessivos em sub-problemas, até à decomposição em tarefas elementares

• Os refinamentos ao mesmo nível hierárquico são como processos independentes,com entradase saídas. As comunicaçõesentre processos só se realizam de/para níveis hierárquicos diferentes, e nunca ao mesmo nível

• Esta abordagem permiteabstrair do funcionamento interno dos processos, focando só no resultado, i.e. na informação que é transmitida entre processos/níveis

• Dá origem à Programação Modular

Construção de programas

• Actividades de teste a programas

Processo de Desenvolvimento (PD)

Modelo do PD

Actividades do PD

(5)

José Borges Computação e Programação 2010/2011

Actividades de teste a programas

• Actividades

• Testar: comparação com casos bem sucedidos para

identificar eventuais faltas que possam estar na origem das falhas

• Depurar: corrigir e remover as faltas

9

Definição de “Casos de Teste”

• Objectivos para definição de “Casos de Teste”: • Verificação– o programa está de acordo com a

especificação (construímos bem o produto?)

• Validação– o programa está de acordo com as expectativas do cliente (construímos o esperado?)

(6)

José Borges Computação e Programação 2010/2011

Tipos de erros

• Erros típicos: • Lógicos • Sintaxe • Execução 11

Construção de programas

Actividades de teste a programas

• Processo de Desenvolvimento (PD)

Modelo do PD

Actividades do PD

(7)

José Borges Computação e Programação 2010/2011

Processo de desenvolvimento

• O desenvolvimento de programas é um processo

iterativo que tem como produto final o programae engloba uma série de etapas que envolvem

actividades, restriçõese recursos. (Normas ISO 12207)

13

Processo de desenvolvimento

• O desenvolvimento de programas é um processo iterativo que tem como produto final o programa e engloba uma série de etapas que envolvem

actividades, restrições e recursos.

Problema

Actividades

Programa

Restrições

(8)

José Borges Computação e Programação 2010/2011

Processo de desenvolvimento

• O desenvolvimento de programas é um processo iterativo que tem como produto final o programa e engloba uma série de etapas que envolvem

actividades, restrições e recursos.

15 Problema Actividades Programa Restrições - Cliente - Professor - Patrão - Pessoal Recursos

Processo de desenvolvimento

• O desenvolvimento de programas é um processo iterativo que tem como produto final o programa e engloba uma série de etapas que envolvem

actividades, restrições e recursos.

Problema Actividades Programa Restrições - Análise - Algoritmo - Codificação - Testes - Manutenção Recursos

(9)

José Borges Computação e Programação 2010/2011

Processo de desenvolvimento

• O desenvolvimento de programas é um processo iterativo que tem como produto final o programa e engloba uma série de etapas que envolvem

actividades, restrições e recursos.

17 Problema Actividades Programa Restrições - Humanos - Hardware - Software -Tempo - Custo Recursos

Construção de programas

Actividades de teste a programas

Processo de Desenvolvimento (PD)

• Modelo do PD

Actividades do PD

(10)

José Borges Computação e Programação 2010/2011 19

Workflow

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Contexto do problema

1. Contexto do problema

2. Análise / síntese do problema 3. Esquema de processamento 4. Algoritmo e testes 5. Codificação 6. Testes e validação 7. Produção / manutenção Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(11)

José Borges Computação e Programação 2010/2011 21

Análise / Esquema de processamento

1. Definição do problema

2. Análise / síntese do problema 3. Esquema de processamento 4. Algoritmo e testes 5. Codificação 6. Testes e validação 7. Produção / manutenção Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Algoritmo e testes

1. Definição do problema

2. Análise / síntese do problema 3. Esquema de processamento 4. Algoritmo e testes 5. Codificação 6. Testes e validação 7. Produção / manutenção Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(12)

José Borges Computação e Programação 2010/2011 23

Codificação, testes e validação

1. Definição do problema

2. Análise / síntese do problema 3. Esquema de processamento 4. Algoritmo e testes 5. Codificação 6. Testes e validação 7. Produção / manutenção Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Produção / manutenção

1. Definição do problema

2. Análise / síntese do problema 3. Esquema de processamento 4. Algoritmo e testes 5. Codificação 6. Testes e validação 7. Produção / manutenção Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(13)

José Borges Computação e Programação 2010/2011 25

O “Processo de Desenvolvimento”

1. Contexto do problema

2. Análise / síntese do problema 3. Esquema de processamento 4. Algoritmo e testes 5. Codificação 6. Testes e validação 7. Produção / manutenção Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Documentação

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

- Componente essencial no processo de concepção de programas

- Deve acompanhar todas as etapas do desenvolvimento de produto - Características - “Simples” - Completa - Estrutura (possível) - Manual do Utilizador - Manual do Programador

(14)

José Borges Computação e Programação 2010/2011 27

Construção de programas

Actividades de teste a programas

Processo de Desenvolvimento (PD)

Modelo do PD

• Actividades do PD

Alinhamento da AT 4

1. Identificação do contexto do problema e

objectivos do programa que o resolve

Definição do problema

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(15)

José Borges Computação e Programação 2010/2011

Análise

29 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Problema

2.1 Entradas 2.1 Saídas 2.2 Especificações Requisitos 2.3 Métodos de Processamento

Análise

2.1 Esquema de processamento • Entradas • Saídas Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(16)

José Borges Computação e Programação 2010/2011

Análise

2.1 Esquema de processamento • Entradas

• Saídas

2.2 Identificação dos Requisitos Funcionais

• Caracterização elementar do problema

• Necessidades de utilizadores e clientes

31 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Análise

2.1 Esquema de processamento • Entradas • Saídas

2.2 Identificação dos Requisitos Funcionais • Caracterização elementar do problema

• Necessidades de utilizadores e clientes

2.3 Descrição/definição detalhada de: • Métodos de processamento(Matemáticos)

• Fluxosde dados Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(17)

José Borges Computação e Programação 2010/2011

Desenvolvimento do algoritmo

3.1 Abordagem Top-Down 33 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK Problema

Desenvolvimento do algoritmo

3.1 Abordagem Top-Down

3.2 Descrição passo-a-passo em lista de tarefas elementares do problema particular a resolver Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(18)

José Borges Computação e Programação 2010/2011

Desenvolvimento do algoritmo

3.1 Abordagem Top-Down

3.2 Descrição passo-a-passo em lista de tarefas elementares do problema particular a resolver

3.3 Lista ordenada de tarefas na forma de

pseudo-códigoescrito na linguagem natural do programador 35 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Desenvolvimento do algoritmo

3.1 Abordagem Top-Down

3.2 Descrição passo-a-passo em lista de tarefas elementares do problema particular a resolver

3.3 Lista ordenada de tarefas na forma de

pseudo-código escrito na linguagem

natural do programador Testes Codificação Problema Produção Algoritmo Análise Testes OK

OK Objectivo: Plano de tarefas que pode ser facilmente

(19)

José Borges Computação e Programação 2010/2011

Testes ao algoritmo

4. Teste do Algoritmo nas várias opções definidas em termos de:

i.Análise de Requisitos Funcionais

ii.Pares Entrada / Saída

37 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Testes ao algoritmo

4. Teste do Algoritmo nas várias opções definidas em termos de:

i.Análise de Requisitos Funcionais

ii.Pares Entrada / Saída

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(20)

José Borges Computação e Programação 2010/2011

Testes ao algoritmo

39 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

4.1 Caso se verifiquem Erros Lógicos: • Processo regressa à fase de Análise • Procurar eventuais inconsistências ao

longo do fluxo: Análise → Algoritmo

Testes ao algoritmo

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

4.2 Caso nãose verifiquem Erros Lógicos: • Processo segue para a Codificação

(21)

José Borges Computação e Programação 2010/2011

Codificação

5.1 Tradução do algoritmo para uma linguagem de programação 41 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Codificação

5.1 Tradução do algoritmo para uma linguagem de programação 5.2 Paradigmas da linguagem:

• Linguagens Compiladas: C++, Fortran

• Linguagens Interpretadas: Matlab

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(22)

José Borges Computação e Programação 2010/2011

Codificação

5.1 Tradução do algoritmo para uma linguagem de programação 5.2 Paradigmas da linguagem:

• Linguagens Compiladas: C++, Fortran

• Linguagens Interpretadas: Matlab

5.3 Depuração de Erros Sintácticos

43 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Testes ao programa

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

6.1 Teste do Programa nas várias opções definidas em termos de:

i. Análise de Requisitos Funcionais

(23)

José Borges Computação e Programação 2010/2011

Testes ao programa

45 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

6.1 Teste do Programa nas várias opções definidas em termos de:

i. Análise de Requisitos Funcionais

ii. Pares Entrada / Saída

6.2 Comparaçãocom resultados analíticos / teóricos/ experimentais, ou

resultantes de programas similares

Testes ao programa

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

6.1 Teste do Programa nas várias opções definidas em termos de:

i. Análise de Requisitos Funcionais

ii. Pares Entrada / Saída

6.2 Comparação com resultados analíticos / teóricos / experimentais, ou

resultantes de programas similares 6.3 Metodologia de teste: Bottom - Up

(24)

José Borges Computação e Programação 2010/2011

Testes ao programa

47 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

6.1 Teste do Programa nas várias opções definidas em termos de:

i. Análise de Requisitos Funcionais

ii. Pares Entrada / Saída

6.2 Comparação com resultados analíticos / teóricos / experimentais, ou

resultantes de programas similares 6.3 Metodologia de teste: Bottom - Up

Objectivos: Depurar Erros Lógicos e/ou de Execução

Testes ao programa

Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

6.4 Caso se verifiquem Erros:

• Processo regressa à fase de Análise • Procurar eventuais inconsistências ao

longo do fluxo:

(25)

José Borges Computação e Programação 2010/2011 OK

Testes ao programa

49 Testes Codificação Problema Produção Algoritmo Análise Testes OK

6.5 Caso nãose verifiquem Erros: • Processo segue para Produção

Produção / Manutenção

7.1 Após as várias fases do Processo de Desenvolvimento, garante-se que o

Programaé conforme com: • Objectivos do problema • Requisitos funcionais Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(26)

José Borges Computação e Programação 2010/2011

Produção / Manutenção

7.1 Após as várias fases do Processo de Desenvolvimento, garante-se que o Programa é conforme com:

• Objectivos do problema

• Requisitos funcionais

7.2 Depois de entregue o programa pode sofrer actualizações 51 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Produção / Manutenção

7.1 Após as várias fases do Processo de Desenvolvimento, garante-se que o Programa é conforme com:

• Objectivos do problema

• Requisitos funcionais

7.2 Depois de entregue o programa pode sofrer actualizações

7.3 As componentes de códigoresultantes podem ser reutilizadasna solução de outros problemas Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

(27)

José Borges Computação e Programação 2010/2011

Produção / Manutenção

7.1 Após as várias fases do Processo de Desenvolvimento, garante-se que o Programa é conforme com:

• Objectivos do problema

• Requisitos funcionais

7.2 Depois de entregue o programa pode sofrer actualizações

7.3 As componentes de código resultantes podem ser reutilizadas na solução de outros problemas

7.4 É produzida uma versão standalone

53 Testes Codificação Problema Produção Algoritmo Análise Testes OK OK

Referências

Capítulo 3 de Essential MATLAB for Engineers and Scientists, Brian Hahn e Dan Valentine (2007) Elsevier.

Secção 2.1 de Matlab: A Practical Introduction to Programming

and Problem Solving, Stormy Attaway (2009) Elsevier.

Referências

Documentos relacionados

José Borges -- Miguel Miguel Pedro Pedro Silva Silva Computação e Programação 2009 / Computação e Programação 2009 / 2010 2010. Entrada / Saída

ÍCONES: Centro Cívido, APDL - Administração Portuária do Douro e Leixões, Terminal de Cruzeiros, Metro do Porto, Docapesca - Portos e Lotas.. PDM: Plano de Urbanização de

A partir dos resultados iniciais, a rede da Rota dos Butiazais exis- tente pretende que sua implementação possa ser planejada e exe- cutada em uma fase subsequente do

Na categoria feminina os dados apontam que o fator que mais motivou o ingresso na modalidade foi o interesse próprio, ou seja, os participantes sabiam da existência da equipe e

Tabela 9: Resumo da análise de variância da taxa de degradação das motilidades subjetiva (Mot) e computadorizada (MT) e integridade total de membranas espermáticas (IMB), no

Corte entendeu que seria necessário aplicar um critério econômico para tanto, isto é, que haveria de se identificar um ―fluxo e refluxo através das

Deliberação n.º 369/2021: Deliberado aprovar a proposta do senhor Presidente da Câmara, datada de 21 de abril de 2021, que a seguir se transcreve e de que se arquiva cópia do

Outro ponto crítico para o fechamento controlado de disjuntores de transformadores de potência sem carga é que o fluxo prospectivo criado pela tensão no instante do fechamento