engenharia de requisitos

29
Engenharia de Requisitos

Upload: tamires-guedes

Post on 06-Jul-2015

527 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Engenharia de requisitos

Engenharia de Requisitos

Page 2: Engenharia de requisitos

Equipe

• Amilton Luiz

• Hugo Magalhães

• Lucas Fábio

• Márcia Maria

• Rhaissa Santos

• Rodrigo Venâncio

• Tamires Guedes

Page 3: Engenharia de requisitos

Engenharia de requisitos

• Processo que engloba todas as atividades que contribuempara a produção de um documento de requisitos e suamanutenção ao longo do tempo

Page 4: Engenharia de requisitos

Engenharia de requisitos

• Fases

• identificação;

• análise e negociação;

• especificação e documentação;

• validação.

• Antes dessas fases:

• estudos de viabilidade que, a partir das restrições doprojeto, determinam se este é ou não viável e se deve prosseguirpara a identificação dos requisitos

Page 5: Engenharia de requisitos

Engenharia de requisitos

Análise de Viabilidade

IdentificaçãoAnálise e

negociação

Especificação e documentação

ValidaçãoGestão

Page 6: Engenharia de requisitos

Estudo de viabilidade

• Será que o sistema contribui para os objetivos da organização?

• Dadas as restrições tecnológicas, organizacionais(econômicas, políticas, ambientais, recursos disponíveis) etemporais associadas ao projeto, será que o sistema pode serimplementado?

• Caso haja necessidade de integração entre diferentessistemas, será que esta é possível?

Page 7: Engenharia de requisitos

Estudo de viabilidade

• Se o novo sistema não fosse implementado, quais seriam asalternativas para a organização?

• Quais são os problemas que os sistemas atuais apresentam ecomo é que um sistema novo irá resolver estas falhas?

• De que forma é que o sistema irá contribuir diretamente paraos objetivos da organização?

• É possível a integração com os outros sistemas da organização(de um ponto de vista tecnológico)? Com que facilidade é quese consegue partilhar informação entre estes sistemas?

Page 8: Engenharia de requisitos

Estudo de viabilidade

• O estudo de viabilidade deverá culminar com a produção deum relatório e deverá determinar a continuação dodesenvolvimento do projeto, tornando mais claras asrestrições (econômicas, temporais e organizacionais) doprojeto e definindo mesmo alguns requisitos de alto nível.

Page 9: Engenharia de requisitos

Identificação

• Atividades desta fase:

• Compreensão do domínio: é muito importante para o analistacompreender o domínio no qual a organização e o projeto seinserem; quanto maior for o conhecimento acerca dodomínio, mais eficaz será a comunicação entre o analista e aspartes interessadas.

• Identificação das partes interessadas: estes já deverão ter sidoidentificados nos estudos de viabilidade, porém para efeitos deidentificação de requisitos convém concentrar as atenções nosusuários do sistema.

Page 10: Engenharia de requisitos

Identificação

• Atividades dessa fase

• Captura: consiste na obtenção com o cliente dos requisitos(funcionais e não-funcionais) pretendidos para o sistema.

• Identificação e análise de problemas: os problemas devem seridentificados (e a sua definição deve ser consensual) e devem serpropostas soluções em conjunto com as partes interessadas.

Page 11: Engenharia de requisitos

Identificação

• Técnicas

• Entrevistas

• Questionários

• Workshops (reuniões)

• Cenários (série de eventos hipotéticos)

• Prototipagem

• Estudo etnográfico (observação direta)

Page 12: Engenharia de requisitos

Análise e Negociação de Requisitos• Atividades dessa fase:

• classificação: agrupamento de requisitos em "módulos" parafacilitar a visão global do funcionamento pretendido para osistema;

• resolução de conflitos: dada a multiplicidade e diversidade depapéis das partes interessadas envolvidas na captura e análise derequisitos, é inevitável a existência de conflitos nos requisitosidentificados; é importante resolver estes conflitos o mais brevepossível;

Page 13: Engenharia de requisitos

Análise e Negociação de Requisitos• Atividades dessa fase

• priorização: consiste na atribuição de uma "prioridade" a cadarequisito (por exemplo elevada/média/baixa); obviamente, estepode ser um fator gerador de conflitos;

• confirmação: é confirmada com as partes interessadas acompletude dos requisitos, sua consistência e validade (deacordo com o que se pretende do sistema).

Page 14: Engenharia de requisitos

Análise e Negociação de Requisitos• Cuidados necessários às negociações:

• saber lidar com ataques pessoais (evitando-os sempre quepossível, remetendo a sua resolução para mais tarde, fora dereunião), de preferência nunca tomando partidos;

• fomentar a justificação das posições (negativas) tomadas pelosintervenientes na negociação;

Page 15: Engenharia de requisitos

Análise e Negociação de Requisitos• Cuidados necessários às negociações:

• salientar (e procurar encontrar) os benefícios que uma soluçãoapresenta para todos os envolvidos;

• relaxar restrições, quando se torna óbvio que as atuais nãolevarão a um consenso.

Page 16: Engenharia de requisitos

Especificação e Documentação

• Produção propriamente dita do Documento de Especificaçãode Requisitos

• Tipos de requisitos:

• Funcionais

• Não-funcionais

• Tipos de especificação:

• Especificação de requisitos do usuário ou utilizador;

• Especificação de requisitos do sistema;

• Especificação do design da aplicação.

Page 17: Engenharia de requisitos

Especificação e Documentação

• Requisitos Funcionais: descrevem as funcionalidades que seespera que o sistema disponibilize, de uma forma completa econsistente. É aquilo que o utilizador espera que o sistemaofereça, atendendo aos propósitos para qual o sistema serádesenvolvido.

Page 18: Engenharia de requisitos

Especificação e Documentação

• Requisitos Não-funcionais: referem-se a aspectos não-funcionais do sistema, como restrições nas quais o sistemadeve operar ou propriedades emergentes do sistema.Costumam ser divididos em Requisitos não-funcionais de:Utilidade, Confiança, Desempenho, Suporte e Escalabilidade.

Page 19: Engenharia de requisitos

Especificação e Documentação

• O Documento de Especificação de Requisitos inclui umacombinação dos requisitos do utilizador e do sistema e temdiferentes utilidades para diferentes pessoas:

• Clientes: confirmar a completude dos requisitos e proporalterações.

• Gestores: orçamentar o sistema e planejar o processo dedesenvolvimento.

• Engenheiros: compreender o sistema a desenvolver.

• Engenheiros (testes): desenvolver testes para validar ocumprimento dos requisitos.

• Engenheiros (manutenção): compreender o sistema e a ligaçãoentre as suas partes.

Page 21: Engenharia de requisitos

Validação

• Objetivo: demonstrar que o documento de requisitosproduzido corresponde, de fato, ao sistema que o clientepretende

• Pretende-se encontrar problemas/conflitos naespecificação, porém ao contrário das fases anteriores estafase lida com uma especificação completa dos requisitos.

Page 22: Engenharia de requisitos

Validação

• Atributos que DEVEM ser observados na validação:

• Validade: a especificação resulta da análise dos requisitosidentificados junto das diversas partes interessadas envolvidas.Como tal, requisitos identificados individualmente (isto é, juntode cada parte interessada) podem diferir da especificação finalque se atinge após o cruzamento de informação e é necessárioque cada cliente compreenda e aceite a especificação finalobtida.

• Consistência: não devem existir conflitos entre os requisitosidentificados.

Page 23: Engenharia de requisitos

Validação

• Atributos que DEVEM ser observados na validação:

• Compreensibilidade / Ambiguidade: os requisitos devem poderser compreendidos de forma inequívoca pelas partesinteressadas.

• Completude: todas as funcionalidades pretendidas devem fazerparte da especificação do sistema.

• Realismo: dadas as restrições do projeto(tecnológicas, financeiras e temporais) o sistema especificadotem de ser implementável.

Page 24: Engenharia de requisitos

Validação

• Atributos que DEVEM ser observados na validação:

• Verificabilidade: de forma a evitar futuras discordâncias quanto àconcretização dos requisitos especificados, estes devem serdescritos de modo a que seja possível verificar se foram ou nãoconcretizados, isto é, se o sistema final corresponde àespecificação inicial.

• Rastreabilidade: a origem dos requisitos, em relação aocliente, deve estar claramente identificada. Entre outrosmotivos, isto é importante para facilitar a gestão futura dosrequisitos.

Page 25: Engenharia de requisitos

Validação

• Atributos que DEVEM ser observados na validação:

• Conformidade com normas: para além dos aspectos funcionaisdos requisitos, a sua especificação deve obedecer às normasusadas ao longo de todo o documento.

Page 26: Engenharia de requisitos

Validação

• Técnicas

• Revisão de Requisitos

• Prototipificação

• Geração de casos de teste

• Análise de consistência automática

Page 27: Engenharia de requisitos

Gestão de Requisitos

• Devem estar definidas desde o início da gestão de requisitospolíticas para:• Identificação de requisitos: identificação unívoca em especial

para facilitar a rastreabilidade.

• Processo de gestão de mudanças a utilizar: conjunto deatividades que permitem avaliar o custo e impacto dasalterações.

• Rastreabilidade: relações entre os requisitos e relações entrerequisitos e design; estas podem precisar de manter associada acada requisito informação como a parte interessada que apropôs, dependências de outros requisitos e associação amódulos específicos do design do sistema.

• Ferramentas a utilizar: para sistemas grandes, a quantidade deinformação a processar pode ser elevada, sendo o usode ferramentas CASE aconselhado.

Page 28: Engenharia de requisitos

Gestão de Requisitos

• Para manter a consistência entre as várias alterações pedidas(e para estas serem feitas de um modo controlado), éimportante que o processo de gestão de mudanças estejadefinido de um modo formal

Page 29: Engenharia de requisitos

Referências

• Soares (2005). Introdução, Identificação e Análise emEngenharia de Requisitos. António Lucas Soares. 2005.

• Kotonya e Sommerville (1998). Requirements Engineering:Processes and Techniques. Gerald Kotonya, Ian Sommerville.Wiley. 1998.

• Thayer e Dorfman (1993). Software RequirementsEngineering. R. H. Thayer, M. Dorfman. IEEE Computer SocietyPress. 1993.

• Sommerville (2001). Software Engineering. Ian Sommerville.Addison Wesley. 2001.