Veja neste artigo o que a engenharia de requisitos,
quais so as suas etapas e como a engenharia de requisitos pode ajudar a resolvermos os problemas dos clientes. Tambm veremos com mais profundidade cada uma das etapas da engenharia de requisitos. O entendimento dos requisitos de um problema est entre as tarefas mais difceis enfrentadas pelos profissionais de desenvolvimento de sistemas. Isso se deve principalmente pelo fato do cliente no saber quais so as suas necessidades e muitas vezes no possurem um bom entendimento das caractersticas e funes que o sistema deveria contemplar. Alm disso, mesmos se os clientes soubessem de tudo isso, provavelmente as necessidades deles mudariam ao longo do projeto. No restante do artigo veremos melhor o que engenharia de requisitos, como podemos resolver diversos problemas que envolvem o processo de software e quais so as etapas envolvidas no processo de engenharia de requisitos. Entendendo a Engenharia de Requisitos As tarefas de engenharia de requisitos ajudam a levar a um entendimento de qual ser o impacto do software sobre o negcio, quais so as necessidades do cliente e como os usurios finais iro interagir com o software. Normalmente a engenharia de requisitos realizada por analistas de sistemas juntamente com gerentes, clientes, usurios finais e outros que possam ter interesse no software. A engenharia de requisitos muito importante, pois nos ajuda a projetar e construir um programa de computador que possa resolver o problema do cliente. Por isso a importncia de entender primeiramente o que o cliente quer antes de comearmos a projetar e construir um sistema. De forma mais especifica a engenharia de requisitos consiste de um amplo espectro de tarefas e tcnicas que levam a um entendimento dos requisitos. Dessa forma, a engenharia de requisitos permite que examinemos o contexto do trabalho de software a ser realizado, as necessidades especficas que o projeto e a construo devem atender, as prioridades que orientam a ordem que o trabalho deve ser completado e as informaes, funes e os comportamentos que tero um impacto profundo no projeto resultante. Existem algumas etapas na engenharia de requisitos, so elas: concepo, levantamento, elaborao, negociao, especificao, validao e gesto. A concepo a primeira etapa da engenharia de requisitos e nessa etapa procura-se definir o escopo e a natureza do problema que estamos tentando resolver para o cliente; A segunda etapa a de levantamento em que se procura ajudar os interessados a definir o que necessrio; A terceira etapa a de elaborao em que os requisitos bsicos so refinados e modificados; A quarta etapa a de negociao onde se definem quais so as prioridades, o que essencial e quando necessrio; Na quinta etapa especifica-se o problema e ento, na sexta etapa de Validao realizada uma reviso e validao para garantir que o entendimento dos problemas coincidem com o que os interessados haviam explicado. Essa parte realizada com os interessados; Por fim, ainda temos uma stima etapa que a Gesto dos requisitos em que se controlam os requisitos. Etapas da Engenharia de Requisitos A concepo a primeira etapa da engenharia de requisitos em que se preocupa com o inicio do projeto de um software. Nesta etapa procura-se ter uma conversa informal com os interessados no software a fim de antecipar o trabalho envolvido no software a ser projetado e construdo. Alguns projetos so cancelados nesta etapa. Por exemplo, numa empresa de mdio porte pode-se chegar concluso que no ser possvel realizar o desenvolvimento daquele software, pois na etapa de concepo identificou-se que a equipe disponvel para realizar o trabalho no atenderia as necessidades para o projeto em questo. Portanto, nesta etapa estabelecemos um entendimento bsico do problema, as pessoas que procuram pela soluo deste problema, o tipo de soluo desejada e a colaborao com os demais interessados e a equipe que ser encarregada pelo software. O Levantamento uma etapa em que se pergunta ao cliente, usurios e os demais interessados quais so os objetivos de cada um para o sistema, qual ser o objetivo do sistema, como o sistema atender s necessidades da empresa e como o sistema dever ser utilizado no dia a dia. Apesar de parecer simples essa uma etapa bastante complicada. Os autores Christel e Kang identificaram diversos problemas encontrados durante este etapa, entre eles temos: Problemas de escopo em que se definem os limites do sistema de forma precria ou clientes e usurios do sistema especificam detalhes tcnicos desnecessrios que confundem ao invs de esclarecer os objetivos do sistema; Problemas de Entendimento onde os clientes e usurios no sabem o que precisam, no tem entendimento das capacidades nem das limitaes dos seus ambientes computacionais, no possuem completo entendimento do domnio, no sabem transmitir as necessidades aos analistas, omitem informaes que consideram bvias, especificam requisitos que conflitam com as necessidades de outros clientes ou usurios do sistema ou ainda especificam requisitos ambguos ou impossveis de serem testados; Por fim, temos os Problemas de Volatilidade em que os requisitos mudam com o tempo. Portanto, nesta etapa de levantamento temos grande parte dos problemas que afetam o software como um todo. Esta etapa deve ser realizada com muita ateno. Para o levantamento de requisitos podemos usar diversas tcnicas como Entrevistas e Questionrios, Workshops de requisitos, Cenrios, Prototipagem, entre outras. A Elaborao a etapa em que as informaes obtidas do cliente durante as etapas anteriores de concepo e levantamento so expandidas e refinadas. A elaborao realizada atravs da criao e refinamento de cenrios de usurios que descrevem como o usurio final ir interagir com o sistema. Esses cenrios so analisados sintaticamente para extrair classes, atributos das classes e os servios exigidos por essas classes so identificados. Tambm se identificam as relaes e colaborao entre as classes, alm de uma variedade de diagramas que so produzidos. A negociao responsvel por conciliar conflitos que podem existir. Por exemplo, clientes e usurios podem pedir mais do que pode ser alcanado com os recursos limitados de negcio que se tem. Ou ainda, clientes ou usurios podem propor necessidades conflitantes. Todos esses conflitos devem ser conciliados por meio da negociao. Aps a negociao alguns requisitos podem ser eliminados, combinados ou modificados, de forma que cada uma das partes fiquem satisfeitas. A especificao pode ser um documento escrito, um conjunto de modelos grficos, um modelo matemtico formal, um conjunto de cenrios de casos de uso, um prottipo ou qualquer combinao dos fatores anteriores. O importante que essa especificao seja clara e demonstre a necessidade que o cliente solicitou. Dessa forma, a especificao flexvel o suficiente fazendo com que cada equipe, projeto ou empresa defina a melhor para as suas necessidades. De forma geral sistemas grandes preferem uma combinao de documentos escritos, descries em linguagem natural e modelos grficos. Por outro lado, sistemas menores preferem muitas vezes apenas cenrios de casos de uso. Uma especificao de requisitos de software ou tambm chamada (em ingls) de Software Requirements Specification (SRS) um documento criado quando uma descrio mais detalhada de todos os aspectos do software que est para ser construdo deve ser feito antes do inicio do projeto. Dessa forma, segue abaixo um pequeno modelo de como poderia ser essa especificao: Sumrio Histrico de Reviso 1. Introduo 1.1. Propsito 1.2. Convenes do documento 1.3. Pblico-alvo e sugesto de leitura 1.4. Escopo do projeto 1.5. Referncias 2. Descrio geral 2.1. Perspectiva do produto 2.2. Caractersticas do produto 2.3. Classes de usurios e caractersticas 2.4. Ambiente operacional 2.5. Restries de projeto e implementao 2.6. Documentao para usu[arios 2.7. Hipteses e dependncias 3. Caractersticas do sistema 3.1. Caractersticas do sistema 1 3.2. Caractersticas do sistema 2 3.3. Caractersticas do sistema n 4. Requisitos de interfaces externas 4.1. Interfaces do usurio 4.2. Interfaces de hardware 4.3. Interfaces de software 4.4. Interfaces de comunicao 5. Outros requisitos no funcionais 5.1. Necessidades de desempenho 5.2. Necessidades de proteo 5.3. Necessidades de segurana 5.4. Atributos de qualidade de software 6. Outros requisitos Apndice A: Glosrio Apndice B: Modelos de anlise Apndice C: Lista de problemas A validao responsvel pela avaliao dos artefatos produzidos na engenharia de requisitos. Ser avaliada a qualidade dos artefatos produzidos verificando a especificao para garantir que todos os requisitos tenham sido declarados de forma no ambgua. Tambm se procura detectar inconsistncias, omisses, erros e se os artefatos esto dentro de um padro estabelecido para o processo e para o projeto. A principal forma de validao atravs da reviso tcnica em que a equipe responsvel pela reviso, normalmente desenvolvedores, clientes, usurios e outros interessados, examinam a especificao buscando erros no contedo ou na interpretao, nas reas que talvez sejam necessrios maiores esclarecimentos, informaes faltantes, inconsistncias, requisitos conflitantes ou irreais. A Gesto de Requisitos composta por um conjunto de atividades que ajuda a equipe a identificar, controlar e acompanhar as necessidades e as mudanas a qualquer momento no projeto. Muitas dessas atividades so idnticas s tcnicas de gerenciamento de configurao. Bibliografia [1] Pressman, R. Engenharia de Software: Uma abordagem Profissional. 7 edio. Editora Bookman. [2] Ken Schwaber e Jeff Sutherland. Scrum Guide. Disponvel em http://www.scrum.org [3] Mike Cohns: Succeding with Agile. Disponvel em http://www.mountaingoatsoftware.com/blog/
Leia mais em: As Etapas da Engenharia de Requisitos http://www.devmedia.com.br/as- etapas-da-engenharia-de-requisitos/30220#ixzz2vTfEydTO