wiki:NovoExpresso/rnf

Version 11 (modified by viani, 3 years ago) (diff)

--

1. Usabilidade

Requisitos não funcionais que melhor definem as facilidades de uso do software, o nível de consistência dos dados apresentados e de documentação. Requisitos mais comuns:

Conformidade com padrões
Adequação do sistema a padrões internos ou externos à empresa (padrões de interface, negócio, mercado e outros).

-Atender padrões visuais conforme pré-definido em  http://www.tine20.org/;
-Atender conformidade com padrões de usabilidade W3C(listar detalhes);
-Disponibilizar serviços da aplicação via SOA(Conforme Tine);
-Manter compatibilidade de browsers:

  • Mozilla Firefox 3 or later
  • Microsoft Internet Explorer 8 or later
  • Apple Safari 2 or later
  • Google Chrome / Chromium 4 or later
  • Opera 9 or later
Nível de habilidade do usuário
Indica requisitos de utilização especiais de acordo com o nível dos usuários finais: sofisticados ou não; acostumados à utilização intensiva de sistemas ou iniciantes na automação de sistemas.

-Disponibilizar internacionalização para as seguintes linguagens: Português-BR e Inglês(EUA) e Espanhol(ESP);

Presença de ferramentas de auxílio
Helps on-line, menus, tool tips, documentação em geral.

-Usuário iniciante;

Treinamento
Necessidades de tempo e meios para a capacitação plena dos usuários na ferramenta.

-O sistema deve disponibilizar acesso a ajuda em todas as telas do sistema;
-(Verificar e descrever as facilidades de auxilio já presentes na ferramenta);

Dicas para o usuário
Aplicação irá fornecer dicas a respeito do significado de cada campo em tela.

-Usar tool-tip para melhor compreensão de contextos da aplicação;

Desempenho inicial
Desempenho desejado do usuário durante a primeira vez que ele utilizar o sistema. Pode ser medido pela porcentagem desejada de acertos do usuário em relação às atividades proposta para serem realizadas no uso do sistema.

-Não se aplica aqui.

Prevenção de erros
O sistema terá capacidade de evitar erros durante sua utilização. Qual recurso o sistema deverá utilizar?

-Não se aplica aqui.

2. Confiabilidade

Requisitos não funcionais que melhor definem a confiabilidade no software. Engloba aspectos como previsibilidade, acurácia de resultados, resistência a falhas, recuperabilidade, entre outros. Requisitos mais comuns:

-Implementar verificação e tratamento de falhas para os serviços de Rede, BD, IMAP e Diretório;

Integridade dos dados
Medidas necessárias à preservação da integridade dos dados no banco como um todo.
* A base de dados deve se adequar aos padrões de modelagem.

-Manter integridade do BD conforme já definido no Tine;

Disponibilidade
Especificar o percentual de tempo disponível do sistema, em horas de uso, manutenção.
O sistema deve estar disponível de acordo com o SLA contratado.

-(A ser definido pela COSSC).

Medidas de tempo entre falhas
Especificar em horas, dias ou mês qual o tempo que pode existir entre uma falha e outra.

-(A ser definido pela COSSC).

Medidas de tempo de reparo
Tempo que o sistema pode permanecer indisponível após uma falha.

-(A ser definido pela COSSC).

Máximo de defeitos ou taxa de defeitos
Pode ser expresso em termos de defeitos / linhas de código ou defeitos/ponto de função. Estes defeitos devem ser categorizados em termos de defeitos secundários, significantes ou críticos.

-(Não se aplica nesse momento).

Rotinas operacionais
Definir necessidade de backup, janela de tempo, carga, etc.
* A base de dados deve possuir mecanismo de cópia de segurança e restauração de dados.
* As cópias armazenadas devem ser verificadas periodicamente.
* O sistema e seus módulos devem permitir a programação de janelas de tempo para operações de atualização e manutenções preventivas previamente acordadas.

-Os serviços devem possuir mecanismo de cópia de segurança e restauração de dados.
-As cópias armazenadas devem ser verificadas periodicamente.
-O sistema e seus módulos devem permitir a programação de janelas de tempo para operações de atualização e manutenções preventivas previamente acordadas.

3. Performance

Requisitos não funcionais que melhor definem a performance do software. Engloba considerações sobre tempo de resposta, velocidade de processamento, eficiência, consumo de recursos e volume de produção.

-Uso de servidores Master e slave para o serviço de diretório(LDAP);
-Usar recursos de WEBCache;
-Operar com proxy reverso;

Tempo de resposta para uma transação.
Medidas necessárias à preservação da integridade dos dados no banco como um todo.
* O conjunto de transações que compõem a solicitação do usuário e a resposta do sistema não deve ultrapassar 7 segundos.

-(Definir métricas aceitáveis mediante acordo com o cliente e/ou sugerir número baseado em padrões estabelecidos pelo mercado e/ou estabelecer condições do parâmetro mediante estado crítico do sistema(máximo de processos concorrentes, máximo de IO de disco).

Numero de usuários do sistema, distribuído ao longo do tempo.
Especificar o percentual de tempo disponível do sistema, em horas de uso, manutenção.
* 80 mil usuários distribuídos ao longo de 24h.

-(A ser definido).

Estimativas de transações com o banco de dados.
* No mínimo 80 mil transações ao longo de 24h.

-(A ser definido).

Quantidade de acessos simultâneos.
* No mínimo 200 usuário realizando transações simultaneamente.

-(A ser definido).

Quantidade de transações por segundo.
* Banco de Dados: 200
* IMAP: INSERIR
* APACHE/PHP: INSERIR
* SMTP: INSERIR
* LDAP: INSERIR

-(A ser definido).

Capacidade
Quantidade de usuários ou transações que o sistema pode acomodar.

-(A ser definido).

Área de Armazenamento
Quantidade de área de armazenamento dos dados do sistema.
* No mínimo 200% da quota destinada ao armazenamento de e-mails do usuário, considerando o armazenamento de cópias de segurança, logs, códigos do sistema, etc.
* O sistema deve possibilitar a quota mínima de 1GB por usuário.

-(A ser definido).

4. Suportabilidade

Requisitos não funcionais que melhor definem a capacidade do sistema de suportar mudanças, evoluções e reparos. Definem a testabilidade, extensibilidade, adaptabilidade, manutenibilidade, compatibilidade, entre outros. Requisitos mais comuns:

Padrões de programação

-(Inserir os padrões já adotados pela ferramenta);
-Manter compatibilidade da ferramenta com a comunidade Tine para futuras atualizações nos dois sentidos;

Padrões gerais
Quaisquer padrões ou leiautes, internos ou externos à organização, que influenciem no desenvolvimento do aplicativo, exceto aqueles que regulem requisitos de interface – já referenciados em usabilidade.
* A aplicação deve ser compatível com as normatizações (RFCs) dos protocolos utilizados.

-A aplicação deve ser compatível com as normatizações (RFCs) dos protocolos utilizados;
-Adotar padrão em camadas MVC;
-Suporte a POSTGRESQL;
-Adoção da estrutura de diretórios /BD conforme Tine;

Ferramentas de avaliação de impacto

-Não se aplica nesse momento.

Características de extensibilidade de linguagem adotada

-Não se aplica nesse momento.

Facilidades de instalação

-Não se aplica nesse momento.

Elaboração e Distribuição de novas versões

-Não se aplica nesse momento.

Interoperabilidade
Estabelece regras de inter-relacionamento entre sistemas afins

-Não se aplica nesse momento.

Mídia de Armazenamento
É obrigatória a descrição da mídia de armazenamento.
* O sistema deve permitir adequação conforme a necessidade de escalabilidade e diferentes níveis de serviço simultaneamente.

-Não se aplica nesse momento.

Escalabilidade e Elasticidade
* O sistema deve suportar o aumento da demanda de utilização, respeitando os níveis de serviço acordados.

- Possibilitar escalabilidade horizontal do serviço de BD através da persistência de dados em banco de dados distintos. Em função do tamanho e utilização do BD proposto para o ambiente de nuvem, este banco de dados deverá ser separado em instancias distintas considerando agregação por características específicas a serem definidas;

5. Requisitos Legais

Requisitos não funcionais derivados da legislação que regula a construção do sistema, que restringem ou controlam de alguma maneira o seu desenvolvimento. Exemplo: Portarias, Leis, Normas, dentre outros.
* A retenção de dados deve seguir a legislação vigente.

-Atender normatização para Certificação Digital conforme definido pela ICP-Brasil;
-Manter a compatibilidade de licenças LGPL-V3;

6. Segurança

Requisitos não funcionais que definem a política de segurança adotada para a aplicação.

Mecanismos ou sistemas de controle de acesso
Relacionar os mecanismos ou sistemas que serão utilizados, por exemplo: Certificação Digital, Criptografia (https), captcha, outros. Informar se a aplicação possui regra de acesso.
*O tráfego de dados na internet deve ser criptografado.

-Implementar acesso ao sistema com autenticação baseada em usuário e senha e/ou dispositivo de certificação digital;
-Implementar uso de ferramenta anti-robo com CAPTCHA, bloqueio de usuário e controle de expiração de contas(FEDORA-DS);
-O trafego de dados pela internet deve ser baseado em protocolos com criptografia (HTTPS, SSL,TLS, IMAPS);

Transações e perfis de acesso
Relacionar as transações e perfis definidos, e o grau de restrição ao acesso a funcionalidades e dados controlados pela aplicação.

-Autorização de usuários no sistema(após autenticação) com atribuição de papeis pré-definidos pelo administrador responsável;

Sigilo
Definir critérios e definir os procedimentos que garantam o sigilo do sistema a ser desenvolvido.

-Não se aplica.

Auditoria
Definir critérios e procedimentos necessários à auditoria, indicando transações e dados do sistema demandados a serem auditados. Em relação aos dados de auditoria definir a forma, sistema e/ou ferramentas de acesso, o tempo de retenção, o meio físico de guarda, os mecanismos ou sistemas de controle de acesso e os perfis e restrições de acesso.

-Permitir histórico de acessos dos usuários baseado em LOGs;

7. Acessibilidade

Relacionar em linhas gerais os requisitos não funcionais de acessibilidade necessários para o desenvolvimento e a utilização do sistema, tais como recursos de informática e Internet que visam garantir acessibilidade às pessoas que possuem certa deficiência visual, auditiva, física ou intelectual. Os requisitos de acessibilidade podem abranger, por exemplo, dificuldade para ler ou compreender textos, telas reduzidas ou apenas com apresentação de textos, ausência de teclado ou mouse por falta de capacidade de serem utilizados.

-Atender conformidade com padrões de acessibilidade W3C(listar detalhes)-Verificar padrão (e-mag). Definir o nível de atendimento.