51
PARADIGMAS de Linguagem | Programação Respeitar o professor é respeitar a si mesmo

Paradigma de Linguagem / Programação

  • Upload
    reverton

  • View
    3.579

  • Download
    14

Embed Size (px)

DESCRIPTION

Notas de aula da disciplina - Paradigmas de Programação do curso de bacharelado em Ciência da Computação -ICEC - Cuiabá.Prof. Reverton

Citation preview

PARADIGMAS de Linguagem | Programação

Respeitar o professor é respeitar a si mesmo

Prof. Reverton 2

PARADIGMAS de Linguagem | Programação

1. Conceitos Básicos 1.1 Algoritmos e Programas 1.2 Linguagens de Programação 1.3 Processo de Desenvolvimento de Programas 1.4 Estilo e Qualidade de Programas

1. Conceitos Básicos 1.1 Algoritmos e Programas 1.2 Linguagens de Programação 1.3 Processo de Desenvolvimento de Programas 1.4 Estilo e Qualidade de Programas

2. Tipos de Dados2.1 Tipos de Dados Primitivos2.2 Tipos String de Caracteres2.3 Tipos Ordinais Definidos pelo Usuário 2.4 Tipos Array2.5 Tipos Registro2.6 Tipos Ponteiro

2. Tipos de Dados2.1 Tipos de Dados Primitivos2.2 Tipos String de Caracteres2.3 Tipos Ordinais Definidos pelo Usuário 2.4 Tipos Array2.5 Tipos Registro2.6 Tipos Ponteiro

Prof. Reverton 3

PARADIGMAS de Linguagem | Programação

3. Expressões e Instruções de Atribuição 3.1 Expressões Aritméticas3.2 Conversões de Tipo3.3 Expressões Relacionais e Booleanas3.4 Instruções de Atribuição

3. Expressões e Instruções de Atribuição 3.1 Expressões Aritméticas3.2 Conversões de Tipo3.3 Expressões Relacionais e Booleanas3.4 Instruções de Atribuição

4. Estruturas de Controle 4.1 Estruturas Condicionais4.2 Estruturas de Repetição

4. Estruturas de Controle 4.1 Estruturas Condicionais4.2 Estruturas de Repetição

5. Subprogramas5.1 Fundamentos5.2 Métodos de Passagem de Parâmetros5.3 Sobrecarga de Subprogramas

5. Subprogramas5.1 Fundamentos5.2 Métodos de Passagem de Parâmetros5.3 Sobrecarga de Subprogramas

Prof. Reverton 4

PARADIGMAS de Linguagem | Programação

6. Programação Estruturada6.1 Caracterização6.2 Linguagens Imperativas (Basic, Pascal, C)

6. Programação Estruturada6.1 Caracterização6.2 Linguagens Imperativas (Basic, Pascal, C)

7. Práticas de Programação: Programação Estruturada7.1 Exemplos de Programas (Basic, Pascal, C)7.2 Implementações Práticas

7. Práticas de Programação: Programação Estruturada7.1 Exemplos de Programas (Basic, Pascal, C)7.2 Implementações Práticas

8. Programação Orientada a Eventos8.1 Conceitos Fundamentais8.2 Caracterização8.3 Linguagens Orientadas a Eventos (Delphi, Visual

Basic)

8. Programação Orientada a Eventos8.1 Conceitos Fundamentais8.2 Caracterização8.3 Linguagens Orientadas a Eventos (Delphi, Visual

Basic)

Prof. Reverton 5

PARADIGMAS de Linguagem | Programação

9. Práticas de Programação: Programação Orientada a Eventos

9.1 Exemplos de Programas (Delphi, Visual Basic)9.2 Implementações Práticas

9. Práticas de Programação: Programação Orientada a Eventos

9.1 Exemplos de Programas (Delphi, Visual Basic)9.2 Implementações Práticas

10. Tipos Abstratos de Dados10.1 Fundamentos de Abstração10.2 Encapsulamento10.3 Métodos de Acesso a Dados (public,private e

protected)10.4 Exemplos de Abstração de Dados em Java

10. Tipos Abstratos de Dados10.1 Fundamentos de Abstração10.2 Encapsulamento10.3 Métodos de Acesso a Dados (public,private e

protected)10.4 Exemplos de Abstração de Dados em Java

Prof. Reverton 6

PARADIGMAS de Linguagem | Programação

11. Programação Orientada a Objetos11.1 Conceitos Fundamentais11.2 Caracterização e Comparação11.3 Linguagens Orientadas a Objetos (Smalltalk, C++,

Java, C#)

11. Programação Orientada a Objetos11.1 Conceitos Fundamentais11.2 Caracterização e Comparação11.3 Linguagens Orientadas a Objetos (Smalltalk, C++,

Java, C#)

12. Práticas de Programação: Orientação a Objetos12.1 Exemplos de Programas (Smalltalk, C++, Java, C#)12.2 Implementações Práticas

12. Práticas de Programação: Orientação a Objetos12.1 Exemplos de Programas (Smalltalk, C++, Java, C#)12.2 Implementações Práticas

Prof. Reverton 7

PARADIGMAS de Linguagem | Programação

Que programas nós vamos precisar para trabalhar ?Que programas nós vamos precisar para trabalhar ?

➔ VISUALG (freeware) – construção de algoritmos➔ PASCALZIM (freeware) – turbo pascal for windows➔ VISUAL BASIC 6 (microsoft – academic aliance) - OE

➔ VISUALG (freeware) – construção de algoritmos➔ PASCALZIM (freeware) – turbo pascal for windows➔ VISUAL BASIC 6 (microsoft – academic aliance) - OE

Metodologia de trabalho:

➔ Aulas expositivas.➔ Laboratório de programação.➔ Trabalhos e apresentações.➔ Avaliação bimestral.

Metodologia de trabalho:

➔ Aulas expositivas.➔ Laboratório de programação.➔ Trabalhos e apresentações.➔ Avaliação bimestral.

Prof. Reverton 8

PARADIGMAS de Linguagem | Programação

INTRODUÇÃOINTRODUÇÃO

O que é “paradigma de linguagem | programação”?O que é “paradigma de linguagem | programação”?

É a escolha que fazemos dentro das ferramentas e técnicas existentes para a construção de programas de computador.

Quais ferramentas?

● Linguagens de Programação (VB, Delphi, Java, PHP, (…))● Diagramação (argoUML, DBDesigner, EA,(...))● Geradores de documentação.● Gerenciamento e Controle de versões. (CVS, Clearcase)● Gerenciadores de BD. (MySQL, SQL Server, ACCESS, Oracle).

É a escolha que fazemos dentro das ferramentas e técnicas existentes para a construção de programas de computador.

Quais ferramentas?

● Linguagens de Programação (VB, Delphi, Java, PHP, (…))● Diagramação (argoUML, DBDesigner, EA,(...))● Geradores de documentação.● Gerenciamento e Controle de versões. (CVS, Clearcase)● Gerenciadores de BD. (MySQL, SQL Server, ACCESS, Oracle).

Prof. Reverton 9

PARADIGMAS de Linguagem | Programação

Algoritmos e ProgramasAlgoritmos e Programas

Algoritmo é a representação estruturada, informal, que utiliza alguma técnica de escrita, para a resolução de um determinado problema computacional.

Algoritmo é a representação estruturada, informal, que utiliza alguma técnica de escrita, para a resolução de um determinado problema computacional.

Para o estudo dos algoritmos avançados utilizaremos o visualg:

Para o estudo dos algoritmos avançados utilizaremos o visualg:

Procedimento = É uma seqüência finita de instruções que podem ser executadas por um agente computacional.

Prof. Reverton 10

PROGRAMAÇÃO

Programação é o processo de escrita, teste e manutenção de um programa de computador.

algoritmo "idéia"var nome : caracterinicio escreva("Informe seu nome : ") leia(nome) escreva("Olá ",nome," tudo bem !")fimalgoritmo

algoritmo "idéia"var nome : caracterinicio escreva("Informe seu nome : ") leia(nome) escreva("Olá ",nome," tudo bem !")fimalgoritmo

PARADIGMAS de Linguagem | Programação

Prof. Reverton 11

PROGRAMAÇÃO

program idéia;uses Crt;varnome : string;begin write('Informe seu nome : '); readln(nome); write('Olá ',nome,' tudo bem !');end.

program idéia;uses Crt;varnome : string;begin write('Informe seu nome : '); readln(nome); write('Olá ',nome,' tudo bem !');end.

Linguagem Pascal

PARADIGMAS de Linguagem | Programação

Prof. Reverton 12

As linguagens de programação podem ser classificadas e sub-classificadas de várias formas

● Técnica de Programação Linear

Em matemática, problemas de Programação Linear são problemas de otimização nos quais a função objetivo e as restrições são todas lineares.

Início Fim

Entrada de dados | Processamento | Saída

PARADIGMAS de Linguagem | Programação

Prof. Reverton 13

As linguagens de programação podem ser classificadas e sub-classificadas de várias formas

● Técnica de Programação Modular

Programação modular é um paradigma de programação no qual o desenvolvimento das rotinas de programação é feito através de módulos, que são interligados entre si através de uma interface comum.

Cadastro

CalculaCPFCalcula

CNPJ

Function calcula_CPF(cpf)

PARADIGMAS de Linguagem | Programação

Prof. Reverton 14

As linguagens de programação podem ser classificadas e sub-classificadas de várias formas

● Técnica de Programação Estruturada

Programação estruturada é uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e iteração.

PARADIGMAS de Linguagem | Programação

Prof. Reverton 15

As linguagens de programação podem ser classificadas e sub-classificadas de várias formas

● Técnica de Programação Orientada a Objeto

É um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.

PARADIGMAS de Linguagem | Programação

Prof. Reverton 16

Algoritmo de Euclides

➔ Especifica como calcular o MDC (Máximo Divisor Comum) de dois números inteiros positivos m e n.

➔ P1: x,y (adotam) m,n➔ P2: r (resto da divisão) de x mod y➔ P3: x <- y e y <- r➔ P4: Se r = nulo então x (MDC procurado)

PARADIGMAS de Linguagem | Programação

Prof. Reverton 17

Algoritmo de Euclides

algoritmo "MDC"var x,y,m,n,r : inteiroinicio leia(m) x <- m leia(n) y <- n repita r <- x mod y x <- y y <- r ate r = 0 escreva("MDC = ", x)fimalgoritmo

algoritmo "MDC"var x,y,m,n,r : inteiroinicio leia(m) x <- m leia(n) y <- n repita r <- x mod y x <- y y <- r ate r = 0 escreva("MDC = ", x)fimalgoritmo

PARADIGMAS de Linguagem | Programação

Prof. Reverton 18

Algoritmo de Euclides

Private Sub Command1_Click()Dim m, n, r As Integerm = Int(num1.Text)n = Int(num2.Text)r = mdc.calcula(m, n)MsgBox r, vbInformation, "MDC de " & m & " e " & nEnd Sub

Private Sub Command1_Click()Dim m, n, r As Integerm = Int(num1.Text)n = Int(num2.Text)r = mdc.calcula(m, n)MsgBox r, vbInformation, "MDC de " & m & " e " & nEnd Sub

PARADIGMAS de Linguagem | Programação

Prof. Reverton 19

Function calcula(ByVal x As Integer, ByVal y As Integer) As IntegerOn Error GoTo erroDim r As IntegerDo r = x Mod y x = y y = rLoop Until r = 0calcula = xExit Functionerro: MsgBox Err.Description Exit FunctionEnd Function

Function calcula(ByVal x As Integer, ByVal y As Integer) As IntegerOn Error GoTo erroDim r As IntegerDo r = x Mod y x = y y = rLoop Until r = 0calcula = xExit Functionerro: MsgBox Err.Description Exit FunctionEnd Function

Algoritmo de EuclidesPARADIGMAS de Linguagem | Programação

Prof. Reverton 20

Algoritmo de EuclidesPARADIGMAS de Linguagem | Programação

Prof. Reverton 21

FUNÇÕES E PROCEDIMENTOS - PRÁTICAPARADIGMAS de Linguagem | Programação

Subalgoritmos

São trechos de algoritmos que efetuam um ou mais cálculos determinados. Ao invés de escrever um algoritmo grande, escrevem-se vários algoritmos menores, os quais, não isoladamente, mas em conjunto, resolvem o problema proposto.

São trechos de algoritmos que efetuam um ou mais cálculos determinados. Ao invés de escrever um algoritmo grande, escrevem-se vários algoritmos menores, os quais, não isoladamente, mas em conjunto, resolvem o problema proposto.

Prof. Reverton 22

PARADIGMAS de Linguagem | Programação

Subalgoritmos

- Eles reduzem o tamanho do algoritmo.

- Facilitam a compreensão e visualização do algoritmo.

- São declarados no início do algoritmo e podem ser chamados em qualquer ponto após sua declaração.

- Eles podem ser Funções que retorna algum valor ou Procedimento (Subrotina) que não retorna nada.

- Eles reduzem o tamanho do algoritmo.

- Facilitam a compreensão e visualização do algoritmo.

- São declarados no início do algoritmo e podem ser chamados em qualquer ponto após sua declaração.

- Eles podem ser Funções que retorna algum valor ou Procedimento (Subrotina) que não retorna nada.

Prof. Reverton 23

PARADIGMAS de Linguagem | Programação

Funções

Uma função é um instrumento (Estático) que tem como objetivo retornar um valor ouuma informação.

Uma função é um instrumento (Estático) que tem como objetivo retornar um valor ouuma informação.

A chamada de uma função é feita através da citação do seu nome seguido opcionalmente de seus argumentos iniciais entre parênteses.

A chamada de uma função é feita através da citação do seu nome seguido opcionalmente de seus argumentos iniciais entre parênteses.

inicio leia(m) leia(n) md <- mdc(m,n) escreva("MDC = ", md)fimalgoritmo

Prof. Reverton 24

PARADIGMAS de Linguagem | Programação

Criando Funções

A criação de uma Função deve ser declarada, com os demais objetos, no início do programa.

A criação de uma Função deve ser declarada, com os demais objetos, no início do programa.

Este tipo de subalgoritmo sempre retornam um e apenas um valor ao algoritmo que lhe chamouEste tipo de subalgoritmo sempre retornam um e apenas um valor ao algoritmo que lhe chamou

funcao <identificador> ([var]<parâmetros>) <tipo de retorno>var<declaração de variáveis locais>inicio<lista de comandos>retorne <variável de retorno>fimfuncao

Prof. Reverton 25

PARADIGMAS de Linguagem | Programação

Criando Funções

A criação de uma Função deve ser declarada, com os demais objetos, no início do programa.

A criação de uma Função deve ser declarada, com os demais objetos, no início do programa.

Este tipo de subalgoritmo sempre retornam um e apenas um valor ao algoritmo que lhe chamouEste tipo de subalgoritmo sempre retornam um e apenas um valor ao algoritmo que lhe chamou

funcao <identificador> ([var]<parâmetros>) <tipo de retorno>var<declaração de variáveis locais>inicio<lista de comandos>retorne <variável de retorno>fimfuncao

Prof. Reverton 26

PARADIGMAS de Linguagem | Programação

Exemplo

ALGORITMO "Funções Personalizadas"var Valor_1,Valor_2, soma: realfuncao FSoma(Recebe_valor1, Recebe_valor2: Real):Real var total : realInicio total<-Recebe_valor1+Recebe_valor2 retorne totalfimfuncao

ALGORITMO "Funções Personalizadas"var Valor_1,Valor_2, soma: realfuncao FSoma(Recebe_valor1, Recebe_valor2: Real):Real var total : realInicio total<-Recebe_valor1+Recebe_valor2 retorne totalfimfuncao

Prof. Reverton 27

PARADIGMAS de Linguagem | Programação

Exemplo

Inicio Escreva ("Valor_1 : ") Leia (Valor_1) Escreva ("Valor_2 : ") Leia (Valor_2) Soma <- FSoma(Valor_1,Valor_2) Escreva ("Soma das vaiáveis é ", soma)fimalgoritmo

Inicio Escreva ("Valor_1 : ") Leia (Valor_1) Escreva ("Valor_2 : ") Leia (Valor_2) Soma <- FSoma(Valor_1,Valor_2) Escreva ("Soma das vaiáveis é ", soma)fimalgoritmo

Prof. Reverton 28

PARADIGMAS de Linguagem | Programação

Procedimento

É uma sub-rotina que efetua um processamento mas não retorna valor.É uma sub-rotina que efetua um processamento mas não retorna valor.

procedimento <identificador> ([var]<parâmetros>)var<declaração de variáveis locais>inicio<lista de comandos>fimprocedimento

procedimento <identificador> ([var]<parâmetros>)var<declaração de variáveis locais>inicio<lista de comandos>fimprocedimento

Prof. Reverton 29

PARADIGMAS de Linguagem | Programação

Procedimento - exemplo

ALGORITMO "Procedimento"varA,B,C,D,CONT,AUX:InteiroProcedimento TROCA(var x, y: inteiro)varAux : inteiroINICIO Aux <- x x <- y y <- AuxFIMProcedimento

ALGORITMO "Procedimento"varA,B,C,D,CONT,AUX:InteiroProcedimento TROCA(var x, y: inteiro)varAux : inteiroINICIO Aux <- x x <- y y <- AuxFIMProcedimento

Prof. Reverton 30

PARADIGMAS de Linguagem | Programação

Procedimento - exemplo

inicioleia (A,B,C,D)Enquanto NAO((A<=B) e (B<=C) e (C<=D)) faca

se (D<C) entao TROCA(D,C) fimse se (C<B) entao TROCA(C,B) fimse se B<A entao TROCA(A,B) fimsefimenquantoescreva (A," ",B," ",C," ",D)fimalgoritmo

inicioleia (A,B,C,D)Enquanto NAO((A<=B) e (B<=C) e (C<=D)) faca

se (D<C) entao TROCA(D,C) fimse se (C<B) entao TROCA(C,B) fimse se B<A entao TROCA(A,B) fimsefimenquantoescreva (A," ",B," ",C," ",D)fimalgoritmo

Prof. Reverton 31

PARADIGMAS de Linguagem | Programação

O Professor irá disponibilizar a lista de exercícios.

Prof. Reverton 32

PARADIGMAS de Linguagem | Programação

Linguagens de Programação

É um método padronizado para expressar instruções para um computador.É um método padronizado para expressar instruções para um computador.

É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.

O conjunto de palavras (tokens), compostos de acordo com essas regras, constituem o código fonte de um software.

O conjunto de palavras (tokens), compostos de acordo com essas regras, constituem o código fonte de um software.

Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador.

Prof. Reverton 33

PARADIGMAS de Linguagem | Programação

Linguagens de Programação

Compilação & InterpretaçãoCompilação & Interpretação

com

pila

dor

Código=Fonte(Linguagem de Programação)

Código=Fonte(Linguagem de Programação)

Análise lexicográfica(scanner)

Análise sintática/semântica(parser)

Gerador de códigointermediário

Análise lexicográfica(scanner)

Análise sintática/semântica(parser)

Gerador de códigointermediário

Código não otimizado paraarquitetura X

Código não otimizado paraarquitetura X

Gerador de código-objetoGerador de código-objetoCódigo-máquina para arquiteturaX

Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto.

Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto.

Prof. Reverton 34

PARADIGMAS de Linguagem | Programação

Linguagens de Programação | Compilação de código

tabela de símbolos, guarda para cada identificador (símbolo) usado no programa as informações correspondentes, tais como natureza (variável,constante, procedimento, ...), tipo, endereço, espaço ocupado, etc.

tabela de símbolos, guarda para cada identificador (símbolo) usado no programa as informações correspondentes, tais como natureza (variável,constante, procedimento, ...), tipo, endereço, espaço ocupado, etc.

Prof. Reverton 35

PARADIGMAS de Linguagem | Programação

Linguagens de Programaçãoco

mpi

lado

r Análise lexicográfica(scanner)

Análise sintáticaAnálise semântica

(parser)

Gerador de códigointermediário

Análise lexicográfica(scanner)

Análise sintáticaAnálise semântica

(parser)

Gerador de códigointermediário

● A análise léxica é a primeira fase do compilador.

● A função do analisador léxico, também denominado scanner, é ler o código fonte, caracter a caracter, buscando a separação e identificação dos elementos componentes do programa fonte, denominados símbolos léxicos ou tokens.

Prof. Reverton 36

PARADIGMAS de Linguagem | Programação

Linguagens de Programação

Por exemplo, considere o trecho de programa Pascal:

if x>0 then modx := xelse modx := (-x)

Prof. Reverton 37

PARADIGMAS de Linguagem | Programação

Prof. Reverton 38

PARADIGMAS de Linguagem | Programação

Linguagens de Programaçãoco

mpi

lado

r Análise lexicográfica(scanner)

Análise sintáticaAnálise semântica

(parser)

Gerador de códigointermediário

Análise lexicográfica(scanner)

Análise sintáticaAnálise semântica

(parser)

Gerador de códigointermediário

A análise sintática deve reconhecer a estrutura global do programa, por exemplo, verificando que programas, comandos, declarações, expressões, etc têm as regras de composição respeitadas.

Caberia à análise sintática reconhecer a estrutura do trecho:

if x>0 then modx := x else modx := (-x)

Prof. Reverton 39

PARADIGMAS de Linguagem | Programação

Linguagens de Programação

Quase universalmente, a sintaxe das linguagens de programação é descrita por gramáticas livres de contexto, em uma notação chamada BNF (Forma de Backus-Naur ou ainda Forma Normal de Backus)

Prof. Reverton 40

PARADIGMAS de Linguagem | Programação

Linguagens de Programação

<comando-if> ::=IF <expressão> THEN <comandos>{ ELSIF <expressão> THEN <comandos> }[ ELSE <comandos> ]END IF ;

<comando-if> ::=IF <expressão> THEN <comandos>{ ELSIF <expressão> THEN <comandos> }[ ELSE <comandos> ]END IF ;

As chaves e os colchetes indicam que a parte ELSIF pode ser repetida zero ou mais vezes, e que a parte ELSE pode ocorrer zero ou uma vez. De forma semelhante, temos:<comandos> ::= <comando> { <comando> }

Prof. Reverton 41

PARADIGMAS de Linguagem | Programação

Linguagens de Programaçãoco

mpi

lado

r Análise lexicográfica(scanner)

Análise sintáticaAnálise semântica

(parser)

Gerador de códigointermediário

Análise lexicográfica(scanner)

Análise sintáticaAnálise semântica

(parser)

Gerador de códigointermediário

● As análises léxica e sintática, não estão preocupadas com o significado ou semântica dos programas que elas processam.

● Analisador semântico prove métodos pelos quais as estruturas construídas pelo analisador sintático possam ser avaliadas ou executadas

Um exemplo de tarefa própria do analisador semãntico é a checagem de tipos de variáveis em expressões

Prof. Reverton 42

PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

Um processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software.

(ENGENHARIA DE SOFTWARE)

Vamos ver agora:

Prof. Reverton 43

PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

A Análise de requisitos de software é a primeira fase de desenvolvimento de software.

Neste fase conhecemos as funcionalidades do sistema que será desenvolvido. Através de reuniões com o(s) cliente(s).

Prof. Reverton 44

PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

É nesta fase também que ocorre a maior parte dos erros

✔ Falta de experiência do cliente.✔ Dúvidas sobre os requisitos do sistema.✔ Falta de clareza sobre as funcionalidades do sistema.

Prof. Reverton 45

PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

ANÁLISE DE REQUISITOS

Suponha que....Você foi contratado para desenvolver um sistema para uma grande empresa. Depois de 6 meses de desenvolvimento, sendo, análise, implementação, testes, etc. Você descobre que o cliente está frustrado e desmotivado a usar o software porque não atendeu aos REQUISITOS que ele imaginou quando decidiu construir o software.

O QUE ACONTECEU?

Prof. Reverton 46

PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

ASSINALE QUAL A CAUSA PARA O FRACASSO DO PROJETO

Problema na hora de entender o projeto

Problema na hora de escrever o código

Falta de tempo

O cliente não sabe direito o que quer

Prof. Reverton 47

PARADIGMAS de Linguagem | Programação

ENTENDA O PROBLEMA

● Estude● Escreva● Analise● Entenda

● Estude● Escreva● Analise● Entenda

FERRAMENTAS QUE TEMOS PARA ISSO:FERRAMENTAS QUE TEMOS PARA ISSO:

- Papel e lápis- Editor de texto- Templates (modelos)- Métodos

- Papel e lápis- Editor de texto- Templates (modelos)- Métodos

Prof. Reverton 48

PARADIGMAS de Linguagem | Programação

CASO DE USO

O QUE É ?

É uma descrição textual das funções/módulos (requisitos) de um sistema.

O QUE É ?

É uma descrição textual das funções/módulos (requisitos) de um sistema.

Antes de mais nada vamos..

Identificar o escopo do Sistema

Prof. Reverton 49

PARADIGMAS de Linguagem | Programação

Identificar o escopo do Sistema

Questões chave:

● O que o sistema vai fazer?● Quem vai usá-lo?● Como será usado?● O que o sistema não vai fazer?● O que está dentro e o que está fora do sistema?

Prof. Reverton 50

PARADIGMAS de Linguagem | Programação

ConceitosAtorÉ o papel executado por objetos externos ao sistema e que interagem com ele para a execução de uma tarefa.

Caso de usoUma unidade coerente de funcionalidades, provida pelo sistema, constituída de uma seqüência de mensagens trocadas entre o sistema e os atores (usuários), e de ações executadas pelo sistema em decorrência dessas mensagens.

Caso de uso

Prof. Reverton 51

PARADIGMAS de Linguagem | Programação

Conceitos

Caso de uso

CenárioUma instância de um caso de usoInteração entre o ator e o caso de uso.

<<inclui>>

Vamos modelar usando o ......