Você está na página 1de 2

1. Por que podemos afirmar que uma especificação formal é precisa?

Neste contexto, as linguagens de especificação, ao permitirem


definir com rigor matemático os problemas para os quais se
espera que o software responda, permitem criar um software com
maior fiabilidade, pois utilizam um rigor matemático

2. Qual a principal vantagem de utilização dos métodos formais?  


Um dos principais benefícios dos métodos formais é a redução do número
de defeitos nos sistemas. Principal área de aplicação é a engenharia de sistemas
críticos. O uso de métodos formais é mais apropriado em termos de custo, porque os
altos custos de falha de sistema devem ser evitados.

3. Quais os tipos de sistema que geralmente utilizam métodos formais?

 Interfaces com o ambiente;


 Noção de estados do sistema;
 Noção de comportamentos;
 Noção de requisitos de segurança;
 Nível de integridade do software.

4. Por que a utilização dos métodos formais facilita a comunicação entre a equipe de
desenvolvimento e o usuário? 
Pois há uma necessidade de comunicação direta, tendo em vista que todo o
processo de especificação formal tem que ser direcionado de acordo com as
necessidades do cliente

5. Por que é possível afirmar que os métodos formais diminuem o tempo das fases de
testes? 
Pois foi tudo formalizado e a chance de haver erros será muito menor, o que
torna o processo muito mais curto do que o normal

6. Qual a relação entre a pouca utilização dos métodos formais e a necessidade de


desenvolvimento rápido das versões iniciais dos sistemas? 
A uma maior chance de erros futuros no programa quando não se utiliza
métodos formais, porém como demanda um tempo um pouco maior os usuários optam
por não utilizarem e aceitam o risco

7. Informe qual o nível de uso (0, 1 ou 2) dos métodos formais para cada um dos requisitos
a seguir de um dado sistema: 
a. É necessário provar que o sistema não permite que clientes com algum saldo devedor
pendente realizem empréstimo (1) 
b. É necessária inicialmente uma especificação que utiliza um ‘idioma’ que o usuário
comum tenha facilidade de compreender (0) 
c. O sistema será implementado em Python. Para isso, devemos fornecer uma
especificação, que descreva o sistema, o mais próxima possível à sintaxe e semântica
dessa linguagem (2) 
8. Comente o gráfico abaixo: 

Percebesse que quando utilizamos a ESPECIFICAÇÃO FORMAL reduzimos o tempo


no processo de produção e implementação já que a chance de erros será bem menor
(pois foi utilizado a especificação formal), a especificação será maior e o processo de
validação irá diminuir, pois não haverá uma necessidade de uma validação tão extensa
já que houve a utilização de métodos formais.

9. Considerando o estado atual da arte, é possível gerar a implementação de um sistema a


partir de sua especificação formal? 
10. Por que a UML é considerada uma linguagem semiformal? Pesquise para achar a
resposta. 

11. Qual a principal necessidade de especificar o comportamento (processos) de um


sistema?  
Para evitar possíveis falhas futuras e um comportamento indesejável do sistema

12. Comente os seguintes mitos dos métodos formais: 


a. Métodos Formais podem garantir um programa perfeito 
Sim, pois existe todo um formalismo cheio de especificações por trás
b. Somente sistemas de missão crítica são beneficiados pelo uso de métodos
formais 
Nem sempre, vai da equipe de desenvolvimento, se optarem pela utilização
dos métodos formais em sistemas mais simples poderá sim ser utilizado.

c. Métodos formais aumentam o custo do projeto


Na realidade a escrita na especificação formal reduz os custos de um projeto

Você também pode gostar