Você está na página 1de 5

As Etapas da Engenharia de Requisitos

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