Baixe o app para aproveitar ainda mais
Prévia do material em texto
Processo de Engenharia de Requisitos Deve lidar com diferentes pontos de vista, métodos, ferramentas e pessoas Requisito Processo Requisito Produto Requisito Usuário Requisito Funcional Req não funcional Requisito de domínio Requisito de Sistema Funcional funcional Produto Organizacional Externo domínio Requisitos de Produto X Processo • Requisito de produto • É uma necessidade ou restrição do software a ser desenvolvido • Ex: O sistema deve permitir que a secretária faça matrícula de aluno com os seguintes dados: cpf, nome, endereço, email, telefone. Não deve ser permitido o cadastro duplicado de alunos • Requisito de processo • É uma restrição no projeto de desenvolvimento do software • Ex: o software deve ser desenvolvido usando o método ágil SCRUM Categorias de Requisitos • Requisitos de Usuários • Requisitos de Sistemas Requisito Processo Requisito Produto Requisito Usuário Requisito Funcional Req não funcional Requisito de domínio Requisito de Sistema Funcional funcional Produto Organizacional Externo domínio Requisitos de Usuário • Declarações em linguagem natural associadas com diagramas de quais serviços o sistema deve fornecer e suas restrições operacionais • Leitores de requisitos de usuários• Leitores de requisitos de usuários Requisitos de Sistema • Descrições detalhadas das funções e restrições operacionais do sistema • Define o que deve ser implementado e assim, pode ser parte de um contrato entre cliente e desenvolvedorparte de um contrato entre cliente e desenvolvedor • Contrato é o DOCUMENTO DE ESPECIFICAÇÃO DE REQUISITOS ou de especificação FUNCIONAL •Leitores de requisitos de sistema Exemplo: Sistema LIBSYS • Um sistema de BIBLIOTECA DIGITAL que fornece uma interface única para uma série de banco de dados de artigos em bibliotecas diferentes •Os usuários podem pesquisar, baixar e imprimir cópias de artigos publicados para estudo pessoal a partir de revistas, jornais e periódicos científicos, respeitando as cláusulas de direitos autorais, quando houver Requisitos de Usuário X Sistema Sistema de Sistema de BibliotecaBiblioteca Nível de detalhes diferenciado!!! BibliotecaBiblioteca LIBSYSLIBSYS Classificação de Requisitos • Requisitos Funcionais • Requisitos Não Funcionais • Requisitos de Domínio• Requisitos de Domínio Requisito Processo Requisito Produto Requisito Usuário Requisito Funcional Req não funcional Requisito de domínio Requisito de Sistema Funcional funcional Produto Organizacional Externo domínio Classificação de Requisitos • Funcionais • Declarações de quais serviços o sistema deve fornecer, como o sistema deve reagir a entradas específicas e como o sistema deve se comportar em determinadas situações •Não funcionais•Não funcionais • Restrições sobre serviços ou funções oferecidos pelo sistema tais como restrições de timing, restrições sobre o processo de desenvolvimento, padrões, etc •De Domínio • Requisitos que vêm do domínio de aplicação do sistema e que refletem as características desse domínio Requisitos Funcionais • Descrevem a funcionalidade ou serviços de sistema •Dependem do tipo de software, dos usuários esperados e do tipo de sistema onde o software é usadoe do tipo de sistema onde o software é usado •Requisitos funcionais de usuário são as declarações de alto nível do que o sistema deve fazer, MAS os requisitos funcionais de sistema devem descrever os serviços de sistema em detalhes Sistema LIBSYS: Requisitos Funcionais • Diferentes graus de detalhamento são permitidos em documentos de especificação de requisitos, desde que estejam acordados [R1] O usuário deve ser capaz de pesquisar em todo o conjunto inicial de banco de dados ou selecionar um subconjunto a inicial de banco de dados ou selecionar um subconjunto a partir dele [R2] O sistema deve fornecer telas apropriadas para o usuário ler os documentos no repositório de documentos [R3] Para todo pedido, deve ser alocado um identificador único que o usuário deve ser capaz de copiar para a área de armazenamento permanente da sua conta Imprecisão de Requisitos • Problemas surgem quando os requisitos não são precisamente definidos • Requisitos ambíguos podem ser interpretados de maneiras diferentes pelos desenvolvedores e usuáriosmaneiras diferentes pelos desenvolvedores e usuários • Considere o termo ‘telas apropriadas’ (requisito R2) • Intenção do usuário – tela de propósito especial para cada tipo diferente de documento • Interpretação do desenvolvedor – fornece uma tela de texto que mostra o conteúdo do documento • Foco na Comunicação (vide seção 5.2, Roger Pressman) 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) • Devem ser “testáveis” – métricas devem ser definidas Classificação de 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. Requisitos De Domínio • Derivados do domínio de aplicação e descrevem características de sistema que refletem o domínio • Podem restringir os requisitos funcionais existentes, OU • Podem restringir os requisitos funcionais existentes, OU estabelecer como cálculos específicos devem ser realizados • Se os requisitos de domínio não forem satisfeitos, o sistema pode não funcionar Sistema LIBSYS: Requisitos De Domínio • Deve existir uma interface com o usuário de todas as bases de dados baseada no padrão Z39.50 • Dadas as restrições de direitos autorais, alguns • Dadas as restrições de direitos autorais, alguns documentos serão impressos localmente no servidor de sistema para serem encaminhados manualmente para o usuário ou direcionados para uma impressora de rede Problemas de Requisitos De Domínio • Facilidade de entendimento • Requisitos são expressos na linguagem do domínio de aplicação (ex:, Z39.50, DICOM 3.0, etc.) • Isso não é, frequentemente, compreendido pelos engenheiros • Isso não é, frequentemente, compreendido pelos engenheiros de software que estão desenvolvendo o sistema •Problema do conhecimento implícito (tácito) • Especialistas em domínio compreendem a área tão bem que não pensam em tornar os requisitos de domínio explícitos Descrição de Requisitos de Usuários • Deve descrever requisitos funcionais e não funcionais, de tal modo que sejam compreensíveis pelos usuários de sistema que NÃO têm conhecimento técnico detalhado •Requisitos de usuário são definidos usando uma linguagem simples, tabelas e diagramas quando estes podem ser compreendidos por todos os usuários Descrição de Requisitos de Sistema •Especificações mais detalhadas das funções do sistema, dos serviços e das restrições do que requisitosde usuário •Eles pretendem ser uma base para o desenvolvimento do projeto de sistemaprojeto de sistema •Eles podem ser incorporados no contrato de sistema •Também sofre dos problemas de especificação em linguagem natural, como a ambiguidade •Requisitos de sistema podem ser definidos ou ilustrados usando modelos (MODELAGEM) discutidos em próximas aulas Problemas com Linguagem Natural •Falta de clareza • É difícil atingir uma precisão sem tornar o documento difícil de ler •Confusão de requisitos•Confusão de requisitos • Requisitos funcionais e não funcionais tendem a estar misturados •Fusão de requisitos • Vários requisitos diferentes podem ser expressos juntos Exemplo do LIBSYS • Mistura de requisitos com informação conceitual e • Mistura de requisitos com informação conceitual e informação muito detalhada • Requisito acima descreve o conceito de um sistema de contabilidade financeira que deve ser incluído no LIBSYS • Contudo, também inclui o detalhe com os quais os gerentes podem configurar esse sistema – isso é desnecessário neste nível Software de Edição de Modelos Gráficos •Requisito de grade de editor de diagrama mistura três tipos diferentes de requisitos • Requisito funcional conceitual (necessidade de uma grade) • Requisito não funcional (unidades de grade) • Requisito não funcional de interface com usuário (chaveamento de grade) Boas práticas para escrita de RF • Deve possuir um identificador único que o identifique durante todo o processo de construção do software • [RF1]; 001; F1; etc... • Deve ser escrito da forma:• Deve ser escrito da forma: • “O sistema deve permitir que os ATORES façam ALGUMA COISA quando ALGO ACONTECER” • Todo requisito deve ser priorizado • Obrigatório, desejado, • Alto, médio e baixo grau de prioridade Exemplos de Requisitos Funcionais [RF01] O sistema deve permitir que o administrador cadastre funcionários com os seguintes dados: CPF, nome, email e telefone. O cadastro de funcionário não deve se repetir. [RF02] O sistema deve permitir que o administrador atribua um cargo a um funcionário. cargo a um funcionário. [RF03] O sistema deve permitir que o administrador exclua um funcionário. Para ser excluído, o funcionário não pode ter nenhum cargo atribuído a ele. Proposta de uma Estrutura Genérica: Padrão IEEE 830-1998 1. INTRODUÇÃO 1.1 Propósito do documento de requisitos 1.2 Escopo do produto 1.3 Definições, acrônimos e abreviações 1.4 Referências 3. REQUISITOS ESPECÍFICOS -- FuncionaisFuncionais - Não-funcionais - De interface OBS: requisitos podem documentar 1.4 Referências 1.5 Visão geral do restante do documento 2. DESCRIÇÃO GERAL 2.1 Funções do produto 2.2 Características do usuário OBS: requisitos podem documentar interfaces externas, descrever funcionalidade e desempenho do sistema, especificar requisitos lógicos de banco de dados, restrições de projeto, propriedades emergentes do sistema e caracterísiticas de qualidade 4. APÊNDICES 5. ÍNDICE Trabalho em Grupo – Requisitos Funcionais – Requisitos Não Funcionais Leitura Recomendada – Capítulo 5 do livro texto: Pressman, Roger. Engenharia de Software, 7ed. McGrawHill, Porto Alegre, RS, 2011. – Capítulo 4 do livro texto: Sommerville, Ian. – Capítulo 4 do livro texto: Sommerville, Ian. Engenharia de Software, 9ed. Prentice Hall, São Paulo, SP, 2011.
Compartilhar