Fala galera!
Eu estou precisando de uma definição clara sobre o que é implementação e o que é especificação.
Abraço a todos.
Fala galera!
Eu estou precisando de uma definição clara sobre o que é implementação e o que é especificação.
Abraço a todos.
Especificação é a definição sobre o que deve ser feito…
Exemplo: O programa deve receber dois inteiros, fazer a soma e imprimir o resultado
Implementação é o programa que segue a essa especificação
Exemplo (pseudo-código)
int a = readInt();
int b = readInt();
print a + b;
Especificação da Linguagem Java: http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
Implementação da Especificação: Compilador Java
[quote=fesaab]Especificação da Linguagem Java: http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
Implementação da Especificação: Compilador Java[/quote]
A especificação da linguagem é utilizada para fazer o compilador…
Mas o compilador é a implementação da especificação do compilador… nao da linguagem
Nessa filosofia… a especificação da máquina virtual: http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
Implementação da máquina virtual: java.exe
hehehe
vlw a correção
Acho que entendi.
Então uma especificação pode ter várias implementações, ou seja, o que deve ser feito pode ser feito de diversas maneiras.
[quote=theodrums]Acho que entendi.
Então uma especificação pode ter várias implementações, ou seja, o que deve ser feito pode ser feito de diversas maneiras.[/quote]
Isso mesmo. A especificação pode ser dividida em dois “grandes grupos”: especificação funcional e especificação não funcional. A especificação funcional diz o que o sistema ou software deve fazer, como no exemplo do rogelgarcia. Já a especificação não funcional não diz exactamente o que o deve ser feito, mas adiciona algumas caracteristicas ao sistema. Um exemplo de especificação não funcional: o programa não pode demorar mais do que 2 minutos a calcular a soma dos números inseridos. Você não programa esta especificação, mas você faz de tudo para cumpri-la.
Só um adendo. Requisitos não-funcionais não se programam imperativamente. Faltou o imperativamente.
Eles sim se programam. Ou seja, vc sim escreve código que levará ao cumprimento desse requisito, apenas não o faz imperativamente.
Blz pessoal.
Obrigado pelas respostas!
[quote]Só um adendo. Requisitos não-funcionais não se programam imperativamente. Faltou o imperativamente.
Eles sim se programam. Ou seja, vc sim escreve código que levará ao cumprimento desse requisito, apenas não o faz imperativamente.[/quote]
Obrigado pela correção