Métodos de Requisitos. Daniel Ferreira

Documentos relacionados
Elicitação de Requisitos

Engenharia de Software Aula 2.3 Processos da Engenharia de Requisitos. Prof. Bruno Moreno

Elicitação e Análise de Requisitos

Aula 5. Ciclo de Vida Espiral; Requisitos Funcionais e não Funcionais; Técnica de Requisitos.

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Análise e Projeto Orientados a Objetos

Requisitos de Sistemas

Análise de Sistemas AULA 05 BCC Noturno - EMA908915A

Curso de Sistemas de Informação. Karla Donato Fook DESU / DAI

Impacto da Engenharia de Requisitos no Desenvolvimento de Software. Paulo Ivan Benigno

UML Diagrama de Casos de Uso (Use Case)

Professor Emiliano S. Monteiro

Elicitação e Análise de Requisitos

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

Processos de software

Gestão de Requisitos Desenvolvimento de Requisitos. Rodolfo S F Resende

Modelos de Ciclo de Vida

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

O PAPEL DOS USUÁRIOS NO DESENVOLVIMENTO DO PRODUTO. Eng Mauricio F. Castagna ACRUX SOLUTIA

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Protótipo: um brinquedo valioso

Técnicas de Engenharia de Requisitos

Análise de sistemas. Engenharia de Requisitos

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Engenharia de Requisitos

Especificação de Requisitos e Validação de Sistemas - IF716

5º Congresso de Pós-Graduação

Ciclo de vida: fases x atividades

Requisitos de Software

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE

MODELAGEM DE SISTEMA Apresentação

Analista de Sistemas S. J. Rio Preto

Engenharia de Software Engenharia de Requisitos (ER)

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Avaliação de IHC. Aula 07 25/03/2013. INF1403 Introdução a IHC. Profa. Luciana Salgado

As técnicas de concepção

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

- Prototipação Iterativa - Observação Direta

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

Processo de desenvolvimento de sistema de informação - DSI

Técnicas de Levantamento de Requisitos Aula 1

Processos de Software

Engenharia de Software

Analista de Sistemas S. J. Rio Preto

Engenharia de Requisitos

Objetivo do Curso. Introdução à Interação Humano-Computador. Professora: Raquel Oliveira Prates

Gerenciando Conflitos em Reuniões: Uma Estratégia para a Elicitação de Requisitos de Software

O Processo da Engenharia de Requisitos

Qualidade de Software

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Processos de Software

Halison Miguel Edvan Pontes

Análise de Sistemas Aula 4

INTRODUÇÃO: INTERAÇÃO HUMANO- COMPUTADOR. Aula 2

Engenheiros de software (algumas vezes conhecidos no mundo da TI como engenheiros de sistemas ou analistas ) e outros interessados no projeto

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

1 Introdução. 1.1.Motivação

Engenharia de Software Modelagem de Negócio

Prof. Esp. Fabiano Taguchi

1.1. Descrição sumária do problema

Marcelo Henrique dos Santos

Analista de Negócio 3.0

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Analista de Sistemas S. J. Rio Preto

Prof. Fábio Lúcio Meira

PMR Engenharia de Requisitos: o inicio

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Análise e Projeto de Sistemas I

Planejando um Estudo Parte 2

5º Congresso de Pós-Graduação

Projeto de Curso Uso de Cenários em Projeto Entrevistas com Usuários

Ferramenta Web de Apoio à Elicitação de Requisitos de Software. Acadêmico: Ivan Wilhelm Orientador: Everaldo Artur Grahl

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Engenharia de Software Processo de Desenvolvimento de Software

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

21/09/2012. Elicitação de Requisitos. Projeto de Interface Homem- Máquina. Prof. Esp. MBA Heuber G. F. Lima. Técnicas etipos de Requisitos

Protótipo tipo de um Sistema de Informações Executivas para Representantes Comerciais do Ramo Têxtil

Modelo Espiral. Criação do(s) protótipos(s) Formulação de questões. Teste Avaliação Conclusão

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0

Processo de Engenharia de Requisitos

Requisitos de Software

Engenharia de Software II

Componentes de SIs. Pessoas Organiz. Tecnologia

Interface Homem Computador (IHC)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE REQUISITOS

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Design Dirigido ao Domínio - DDD

S14 - Engenharia de Requisitos cap.5

ENGENHARIA DE USABILIDADE E INTERFACES

Análise de Sistemas 2014 ANÁLISE DE SISTEMAS CURSO TÉCNICO EM INFORMÁTICA. Prof. Gunther Graf Jr. Página 1

ISO/IEC Roteiro IEC ISO. Histórico ISO/IEC ISO

Análise e Projeto de Sistemas de Informação (APSI)

ENGENHARIA DE SOFTWARE

Transcrição:

Métodos e Técnicas de Elicitação de Requisitos e sua Aderência ao CMMi Daniel Ferreira dfs3@cin.ufpe.br

O que discutiremos: Introdução a Engenharia de Requisitos Principais Técnicas de Elicitação Tradicionais Colaborativas Cognitivas Abordagem Contextual CMMi Engineering Process Areas Conclusões Tópicos de Pesquisa

JÁ ACONTECEU COM VOCÊ? O sistema que queremos deve fazer isto, isto e nesse caso também isto.. Sim, sim. Estamos anotando. Conversei com os usuários e basicamente este é o sistema que teremos que desenvolver. Sim chefe. Ótimo. Começaremos a especificar os requisitos imediatamente.

2 MESES DEPOIS Pessoal, após o emprego das mais modernas técnicas de espeficação, com nossa melhor equipe, produzimos este documento que descreve minuciosamente o sistema. Ótimo! Bom. Hum É um documento com 300 páginas e todos esses gráficos, tabelas Enfim, vamos analisá-lo e voltamos a nos falar!

7 MESES DEPOIS Pessoal, o cliente não está satisfeito com o sistema pois diz que está fazendo as coisas diferentes do que ele pediu, e faltam algumas coisas Mas seguimos o documento que foi espeficado com exatamente o que eles queriam Sim, mas o cliente disse que não tinha dito exatamente aquilo que estava no documento e que somente agora sentiu falta de algumas coisas COMO NÃO?? ESSES CLIENTES COMO SEMPRE NÃO SABEM O QUEREM..

Engenharia de Requisitos Primeira etapa dentro de todo o processo da engenharia de software, a qual estuda como coletar, entender, armazenar, verificar e gerenciar os requisitos [THAYER, 97]

Engenharia de Requisitos coletar É o processo através do qual clientes e usuários são questionados por um desenvolvedor para falarem o quê o software deve fazer. [THAYER, 97]

Elicitação de Requisitos: Uma ciência social? Os problemas da elicitação de requisitos não podem ser resolvidos simplesmente com tecnologia, pois o contexto social neste caso é mais crucial que etapas de programação, especificação ou modelagem. [GOGUEN, 94]

Motivação

Dificuldades da Elicitação Usuários podem não ter uma idéia precisa do sistema por eles requerido; Usuários têm dificuldades para descreverem seu conhecimento sobre o domínio do problema Usuários e analistas têm diferentes pontos de vista do problema Não participação efetiva das pessoas que de fato usarão o sistema Entre outros

O PROCESSO DE ELICITAÇÃO Establish objectives Business goals Problem to be solved System constraints Understand background Organizational structure Application domain Existing systems Organize knowledge Stakeholder identification Goal prioritization Knowledge filtering Collect Requirements Stakeholder requirements Domain requirements Organizational requirements [CASTRO, 98]

Principais Técnicas Tradicionais Cognitivas Colaborativas Abordagens contextuais

Principais Técnicas Tradicionais Coleta de dados Entrevistas Pesquisas e Questionários Reuniões e Cenários

Coleta de Dados Informações financeiras da empresa Relatórios de tomada de decisão Resultados de pesquisas Dados de marketing e venda Ouvidoria da empresa

Amostragem Se preocupe com dados relevantes, não estatísticas sticas não com [EASTERBROOK, 04]

Coleta de Dados Outros tipos de amostragem: Aleat Aleatória ria: Selecione sempre um k-ésimo elemento (onde k= número também aleatório) Aleat Aleatória estratificada: Selecione uma amostra de acordo com um estrato específico Aleat Aleatória clusterizada: Selecione o subconjunto mais representativo da população

Coleta de Dados Tamanho da amostra é importante! Deve haver um equilíbrio entre o custo da coleta e análise dos dados e sua significância para o projeto. [EASTERBROOK, 04]

Processo Decisão de que dados serão coletados Ex: transações bancárias Determinar a população que será amostrada Ex: Todas as operações realizadas em 5 locais diferentes dentro de 1 semana Escolher o tipo de amostragem Ex: Aleatória simples Escolher tamanho da amostra Ex: 10 transações

Principal desafio Como ler os dados recuperados e o que eles dizem sobre seu domínio nio???????

Entrevistas Entrevistas são usadas para um grande variedade de domínios e na grande maioria dos casos tem casos de sucesso. Tipos de entrevista: Estruturadas: Com roteiro de perguntas Abertas: Sem roteiro pré-definido [CLAUS, 71]

Entrevistas Vantagens Rica coleção de informações Permite investigação em profundidade Contato direto com o usuário e validação imediata Desvantagens Grande quantidade de dados qualitativos podem ser difíceis de analisar Difícil comparar diferentes respondentes Entrevistar é uma habilidade difícil de dominar [EASTERBROOK, 04]

Entrevistas com Questionários Um questionário consiste num documento usado para guiar uma ou mais pessoas a responder uma ou mais perguntas tão somente um conjunto de questões, feito para gerar dados necessários para se atingir os objetivos do projeto. [JUNIOR, 05] [PARASURAMAN, 91]

Entrevistas com Questionários Quando usar: Quando existe conhecimento sobre o problema e grande número de clientes Possibilitam análises estatísticas Vantagens Padronização das perguntas e tratamento estátisco das respostas Desvantagens Limitação do universo de respostas e pouca interação

Cenários Cenários são estórias que explicam como um sistema poderá ser usado Exemplos de seções de interação que descrevem como o usuário interage com o sistema [CASTRO, 98]

Exemplos de Cenários Entre no sistema Escolha o comando pedido de documentos Entre um número de referência do documento pedido Selecione um ponto de entrega Saia do sistema Entre no sistema Efetua seu login informado usuário e senha Selecione a opção de cadastro de contatos Informe os dados do contato Selecione a opção de salvar Saia do sistema

Cenários Os cenários e estórias podem ser organizados em diagramas e fluxogramas Cenários são partes inerentes de alguns métodos de desenvolvimento orientados a objetos Geralmente os cenários são diagramados de forma mais abstrata e referenciados com o termo casos de uso

Principais Técnicas Tradicionais Cognitivas Colaborativas Abordagens contextuais

Principais Técnicas Grupo Focal Brainstorms JAD/RAD Prototipação Colaborativas

Grupo Focal Tipo de entrevista em grupo Amplamente utilizada em pesquisas de marketing para saber opiniões de futuros potenciais clientes Geralmente se utiliza produtos de estímulo visual, como filmes, quadros, mockups, protótipos. Toda a discussão e materiais se relacionam com o mesmo foco da pesquisa. Brainstorms são um tipo específico de grupo focal

Grupo Focal Vantagens Possibilita interação mais natural do que entrevistas formais Permite observar reações das pessoas com o material utilizado Desvantagens Grupo de pessoas pode não ser um grupo natural do domínio Geralmente gera respostas superficiais dos participantes Requer um facilitador mais capacitado [EASTERBROOK, 04]

JAD e RAD Joint/Rapid Application Development (Marca registrada da IBM) Uso de workshops no lugar de entrevistas Auxílios visuais Bastante mídia de visualização Métodos organizados e estruturados (RP) Abordagem de documentação no padrão WYSIWYG Cada sessão JAD gera um documento que seja fácil de entender e acordado com todos os participantes Workshop deve acontecer entre 3-5 dias

Prototipação Um protótipo é uma versão inicial (draft) do sistema para ser usado para experimentação. Usuários podem experimentar o produto antes de ficar pronto Usuários terão algo concreto para criticar.

Tipos de Prototipagem Descartável Apenas requisitos que são mais difícieis de entender e que causam mais dificuldades para o cliente. Evolucionária Entrega rápida de um sistema que funcione Requisitos que são fáceis de entender e que geram algum valor para o usuário final. [CASTRO, 98]

Classificação dos Protótipos tipos Alta Fidelidade: Possui muita proximidade com a interface final do sistema. Baixa Fidelidade: Envolve a utilização de materiais que estão mais longe da versão final do sistema. Útil para ter uma resposta rápida e focada na funcionalidade e não na aparência. [PREECE, 02]

Fases da Prototipagem [PREECE, 02]

Prototipação em Papel Utiliza meios físicos como papéis, cartolina e papelão para a criação de objetos que irão demonstrar como será o objeto final desejado.

Wireframes É o documento que apresenta a estrutura e o conteúdo da interface, indicando o peso e relevância de cada elemento do layout e sua relação com os demais elementos formadores do todo.

Mokups O mock-up é uma peça do tamanho real ou exagerado do produto. Apresenta o fluxo de uma interação com a interface, e, além disto, possui elementos como botões e menus entre outros objetos possibilitando ao usuário interagir com a interface.

Principais Técnicas Tradicionais Cognitivas Colaborativas Abordagens contextuais

Principais Técnicas Cognitivas Análise de tarefas Análise de protocolos Técnicas de aquisição de conhecimento

Análise de Protocolos Participantes realizam uma tarefa cotidiana falando sobre o que estão fazendo, explicando seu pensamento e processo. Verbalização direta do processo cognitivo específico Está sujeita a problemas de interpretação pelos analistas Bom para revelar problemas de interação em sistemas já existentes

Principais Técnicas Tradicionais Cognitivas Colaborativas Abordagens contextuais

Principais Técnicas Etnografia Análise de discursos Métodos tecnosociais Abordagens contextuais

Etnografia As pessoas geralmente acham difícil descrever o que elas fazem pois isto é muito natural para elas. Às vezes, a melhor forma de entende será observá-las no trabalho. Etnografia é uma técnica das ciências sociais que se mostrou útil no entendimento das processos reais realizados nos trabalhos Os processo reais de trabalho geralmente diferem daqueles processos formais descritos [CASTRO, 98]

Diretrizes para Etnografia Assuma que as pessoas são boas no que fazem Gaste tempo conhecendo as pessoas Tome nota de forma detalhada Combine observação com entrevistas abertas e outras técnicas de elicitação Vantagens Visão mais completa e perfeitamente ajustada ao contexto Desvantagens Tempo gasto Pouca sistematização do processo

CMMi Engineering Process Areas

Requisitos e CMMi O CMMi possui 2 PAs que englobam requisitos: Requirements Development (RD) Requirements Management (REQM) REQM: Área que gerencia os requisitos do projeto, produto e componentes de um produto. Nível 2 RD: Gerar e analisar requisitos do cliente, do produto e de componentes de um produto. Nível 3 [CMMI, 12]

Requirements Development (RD) Etapas: Elicitar, analisar e validar as necessidades do cliente, suas expectativas e restrições. Coletar e coordenar as necessidades dos stakeholders Desenvolver ciclo de vida dos requisitos do produto Estabelecer os requisitos do cliente Estabelecer o produto inicial e os requisitos do produto compatíveis com as etapas anteriores

Stakeholders O CMMi considera como possíveis stakeholders: Clientes Usuários finais Fornecedores Desenvolvedores Testadores Fabricantes Pessoal de logística A necessidade dos stakeholders formam a base da geração dos requisitos do cliente

Técnicas Demonstrações de tecnologia Interfaces de grupos de controle de trabalho Grupos técnicos de controle Revisões de projeto intercaláveis Questionários, entrevistas e cénarios com usuários finais Engenharia reversa Pesquisas de Satisfação Análise de tarefas dos usuários finais Protótipos e modelos Brainstorms Desenvolvimento da Função de Qualidade Pesquisas de Mercado Beta testes Extração de dados Observação de produtos existentes Casos de Uso

Fontes de Requisitos Fontes que podem não ser citadas pelo cliente: Políticas de Negócios Padrões Requisitos de negócios de ambiente (laboratórios, testes e toda a infra-estrutura da empresa Tecnologias utilizadas Produtos legados

Conclusões

Conclusões A elicitação de requisitos envolve a compreensão do domínio da aplicação ão, o problema específico a ser resolvido, as necessidades e limitações organizacionais e as facilidades especificas necessárias para as partes interessadas. Os processos de elicitação de requisitos, análise e negociação são interativos e intercalados, precisando serem repetidos várias vezes.

Conclusões Listas de checagem são formas particularmente úteis para organizar o processo de validação dos requisitos. Negociação dos requisitos é sempre necessário para resolver conflitos e remover a sobreposição de requisitos. Implantação de alguma forma de engenharia de requisitos são fortes aliados para pequenas empresas obterem o CMMi

Tópicos de Pesquisa Técnicas de Soft Systems Negociação de Requisitos Matizes de Interação de Requisitos Instrospecção Técnicas de aquisição de conhecimentos Card sorting, Laddering, Repertory Grids, etc. O fator social da elicitação de requisitos Taxas de sucesso das técnicas de elicitação Formalização de Requisitos (SCR, SCADE)

Referências [EASTERBROOK, 04] EASTERBROOK, Steve. Requirements Elicitation. 2004. (Department of Computer Science) - University of Toronto. Toronto. [GOGUEN, 94] GOGUEN, J.A.; LINDE, C. Techiques for Requirements Elicitation. In: Proceedings of the First IEEE International Symposium on Requirements Engineering, San Diego, Ca, IEEE Computer Society Press, p. 1-14, 1994. [CLAUS, 71] Claus Moser and GrahamKalton. Survey Methods in Social Investigation. Gower, 1971. [PARASURAMAN, 91] PARASURAMAN, A. Marketing research. 2. ed., Addison Wesley Publishing Company, p. 21-60, 1991 [JUNIOR, 05] JUNIOR, Paulo Roberto de O. Elicitação de Requisitos de Software Através da Utilização de Questionários rios. 2005. Pontifícia Universidade Católica do Rio de Janeiro. [THAYER, 97] THAYER, R. H. e DORFMAN, M.; Introduction to Tutorial Software Requirements Enginnering in Software Requirements Engineering, IEEE-CS Press, Second Edition, 1997, p.p. 1-2.

Referências [PREECE, 02] [CASTRO, 98] [DAMIAN, 97] [CMMI, 12] Preece, Rogers and Sharp, Interaction Design, beyond Human Computer Interaction, Wiley, 2002, p. 249 CASTRO, Jaelson. Elicitação e Análise de Requisitos. Universidade Federal de Pernambuco. 1998. Disponível em <http://www.cin.ufpe.br/~if119/aulas/cap3.pdf>. Acesso em 25 set 2012. DAMIAN, Adrian, et al. Joint Application Development and Participatory Design. 1997. Disponível em <http://www.cpsc.ucalgary.ca/~pand/seng/613/report.htm l>. Acesso em 26 set 2012. CMMi Requirements Development. Disponível em <http://www.software-quality-assurance.org/cmmirequirements-development.html>. Acesso em 01 out 2012.

OBRIGADO! Daniel Ferreira