====== Engenharia de Requisitos ====== ===== Visão Geral ===== A Engenharia de Requisitos (da sigla E.R) é um processo que surgiu em 1993, graças a realização do //International Symposium on Requirements Engineering//, que desenvolveu uma subárea da Engenharia de Software, com os objetivos de definir, documentar e reparar as premissas presentes em um documento de requisitos, bem como estabelecer um processo de definição de requisitos, que passará por uma etapa na qual o que deve ser feito será elicitado, analisado e modelado. Essa subárea precisa tratar com diferentes pontos de vista, e utilizar uma combinação de métodos, ferramentas e pessoal para gerar um modelo, do qual um documento de requisitos será produzido. De forma ampla, a Engenharia de Requisitos ocorre em um contexto previamente definido chamado Universo de Informação. ===== Principais Marcos ===== A //International Symposium on Requirements Engineering// é uma das maiores conferências anuais de Engenharia de Software do mundo. Ela começou como duas séries de conferências bienais alternadas, sendo uma série em anos ímpares a partir de 1993, que inaugurou com o Simpósio Internacional de Engenharia de Requisitos (RE), e a outra série em anos pares a partir de 1994, que inaugurou com a Conferência Internacional de Engenharia de Requisitos (ICRE). Essas duas séries se fundiram em 2002, com a realização da //Joint International Requirements Engineering Conference// (RE'02), que recebeu este nome para anunciar a fusão das séries. O Universo de Informação em que a Engenharia de Requisitos está inserida se refere ao conjunto geral no qual determinado software será desenvolvido. Isso inclui todas as fontes de informação e todas as pessoas relacionadas ao software, sendo que todas essas pessoas serão denominadas como agentes desse universo. As atividades de elicitar, analisar e modelar foram relacionadas a Engenharia de Requisitos pois a atividade de elicitar busca descobrir o máximo de informação possível para o conhecimento do objeto que está sendo elicitado. Já a atividade de analisar consiste na identificação de partes, na verificação e na validação do conhecimento para o processo de desenvolvimento do software. Por fim, a atividade de modelar é baseada na construção de modelos do sistema utilizando métodos e técnicas com base na representação, organização e armazenamento. Essas atividades reunidas e aplicadas na Engenharia de Requisitos formam o documento de requisitos, que deverá conter as informações da elicitação, a validação da análise e a representação da modelagem. A norma ISO/IEC 9126 (da ISO ‘’//International Organization for Standardization//’’) foi criada em 1991 e busca estimar a qualidade de um produto com base em aspectos internos e externos. A norma define um conjunto de regras com o objetivo de padronizar a avaliação da qualidade de software. Para os documentos de requisitos elaborados pelo processo da Engenharia de Requisitos, são definidas seis características conforme a norma para a qualidade de software, sendo elas a funcionalidade, a usabilidade, a confiabilidade, a eficiência, a manutenibilidade e a portabilidade. ===== Grandes Nomes ===== ==== Daniel Amyot ==== {{:e:daniel-damyot.png?200|}} Daniel Amyot é canadense, pesquisador, professor da Universidade de //Ottawa// e codiretor do programa de pós-graduação em transformação digital e inovação. Com formação de Engenheiro de Software na Universidade de //Ottawa//, Daniel é um pesquisador importante na área de Engenharia de Requisitos Orientada a Cenários e Objetivos e de Notação de Requisitos do Usuário (URN), sendo ambas as pesquisas em que Daniel participa voltadas para a formação e aprimoração da Engenharia de Requisitos. Outro fator importante é que Daniel é o atual presidente da //Requirements Engineering//, organização responsável por elaborar as conferências de RE, ICRE e posteriormente RE’02, que são as conferências elaboradas para aprimorar e expandir o conhecimento sobre a Engenharia de Requisitos. ---- ==== Daniela Damian ==== {{:e:daniela_damian.png?200|}} Daniela Damian é canadense, pesquisadora, professora da Universidade de //Victoria// e Conselheira do Reitor em //Inclusive STEM// e //Community-Engaged Innovation//. Seu interesse em pesquisa está voltado principalmente para Engenharia de Software (com foco em Engenharia de Requisitos) e diversidade e inclusão em Engenharia de Software. O trabalho mais recente de Daniela estudou a inovação em colaboração em larga escala encontrada em ecossistemas de software, compreensão compartilhada de requisitos em engenharia de software contínua e privacidade em design de tecnologia. Daniela Damian possui importante colaboração com a formação e desenvolvimento da Engenharia de Requisitos por causa de seus artigos publicados sobre essa subárea da Engenharia de Software, sendo que um desses artigos lhe rendeu premiações no //Best Paper Awards// em 2017. ---- ==== Emmanuel Litier ==== {{:e:emmanuel-litier.png?200|}} Emmanuel Letier é inglês, pesquisador e professor associado como engenheiro de software da Universidade de //College London//. Com doutorado em Engenharia de Software da Universidade de //Louvain//, Letier pesquisa sobre requisitos e arquitetura de software. Sua maior contribuição para a Engenharia de Requisitos está no emprego desse processo durante suas pesquisas, pois Letier adota as atividades que compõem a ER para estruturar os resultados de suas pesquisas. Além disso, Emmanuel faz parte do comitê da //Requirements Engineering// e já foi premiado no //Best Paper Awards// com a publicação de um artigo relacionado a Engenharia de Requisitos em 2003. ---- ===== Aplicações ===== -Estabelecer parâmetros de organização e qualidade de documentos de requisitos. -Padronizar o documento produzido a partir de normas referentes a ER. -Desenvolver qualquer software de maneira bem sucedida. ===== Impacto Social ===== A Engenharia de Requisitos esquematiza de forma bem elaborada o modo de desenvolvimento de um documento de requisitos, facilitando a abordagem de sentenças voltadas para vários grupos de clientes distintos, permitindo uma maior diversidade e inclusão no momento de desenvolver o software. Além disso, mesmo contando com ótimas ideias e profissionais qualificados em desenvolvimento de software, o processo de criação de um sistema exige plena sincronia entre os profissionais envolvidos e o esclarecimento sobre os seus objetivos, sendo que estes fatores só serão alcançados com êxito caso seja feito a utilização do sistema de organização e padronização aplicados pela Engenharia de Requisitos. ===== Desafios ===== Desenvolver um documento de requisitos que não: -Ignore um ou mais grupos de clientes alvos do software. -Ignore um único cliente específico ou não especificado que seria alvo do software. -Omita um ou mais grupos de requisitos que deveriam estar incluídos. -Permita inconsistências ou contradições entre grupos de requisitos já estabelecidos. -Aceite um requisito inadequado ou inapropriado para o desenvolvimento do software. -Aceite um requisito que esteja incorreto, não definido ou impreciso, que acabe prejudicando o desenvolvimento do software. -Aceite um requisito abstrato, ou seja, ambíguo e inconsistente, podendo atrapalhar na formação do software. ===== Referências ===== [1] Engenharia de requisitos. Ano de publicação: 21 de ago. de 2022. Disponível em: . Acesso em 24 ago. de 2022. [6] Matheus, Yuri. O Modelo OSI e suas camadas. Alura. Publicado em 24 de jan. de 2018. Disponível em: . Acesso em 24 ago. de 2022. [1] Noleto, Cairo. Engenharia de requisitos: quais as etapas e como funciona? Trybe. Atualizado em 08 de jun. de 2022. Disponível em: . Acesso em 28 de ago. de 2022. [2] International Requirements Engineering Conference. Disponível em: . Acesso em 28 de ago. de 2022. [3] Rodrigo. Introdução à Engenharia de Requisitos. Devmedia. Publicado em 2008. Disponível em: . Acesso em 28 de ago. de 2022. [4] Almeida, Washington. ISO 9126. Blog Gran Cursos Online. Publicado em 12 de jun. de 2020. Disponível em: . Acesso em 28 de ago. de 2022. [5] Equipe Monitora. Serviço de engenharia de requisitos: entenda como funciona. Monitora. Publicado em 28 de ago. de 2020. Disponível em: . Acesso em 28 de ago. de 2022. [6] Amyot, Daniel. Daniel Amyot. uOttawa. Disponível em: . Acesso em 28 de ago. de 2022. [7] Amyot, Daniel. Daniel Amyot. Linkedin. Disponível em: . Acesso em 28 de ago. de 2022. [8] Damian, Daniela. Daniela Damian. Linkedin. Disponível em: . Acesso em 28 de ago. de 2022. [9] Littier, Emmanuel. Emmanuel Litier. Linkedin. Disponível em: . Acesso em 28 de ago. de 2022. [10] Littier, Emmanuel. Emmanuel Litier. UCL. Disponível em: . Acesso em 28 de ago. de 2022.