| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2010 21:10:37
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
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!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2010 21:45:03
|
rodrigo.ferreira
JavaGuru
![[Avatar]](/images/avatar/0d55e009fa8e9e8ec97aa091dfaa28e0.jpg)
Membro desde: 28/08/2008 20:38:07
Mensagens: 200
Offline
|
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,
|
Rodrigo Lopes Ferreira
Sun Certified Enterprise Architect for the Java Platform, Enterprise Edition 5
Sun Certified Business Component Developer for the Java Platform, Enterprise Edition 5
Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5
Sun Certified Programmer for the Java 2 Platform, Standard Edition 5
Tecnólogo em Informática com Ênfase em Gestão de Negócios - FATEC - Mococa - SP
Pós Graduando em Desenvolvimento de Sistemas em Software Livre - Universidade Católica de Brasília |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2010 00:09:27
|
Felipe Kan
JavaEvangelist
Membro desde: 12/07/2005 16:13:03
Mensagens: 418
Offline
|
AUser wrote: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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2010 00:14:49
|
Felipe Kan
JavaEvangelist
Membro desde: 12/07/2005 16:13:03
Mensagens: 418
Offline
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2010 12:34:38
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
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!
|
|
|
 |
|
|