Requisitos Não-Funcionais NFR - Framework Fernando Raposo da C. Silva (Fevereiro – 2004) [email protected] Roteiro Requisitos Não-Funcionais Motivação O que são Requisitos não- funcionais Utilizando o OME Informações Gerais Exercício Prático Motivação Requisitos funcionais descrevem o que o sistema deve fazer Algo que pode ser capturado em um Use Case Geralmente representados por sujeito/predicado ou substantivo/verbo Ex:“O sistema imprime recibos” Requisitos não- funcionais fixam restrições sobre como os requisitos funcionais serão implementados custos de desenvolvimento, performance, portabilidade, robustez... Geralmente representados por advérbios ou cláusulas modificadoras Ex: “O sistema imprime recibos rápido” O que são Requisitos nãofuncionais? Requisito não-funcional: Não é aquele que descreve o que o sistema fará, mas como ele o fará. Desafios Contraditórios entre si Difíceis de Modelar Às vezes não são considerados durante o desenvolvimento São críticos para o desenvolvimento do projeto Exemplos de Softgoals (Chung) Qualidade de Software Custo custo de desenvolvimento, de operação, de manutenção, de hardware, de comunicação, de aposentadoria Velocidade de Produção precisão, adaptabilidade, completude, configurabilidade, flexibilidade, mantenabilidade, modularidade, confiabilidade, performance, reusabilidade, segurança, testabilidade, userfriendliness Estabilidade do projeto, tempo de planejamento, tempo de testes, tempo de avaliação pelo cliente Prazer Pessoal Lealdade do funcionário, lealdade do cliente, treinabilidade NFR - Framework Utilizado para modelar requisitos nãofuncionais Criado por Chung, Universidade de Toronto Permite a construção de um gráfico SIG (Softgoal Interdependency Graph ) que descreve as dependências entre softgoals e como eles são decompostos Auxilia a detectar: NFR (Non Functional Requirements) Possíveis Soluções Dependências entre requisitos NFR – Framework - OME •Representação pela ferramenta: Representação de um Softgoal (algo incerto, nebuloso) Operacionalização (uma possível solução Para satisfazer um softgoal) Observação, explicita argumentação ou decisão de projeto. ( Auxilia revisões no futuro ). NFR – Framework Contribuições: Trata-se do refinamento de um softgoal em um ou mais softgoals, formando-se então uma rede de dependências. Uma dependência pode contribuir parcialmente, positivamente, ou negativamente. Contribuição AND – Se todas as dependências forem atendidas, então a raiz também é Contribuição OR – Se uma das dependencias for atendida, então a raiz também é. NFR – Framework A ferramenta dá suporte a decisões: Requisito satisfeito Requisito não-decidido Requisito recusado Decisões de sub-softgoals implicam em softgoals de níveis superiores. Exemplo • Eu gostaria de ir comer uma boa pizza... • O que é uma boa pizza? • Como quantificar? • Possíveis Soluções Exemplo: Exercício Imagine caso de uma empresa elaborando os softgoals de um software de compressão de arquivos Requisitos Funcionais: Compactar arquivo(s) Descompactar arquivo(s) Quais seriam os requisitos não- funcionais? ???? Possível Resposta do Exercício Referências L. Chung, B. A. Nixon, E. Yu and J. Mylopoulos, Kluwer Academic Publishing. ”Non-Functional Requirements in Software Engineering” “Überfachliches Grundlagenseminar: Design Rationale”: http://www.globalse.org/teaching/ss01/DR/