rafael seabra - requisitos

39
cin.ufpe. br Estudo de Atividades Humanas na Engenharia de Requisitos Rafael Seabra Melo Correia [email protected]

Upload: dcm171facebook

Post on 01-Jul-2015

75 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: rafael seabra - requisitos

cin.ufpe.br

Estudo de Atividades Humanas na Engenharia

de Requisitos

Rafael Seabra Melo Correia

[email protected]

Page 2: rafael seabra - requisitos

cin.ufpe.br

Roteiro

• Engenharia de Requisitos

• Estudo de Atividades Humanas na ER

• Processos que Integram Estudos Sociais na ER

• Desafios

• Considerações Finais

Page 3: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos

Page 4: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos• Fase inicial do processo de desenvolvimento de

software que compreende desde estudos iniciais sobre a organização até a especificação do futuro sistema a ser implantado [SOMMERVILLE 1997]

• Envolve não apenas aspectos técnicos, possuindo também forte influência de fatores organizacionais e sociais [NUSEIBEH 2000]

• Estudos mostram que os principais problemas associados ao insucesso dos projetos de software estão relacionados à etapa de Engenharia de Requisitos [THE STANDISH GROUP 1995; EUROPEAN SOFTWARE INSTITUTE 1996]

Page 5: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• Quanto mais tarde problemas com requisitos são detectados no processo de desenvolvimento, maior é o custo para corrigi-los. O sucesso das etapas posteriores do processo de desenvolvimento depende da qualidade da especificação de requisitos gerada [LEFFINGWELL 2000]

• Engenharia de Requisitos é classificada como uma das fases mais críticas do desenvolvimento de software.

Page 6: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• Principais problemas associados às especificações de requisitos são [KOTONYA 1998]: – os requisitos não refletem as reais necessidades do usuário;

– os requisitos são inconsistentes, incompletos e/ou ambíguos;

– é dispendioso fazer mudanças após os requisitos terem sido acordados;

– é comum ocorrer diferenças de interpretação entre clientes e equipe de desenvolvimento.

• Esses problemas surgem principalmente devido a dificuldades relacionadas à comunicação com os usuários

Page 7: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• O envolvimento do usuário é fator essencial para um processo de Engenharia de Requisitos de qualidade e, conseqüentemente, para o sucesso dos projetos de software em geral

• Porém, usuários não conseguem [GOGUEM 1994; HALMER 2000]: – descrever em uma entrevista os seus próprios problemas

organizacionais e sociais;

– não sabem identificar o que ele necessita de um sistema de software;

– e muitas vezes não possui aptidão para expor claramente suas idéias.

Page 8: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• São vários os relatos de situações em que os fatores humanos incidiram diretamente no insucesso das aplicações de tecnologia de software [MYERS 1994]

• Esses insucessos são muitas vezes originados por sentimentos negativos causados por sistemas que não são adaptados à realidade do trabalho [RAMOS 2000]

• Uma elicitação de requisitos que leve em conta as práticas sociais do trabalho facilita o desenvolvimento de aplicações que satisfaçam os seus usuários, contribuindo para a realização das tarefas de forma efetiva e eficiente

Page 9: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• Engenharia de Requisitos deve ajudar a compreender as necessidades das pessoas de modo a identificar como um sistema de software pode ser usado para re-organizar o trabalho e estabelecer novas práticas [RAMOS 2005b]

Page 10: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• Requisitos são comumente classificados em funcionais

e não-funcionais:– RF dizem respeito à definição das funções que um sistema ou

um componente de sistema deve fazer

– RNF dizem respeito a restrições de projeto ou a atributos de qualidade que não são descritos precisamente e não dizem respeito a uma funcionalidade. Ex: desempenho, usabilidade, confiabilidade, segurança, portabilidade

• Requisitos de usabilidade definem metas do sistema relacionadas à facilidade de o usuário ser atraído pelo software, entender seu funcionamento ou aprender a usá-lo [Maguire 2001b]

Page 11: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• A elicitação de requisitos de usabilidade está fortemente relacionada à realização de análises sobre o contexto social de uso dos sistemas

• Fatores cognitivos como satisfação, conforto e facilidade de compreensão estão diretamente atrelados ao fato de o sistema estar adaptado às capacidades pessoais, atividades e ambiente físico dos usuários [ISO-9126 1991]

Page 12: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• Além dos RF e RNF, também é comum o uso de uma classificação específica para os fatores organizacionais da empresa que incidem sobre o sistema, os chamados requisitos organizacionais [YU 1995; MAGUIRE 2001; CASTRO 2002]

• Tais requisitos dizem respeito às metas da empresa, suas políticas e estratégias adotadas, os relacionamentos entre seus atores, as leis impostas pelo ambiente e os processos da organização

Page 13: rafael seabra - requisitos

cin.ufpe.br

Engenharia de Requisitos (cont.)

• Processo Tradicional de Engenharia Requisitos

Page 14: rafael seabra - requisitos

cin.ufpe.br

Estudos de Atividades Humanas na ER

Page 15: rafael seabra - requisitos

cin.ufpe.br

Estudos de Atividades Humanas na ER

• Estudos de campo qualitativos têm sido administrados como uma forma de atacar as disparidades existentes entre as intenções dos usuários e as intenções dos projetistas

• O contexto de uso de um sistema atual engloba [KAPTELININ 2006]:– o uso colaborativo da tecnologia por grupos e comunidades;

– variados ambientes físicos e virtuais;

– um conjunto expandido de atividades (incluindo aquelas conduzidas em casa);

– e a consideração sobre um amplo leque de experiências dos usuários

Page 16: rafael seabra - requisitos

cin.ufpe.br

Estudos de Atividades Humanas na ER (cont.)

• Em um estudo de campo, os seguintes elementos são procurados nos dados coletados [BLY 1997]:– Entender como o trabalho é realizado no contexto de uso das

tecnologias.

– Descobrir como a tecnologia gera tensões para as atividades humanas.

– Não se basear na intuição e desmistificar as verdades que assumimos, ou o que nós esperamos que sejam importantes

– Compreender como a tecnologia e as atividades do trabalho desenvolvem-se em conjunto (co-desenvolvimento)

– Identificar atividades novas, ou não antecipadas, do trabalho que começam a ocorrer.

Page 17: rafael seabra - requisitos

cin.ufpe.br

Estudos de Atividades Humanas na ER (cont.)

• Uma pesquisa qualitativa de campo compreende: – o planejamento da coleta dos dados,

– o uso de uma grande variedade de técnicas para levantamento de informações (entrevistas, observações, análise de documentos, entre outras),

– a aplicação de métodos de análise de dados com apoio de ferramentas computacionais [RICHARDS 1998; MILEN 2000],

– e formas de estruturar e documentar os resultados [DENZIN 1998; MILEN 2000]

Page 18: rafael seabra - requisitos

cin.ufpe.br

Estudos de Atividades Humanas na ER (cont.)• Na literatura de Engenharia de Requisitos

tradicionalmente se utiliza a palavra etnografia para denominar estudos de campo qualitativos

• Definições do que é uma etnografia na opinião de etnógrafos profissionais:– Etnografia é uma tentativa de entender o que é a vida diária das

pessoas do ponto de vista daqueles estão sendo observados [LAREAU 1996 apud MACAULAY 2000].

– Etnografia é uma forma de coleta e reportagem das observações com o propósito de realizar análises culturais [GEERTZ 1993 apud MACAULAY 2000].

– (...) os etnógrafos não simplesmente reportam o que observam, mas também interpretam [MACAULAY 2000]

Page 19: rafael seabra - requisitos

cin.ufpe.br

Estudos de Atividades Humanas na ER (cont.)• Na área de Engenharia de Software [SOMMERVILLE

2003], o conceito de etnografia está associado a algumas restrições (impostas por vários autores ligados a etnometodologia) para um estudo de campo qualitativo

• Algumas restrições [BALL 2000; HARPER 2000; DOURISH 2006] : – não imposição de questões pré-definidas de pesquisa aos

participantes,

– documentação detalhada e descritiva das práticas analisadas,

– um longo período de observação, entre outros pontos

Page 20: rafael seabra - requisitos

cin.ufpe.br

Estudos de Atividades Humanas na ER (cont.)• Porém, alguns trabalhos utilizam nomenclaturas, tais

como, “Estudos em Ambientes de Trabalho” [NILSSON 2005], “Estudos de Campo” [KUJALA 2003], “Etnografia Rápida e Suja” [HUGHES 1995] e “Etnografia Rápida” [MILEN 2000] para classificar abordagens que não levam necessariamente em consideração todas as restrições da etnografia.

Page 21: rafael seabra - requisitos

cin.ufpe.br

Processos que Integram Estudos Sociais na ER

Page 22: rafael seabra - requisitos

cin.ufpe.br

Processos que Integram Estudos Sociais na ER• Existem diversos processos que integram estudos de

atividades humanas na Engenharia de Requisitos. Classifica-se esses processos em três tipos [CRUZ 2008]: – centrados no uso de estudos etnográficos,

– baseados em especificações do contexto de uso,

– e direcionados por re-engenharias organizacionais

Page 23: rafael seabra - requisitos

cin.ufpe.br

Uso de Estudos Etnográficos

• Representação de uma visão de um processo de integração de estudos etnográficos na Engenharia de Requisitos [VILLER 1999]:

Page 24: rafael seabra - requisitos

cin.ufpe.br

Uso de Estudos Etnográficos (cont.)• Button e Dourish [BUTTON 1996] mencionam três

possibilidades que a relação entre etnógrafo-projetista possa ocorrer:– fazer com que os próprios etnógrafos sejam o meio de ligação

entre o campo de estudo e os projetistas de sistemas

– o uso dos resultados retóricos (documentos) gerados pelas etnografias para informar o projeto de sistemas

– usar a etnometodologia para informar diretamente o processo de design [mentalidade analítica x praticidade]

Page 25: rafael seabra - requisitos

cin.ufpe.br

Uso de Estudos Etnográficos (cont.)• Apesar da importância dada aos estudos etnográficos,

ainda existem algumas limitações que dificultam o uso destes estudos [VILLER 2000]: – o longo processo requerido pelos etnógrafos pode tornar-se

inaceitável para os cronogramas apertados dos engenheiros;

– estudos etnográficos tendem a produzir resultados muito descritivos, difíceis de serem compreendidos pelos projetistas;

– é difícil realizar generalizações (ou gerar representações de design) a partir de dados situacionais;

– a falta de sistemática da pesquisa de campo pode tornar o sucesso dos métodos muito dependentes das habilidades individuais do etnógrafo.

Page 26: rafael seabra - requisitos

cin.ufpe.br

Compreensão e Especificação do Contexto de Uso• Os próprios projetistas realizam os estudos de campo

com o intuito de torná-los mais objetivos para os propósitos de design

• Existem processos que dão ênfase a realização de uma etapa anterior à elicitação dos requisitos voltada especificamente à análise e especificação do contexto atual

Page 27: rafael seabra - requisitos

cin.ufpe.br

Compreensão e Especificação do Contexto de Uso (cont.)• O padrão ISO 13407 para projetos centrados no usuário incorpora o

Entendimento e Especificação do Contexto de Uso como uma etapa inicial do ciclo de desenvolvimento de sistemas interativos– A norma ISO 9241 define que: “contexto de uso consiste dos usuários, tarefas,

equipamentos (hardware, software e materiais), bem como dos ambientes físico e social que afetam o uso do produto”.

Page 28: rafael seabra - requisitos

cin.ufpe.br

Compreensão e Especificação do Contexto de Uso (cont.)• Contudo, usualmente tais processos (realizados por

designers) não propiciam uma análise rica do campo de estudo devido ao direcionamento à construção de modelos [sistematização da observação] e ao uso de esquemas pré-definidos de classificação de fatores do contexto [entrevistas direcionadas].

Page 29: rafael seabra - requisitos

cin.ufpe.br

Re-engenharias Organizacionais• Engenharia de Requisitos se viu com a necessidade de

considerar não apenas o entendimento do contexto atual, mas também a análise dos efeitos das mudanças no ambiente organizacional

• Processos de Engenharia de Requisitos incorporaram a prospecção de futuras re-engenharias sociais no intuito de predizer os efeitos das mudanças e analisar alternativas de sistemas que venham a ser melhor adequadas ao contexto “futuro” de uso da tecnologia [CASTRO 2002; GRAU 2005]

Page 30: rafael seabra - requisitos

cin.ufpe.br

Re-engenharias Organizacionais (cont.)• Processos consideram como as organizações precisam

ser transformadas e projetam os requisitos dos sistemas sabendo como os mesmos afetam estas transformações [RAMOS 2005b].

• A solução a ser oferecida não é apenas um conjunto de requisitos para um dado sistema, mas sim também uma re-engenharia organizacional da empresa na qual o sistema é apenas uma parte da solução.

Page 31: rafael seabra - requisitos

cin.ufpe.br

Re-engenharias Organizacionais (cont.)• Processo de requisitos baseado em re-engenharias

sociais [RAMOS 2005b]:

Page 32: rafael seabra - requisitos

cin.ufpe.br

Desafios

Page 33: rafael seabra - requisitos

cin.ufpe.br

Desafios

• Um dos pontos centrais associados aos desafios de aplicação de um estudo qualitativo do usuário na Engenharia de Software é que a atividade de design traz questões importantes que a diferenciam de um trabalho etnográfico tradicional, cujo objeto de análise é simplesmente descrever e interpretar culturas [MACAULAY 2000]

• Três fatores são relevantes para uso de estudos de campo qualitativos no projeto de sistemas: – Atitude;

– Validade;

– Praticidade.

Page 34: rafael seabra - requisitos

cin.ufpe.br

Desafios (cont.)

• Uma forma de trabalhar o problema da atitude é garantir que o trabalho seja realizado de uma forma rigorosa e que o pesquisador de campo se engaje em um constante processo de reflexão sobre suas atividades, descobrimentos e posições [WOLCOTT 1995]

• A validade depende do uso de métodos apropriados de coleta [escolhas realizadas] e análise [decisões/generalizações teóricas] dos dados para uma dada situação

• O terceiro problema é o da praticidade. Sabe-se que existem normalmente diferenças entre as representações usadas para descrever as práticas sociais [concretismo e complexidade] e os sistemas de computação [abstração e simplificação] que dificultam a aplicação de estudos sociais de campo na Engenharia de Software [GOGUEM 1994]

Page 35: rafael seabra - requisitos

cin.ufpe.br

Desafios (cont.)

• Fazem-se necessárias abordagens que não só promovam a geração de requisitos a partir de estudos de campo, mas também possam propiciar reflexões sobre a realização de mudanças em cada lado, um em resposta do outro [BLY 1997]

• Estudos de campo qualitativos nos fornecem novas maneiras de projetar sistemas repudiando a forma tradicional de separar o usuário do designer, e a tecnologia de sua prática [DOURISH 2006]

Page 36: rafael seabra - requisitos

cin.ufpe.br

Considerações Finais

Page 37: rafael seabra - requisitos

cin.ufpe.br

Considerações Finais

• A Engenharia de Requisitos é um processo centrado nas pessoas, por isto o resultado do processo é um sistema que irá ser útil, mas alterará as atividades humanas que suportam. Assim, a Engenharia de Requisitos deve ser sensível para entender como as pessoas percebem e entendem o mundo ao redor delas, como elas interagem, e como a sociologia do ambiente de trabalho afeta suas ações [NUSEIBEH 2000]

Page 38: rafael seabra - requisitos

cin.ufpe.br

Referências

• Todas as referências estão na monografia “ESTUDOS DE ATIVIDADES HUMANAS NA ENGENHARIA DE REQUISITOS”

Page 39: rafael seabra - requisitos

cin.ufpe.br

Estudo de Atividades Humanas na Engenharia

de Requisitos

Rafael Seabra Melo Correia

[email protected]