Documentos de Académico
Documentos de Profesional
Documentos de Cultura
REQUERIMIENTOS
La ingeniera de requerimientos es una de las partes ms importantes y
menos apreciadas de la ingeniera de sistemas y de la ingeniera de software.
Como todas las ramas de la ingeniera relativas a la fabricacin de software
su origen es muy reciente y es hasta hace poco tiempo que es reconocida
por los principales autores como una disciplina formal.
El auge que esta disciplina ha tenido en los ltimos aos se debe a la
importante influencia que los requerimientos muestran en las estadsticas de
proyectos fracasados o con problemas de tiempo o presupuesto. Lo anterior
no slo ha producido mucha literatura sino que ha obligado a los
metodlogos a concederle un papel muy importante dentro de sus
metodologas al proceso de identificacin y captura de requerimientos.
Podemos definir la ingeniera de requerimientos como la ciencia y la disciplina
de identificar, documentar, verificar y administrar los requerimientos de un
sistema.
En este contexto, el mayor objetivo de la ingeniera de
requerimientos es definir el propsito de un sistema y capturar el
comportamiento externo del mismo.
En la ingeniera de requerimientos distinguimos los requerimientos del
sistema de los requerimientos del software. Los primeros se refieren a
transformar las necesidades de los clientes y usuarios en requerimientos
del sistema, mientras que los segundos se refieren a descomponer el
problema en varios problemas pequeos o subsistemas, en distribuir los
requerimientos en
dichos subsistemas y
en
transformar los requerimientos en una especificacin ms detallada
apropiada para los diseadores y arquitectos de software.
Necesidades
Funcionalidades
Requerimientos de
Software
Managing Software Requirements, D. effingwell, AW2000
MANAGEMENT
T
N
E
M
E
G
A
N
A
M
ELICITATION
ANALYSI S
S P ECIF ICATION
VERIF ICATION
de
las
ruinas
de
facturar.
En ocasiones los mdicos avisan del alta al paciente antes que a
la enfermera encargada, por lo que la enfermera no enva el alta del
paciente a la caja y la factura se demora.El rea de Laboratorio no
est conectada al sistema del hospital por lo que los cargos a la cuenta
del paciente se hacen a travs del rea de farmacia. Debido que
estos cargos no se hacen en lnea el cajero tiene que hablar a farmacia
para saber si el paciente no tiene cargos pendientes.
El sistema no permite cambios una vez que se cierra la factura. En
ocasiones algn rea del hospital informa de algn cargo pendiente
despus de que el cajero cerr la factura, o el cliente nota que su
nombre o su direccin estn incorrectas. Esto provoca que la factura
tenga que ser cancelada y creada nuevamente.
80
P
70 o
r 60
c 50
i
40 e
30
n 20
t
o 10
0
1.El sistema
no permite
dividir una
cuenta en
varias
facturas
2.Las
enfermeras no
pasan las altas
de los
pacientes
inmediatament
e
2
3
Contribuci
n
3.El
Laboratorio
no est
conectado al
sistema del
hospital
4. El sistema no
permite
cambios una
vez que se
cierra la factura
Mucho tiempo
para realizar
una factura
Programa
dor de
Emv
ios
Una herramienta que nos permite documentar las fronteras del proyecto es el
diagrama de contexto. Un diagrama de contexto emplea un rectngulo
para definir el proceso y utiliza figuras de palitos para representar a los
actores (lo cual es un estndar de UML).
Ambientales
Existen restricciones regulatorias?
Existen requerimientos de seguridad?
Qu otros estndares debe respetar el proyecto?
Existen restricciones legales o ambientales?
Est involucrada ms de una empresa?
Ms de una empresa ser impactada por el producto?
Calendario y Recursos
El calendario del proyecto est definido?
Tcnicas de Elicitacin
Una cuestin bsica en Ingeniera de Requerimientos es cmo determinar
qu es lo que el cliente y los usuarios verdaderamente necesitan. Este
proceso ha demostrado en la prctica que es muy complejo y que puede
fcilmente provocar el fracaso de un proyecto.
Existen varias tcnicas que pueden utilizarse para la elicitacin de un
sistema, sin embargo, dada la naturaleza social del proceso, el uso de las
mismas debe considerar no slo los aspectos tcnicos sino los aspectos
sociales, polticos y culturales del proyecto. Normalmente, el aspecto social
del proceso no es fcil de describir en primera instancia, requiere una
inmersin profunda en el mbito de los individuos, no es suficiente la simple
recoleccin de informacin, como por ejemplo, reunir estadsticas de la
ocurrencia de ciertas categorias predeterminadas.
Introspeccin
La introspeccin es el medio ms obvio y comnmente usado para entender
los requerimientos de un sistema. Consiste en estudiar el ambiente del
usuario para posteriormente tratar de imaginar qu es lo que me gustara que
hiciera el sistema si yo estuviera a cargo de hacer el trabajo con su ayuda.
Esta tcnica es til pero hay que considerar que la experiencia de un
analista de sistemas es muy diferente que la experiencia de los usuarios
potenciales del software y por lo tanto es difcil que las conclusiones del
analista reflejen la experiencia de las personas que hacen la tarea da con
da.
Esto se hace ms evidente en el diseo de la interfaz grfica del usuario,
lo que para un analista es el comportamiento comn de un software, puede
resultar confuso o frustrante para un usuario. Tradicionalmente, debido a las
limitaciones grficas que anteriormente tenan las computadoras, se creaba
una brecha entre el diseo de la aplicacin y las necesidades de usabilidad
del usuario, sin embargo debido a la evolucin de los ambientes
grficos el paradigma est cambiando: La obligacin del usuario no es
aprender a dominar una tecnologa, es la tecnologa la que debe ayudar al
usuario a hacer su trabajo. La explosin del Internet ha creado nuevas
especialidades como user experience en las cuales la psicologa y la
sociologa son las principales herramientas cientficas.
La recomendacin, cuando se usa la introspeccin, es apoyarla con la
informacin previa que generan otras tcnicas como por ejemplo la
entrevista abierta. En cualquier caso es recomendable validar cualquier
duda con un experto de dominio. Los expertos de dominio son personas
con mucha experiencia en un rea particular del negocio que es de inters
para el sistema. Por ejemplo, en el caso de una lnea de produccin, el
operador de alguna mquina de la lnea puede ser un experto de dominio que
aporte valiosa informacin para la automatizacin del proceso.
Entrevista
Abierta
Una de las tcnicas ms importantes y ms directas para obtener
requerimientos es la entrevista abierta. El proceso de realizar una entrevista
puede parecer trivial en muchos casos, sin embargo, debido al factor social
que ya hemos mencionado y al "sndrome del usuario y el desarrollador", las
entrevistas pueden presentar complicaciones.
Una de las principales consideraciones a tomar en cuenta en una entrevista
es lograr que la predisposicin del entrevistador no influya en el resultado de
la narrativa capturada. Como proveedores de soluciones, estamos
acostumbrados a identificar soluciones al mismo tiempo que escuchamos
tienen
Si
haces
esto
Desarrollo
de
de
que
BIBLIOGRAFA
Richard H. Thayer, Merlin Dorfman. Software Requirements
Engineering, IEEE 1997. The Standish Group, Chaos Report,
http://standishgroup.com/visitor/chaos.htm. Alan M. Davis. Private
comunications, 1996
Dean Leffingwell, Don Widring. Managing Software Requirements (A
Unifiend Approach).
Addison Wesley 2000.