Baixe o app para aproveitar ainda mais
Prévia do material em texto
Requisitos de Software Prof. Luís Alexandre O que são os Requisitos de Software? • A Engenharia de Requisitos ou simplesmente o Levantamento de Informações é a descrição das demandas impostas para o sistema a ser desenvolvido; • Nível de detalhamento dessa descrição varia muito: • Descrição em linguagem formal • Documento em texto semi-estruturado • Descrições textuais livres • Implementação de testes 2 Requisitos de Software Definição de Requisito: • condição necessária para a obtenção de certo objetivo ou para o preenchimento de certo fim. Requisitos para um sistema de software • descrição das funções e restrições que o produto a ser desenvolvido deve possuir. Engenharia de Requisitos • processo de descobrir, analisar, documentar e verificar essas funções e restrições. 3 Tipos de requisitos • Dois tipos básicos de requisitos devem ser considerados: • Funcionais representam quais funções o sistema deve oferecer em alguns casos, o que o sistema não deve fazer • Não funcionais representam as restrições relativas às funções que o sistema realiza • Requisitos do produto: eficiência, confiabilidade. . • Requisitos da organização: prazos, padrões. . . • Requisitos externos: éticos, legais. . . 4 Requisitos funcionais •Diretamente ligados a funcionalidade do software, como o sistema deve reagir a entradas específicas, como deve se comportar em determinadas situações. • Em alguns casos podem declarar o que o sistema não deve fazer. •Dependem do tipo de sistema a ser desenvolvido e dos usuários. 5 Exemplo: Sistema de uma biblioteca •permite pedir livros e documentos a outras universidades. •buscar todo o conjunto inicial no banco de dados ou selecionar um subconjunto; • fornecer telas apropriadas para ler documentos no repositório de documentos; • alocar um único identificador a cada pedido. 6 Requisitos não funcionais •Não dizem respeito diretamente as funções especíıficas do sistema. •Podem estar relacionados as propriedades do sistema como confiabilidade, tempo de resposta, restrições sobre o processo, padrões, etc. 7 Exemplos • dependendo do resultado do teste, somente o supervisor pode efetuar a entrada do resultado do teste de um paciente. • o sistema deve emitir um recibo para o cliente até oito segundos após a transação. • um sistema de aviação deve atender ao requisito de confiabilidade. • um sistema de tempo real deve atender ao requisito de desempenho; do contrário as funções de controle não funcionarão corretamente. • tipos de ferramentas CASE e descrição do processo a ser seguido. 8 Requisitos não funcionais • Requisitos do produto: comportamento do produto - desempenho, memória, confiabilidade (taxa aceitável de falha), portabilidade e facilidade de uso; • Requisistos organizacionais: políticas e procedimentos nas organizações do cliente e do desenvolvedor - padrões de processo, requisitos de implementação (linguagem ou método de projeto) e requisitos de entrega (do produto e documentos associados); • Requisitos externos: fatores externos ao sistema e ao processo de desenvolvimento - interoperabilidade (com outros sistemas), requisitos legais, requisitos éticos. 9 Documento de Especificação de Requisitos •Declaração oficial do que é exigido dos desenvolvedores do sistema. • Inclui os requisitos do usuário para um sistema e uma especificação detalhada dos requisito do sistema. 10 Documento de Especificação de Requisitos O documento tem um número diversificado de usuários: • Clientes do sistema: especificam e verificam se os requisitos atendem as suas necessidades; também especificam mudanças; • Gerentes: usam o documento para planejar o processo de desenvolvimento; • Engenheiros de software: compreender que sistema deverá ser desenvolvido; • Engenheiros de teste: desenvolver testes de validação do sistema; • Engenheiros de manutenção: compreender o sistema e as relações entre suas partes. 11 Documento de Especificação de Requisitos 1. Introdução: Descreve os objetivos do sistema, suas funções e explica como ele deve operar com outros sistemas. Descreve também como o sistema se ajusta aos objetivos estratégicos da organizaçã que está encomendando o software. 2. Glossário: Define os termos técnicos utilizados no documento. 12 Documento de Especificação de Requisitos 3. Definição dos requisitos do usuário: Descreve os serviços fornecidos para o usuário e os requisitos não funcionais do sistema. Pode-se utilizar a linguagem normal, diagramas ou outras notações que sejam compreendidas pelos clientes. 13 Documento de Especificação de Requisitos 4. Especificação dos requisitos do sistema: • Descreve os requisitos funcionais e não funcionais com mais detalhes. Podem ser definidas interfaces, isto é, como o software interage com as pessoas, com o hardware do sistema, com outros sistemas e com outros produtos. As restriçõoes impostas pela aplicação, tais como padrõoes, linguagem de implementação, ambientes operacionais e limites de recursos também são descritas 14 Documento de Especificação de Requisitos 5. Evolução do sistema: Descreve as suposições fundamentais nas quais o sistema se baseia e as mudanças previstas devido à evolução do hardware, mudanças nas necessidades do usuário, etc. 6. Análise de risco: Define os pontos de risco e as ações a serem contempladas para evitar ou minimizar impacto dos riscos. 7. Anexo: Descreve todos os recursos e técnicas utilizados para a o levantamento de requisitos, assim como as questões feitas e o nome das pessoas envolvidas. 15 Processos da Engenharia de Requisitos: Levantamento de requisitos O que o sistema deve fazer? • Técnicas de entrevista, observação • Dificuldades em obter a resposta: • Muitas vezes, as partes interessadas (stakeholders) não conseguem comunicar claramente o que desejam • Às vezes, os stakeholders não sabem o que querem • Pode ocorrer conflitos entre diferentes partes • Pode não estar claro quem são os stakeholders 16 Processos da Engenharia de Requisitos: levantamento de requisitos Está claro o que o sistema deve fazer? • Classificação dos requisitos • Resolução de conflitos • Definição de prioridades • Verificação dos requisitos • Completitude • Consistência • Coerência com os desejos das partes interessadas • Complementada por um processo de validação de requisitos 17 Processos da Engenharia de Requisitos •1. Estudo de viabilidade •2. Levantamento e análise dos requisitos •3. Validação dos requisitos •4. Gerenciamento dos requisitos 18 Estudo de viabilidade • O estudo de viabilidade permite que se decida se vale a pena desenvolver o sistema proposto. • O sistema contribui para os objetivos da organização? • Pode ser implementado com a tecnologia atual e dentro do orçamento? • Pode ser integrado com outros sistemas em operação? 19 Estudo de viabilidade • O que aconteceria se o sistema não fosse implementado? • Quais os problemas com os processos atuais? • Como o sistema proposto irá ajudar? • Pode haver troca de informações entre outros sistemas e o sistema proposto? 20 Levantamento e análise dos requisitos • Desenvolvedores trabalham com o cliente e usuários finais para descobrir mais informações sobre o domínio da aplicação, serviços, desempenho, restrições de hardware, etc. • Envolve diferentes tipos de pessoas. • Stakeholder: qualquer pessoa com alguma influência, direta ou indireta, sobre os requisitos. • Exemplo: usuários finais, todo pessoal afetado pelo sistema; desenvolvedores, mantenedores de sistemas relacionados, gerente de negócios, especialistas no domínio, etc.21 Problemas com o levantamento • Os usuários muitas vezes não sabem o que querem, a não ser em termos muito gerais: podem achar difícil articular o que desejam do sistema, fazer pedidos não realistas. • Os usuários expressam os requisitos em seus próprios termos e com conhecimento implícito de sua área de atuação. • Engenheiros de requisitos devem entender esses requisitos. 22 Problemas com o levantamento • Diferentes usuários tem em mente diferentes requisitos e podem expressá-los de maneira distinta. Os engenheiros de requisitos devem descobrir todas as fontes possíveis e encontrar pontos comuns e conflitos. • O ambiente econômico e de negócios é dinâmico e se modifica durante o processo de análise ! • A importância dos requisitos pode mudar, novos requisitos podem surgir. 23 O processo de levantamento de requisitos • Compreensão do domínio: documentos, livros, sistemas, pessoas. Exemplo: sistema de biblioteca ! entender com funcionam as bibliotecas. • Coleta e análise de requisitos: descoberta, revelação e entendimento dos requisitos, através de interação entre clientes, usuário(s) e desenvolvedores envolvendo: • a descoberta, classificação e organização dos requisitos; • a determinação de suas prioridades; • resolução de inconsistências e conflitos; e • descoberta de omissões. 24 O processo de levantamento de requisitos • Especificação dos requisitos: armazenamento dos requisitos em uma ou mais formas, incluindo língua natural, linguagem semiformal ou formal, representações simbólicas ou gráficas (casos de uso, por exemplo); • Validação dos requisitos: verificação dos requisitos, visando determinar se estão completos e condizentes com as necessidades e desejos do usuário. 25
Compartilhar