Engenharia de Requisitos



Documentos relacionados
Engenharia de Software

APOO Análise e Projeto Orientado a Objetos. Requisitos

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Objetivos. Requisitos de Software. Tipos de Requisitos. O que é um requisito? Requisitos Funcionais e Não- Funcionais. Requisitos Funcionais

Engenharia de Software III

Requisitos de Software

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Engenharia de Requisitos Estudo de Caso

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Projeto de Sistemas I

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Requisitos. Sistemas de Informações

Engenharia de Requisitos

PROFESSOR: CRISTIANO MARIOTTI

Documento de Requisitos

Processos de Desenvolvimento de Software

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

rosefib.webnode.com.br

Engenharia de Software

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

2 Diagrama de Caso de Uso

REQUISITOS. Prof. Msc. Hélio Esperidião

Engenharia de Software

Requisitos de Software

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

Análise do Ambiente estudo aprofundado

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

ISO/IEC 12207: Gerência de Configuração

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Gerência de Projetos

Especialização em Engenharia de Software com Ênfase em Software Livre ESL2/2008. Projeto Agenda Saúde Requisitos e Modelagem UML

O Impacto da Engenharia de Requisitos no Processo de Métricas. Fátima Cesarino CAIXA

O Processo Unificado: Captura de requisitos

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

Requisitos de Software

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

CHECK - LIST - ISO 9001:2000

Gerenciamento de Problemas

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

ENGENHARIA DE SOFTWARE I

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

Modelagem de Casos de Uso (Parte 1)

Políticas de Qualidade em TI

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Elicitação de requisitos e análise

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Implantação de um Processo de Medições de Software

Extração de Requisitos

Gerenciamento de projetos.

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0

Existem três categorias básicas de processos empresariais:

Sistemas de Gestão da Qualidade. Introdução. Engenharia de Produção Gestão Estratégica da Qualidade. Tema Sistemas de Gestão da Qualidade

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Sistemas de Informação I

Universidade Paulista

Pós Graduação Engenharia de Software

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL

Capítulo X. Gerenciar Mudanças dos Requisitos. Aluizio Saiter, M. Sc.

3 a Lista de Exercícios

Introdução a Computação

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

Gerenciamento de Projeto: Planejando os Recursos. Prof. Msc Ricardo Britto DIE-UFPI

Dicionário da EAP - Software FarmaInfor

Nome da Empresa. <Nome do Projeto> Plano de Desenvolvimento de Software. Versão <1.0>

Manual de Elaboração do Plano Gerencial dos Programas do PPA

Tecnologia e Sistemas de Informações

Engenharia de Software

Aula 04 - Planejamento Estratégico

Fundamentos em Teste de Software. Vinicius V. Pessoni

Gerenciamento de Serviços de TI ITIL v2 Módulo 1 Conceitos básicos

A Linguagem de Modelagem Unificada (UML)

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Engenharia de Software II: Desenvolvendo o Orçamento do Projeto. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Processo de Desenvolvimento Unificado

Gerência de Redes NOC

Teste de Software. Profa. Cátia dos Reis Machado

Introdução à Computação

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

CHECK LIST DE AVALIAÇÃO DE FORNECEDORES Divisão:

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Transcrição:

Engenharia de Requisitos

Conteúdo Definição Questionamentos Típicos Visão Geral Ciclo de Vida dos Requisitos Síntese dos Objetivos Gerência de Mudança Identificação de Requisitos Classificação de Requisitos Funcionais Não Funcionais De Domínio (Regras de Negócio)

Definição ommerville (2003), Engenharia de Requisitos é o processo de descobrir, analisar, documentar e verificar as funções e restrições do sistema.

Engenharia de Requisitos Descreve as atividades relacionadas à investigação e definição de escopo de um sistema de software. Processo sistemático de produção de requisitos por meio de atividades cooperativas de análise em que os resultados são documentados em uma variedade de formatos e a precisão das observações é constantemente verificada.

Questionamentos Típicos 1. Como seguir um processo pré-estabelecido se tantos fatores são desconhecidos no início do desenvolvimento do software? Os fatores desconhecidos serão melhor elucidados e os riscos serão minimizados com um processo sistemático, iterativo e incremental

Questionamentos Típicos 1. Quantas iterações são necessárias para verificar a correção e a precisão das observações? A quantidade de iterações ideal será aquela suficiente para que cliente e fornecedor sintam-se seguros e concordem com o que está definido, mesmo com o que surgir de novo e for aceito para o escopo do projeto

Questionamentos Típicos 3. Quais representações e notações devem ser usadas na captura e documentação dos requisitos? As representações e notações devem estar previstas no processo de software e no método adotado por esse processo. Tipicamente, são usados casos de uso e suas especificações

Questionamentos Típicos 1. Qual o nível de precisão e formalidade dos requisitos? Dependerá de quão crítico é o sistema e das características do cliente

Questionamentos Típicos 1. Como sabemos que chegamos ao final do processo? Similarmente à quantidade de iterações, até que haja uma base sólida de concordância entre o desenvolvedor e o cliente

Visão Geral

Visão Geral Produção Gerência

Visão Geral

Ciclo de Vida dos Requisitos Necessidade Produção Gerenciamento Utilização Avaliação

Síntese dos Objetivos Estabelecer uma visão comum entre o cliente e a equipe de projeto sobre os requisitos que serão atendidos; Registrar e acompanhar requisitos ao longo de todo o desenvolvimento; Documentar e controlar os requisitos para estabelecer uma base (baseline) para uso gerencial e da equipe de desenvolvimento; Manter planos, artefatos e atividades de software coerentes com os requisitos alocados.

Uma Última Questão O que acontece se: O usuário mudar de idéia em relação a uma funcionalidade? O ambiente mudar? O usuário perceber novas possibilidades na automação? O engenheiro de requisitos (ou analista) não ter entendido corretamente a necessidade do usuário?

Gerência de Mudança É preciso gerenciar as mudanças! Mudanças em requisitos ao longo do processo fazem parte do desenvolvimento de software. Alterações em requisitos podem implicar mudanças em artefatos de projeto, de código, casos de testes, etc.

Identificação de Requisitos

Definição Trata-se da identificação dos requisitos em si para formação da idéia inicial do sistema e compreensão do domínio do problema. Trabalhe com os usuários e não contra eles (AMBLER). Temos que aceitar a instabilidade dos requisitos como um fato da vida, e não condená-la como o resultado de um raciocínio mal conduzido (COAD).

Ações com Foco no Usuário 1. Identificar Objetivos de Negócio (Por que desenvolver algo?) 2. Identificar Stakeholders (Quem está envolvido?) 3. Obter diferentes Pontos de Vista (Com que os stakeholders estão preocupados? Existem conflitos?) 4. Resolver Conflitos 5. Identificar Cenários (Quais resultados as pessoas desejam? Sob que circunstâncias?)

Identificação de Requisitos Também denominada de descoberta de requisitos Conta com pessoas para entender o domínio de aplicação, os serviços que devem ser fornecidos e as restrições Deve contar com o comprometimento de usuários finais, gerentes, pessoal de manutenção, especialistas no domínio, etc. (stakeholders).

Identificação de Requisitos Necessidades Informações Elicitação Análise Especificação dos Requisitos Aquisição Validação Representações Modelagem Especificação

Identificação de Requisitos

Problemas Comuns Escopo: O limite do sistema é mal definido, ou detalhes técnicos desnecessários confundem os objetivos globais Entendimento: Os clientes e usuários não estão completamente certos do que é necessário, não tem pleno entendimento do domínio do problema, têm dificuldade de comunicar as necessidades, têm pouca compreensão das capacidades Volatilidade: Os requisitos mudam com o tempo

Desafios a Suplantar Falta de conhecimento do usuário das suas reais necessidades e do que um produto de software pode oferecer Falta de conhecimento do desenvolvedor sobre o domínio do problema

Habilidades do Desenvolvedor Dominar o processo de produção de requisitos e suas técnicas Ouvir o que os usuários têm a dizer sem induzi-los a aceitar visões e interpretações já vivenciadas pela equipe Comunicar adequadamente aos usuários e clientes a evolução do trabalho e suas limitações A Produção de requisitos é um processo social

Dificuldades dos Usuários Tomar decisões Entender as conseqüências de suas decisões ou das alternativas possíveis Comprometer-se com o resultado do projeto Estar sujeito a conflitos e ambigüidades nos papéis que eles e os desenvolvedores desempenham Compreender questões técnicas

Classificação de Requisitos Uma Abordagem!

Classificação Comum Requisitos Funcionais Requisitos Não Funcionais Requisitos do Domínio

Outras Classificações para Requisito Requisito do usuário: declarações sobre as funções que o sistema deve oferecer Requisito do sistema: detalhamento das funções e das restrições (contrato entre cliente e desenvolvedor) Requisito do projeto: define como o projeto deve ser conduzido e que artefatos devem ser produzidos (escopo do projeto).

Requisitos Funcionais

Requisitos Funcionais Requisitos diretamente ligados ao comportamento do software Descrevem as funções que o software deve executar Descrevem as interações entre o sistema e seu ambiente O software deve permitir que o atendente consulte o relatório com os resultados dos testes clínicos de um paciente.

Exemplos [RFO1J O software deve permitir que o atendente efetue cadastro de clientes. [RFO2] O software deve permitir que o caixa efetue o registro de itens vendidos. [RFO3] O software deve permitir que o administrador gere o um relatório de vendas por mês.

Exercícios Escreva três requisitos funcionais para sistemas a serem desenvolvidos para os seguintes domínios: Vídeo Locadora Apoio Inteligente à Análise de Risco para Bolsa de Valores Sistema de Caixa de Auto-atendimento de um Sistema Bancário.

Uma Solução Possível Vídeo Locadora: 1.O software deve permitir que o administrador efetue o cadastro de clientes 2.O software deve permitir que o administrador efetue o cadastro de DVDs 3.O software deve permitir que o atendente efetue o registro de DVDs alocados Auto-atendimento Bancário: 1.O software deve permitir que o cliente consulte seu extrato 2.O software deve permitir que o cliente efetue saque; 3.O software deve permitir que o cliente efetue o pagamento da fatura do cartão de crédito.

Soluções Possíveis Apoio Inteligente à Análise de Risco para Bolsa de Valores O domínio da aplicação pode dificultar e muito o trabalho de produção dos requisitos!

Requisitos Não Funcionais

Requisitos Não Funcionais São requisitos que expressam condições que o software deve atender ou qualidades específicas que o software deve ter. Em vez de informar o que o sistema fará, os requisitos não funcionais impõem restrições ao sistema. Podem ser mais críticos que requisitos funcionais, chegando a tornar um sistema impossível ou inútil.

Exemplos As consultas ao sistema devem ser respondidas rapidamente As consultas ao sistema devem ser respondidas em menos de três segundos Requisitos Não Funcionais devem ser mensuráveis e estar associados a uma forma de medida ou referência

Medidas para Requisitos Não Funcionais

Outros Exemplos Desenvolver até que sejam verificáveis!

Ambigüidades a Serem Evitadas

Classificação dos RNF RNF do Produto: Produto deve comportarse de forma particular (velocidade de execução, confiabilidade, etc.) RNF Organizacionais: Conseqüência de políticas e procedimentos organizacionais (padrões de processo usados, requisitos de implementação, etc.) RNF Externos: Conseqüência de fatores externos ao sistema e ao processo de desenvolvimento (legislação, etc.)

RNF do Produto RNF de usabilidade: usuários devem ser capazes de usar as funções do sistema após duas horas de treinamento RNF de confiabilidade: o sistema deve estar disponível 99% das vezes RNF de segurança: o acesso aos dados deve ser protegido, conforme RN RNF de desempenho: o sistema deve processar n requisições por segundo RNF de capacidade: o sistema deve suportar n usuários concorrentemente RNF de portabilidade: o sistema deve rodar nas plataformas X e Y

RNF Organizacionais São procedentes de políticas e procedimentos nas organizações do cliente e do desenvolvedor: RNF de entrega: um relatório de progresso deve ser entregue a cada duas semanas RNF de implementação: o sistema deve ser implementado na linguagem Java RNF de padrões e métodos de desenvolvimento: uso de métodos orientados a objetos; desenvolvimento utilizando a ferramenta X

RNF Externos Impostos tanto ao produto quanto ao processo de desenvolvimento em função do ambiente no qual o sistema é desenvolvido: RNF de interoperabilidade: o sistema deve interagir com os sistemas X e Y RNF de restrições éticas: o sistema não deverá revelar aos operadores nenhuma informação pessoal dos clientes RNF de restrições legais: o sistema deverá armazenar as informações de acordo com a Lei número XXYY de ZZ

Requisitos do Domínio

Requisitos de Domínio Derivados do domínio da aplicação e descrevem características do sistema e qualidades que refletem o domínio Podem ser gerar requisitos funcionais novos ou restrições sobre os existentes São regras de negócio (RN)

Problemas Entendimento Requisitos são descritos na linguagem do domínio da aplicação Não é entendido pelos engenheiros de software que vão desenvolver a aplicação Aspectos Implícitos Especialistas no domínio entendem a área tão bem que assumem que os requisitos estão claros para os desenvolvedores

Exemplos [RN1] Os campos referentes a Orçamento Projeto Vinculado só estarão ativos se o tipo de projeto for Vinculado. [RN2] O campo Valor Total Orçado para o Projeto é calculado somando-se os valores definidos para todas as rubricas incluídas no orçamento do projeto, seja ele vinculado ou não-vinculado. [RN3] A soma dos percentuais a ser distribuído entre os fundos incluídos no plano de aplicação deve ser entre 0 e 100%

Exercício Forneça alguns exemplos de requisitos de domínio (RN) para: 1.Vídeo Locadora 2.Sistema de Auto-atendimento Bancário

Respostas Vídeo locadora: [RN1] O software deve permitir que o cliente alugue no máximo 2 filmes na primeira locação. Sistema de Auto-atendimento Bancário: [RN1] O cliente pode sacar o valor máximo de R$ 100,00 por dia.