ESPECIFICACIONES DE REQUERIMIENTOS DE SOFTWARE SOFTWARE (ERS)
Rivera Jiménez Eduardo José Universidad Nacional Experimental Marítima del Caribe Estado Vargas – Venezuela eduardoose!"#$gmail%com RESUMEN
& continuaci'n se trata de dar un meor panorama acerca de los conceptos ( características de la )ngeniería de Re*uerimientos +)R, ( las Especi-icaciones de Re*uerimientos de .o-t/are +ER.,0 buscando resaltar la importancia dentro del ciclo de desarr desarrol ollo lo de pro( pro(ect ectos os de desar desarrol rollo lo de so-t/ so-t/ar are0 e0 cono conoce cerr las las di-er di-erent entes es alternativas o técnicas *ue existen para identi-icarlos ( aplicarlos0 así como mostrar la importancia *ue tienen las 1erramientas automatizadas dentro de este proceso de administraci'n de re*uerimientos ( las consideraciones al momento de desarrollar un producto% Palabra Palabrass claves claves2
Re*ueri Re*uerimie miento ntos0 s0 ingenie ingeniería ría de re*uerim re*uerimien ientos tos00 1erram 1erramient ientas0 as0
técnicas% 1. ¿Qu s!" las ERS#
3a ER. es un contrato entre la empresa desarrolladora ( la empresa cliente% &mbas partes deben comunicarse mu( estrec1amente para establecer los re*uisitos de la aplicaci'n% Una buena ER. a(udar4 a la empresa cliente a describir *ué es lo *ue *uiere0 ( también servir4 a los desarrolladores para comprender *ué es0 exactamente0 lo *ue le est4n pidiendo% 5e la ER. depende el resultado -inal del producto so-t/are% 6or tanto0 es mu( importante *ue en ella se describa lo m4s detalladamente posible 7todo7 lo *ue se espera *ue 1aga dic1o so-t/are% 6ara ello0 el desarrollador debe realizarle al cliente preguntas tales como2 •
•
¿Qu $ebe %acer el &r!'raa# Esta
es la pregunta m4s importante0 de ella surgir4n todas las dem4s% El cliente debe explicar al desarrollador para *ué necesita un so-t/are0 *ué tareas *uiere *ue desempe8e0 en *ué 4mbito0 etc% ¿Qu $a!s $e e"ra$a * $e sal+$a +"erv+e"e" e" el &r!ces!# 9odos los programas manipulan datos% 6or tanto0 esta es la segunda pregunta m4s importante0 de la cual también se derivan otras como2 :1a( *ue validar o -iltrar los datos de entrada;0 :de cu4nta in-ormaci'n se trata;0 :siempre es la
•
misma;0 :se deben almacenar los datos de salida en alg
1.0. Re,uer++e"!s
El proceso de recopilar0 analizar ( veri-icar las necesidades del cliente para un sistema de so-t/are es llamado )ngeniería de Re*uerimientos% 3a meta de la ingeniería de re*uerimientos es entregar una especi-icaci'n de re*uerimientos de so-t/are correcta ( completa% 3a ingeniería de re*uerimientos apunta a meorar la -orma en *ue comprendemos ( de-inimos sistemas de so-t/are compleos% Existen varias de-iniciones de re*uerimientos0 de entre las cuales podemos citar las siguientes2 ¿Qu s!" l!s re,uer++e"!s ! re,u+s+!s# • •
•
3os Re*uerimientos -ueron de-inidos por la )EEE como =)EEE!>?2 Condici'n o capacidad re*uerida por el usuario para resolver un problema o alcanzar un obetivo Condici'n o capacidad *ue debe satis-acer o poseer un sistema o una componente de un sistema para satis-acer un contrato0 un standard0 una especi-icaci'n u otro documento -ormalmente impuesto%
1.0.2 A"-l+s+s $el &r!blea
5entro de la )ngeniería de Re*uerimientos existen cuatro actividades b4sicas *ue se tienen *ue llevar a cabo para completar el proceso +@errera0 A>>B2 ,% Estas actividades a(udan a reconocer la importancia *ue tiene para el desarrollo de un pro(ecto de so-t/are realizar una especi-icaci'n ( administraci'n adecuada de los re*uerimientos de los clientes o usuarios% 3as cuatro actividades son2 extracci'n0 an4lisis0 especi-icaci'n ( validaci'n0 ( ser4n explicadas a continuaci'n cada una de ellas% 1. E3racc+/"
Esta -ase representa el comienzo de cada ciclo% Extracci'n es el nombre com
.obre la base de la extracci'n realizada previamente0 comienza esta -ase en la cual se en-oca en descubrir problemas con los re*uerimientos del sistema identi-icados 1asta el momento% Usualmente se 1ace un an4lisis luego de 1aber producido un bos*ueo inicial del documento de re*uerimientosD en esta etapa se leen los re*uerimientos0 se concept
En esta -ase se documentan los re*uerimientos acordados con el cliente0 en un nivel apropiado de detalle% En la pr4ctica0 esta etapa se va realizando conuntamente con el an4lisis0 se puede decir *ue la especi-icaci'n es el pasar en limpioF el an4lisis realizado previamente aplicando técnicas (Go est4ndares de documentaci'n0 como la notaci'n UM3 +3enguae de Modelado Uni-icado,0 *ue es un est4ndar para el modelado orientado a obetos0 por lo *ue los casos de uso ( la obtenci'n de re*uerimientos basada en casos de uso se utiliza cada vez m4s para la obtenci'n de re*uerimientos%
5. 6al+$ac+/"
Etapa -inal de la )R% .u obetivo es0 rati-icar los re*uerimientos0 es decir0 veri-icar todos los re*uerimientos *ue aparecen en el documento especi-icado para asegurarse *ue representan una descripci'n0 por lo menos0 aceptable del sistema *ue se debe implementar% Esto implica veri-icar *ue los re*uerimientos sean consistentes ( *ue estén completos% .e puede apreciar *ue el proceso de ingeniería de re*uerimientos es un conunto estructurado de actividades0 mediante las cuales se obtiene0 se valida ( se logra dar un mantenimiento adecuado al documento de especi-icaci'n de re*uerimientos0 *ue es el documento -inal0 de car4cter -ormal0 *ue se obtiene de este proceso% Es necesario recalcar *ue no existe un proceso
Descr+&c+/" 'e"eral * &ers&ec+va $el &r!$uc!
En esta secci'n se describen todos a*uellos -actores *ue a-ectan al producto ( a sus re*uisitos% No se describen los re*uisitos0 sino su contexto% •
Pers&ec+va7 debe
relacionar el -uturo sistema +producto so-t/are, con otros productos% .i el producto es totalmente independiente de otros productos% .i la ER. de-ine un producto *ue es parte de un sistema ma(or0 esta subsecci'n relacionar4 los re*uisitos del sistema ma(or con la -uncionalidad del producto descrito en la ER.0 ( se identi-icaran las inter-aces entre el producto ma(or ( el producto a*uí descrito% .e recomienda utilizar diagramas de blo*ues%
Normalmente0 esta secci'n consta de las siguientes subsecciones2 6erspectiva del producto0 -unciones del producto características de los usuarios0 restricciones0 -actores *ue se asumen ( -uturos re*uisitos pero esta vez nos en-ocaremos en la anteriormente descrita%
1.0.8 I&!ra"c+a $e la 4ase $e re,uer++e"!s
Muc1os pro(ectos de so-t/are -racasan por*ue no se realiza un estudio previo de los re*uisitos del usuario0 no se 1ace una de-inici'n completa del alcance del pro(ecto% No se realiza el modelado del negocio antes de desarrollar el so-t/are0 esto signi-ica *ue el analista no se involucra en el problemaD aun*ue tiene claro *ue el sistema debe desarrollarse para dar soporte a los procesos de la organizaci'n0 sino se involucra en la problem4tica corre el riesgo de *ue los re*uisitos identi-icados no correspondan a las necesidades para lo *ue se debe crear% Htro problema *ue conocemos es el de no involucrar al usuario activamente en el desarrollo del producto Una buena pr4ctica seria modelar unto al clienteF% Re*uerimientos incompletos ( el cambio -recuente de los re*uerimientos establecidos sabemos *ue son otros -actores *ue llevan los sistemas al -racaso% Entonces0 es bien importante *ue no exista carencia de re*uerimientos bien de-inidos por*ue así evitamos esta lista de problemas2 • • •
•
• • •
No se realizan estimaciones realistas% No se emplean co1erentemente 1erramientas de planeaci'n% No se pueden realizar revisiones peri'dicas del progreso en base a las especi-icaciones 3a &r*uitectura0 el dise8o ( el desarrollo del so-t/are carecer4n de una base -irme% 3as pruebas se basaran en supuestos0 no en lo *ue el usuario re*uiere% No es posible controlar el crecimiento de los re*uerimientos% 3a )ngeniería de Re*uerimientos cumple un papel primordial en el proceso productivo (a *ue se en-oca en el 4rea -undamental2 3a producci'n 0 siendo su tarea la generaci'n de especi-icaciones correctas *ue describan con claridad0 sin ambigIedades ( en -orma compacta las necesidades del cliente0 cumpliendo lo antes expresado se obtendr4 un pro(ecto *ue minimizar4 los problemas relacionados con la gesti'n de dic1os re*uerimientos%
Respondiendo a la pregunta inicial entonces podemos decir *ue los re*uerimientos son importantes debido a *ue son el 1ilo conductor de todo desarrollo de so-t/are% Hbtener re*uerimientos de calidad demuestra *ue el trabao realizado culminar4 con éxito0 esto se debe a dos -actores2 % 3a utilizaci'n adecuada de las técnicas de captura de re*uerimientos con los clientes% A% 3as experiencias de los analistas del pro(ecto%
Esto sucede por*ue la experiencia de trabao en el rol le permite al e*uipo de &nalistas del 6ro(ecto establecer *ue técnicas van a utilizar a la 1ora de la entrevista con el cliente debido a *ue los clientes no entienden el lenguae in-orm4tico0 es por eso *ue se debe tener en cuenta el lenguae el cual se va a aplicar a la 1ora de la entrevista con el cliente% . I"'e"+er9a $e l!s Re,uer++e"!s
El proceso de recopilar0 analizar ( veri-icar las necesidades del cliente o usuario para un sistema es llamado ingeniería de re*uerimientos% 3a meta de la ingeniería de re*uerimientos +)R, es entregar una especi-icaci'n de re*uisitos de so-t/are correcta ( completa% &lgunos otros conceptos de ingeniería de re*uerimientos son2 )ngeniería de Re*uerimientos a(uda a los ingenieros de so-t/are a entender meor el problema en cu(a soluci'n trabaar4n% )nclu(e el conunto de tareas *ue conducen a comprender cu4l ser4 el impacto del so-t/are sobre el negocio0 *ué es lo *ue el cliente *uiere ( c'mo interactuar4n los usuarios -inales con el so-t/areF% +6ressman0 A>>2 ##, 3a ingeniería de re*uerimientos es el proceso de desarrollar una especi-icaci'n de so-t/are% 3as especi-icaciones pretender comunicar las necesidades del sistema del cliente a los desarrolladores del sistemaF% +.ommerville0 A>>#2 KA, .0. I&ac! $e la c!"srucc+/" $e &r!!+&!s e" l!s re,uer++e"!s
5urante la actividad de extracci'n de re*uerimientos0 puede ocurrir *ue algunos re*uerimientos no estén demasiado claros o *ue no se esté mu( seguro de 1aber entendido correctamente los re*uerimientos obtenidos 1asta el momento0 todo lo cual puede llevar a un desarrollo no e-icaz del sistema -inal% 3os prototipos son simulaciones del posible producto0 *ue luego son utilizados por el usuario -inal0 permitiéndonos conseguir una importante retroalimentaci'n en cuanto a si el sistema dise8ado con base a los re*uerimientos recolectados le permite al usuario realizar su trabao de manera e-iciente ( e-ectiva% El desarrollo del prototipo comienza con la captura de re*uerimientos% 5esarrolladores ( clientes se re
aspectos del so-t/are *ue ser4n visibles al usuario +por eemplo0 entradas ( -ormatos de las salidas,% El dise8o r4pido lleva a la construcci'n de un prototipo% 2. Us!s $e l!s ERS
3a )EEE +91e )nstitute o- Electrical and Electronics Engineers,0 es un instituto internacional dedicado a promover la innovaci'n ( la excelencia tecnol'gica% 3a )EEE dice *ue para todo trabao de so-t/are es necesario entregar a los clientes la especi-icaci'n de re*uerimientos0 cuales necesitan0 dividirlos ( documentarlos0 todo debe estar correctamente documentado% Existe un est4ndar llamado )EEE KB> .R. para una adecuada especi-icaci'n de re*uerimientos para el desarrollo de .o-t/are% 2.0.1 ¿Qu $ebe +"clu+rse e" l!s ERS#
3as consideraciones para producir un buen .R. +Especi-icaci'n de re*uisitos del so-t/are,% 3os siguientes puntos muestran in-ormaci'n *ue debe ser considerada al momento de producir un .R.% •
•
•
•
El .R. son especi-icaciones para un producto del so-t/are en particular0 programa0 o uego de programas *ue realizan ciertas -unciones en un ambiente especí-ico% El .R. puede escribirse por uno o m4s representantes del proveedor0 uno o m4s representantes del cliente0 o por ambos% El so-t/are puede contener toda la -uncionalidad del pro(ecto o puede ser parte de un sistema m4s grande% .i es una parte del sistema 1abr4 un .R. *ue declarar4 las inter-aces entre el sistema ( su so-t/are completo ( pondr4 *ue -unci'n externa ( re*uisitos de -uncionalidad tiene con el so-t/are modular% LEl proceso de desarrollo de so-t/are debe empezar con el proveedor ( con el acuerdo del cliente en lo *ue el so-t/are completado debe 1acer% Este acuerdo0 en la -orma de un .R.0 debe prepararse untamente% Esto es importante por*ue ni el cliente ni el proveedor son cali-icables para escribir exclusivamente un buen .R.%
2.0. ¿Qu "! $ebe" +"clu+r l!s ERS#
3os re*uisitos del pro(ecto representan una comprensi'n entre el cliente ( el proveedor sobre materias contractuales *ue pertenecen a la producci'n de so-t/are ( así no deben ser incluidos en el .R.% stos normalmente inclu(en los puntos como2 a, El costo% b, 3os tiempos de la entrega%
c, )n-ormando los procedimientos% d, 3os métodos de desarrollo de so-t/are% De, 3a convicci'n de calidad% -, 3a aprobaci'n ( criterio de la comprobaci'n% g, 3os procedimientos de aceptaci'n% 2.0.2 ¿ P!r ,u $ebe!s e3clu+r l!s re,uer++e"!s $el &r!*ec! $e u"a SRS#
.e especi-ican los re*uisitos del pro(ecto en otros documentos0 generalmente en un plan de desarrollo de so-t/are0 un so-t/are de calidad o una declaraci'n de trabao% 3a cantidad de re*uerimientos en un pro(ecto puede ser di-ícil de manear% 2.0.5 Ar+bu!s $e u"a SRS $e ala cal+$a$
3as características deseables para una buena especi-icaci'n de re*uisitos so-t/are *ue se indican en el )EEE son las siguientes +C1almeta0 A>>>, +6iattini0 !!,2 % A% B% "% #% % O% K% !%
Correcta No ambigua Completa Veri-icable Consistente Clasi-icada Modi-icable Explorable Utilizable durante las tareas de mantenimiento ( uso
2.0.8 F!ra! 'e"eral $e u"a SRS
3a siguiente -igura muestra la estructura de la ER. propuesta por el )EEE en su est4ndarKB> +)EEE0 !!K, +U6M0 A>>>,
2.0.8 El es-"$ar IEEE :20;1<<: &ara SRS
El est4ndar KB>P!!K -ue generado por un e*uipo de trabao del )EEE0 su -inalidad es la integraci'n de los re*uerimientos del sistema desde la perspectiva de usuario0 cliente ( desarrollador% Esta 1a sido nuestra propuesta durante la existencia como blog0 la KB> se encarga de poner las pautas para identi-icar ( es*uematizar las re*uerimientos de so-t/are% como parte integral del desarrollo de so-t/are0 sino también como base -undamental de este0 todo esto con el -in de no caer en cambios0 errores o situaciones *ue pongan en peligro la creaci'n de una soluci'n0 producto o so-t/areD incurriendo en gastos o cambios producto de una mal an4lisis de re*uerimientos% Obe+v!s7
Qa conociendo lo *ue es un .R. se debe establecer *ue -unci'n ubicada en el contexto de desarrollo de so-t/are por esto se plantea lo siguiente2 −
Un cliente describa claramente lo *ue *uiere%
− − −
Un proveedor entienda claramente lo *ue el cliente *uiere% .e establezcan bases para un contrato de desarrollo +o de compraPventa,% .e reduzca el es-uerzo de an4lisis0 dise8o0 ( programaci'n +evitando reP trabaos,%
Ac!res7
5e los est4ndares este es uno de los *ue ma(or importancia lleva (a *ue este es el *ue de-ine *ue 1ar4 la 1erramienta de so-t/are o soluci'n planteada% −
−
−
Un clienteGusuario *ue va(a a de-inir re*uerimientos +características, de un so-t/are *ue necesite% Un desarrollador +internoGexterno, *ue 1aga so-t/are a la medidaF mediante pro(ecto% Un desarrollador *ue 1aga so-t/are de pa*ueteF *ue se venda masivamente% C!"clus+!"es
El poder desarrollar una especi-icaci'n de re*uerimientos completa ( consistente0 es un paso mu( importante para evitar cometer errores en la de-inici'n de los re*uerimientos0 (a *ue los mismos pueden resultar mu( caros de corregir una vez desarrollado el sistema% 5e a1í0 la vital importancia *ue tiene la ingeniería de re*uerimientos en generar una adecuada especi-icaci'n *ue contemple claramente ( sin ambigIedades los re*uerimientos del sistema a desarrollar0 con el -in primordial de evitar *ue los pro(ectos -racasen debido a una mala elaboraci'n de la de-inici'n ( especi-icaci'n de re*uerimientos% El proceso de la )ngeniería de Re*uerimientos sirve para recopilar la in-ormaci'n necesaria para establecer la -uncionalidad *ue se *uiere alcanzar con el sistema% 6ara ello0 se debe de contar con buenos métodos ( técnicas para 1acerlo0 adem4s de una comunicaci'n -luida ( constante con el cliente0 (a *ue los re*uerimientos deben re-lear las necesidades reales *ue el cliente *uiere satis-acer% 3as revisiones deben involucrar al cliente ( al sta-- de contratistas para validar los re*uerimientos del sistema% Como proceso0 la administraci'n de re*uerimientos es -undamental en todo pro(ecto de desarrollo de so-t/are0 (a *ue se debe de contar con una especi-icaci'n clara ( completa desde las -ases iniciales para no tener problemas posteriores *ue implican un retraso en el cronograma0 un presupuesto err'neo0 o 1asta la posible cancelaci'n del pro(ecto% Es importante *ue el documento *ue se obtenga de esta etapa sea un re-leo real del acuerdo de las partes involucradas%
&dem4s0 1o( en día0 es importante tomar en cuenta el uso de patrones en el desarrollo de so-t/are% Un patr'n es un conunto de in-ormaci'n *ue aporta una buena soluci'n (a probada a un problema *ue se presenta en un contexto determinado% 6ara elaborarlo se aíslan sus aspectos esenciales ( se a8aden cuantos comentarios ( eemplos *ue sean necesarios% :En *ué a(uda esto en la )R; Esto a(uda a dise8ar correctamente en menos tiempo0 a(uda a construir problemas reutilizables ( extensibles0 ( -acilita la documentaci'n ( la comunicaci'n con otros miembros del e*uipo de desarrollo0 ventaas importantes *ue se deben de tomar en cuenta por parte los desarrolladores de so-t/are0 (a *ue si se logra tener un lenguae en com
=+bl+!'ra49a >+br!s • •
•
•
C1almeta R% +!!!,0 &5.) ))% A Soletín de transparenciasF% UJ)% 6ressman0 Roger .% +A>>,0 )ngeniería del .o-t/are2 Un en-o*ue pr4cticoF0 .exta edici'n0 México 5T0 Editorial Mcra/ @ill% 6iattini Mario % +!!,0 &n4lisis ( dise8o detallado de aplicaciones in-orm4ticas de gesti'nF% ed% R&PM& Editorial0 Madrid0 .ommerville )an0 +A>>#,0 )ngeniería del .o-t/areF0 .étima edici'n0 México 5T0 Editorial 6earson
•
P-'+"as Web •
)EEE .td% >%AP!!>0 )EEE .tandard lossar( o- .o-t/are Engineering 9erminolog(F0 recuperado el A" de septiembre de A># en2 1ttp2GGstandards%ieee%orgGreadingGieeeGstdWpublicGdescriptionGseG>%A!!>Wd esc%1tml
•
•
•
)EEE +!!K, Recommended practice -or so-t/are re*uirements speci-ication% &rtículo obtenido de la /eb del instituto de ingenieros eléctricos ( electr'nicos +)nstitute oElectrical and Electronics Engineers,%1ttp2GG///%computer%orgG U6M0 Universidad 6olitécnica de Madrid0 aparecen algunos artículos sobre la )EEE KB> ( sobre an4lisis de re*uisitos en general% 1ttp2GG///%upm%com% Especi-icaci'n de Re*uisitos de .o-t/are seg% &rticulo obtenido de la /eb2 1ttp2GG///%academia%eduG"O>#GEspeci-icaci XCBXSBnWdeWRe*uisitosW.o-t/areWsegXCBXS&nWelWest XCBX&ndarWdeW)EEEWKB>