Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Requisitos Requisitos de Software Aula 4 Josiane Brietzke Porto Engenharia de Requisitos • Requisitos • Requisitos de Usuário • Requisitos de Sistema • Requisitos Funcionais • Requisitos Não Funcionais O que são requisitos? • Relembrando ... –Conjunto de necessidades explicitadas pelo cliente que deverão ser atendidas para solucionar um determinado problema do negócio no qual o cliente faz parte. Engenharia de Requisitos • Requisitos • Requisitos de Usuário • Requisitos de Sistema • Requisitos Funcionais • Requisitos Não Funcionais Requisitos de Usuário • Declarações em uma linguagem natural, de quais serviços o sistema deverá fornecer a seus usuários e as restrições com as quais este deve operar; • Requisitos mais abstratos e expressos em alto nível. Fonte: SOMMERVILLE, 2011 Exemplo de Requisitos de Usuário • Sistema de Gerenciamento da Saúde Mental de Pacientes (SGSMP) •O SGSMP deve gerar relatórios gerenciais mensais que mostrem o custo dos medicamentos prescritos por cada clínica durante aquele mês. Fonte: SOMMERVILLE, 2011 Engenharia de Requisitos • Requisitos • Requisitos de Usuário • Requisitos de Sistema • Requisitos Funcionais • Requisitos Não Funcionais Requisitos de Sistema • Descrições mais detalhadas das funções, serviços e restrições operacionais do sistema de software; • O documento de requisitos do sistema (especificação funcional) deve definir exatamente o que deve ser implementado, podendo ser parte do contrato. Fonte: SOMMERVILLE, 2011 Exemplo de Requisitos de Sistema • Sistema de Gerenciamento da Saúde Mental de Pacientes (SGSMP) –Especificação de Requisitos de Sistema (ERS): 1. No último dia útil de cada mês deve ser gerado um resumo dos medicamentos prescritos, seus custos e as prescrições de cada clínica; Fonte: SOMMERVILLE, 2011 Exemplo de Requisitos de Sistema • ERS (continua): 2. Após 17h30 do último dia útil do mês, o sistema deve gerar automaticamente o relatório para impressão; 3. Um relatório será criado para cada clínica, listando o nome dos medicamentos, o número total de prescrições, o número de doses prescritas e o custo total dos medicamentos prescritos; Fonte: SOMMERVILLE, 2011 Exemplo de Requisitos de Sistema • ERS (continua): 4. Se os medicamentos estão disponíveis em diferentes unidades de dosagem (por exemplo, 10mg ou 20mg) devem ser criados relatórios separados para cada unidade; 5. O acesso aos relatórios de custos deve ser restrito aos usuários autorizados por uma lista de controle de gerenciamento de acesso. Fonte: SOMMERVILLE, 2011 Requisitos de Usuário e Requisitos de Sistema • Pode-se concluir que: – O Requisito de Usuário pode ser expandido em diversos Requisitos de Sistema; – Os Requisitos de Usuário são descritos de forma mais geral; – Os Requisitos de Sistema são descritos de forma específica sobre os serviços e funções do sistema, que devem ser implementados. Fonte: SOMMERVILLE, 2011 Requisitos de Usuário e Requisitos de Sistema • Existem leitores de diferentes tipos de especificação de requisitos: Requisitos de Usuário Gerentes clientes Usuários finais do sistema Engenheiros clientes Gerentes contratantes Arquitetos de Sistema Requisitos de Sistema Usuários finais do sistema Engenheiros clientes Arquitetos de sistema Desenvolvedores de software Fonte: SOMMERVILLE, 2011 Engenharia de Requisitos • Requisitos • Requisitos de Usuário • Requisitos de Sistema • Requisitos Funcionais • Requisitos Não Funcionais Requisitos Funcionais • São declarações: –de funcionalidades ou serviços, que o sistema deve fornecer; –de como o sistema deve reagir a entradas específicas; – de como o sistema deve se comportar em determinadas situações. Fonte: SOMMERVILLE, 2011 Requisitos Funcionais • Em alguns casos, também podem explicitar os serviços ou funcionalidades, que não serão disponibilizados ou que não deve, ser feitos pelo sistema. Fonte: SOMMERVILLE, 2011 Requisitos Funcionais • Dependem do tipo de software a ser desenvolvido, das solicitações dos usuários e das necessidades do negócio. Fonte: SOMMERVILLE, 2011 Exemplos de Requisitos Funcionais • Sistema de Gerenciamento da Saúde Mental de Pacientes (SGSMP): 1. Um usuário deve ser capaz de pesquisar as listas de agendamento para todas as clínicas. 2. O sistema deve gerar a cada dia, para cada clínica, a lista dos pacientes para as consultas daquele dia. 3. Cada membro da equipe que usa o sistema deve ser identificado apenas por seu número de oito dígitos. Fonte: SOMMERVILLE, 2011 Requisitos Funcionais • Estes exemplos definem os recursos específicos a serem fornecidos pelo sistema. • A especificação dos requisitos funcionais deve ser completa e consistente. • Completude significa que todos os serviços requeridos pelo usuário devem ser definidos. • Consistência significa que os requisitos não devem ter definições contraditórias. Fonte: SOMMERVILLE, 2011 Engenharia de Requisitos • Requisitos • Requisitos de Usuário • Requisitos de Sistema • Requisitos Funcionais • Requisitos Não Funcionais Requisitos Não Funcionais • Descrição das restrições sobre as quais o sistema deve operar; • Restrições sobre os serviços ou as funções oferecidas pelo sistema; • Não dizem respeito diretamente as funções do sistemas, mas sim sobre as suas restrições; Fonte: SOMMERVILLE, 2011 Requisitos Não Funcionais • Dizem respeito à arquitetura geral e ao sistema como um todo e não as características individuais do sistema; • Em alguns sistemas podem ser até mais importantes e críticos, que os Requisitos Funcionais; Fonte: SOMMERVILLE, 2011 Requisitos Não Funcionais • Nem sempre dizem respeito ao sistema propriamente dito; • Devem ser objetivos: não expressar desejo, objetivo ou opinião pessoal; • Devem ser testáveis: deve existir um processo que permita testá-lo. Fonte: SOMMERVILLE, 2011 Requisitos Não Funcionais • Existem diferentes propostas de classificação desses requisitos: –Cabe a cada empresa definir as categorias que deseja utilizar a fim de padronizar a especificação de requisitos em seus projetos. Fonte: SOMMERVILLE, 2011 Requisitos Não Funcionais • Sommerville (2011) classifica em: – requisitos de produto: especificam ou restringem o comportamento do software; – requisitos organizacionais: derivados de políticas e procedimentos organizacionais; Requisitos Não Funcionais • Sommerville (2011) classifica em: – requisitos externos: derivam de fatores externos ao sistema e seu processo de desenvolvimento. Tratam- se de restrições impostas por entidades externas, independentemente do cliente ou da equipe de desenvolvimento. – . Exemplos de Requisitos Não Funcionais • Sistema de Gerenciamento da Saúde Mental de Pacientes (SGSMP): – Requisito de Produto: • O SGSMP deve estar disponível para todas as clínicas durante as horas normais de trabalho (seg. a sex., 8h30 às 17h30). Períodos de não operação dentro deste horário não podem exceder cinco segundos em um dia. – Requisito Organizacional: • Usuários do sistema SGSMP devem se autenticar com seus cartões de identificação da autoridade de saúde. Fonte: SOMMERVILLE, 2011 Exemplos de Requisitos Não Funcionais • Sistema de Gerenciamento da Saúde Mental de Pacientes (SGSMP): – Requisito Externo:• O sistema implementar as disposições de privacidade dos pacientes, tal como estabelecido no Hstan-03-2006- priv. Fonte: SOMMERVILLE, 2011 Requisitos Não Funcionais Requisitos Não Funcionais Requisitos de Produto Usabilidade Eficiência Desempenho Espaço Confiança Proteção Requisitos Organizacionais Ambientais Operacionais Desenvolvimento Requisitos Externos Reguladores Éticos Legais Contábeis Segurança /Proteção Fonte: SOMMERVILLE, 2011 Exemplos de Requisitos Não Funcionais de Produto • usabilidade: facilidade de uso, aprendizado, ... • desempenho: rapidez, tempo de resposta, ... • espaço/capacidade: qtd de usuários, volume de dados, ... Exemplos de Requisitos Não Funcionais de Produto • confiabilidade: probabilidade de falhas, recuperação, ... • segurança: criptografia, autenticação, .. • portabilidade: Windows, Linux, MAC, dispositivos móveis, ... Exemplos de Requisitos Não Funcionais de Produto • interoperabilidade: integração entre sistemas, ... • expansibilidade: restrições para expansão, ... • manutenibilidade: restrições para manutenção, ... • flexibilidade: várias formas de uso, ... Exemplos de Requisitos Não Funcionais Organizacionais • prazo: prazos relacionados as etapas do processo de desenvolvimento; • metodologia: metodologias usadas no desenvolvimento do sistema; • implementação: definições tecnológicas para o desenvolvimento do sistema; Exemplos de Requisitos Não Funcionais Externos • reguladores: o que deve ser feito ou atender para ser aprovado ou homologado; • legais: leis, medidas provisórias, ... • éticos: asseguram que o sistema será aceitável pelos usuários e público em geral. Problemas com Requisitos Não Funcionais • Errado – Exemplo para o SGSMP: – O sistema deve ser de fácil uso pelo pessoal médico e deve ser organizado de tal forma que os erros dos usuários sejam minimizados. • Correto – Exemplo para o SGSMP: – A equipe médica deve ser capaz de usar todas as funções do sistema após 4h de treinamento. Após esse treinamento, o número médio de erros cometidos por usuários experientes não deve exceder 2 por hora de uso do sistema. Fonte: SOMMERVILLE, 2011 Problemas com Requisitos Não Funcionais • Devem ser descritos quantativamente, pois assim podem ser objetivamente implementados e testados. • Também é difícil conseguir separar os Requisitos Funcionais dos Requisitos Não Funcionais! Fonte: SOMMERVILLE, 2011 Requisitos Funcionais e Requisitos Não Funcionais • Não existe um distinção clara; • Em alguns casos um mesmo requisito pode ser classificado como Requisito Funcional ou Requisito Não Funcional, dependendo do nível de detalhamento do mesmo. Requisitos Funcionais e Requisitos Não Funcionais • Exemplo de Requisito Não Funcional: – O sistema deve garantir que os dados sejam acessados apenas por pessoas autorizadas. • Exemplo de Requisito Funcional: – O sistema deve possuir uma funcionalidade para autenticação, na qual os usuários devem se identificar através de usuário e senha. Fonte: SOMMERVILLE, 2011 Requisitos Funcionais e Requisitos Não Funcionais • Por vezes para atender um Requisito Não Funcional são necessários vários Requisitos Funcionais relacionados; • Isso mostra que os requisitos não são independentes! Podem gerar ou restringir outros requisitos. Fonte: SOMMERVILLE, 2011 Pode-se concluir que: Requisitos de Sistema Requisitos de Hardware Requisitos de Software Técnicos Funcionais Não Funcionais Não Técnicos Acordos, condições contratuais, prazos de entrega, etc.; Engenharia de Requisitos • Requisitos • Requisitos de Usuário • Requisitos de Sistema • Requisitos Funcionais • Requisitos Não Funcionais Engenharia de Requisitos • Referências • Sommerville, Ian. Engenharia de Software. São Paulo: Pearson Prentice Hall, 2011.
Compartilhar