REQUIREMENTS DEVELOPMENT DESENVOLVIMENTO DE REQUISITOS Benito David Lopes Pablo Viana Leandro Barbosa Sergio Roteiro • • • • • • • Introdução Metas e Práticas Específicas Apresentação das SG’s Mapeamento: SG – Atividades Apresentação do Processo Dificuldades Encontradas Sugestões de Melhoria Introdução • O propósito do Desenvolvimento de Requisitos (RD) é produzir e analisar e os requisitos de cliente, de produto e de componente de produto. Metas e Práticas Específicas • SG 1 Desenvolver os Requisitos de Cliente – SP 1.1 Levantar os Requisitos – SP 1.2 Desenvolver os Requisitos de Cliente • SG 2 Desenvolver Requisitos de Produto – SP 2.1 Estabelecer os Requisitos de Produto e de Componentes de Produto – SP 2.2 Alocar os Requisitos de Componentes de Produto – SP 2.3 Identificar os Requisitos de Interface • SG 3 Analisar e Validar Requisitos – – – – – SP 3.1 Estabelecer Conceitos e Cenários Operacionais SP 3.2 Estabelecer uma Definição da Funcionalidade Requerida SP 3.3 Analisar os Requisitos SP 3.4 Analisar os Requisitos Visando Equilíbrio SP 3.5 Validar os Requisitos com Métodos Detalhados Apresentação das SG’s • Meta espcífica 1 – Desenvolver os Requisitos de Cliente • As necessidades, expectativas, restrições e interfaces dos stackeholders são coletadas e traduzidas em requisitos do cliente. • Meta espcífica 2 – Desenvolver Requisitos de Produto • Os requisitos do cliente são refinados e elaborados para desenvolver os requisitos do produto e dos componentes de produto. Apresentação das SG’s • Meta espcífica 3 – Analisar e Validar Requisitos • Os requisitos são analisados e validados, e uma definição das funcionalidades requeridas é realizada. SG - Atividades • SG1 – Desenvolver Requisitos do Cliente – Levantar os requisitos • Escolher as técnicas • Aplicar as técnicas – Desenvolver requisitos • • • • • Consolidar as entradas coletadas Obter informações faltantes Resolver conflitos entre requisitos Verificar as restrições Documentar os requisitos do cliente Escolher técnicas para levantar requisitos • Propósito: Escolher as técnicas que melhores se aplicam ao caso • Descrição: Analisar as principais técnicas de levantamento de requisito a fim de selecionar as que melhores se aplicam ao caso. • Insumo: Documento de técnicas de levantamento de requisitos • Produto: Técnicas de levantamento de requisitos selecionadas Utilizar as técnicas para levantamento • Propósito: Levantar as necessidades, expectativas, restrições e interfaces dos stackeholders para todas as fases do ciclo de vida do produto. • Descrição: Envolver os stackeholders relevantes usando métodos para levantamento de necessidades, expectativas, restrições e interfaces externas • Insumo: Técnicas de levantamento de requisitos selecionadas • Produto: Documento com informações dos stackeholders Consolidar entradas coletadas • Propósito: Documentar um conjunto de requisitos do cliente • Descrição: Analisar as informações recebidas dos stackeholders para gerar requisitos do cliente. • Insumo: Informações dos stackeholders • Produto: Requisitos do cliente (inicial) Obter informações faltantes • Propósito: Obter requisitos que não poderiam ser identificados pelo cliente. • Descrição: Procurar informações relevantes para o caso, analisando fontes de requisitos que não poderiam ser identificados pelo cliente. • Insumo: Outras fontes de requisitos • Produto: Requisitos do cliente (inicial) Resolver conflitos entre clientes • Propósito: Resolver conflitos entre requisitos • Descrição: Por vezes, informações dos clientes, stackeholders e outras fontes de requisitos, podem ser conflitantes. Nessas situações é necessário analisar as informações relevantes e transformá-las num conjunto reconhecido de requisitos do cliente. • Insumo: Requisitos do cliente (inicial) • Produto:Requisitos do cliente (atualizado) Verificar restrições • Propósito: Definir restrições de verificação e validação • Descrição: Analisar as informações com o objetivo de obter as restrições dos clientes na condução das verificações e das validações. • Insumo: Requisitos do cliente • Produto: Restrições de verificação e validação Documentar requisitos do cliente • Propósito: Reunir os dados analisados a fim de documentar os requisitos do cliente. • Descrição: Analisar o conjunto de informações obtidas para documentar os requisitos do cliente. • Insumo: Requisitos do cliente • Produto: Documento de requisitos SG1 – Diagramas de Atividades SG1 – Diagramas de Atividades SG1 – Diagramas de Atividades SG - Atividades • SG2 – Desenvolver Requisitos do Produto • • • • • • Estabelecer os Requisitos do Produto Estabelecer Requisitos dos Componentes Alocar Requisitos de cada componente do produto Alocar restrições de Design Documentar Relacionamento entre os Requisitos Identificar Requisitos de Interface • Identificar Interfaces • Identificar Requisitos das Interfaces • Elaborar requisitos de Interface Estabelecer Requisitos do Produto • Propósito: Desenvolver os requisitos em termos técnicos, necessários ao design do produto • Descrição: Estabelecer e Manter os requisitos de produto que são os requisitos do cliente em termos técnicos e que podem ser usados para decisões de design. • Insumo: Documento de Requisitos do Cliente • Produto: Documento de Requisitos do Produto Estabelecer Requisitos dos Componentes • Propósito: Estabelecer e manter os Requisitos dos Componentes do Produto • Descrição: Estabelecer a partir dos requisitos do produtos os componentes e seus requesitos • Insumo: Requisitos de Produto • Produtos: Requisitos dos Componentes Alocar Requisitos de cada componente • Propósito: Alocar os requisitos de cada componente do produto. • Descrição: Fornecer informações para definir a alocação de requisitos a componentes de produto • Insumo: Requisitos de Produto, Requisitos dos Componentes • Produtos: Planilhas de alocação de requisitos Alocar restrições de Design • Propósito: Alocar restrições de Design • Descrição: Alocar as restrições de design aos requisitos de produto e a componente de produtos • Insumo: Requisitos de Produto, Requisitos dos Componentes • Produtos: Restrições de design Documentar Relacionamento entre os Requisitos • Propósito: Documentar Relacionamento entre os Requisitos Alocados • Descrição: Os relacionamentos incluem dependências nas quais uma mudança em um requisito pode afetar outros requisitos. • Insumo: Requisitos de Produto, Requisitos dos Componentes • Produtos: Relacionamentos entre requisitos Identificar Interfaces • Propósito: Identificar as interface internas e externas • Descrição: As Interfaces dos produtos ou dos componentes de produto são identificadas • Insumo: Requisitos do Produto e de Componentes • Produtos: Interfaces Identificadas Identificar Requisitos de Interface • Propósito: Identificar Requisitos de Interface • Descrição: identificar os requisitos das interfaces com os produtos e componentes de produtos • Insumo: Interfaces Identificadas, Requisitos do Produto e de Componentes • Produtos: Requisitos de Interface Elaborar requisitos de Interface • Propósito: Elaborar requisitos de Interface • Descrição: Os requisitos de interfaces são definidos em termos de aspectos tais como origem, destino, estímulo, características de dados para software e características elétricas e mecânicas para hardware. • Insumo: Requisitos de Interface • Produtos: Requisitos em Termos de Aspectos. SG2 - Diagrama de Atividades SG2 - Diagrama de Atividades SG2 - Diagrama de Atividades SG - Atividades • SG3 – Analisar e Validar Requisitos • Estabelecer os Conceitos e Cenários Operacionais • Estabelecer uma Definição da Funcionalidade Requerida o o o o Analisar e Quantificar as Funcionalidades Identificar as Partições Particionar os Requisitos Alocar os Requisitos • Analisar os Requisitos Estabelecer uma Definição da Funcionalidade Requerida • Analisar e Quantificar as Funcionalidades – Propósito: Gerar uma analise das funcionalidades dos requisitos – Descrição: Analisar e quantificar as funcionalidades requeridas pelos usuários finais – Recurso: Engenheiro de Requisitos – Produto: Análise das Funcionalidades Estabelecer uma Definição da Funcionalidade Requerida • Identificar as Partições – Propósito: Gerar documento com identificação de futuras partições dos requisitos – Descrição: Identificação de partições lógicas ou funcionais dos requisitos – Recurso: Engenheiro de Requisitos – Insumo: Análise das Funcionalidades – Produto: Identificação das Partições Estabelecer uma Definição da Funcionalidade Requerida • Particionar os Requisitos – Propósito: Criar partições para facilitar a análise de requisitos – Descrição: Partição dos requisitos em grupos com base nos critérios estabelecidos – Recurso: Engenheiro de Requisitos – Insumo: Identificação das Partições – Produto: Partição dos Requisitos Estabelecer uma Definição da Funcionalidade Requerida • Alocar os Requisitos – Propósito: Dar suporte à síntese de soluções – Descrição: Alocar requisitos dos clientes às partições funcionais, objetos e pessoas e alocar os requisitos funcionais às funções e sub-funções – Recurso: Engenheiro de Requisitos – Insumo: Partição dos Requisitos – Produto: Alocação dos Requisitos Analisar Requisitos • Propósito: Analisar os requisitos para garantir que são necessários e suficientes. • Descrição: Realizada com base nos processos operacionais, então os requisitos de um nível de hierarquia são analisados para ver se atendem a especificação em níveis mais altos e a determinação de quais requisitos-chave serão usados para acompanhar o progresso técnico. Analisar Requisitos •Analisar Viabilidade Propósito: Analisar as necessidades perante os stakeholders. Descrição: Analisar expectativas, restrições e interfaces externas dos stakeholders para remover conflitos e organizá-los em assuntos relacionados. Recurso: Engenheiro de Requisitos Produto: Relatório de defeito de requisitos Analisar Requisitos •Identificar os requisitos-chave Propósito: Identificar os requisitos-chave que serão usados para acompanhar o progresso técnico. Descrição: Identificar os requisitos-chave que têm uma forte influência nos custos, cronograma, funcionalidades, riscos ou desempenho. Insumos:Documento de Requisitos do Cliente e Requisitos do Produto Recurso: Engenheiro de Requisitos Produto: Requisitos-chave Analisar Requisitos •Identificar medidas de desempenho técnico Propósito: Identificar medidas de desempenho técnico. Descrição: Identifica e mede o desempenho técnico dos requisitos que serão acompanhados durante o esforço de desenvolvimento. Recurso: Engenheiro de Requisitos Produto: Medidas de desempenho técnico Analisar Requisitos •Analisar os Requisitos Visando Equilíbrio Propósito: Analisar os requisitos para equilibrar as necessidades e as restrições dos stakeholders. Descrição: As necessidades e restrições dos stakeholders podem endereçar custos, cronograma, desempenho, funcionalidade, componentes reusáveis, manutenibilidade ou risco. Recurso: Engenheiro de Requisitos Produto: Avaliação de riscos relacionados a requisitos Analisar Requisitos •Refinar as Necessidades Propósito: Analisar necessidades, restrições e interfaces do cliente para descobrir novos requisitos. Descrição: As necessidades e restrições dos stakeholders podem resultar em conceitos e cenários operacionais mais detalhados, bem como dar suporte à derivação de novos requisitos. Recurso: Engenheiro de Requisitos Produto: Detalhamento de conceitos e cenários operacionais SG 3 - Analise de Requisitos Dificuldades Encontradas • Usabilidade • Problema com o merge de atividades • Problema com save… Sugestões de Melhoria • Barra de ferramentas Drag and Drop • Melhoria na usabilidade – Cliques de mouse – Botão OK na atividade deveria salvar! • Merge com macro atividades