engenharia de requisitos
TRANSCRIPT
![Page 1: Engenharia de requisitos](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/1.jpg)
Engenharia de Requisitos
![Page 2: Engenharia de requisitos](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/2.jpg)
Equipe
• Amilton Luiz
• Hugo Magalhães
• Lucas Fábio
• Márcia Maria
• Rhaissa Santos
• Rodrigo Venâncio
• Tamires Guedes
![Page 3: Engenharia de requisitos](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/19.jpg)
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 20: Engenharia de requisitos](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/20.jpg)
Especificação e Documentação
• Modelos:
IEEE
http://standards.ieee.org/findstds/standard/830-1993.html
Aida
https://sites.google.com/site/professoraaidaferreira/engenharia-de-software-iii/modelos/ESOO_requisitos.doc?attredirects=0&d=1
![Page 21: Engenharia de requisitos](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042700/559aa0b01a28ab02098b4722/html5/thumbnails/29.jpg)
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.