Requisitos www.professoralucelia.com.br
Requisito é uma condição ou capacidade: Conceito de Requisito Requisito é uma condição ou capacidade: Necessária para um usuário resolver um problema ou alcançar um objetivo; Para satisfazer uma especificação em um sistema ou em um componente; Com uma representação documentada. Em: The IEEE Standard Glossary of Software Engineering Terminology, 1997. Rocco, 2004
Ciclo-de-vida dos REQUISITOS Necessidade Definição Gestão Utilização Avaliação
Processo de Engenharia de Requisitos Necessidades Informações Aquisição Especificação Elicitação Modelagem Especificação dos Requisitos Validação Análise Representações Rocco, 2004
Requisitos de Software A Norma ISO/IEC 9126 define seis características de qualidade de software que devem ser avaliados: Funcionalidade (finalidade do produto) Usabilidade (esforço para utilizar, aprender o produto) Confiabilidade (freqüência de falhas, recuperabilidade) Eficiência (desempenho) Manutenibilidade (esforço necessário para modificar) Portabilidade (capacidade de transferir o produto para outros ambientes)
Níveis de Requisitos Requisitos de negócio Requisitos de usuário objetivos de alto nível requeridos pelos clientes Requisitos de usuário tarefas que os usuários são habilitados a realizar Requisitos funcionais funcionalidade que o software deve prover (comportamento e propriedade: como o sistema deve se comportar quando recebe um estimulo) Requisitos não funcionais Restritivos: Impõem restrições ao sistema, o que limita as opções de solução a serem adotadas. Não expressam nenhuma funcionalidade a ser realizada pelo software
Como os Projetos Podem Ter Sucesso? Análise do Problema Entenda o problema Obtenha concordância dos envolvidos Levantamento dos Requisitos Identifique quem usará o sistema (atores) Descubra como o sistema será usado (casos de uso) Gerência de Requisitos Especifique os requisitos completamente Gerencie expectativas, mudanças e erros Controle o aumento do escopo Defina a equipe e a mantenha informada
Gerência de Requisitos Atividades de: - acompanhar o desenvolvimento - controlar as mudanças dos requisitos Ações: - planejamento desenvolvimento - rastreabilidade com componentes de software - definição do estado e avaliação da qualidade - Análise de impacto e controle de versões de mudanças Rocco, 2004
Principais Atividades da Engª de Requisitos Documento de Requisitos do Sistema ELICITAR ANALISAR Métodos, Decisões da Análise Técnicas e Ferramentas MODELAR Modelo de Análise do Sistema
Elicitação dos requisitos Nesta fase o engenheiro de requisitos procura captar os requisitos do software, buscando obter conhecimento do domínio do problema. ELICITAR: descobrir, tornar explícito, obter o máximo de informações para o conhecimento do objeto em questão. Cabe à elicitação a tarefa de identificar os fatos relacionados aos requisitos do Sistema, de forma a prover o mais correto e mais completo entendimento do que é demandado do software. Para alcançar tal objetivo, esta fase utiliza três atividades principais: identificação das fontes de informação; coleta de fatos e comunicação, além de ferramentas, pessoal e métodos.
Elicitação dos requisitos Obter informação sobre domínio do problema e sistema atual (Antes de manter as reuniões com os clientes e usuários e identificar os requisitos, é fundamental conhecer o domínio do problema e os contextos organizacional e operacional (situação atual). A equipe responsável pelo levantamento deve se familiarizar com o vocabulário próprio do domínio a ser considerado. Preparar e realizar reuniões de levantamento /negociações (Utilizar técnicas específicas para o levantamento de requisitos e técnicas de negociação). Identificar e revisar os objetivos do sistema (Identificar e revisar quais informações relevantes para o cliente que o sistema deverá gerir e armazenar.) Identificar e revisar os requisitos funcionais Identificar e revisar os requisitos não funcionais Elicitação dos Requisitos
Necessidades da Elicitação Faz Coleta de Fatos Faz Identificação de Fontes de Informação Faz Comunicação Faz/Usa Ferramentas Usa Pessoal Usa Métodos Depende de Pontos de Vista
Identificação das Fontes de Informação O que são Stakeholders do sistema? Qualquer pessoa afetada de alguma forma pelo sistema (atores, cliente, usuário final, desenvolvedor) A análise dos Stakeholders ajuda a determinar o impacto que um novo sistema de informação terá.
Identificação das Fontes de Informação Outras fontes de Informação: Documentação do macrosistema Políticas Manuais Memos, atas, contratos... Livros sobre tema relacionado Outros sistemas da empresa, sistemas externos.
Identificação das Fontes de Informação Importante: Priorizar as Fontes de Informação. Descubra: Atores mais importantes Documentos mais mencionados Rede de comunicações entre os componentes do macro-sistema ...
Comunicação Apresentação: A forma como a informação é apresentada (...entre clientes/agentes e os eng. soft.) Apresentação: A forma como a informação é apresentada Entendimento: Estabelecimento de contextos comuns. Ex. Planta; Ordem de 5,10,2,9,8,4,6... Linguagem Nível de Abstração Retro-alimentação
Apresentação Diferentes formas de apresentação ajudam ou dificultam o entendimento. Distribuição de Vendas Produto A 15% Produto B 40% Produto C 20% Produto D 25%
Entendimento A comunicação pode ser ruidosa se os indivíduos estiverem dialogando em diferentes níveis de abstração. Conflito presente entre generalistas e especialistas. Exemplo Devemos conquistar mercados (Diretoria) X Distribuir os vendedores (Gerência de Vendas)
Linguagem A linguagem é reflexo da cultura de uma sociedade. Para entendermos algo de importante para uma sociedade temos que entender sua linguagem. Deve-se compreender a linguagem antes de elicitar as necessidades. Exemplos Conta-mãe, Dzero, Fecha a mesa, Passagem de Resultados, Zipar, FTP, TCP/IP
Resumir, parafrasear, confirmar. Retroalimentação Obrigar ao receptor da informação a recolocar a comunicação até que o emissor responda positivamente a recolocação. Resumir, parafrasear, confirmar. ? a
Técnicas de Levantamento - Entrevistas - Questionários Observação / Visitas instalações (próprias ou outras) - Demonstrações - Pesquisa externa - Análise da Documentação - Joint Application Design (JAD) - IBM - Brain Storm - Brain Writing
JAD - Joint Application Development INTRODUZ TEMA MOSTRAR EXEMPLOS DISCUSSÃO CONSENSO DOCUMENTAÇÃOO PENDÊNCIA IMPASSE Responsável Gerência Processo Usuários e desenvolvedores trabalham juntos em uma reunião com o objetivo de: identificar o problema propor elementos de solução negociar diferentes abordagens especificar um conjunto preliminar de requisitos de solução Envolve: preparação para reunião a partir de uma requisição geral do produto reunião
- Fontes sólidas e confiáveis. Questionários - Fontes sólidas e confiáveis. - Questionário objetivo, dirigido e diferenciado
Inclui a análise das informações em meio magnético (discos, fitas...) Análise Documental Estudo dos registros existentes, (documentos e relatórios, atuais ou históricos). Inclui a análise das informações em meio magnético (discos, fitas...)
Entrevistas Funções - Obtenção de informações: atitudes, comportamento, fatos vivenciados, tendências e experiências - Informações sobre a empresa, atividades e a funções - Visão mais concreta da realidade - Coordenação de informações recebidas de fontes diversas
A entrevista - Forma mais comum: pessoal / direta - Documentação dos resultados: copiar tudo? gravar? filmar? realizar anotações ? - Pessoas certas que estão nos locais certos - Perguntas certas, respostas certas - Seqüência dos entrevistados - Planejamento do tempo - Coleta prévia de tantos dados quanto possíveis
Entrevistas Procedimentos preliminares - Planejar a entrevista: objetivo, perguntas e tempo - Escolher o local: privacidade é essencial - Agendar a entrevista, informando o entrevistado da agenda - Obter informações sobre as características do pessoais e funcionais do entrevistado
Durante a entrevista - Apresentar-se - Repassar a agenda (objetivos, patrocinador, motivo da escolha do entrevistado) - Postura do entrevistador: credibilidade, isenção, discrição; não criar ressentimentos - Deixar o entrevistado falar (redução da interferência) - Direcionar a discussão para os objetivos - Evitar perguntas fechadas - Não ultrapassar o tempo - Notar sinais de impaciência
Um estilo para entrevistar - Relacione a parte da entrevista c/ partes do sistema - Obtenha pontos de vista alternativos - Solicite detalhes do item que você estiver interessado - Estabeleça a dependência do assunto com outros - Confirme os dados obtidos - Focalize os requisitos (não os problemas técnicos)
Problemas - Você está tomando tempo demais - Você está ameaçando meu emprego - Você não conhece a nossa empresa - Você está tentando mudar o modo que as coisas são feitas aqui - Não queremos esse sistema - Mudei de opnião - Aqui não há consenso de como a coisa deve ser feita
Brainstorm - Reunião onde todos têm liberdade de expressar suas opiniões - Nenhuma crítica prévia deve ser feita - São válidas colocações por impulso: o que vale é a quantidade de idéias - Relacionadas as idéias, passa-se para a interpretação dos resultados
Brainwriting - Dividir os participantes em grupos de 4 ou 5 pessoas - Os grupos recebem uma questão O trabalho - Escrever a sua opinião sobre a questão - Ao terminar, colocar a folha no centro da mesa - Pegar a folha de respostas de outro integrante do grupo - Criticar as colocações encontradas
Brainwriting - Criticar todos os trabalhos do grupo, por escrito - Completado o ciclo, o grupo pode receber nova pergunta - O presentes criticam todas as posições dos grupos Obs: - Pode haver um relator por grupo - Cada grupo pode receber uma questão diferente - Exige um relator do trabalho final