Dúvida SCEA - Requisitos não funcionais

4 respostas
AUser

Opa,

Bem, requisitos não-funcionais dá pra entender como os requisitos em relação a qualidade geral do sistema.

Mas e se na análise de requisitos o cliente levanta que o tempo de resposta da aplicação nunca pode exceder 2 segundos? Isso se torna um requisito funcional ou continua sendo um requisito não-funcional? Estamos falando de performance, mas na análise de requisitos o cliente pode especificar isso. E então?

Grato!

4 Respostas

rodrigo.ferreira

Oi AUser, boa noite!

A resposta é Sim; O cliente pode especificar este tipo de detalhe. Imagine um sistema crítico que não pode ter atraso na operação… seria um desastre se o sistema demorasse muito para responder (ou se não respondesse), então, isto já fica acordado entre as partes.

Isto se torna um requisito funcional, mas diretamente relacionado aos não funcionais, por que será necessário estudar várias formas de tornar este requisito possível, por exemplo: clusterização, redundância, load balancer, connection pool, tunning, estratégias em caso de falhas de serviços, entre outros…

A terceira fase do SCEA 5 cobra exatamente este tipo de pergunta… e como a sua arquitetura poderia lidar com isso… então, já serve de dica… E no mundo real, para sistemas corporativos, a preocupação com tempos (consumo de CPU, memória, rede, IO, resposta etc) é muito comum.

Sistemas que exigem tempos de resposta garantidos geralmente precisam ter uma infra-estrutura mais bem pensada e muito mais cara em relação a um sistema sem este requisito explícito.

Espero ter solucionado a sua dúvida.

Abraço,

F

AUser:
Opa,

Bem, requisitos não-funcionais dá pra entender como os requisitos em relação a qualidade geral do sistema.

Mas e se na análise de requisitos o cliente levanta que o tempo de resposta da aplicação nunca pode exceder 2 segundos? Isso se torna um requisito funcional ou continua sendo um requisito não-funcional? Estamos falando de performance, mas na análise de requisitos o cliente pode especificar isso. E então?

Grato!

Isso de requisitos é sempre uma guerra… o cliente sempre fala que tudo está implícito… e o fornecedor sempre vai falar que não estava implícito…

Por isso gosto de metodologias ágeis… sempre com o cliente por perto para ver se atende ou não… e caso for muito necessário algo estranho, atender conforme o cliente pedir. O maior erro é especificar algo sem o cliente ver e depois quando o cliente vai ver, toma aquele baita susto por pensar uma coisa e ser outra coisa.

Imagine uma consulta imensa em uma base de dados… nunca vai ser atendido em 2 segundos, só se for o Google… o melhor é explicar do jeito mais simples para o cliente e mostrar as versões de cada interação o mais rápido possível e ir recebendo os OK.

F

Agora que vi… se for SCEA eu acredito que não seja funcional… a não ser que essa funcionalidade seja uma parte do sistema. Exemplo: Um jogo com certeza deve estar condizente com o desempenho. Por isso que o C++ é usado para jogos… imagine um tiro de arma e de repente se roda o GC… e dá aquele delay, aí tornaria inviável o jogo.

AUser

Obrigado pelas respostas pessoal.

Mas então podemos definir que: o requisito não funcional será a latência ser menos de 2 segundos mas a aplicação continuará tendo como requisito não-funcional a performance certo?

[]'s!

Criado 2 de fevereiro de 2010
Ultima resposta 3 de fev. de 2010
Respostas 4
Participantes 3