Baixe o app para aproveitar ainda mais
Prévia do material em texto
Assuntos do dia •Classificações de Requisitos • Requisitos Não Funcionais Requisitos Não Funcionais • NÃO diretamente relacionados às funções do sistema • Definem propriedades e restrições de sistema • Confiabilidade, tempo de resposta, armazenamento • Capacidade de dispositivos de E/S, representações de dados • Capacidade de dispositivos de E/S, representações de dados na interface com o usuário, etc. • Imposição de uma linguagem de programação ou uma especificação de padrão de qualidade em particular • Podem ser mais críticos do que os requisitos funcionais • Se não forem atendidos, o sistema é inútil • Espaçonave (confiabilidade), jogo 3D (desempenho) Requisitos Não Funcionais • Surgem das necessidades dos usuários devido a • Restrições de orçamentos • Políticas organizacionais• Políticas organizacionais • Necessidade de interoperabilidade com outros sistemas de software ou hardware • Fatores externos, por exemplo, regulamentos de segurança, legislações de privacidade... Questionário auxiliar para definição de Requisitos Não Funcionais • Quantas pessoas vão utilizar o software? Desse número, quantas utilizarão simultaneamente? (não precisa ser um valor fechado… pode ser um range: entre 100 e 200 pessoas utilizarão e é esperado que no máximo 50 utilizem simultaneamente);simultaneamente); • Dos relatórios previstos, quais podem ser gerados por processamento batch (de madrugada) e quais devem ser online (com dados do momento)? Qual o tempo aceitável para processar e gerar um relatório online? • Qual o tempo de resposta esperado para as principais funcionalidades do sistema? E para as outras? • Qual tipo de acesso a aplicação vai ter? Somente via intranet? Internet? • Qual o perfil dos usuários que vão acessar a aplicação? Possuem conhecimento de internet? São usuários avançados? • É desejável que a maior parte das funcionalidades da aplicação possam se acessadas via teclado (sem auxilio do mouse)? Questionário auxiliar para definição de Requisitos Não Funcionais acessadas via teclado (sem auxilio do mouse)? • A aplicação deve ser compatível com quais versões do browser e/ou sistema operacional? • Quais os padrões de implementação esperados? Os desenvolvedores podem escrever o código em qualquer idioma? Podem utilizar qualquer banco de dados e qualquer tecnologia? • Qual a segurança esperada para o trafego de dados? Toda comunicação entre o servidor e o browser tem que ser criptografada usando SSL? Será adquirido o certificado SSL? Ou a aplicação não tem dados críticos e confidenciais / vai ser executada em uma rede segura? Questionário auxiliar para definição de Requisitos Não Funcionais confidenciais / vai ser executada em uma rede segura? • Qual a disponibilidade a aplicação deve ter? O tempo médio entre falhas, tempo máximo para acertar os problemas? Número máximo de bugs em cada versão? Nesse caso a resposta pode ser que aplicação deve obedecer um acordo de SLA ou que existem regras especificas para esse software de acordo com o negócio. Requisitos Não Funcionais • De Produto • Especificam que o produto entregue deve se comportar de uma maneira particular, por exemplo, velocidade de execução, confiabilidade, etc. • Organizacionais• Organizacionais • São uma consequência de políticas e procedimentos da organização, por exemplo, padrões de processo usados, requisitos de implementação, etc. •Externos • Surgem a partir de fatores externos ao sistema e seu processo de desenvolvimento, por exemplo, requisitos de interoperabilidade, legislação, etc. Sistema LIBSYS: Requisitos Não Funcionais Problemas com Requisitos Não Funcionais • Costumam ser propostos pelos usuários ou clientes como metas gerais • As metas estabelecem as boas intenções, mas podem causar problemas porque deixam margem para causar problemas porque deixam margem para interpretação • Devem ser “testáveis” – métricas devem ser definidas • Exemplo SEM métricas • “O sistema deve ser de fácil uso pelo pessoal médico e deve ser organizado de tal maneira que os erros dos usuários sejam minimizados” Problemas com Requisitos Não Funcionais • Exemplo COM métricas • “A equipe médica deve ser capaz de usar todas as funções do sistema após quatro horas de treinamento. Após esse treinamento, o número médio de erros cometidos por usuários experientes não deve exceder dois por hora de uso do sistema” Métricas para Requisitos Não Funcionais Classificação de Requisitos Não Funcionais RNF de Produto Facilidade de Uso • Facilidade de uso envolve o esforço para aprender a utilizar o sistema • Exemplos de RNF de Facilidade de Uso • “Não deve ser preciso mais de 3 cliques para executar o • “Não deve ser preciso mais de 3 cliques para executar o requisito funcional [RF3]” • “A ajuda online deve estar acessível de qualquer página do sistema” • “A parte principal do software é o cadastro de solicitações [RF12] e várias atendentes cadastram novas solicitações o tempo todo. Para ter produtividade o preenchimento desse cadastro não pode demorar mais do que 30 segundos” RND de Produto Eficiência - Desempenho • É medido avaliando-se a velocidade de processamento, o tempo de resposta, o consumo de recursos, ... • Exemplos de Requisitos de Desempenho • “O tempo de resposta das consultas não devem ultrapassar 7 • “O tempo de resposta das consultas não devem ultrapassar 7 segundos” • “O banco de dados do estoque deve ser atualizado em tempo real” RNF de Produto Eficiência - Espaço • Refere-se ao armazenamento dos dados e pode abranger utilização de espaço em memória • Exemplos de RNF de Espaço • “O executável do sistema não pode ser superior a 512 Kbytes”• “O executável do sistema não pode ser superior a 512 Kbytes” RNF de Produto Confiabilidade • Confiabilidade pode ser especificada como a probabilidade de uma falha de sistema ocorrer quando um sistema estiver em uso e a facilidade de recuperação do sistemado sistema • Exemplos • “Falhas de sistema que necessitam de reinicialização não devem ocorrer mais de uma vez por semana.” RNF de Produto Portabilidade • Esforço exigido para transferir um sistema de um ambiente de hardware e/ou software para outro • Exemplos de RNF de Portabilidade • “O sistema deve ser desenvolvido para as plataformas PC e • “O sistema deve ser desenvolvido para as plataformas PC e Macintosh” • “O sistema deve funcionar em dispositivos móveis com iOS e Android” RNF Organizacionais De Entrega • Determinam datas de entregas específicas para o sistema • Exemplos • “O sistema deve emitir o relatório de progresso evidenciado no • “O sistema deve emitir o relatório de progresso evidenciado no [RF1] a cada duas semanas” RNF Organizacionais De Implementação • Restrições e exigência com relação a linguagem de programação, sistema operacionais, formatos de relatórios... • Exemplos• Exemplos • “O sistema deve salvar os arquivos nos formatos do Word, RTF e HTML” • “O sistema deverá ser capaz de importar arquivos gráficos GIF, JPEG e BMP” • “Os relatórios dos requisitos [RF11], [RF13] e [RF14] devem ser impressos no formato PDF” RNF Organizacionais De Padrões • Quando for necessário seguir algum padrão no sistema, isso deve ser definido nesses requisitos não funcionais • Exemplos • “O sistema deve obedecer ao padrão estabelecido para • “O sistema deve obedecer ao padrão estabelecido para emissão de Notas Fiscais Eletrônicas” RNF Externos Interoperabilidade • Necessidades específicas de interoperabilidade do sistema • Exemplos de RNF de Interoperabilidade • “O sistema deverá se comunicar com o SQL Server”• “O sistema deverá se comunicar com o SQL Server” RNF ExternosÉticos • Requisitos que devem atentar para padrões de ética, padrões morais • Exemplos de RNF Éticos • “De acordo com o código de ética médico, nenhum dado do • “De acordo com o código de ética médico, nenhum dado do paciente pode ser identificado” RNF Externos Legais - Privacidade • Faz parte de segurança mas está mais relacionado com a privacidade dos dados trocados e armazenados • Exemplos de RNF de Privacidade • “O sistema não deve revelar qualquer informação que • “O sistema não deve revelar qualquer informação que identifiquem o autor das avaliações dos professores” RNF Externos Legais - Segurança • Premissas e Restrições para o controle e segurança do software além da disponibilidade de mecanismos que controlam ou projetam programas e dados. Estes requisitos estão relacionados aos fatores como: requisitos estão relacionados aos fatores como: necessidade de criptografia, autenticação de usuários, etc • Exemplos • “O sistema deve criptografar todas as informações trocadas nos requisitos funcionais [RF4] e [RF7]” Leitura Recomendada – Capítulo 5 do livro texto: Pressman, Roger. Engenharia de Software, 7ed. McGrawHill, Porto Alegre, RS, 2011. – Capítulo 4 e 12 do livro texto: Sommerville, – Capítulo 4 e 12 do livro texto: Sommerville, Ian. Engenharia de Software, 9ed. Prentice Hall, São Paulo, SP, 2011. Fontes Complementares • http://www.brunobraga.com.br/2009/02/12/requisitos-nao-funcionais/
Compartilhar