1 Introducción A La Ingenieria de Requisitos
1 Introducción A La Ingenieria de Requisitos
1 Introducción A La Ingenieria de Requisitos
la ingeniera de
requisitos
Jordi Pradel Miquel
Jose Raya Martos
PID_00191265
CC-BY-SA PID_00191265
Los textos e imgenes publicados en esta obra estn sujetos excepto que se indique lo contrario a una licencia de
Reconocimiento-Compartir igual (BY-SA) v.3.0 Espaa de Creative Commons. Se puede modificar la obra, reproducirla, distribuirla
o comunicarla pblicamente siempre que se cite el autor y la fuente (FUOC. Fundaci per a la Universitat Oberta de Catalunya), y
siempre que la obra derivada quede sujeta a la misma licencia que el material original. La licencia completa se puede consultar en:
http://creativecommons.org/licenses/by-sa/3.0/es/legalcode.ca
CC-BY-SA PID_00191265
ndice
Introduccin...............................................................................................
Objetivos.......................................................................................................
1.
1.1.
1.2.
Requisitos y stakeholders...............................................................
1.3.
1.4.
2.
11
3.
Tipos de requisitos.............................................................................
15
3.1.
15
3.1.1.
16
3.1.2.
17
19
20
4.1.
20
4.2.
21
4.3.
22
4.4.
23
4.5.
24
25
5.1.
Identificacin de stakeholders.......................................................
25
5.2.
Problemticas ..............................................................................
25
5.3.
26
5.3.1.
26
5.3.2.
27
5.3.3.
3.2.
4.
5.
28
28
Resumen.......................................................................................................
30
Actividades..................................................................................................
31
Ejercicios de autoevaluacin..................................................................
34
Solucionario................................................................................................
35
5.4.
CC-BY-SA PID_00191265
Glosario........................................................................................................
37
Bibliografa.................................................................................................
39
CC-BY-SA PID_00191265
Introduccin
La ingeniera de requisitos es la disciplina que incluye todas aquellas actividades relacionadas con los requisitos del software. A pesar de estar muy relacionada con la ingeniera del software, se trata de disciplinas con objetivos
diferentes.
Mientras que la ingeniera del software tiene como objetivo desarrollar un
producto de manera correcta, la ingeniera de requisitos tiene como objetivo
desarrollar el producto correcto. Por este motivo requiere conocimientos y habilidades de otras disciplinas, como la psicologa, el marketing o la organizacin de empresas.
La ingeniera de requisitos tiene un gran impacto econmico en la industria
del software. Cuando un equipo de desarrollo dedica su esfuerzo a desarrollar
un software con los requisitos equivocados, no solo se est malgastando esta
capacidad (que podra haberse utilizado en desarrollar el producto correcto),
sino que, adems, habr que dedicar esfuerzos a corregir la situacin.
En este mdulo haremos un repaso de aquello que ya conocemos sobre la
ingeniera de requisitos, por lo que ya hemos estudiado en otras asignaturas.
Este repaso nos permitir, en los mdulos siguientes, estudiar con ms detalle
las problemticas y tcnicas especficas de la ingeniera de requisitos.
Empezaremos hablando de la ingeniera de requisitos y de su objeto de estudio
(los requisitos), as como de la relacin de estos con los diferentes stakeholders
del proyecto de desarrollo.
A continuacin, presentaremos el caso prctico que desarrollaremos en el resto
de los mdulos para presentar los diferentes conceptos y tcnicas. Como la
ingeniera de requisitos es muy dependiente del contexto (al fin y al cabo cada
proyecto de desarrollo tendr unos requisitos diferentes), nos ser muy til
estudiar el mismo caso en todos los mdulos.
Una vez presentado el caso prctico, hablaremos del proceso de la ingeniera
de requisitos y presentaremos las diferentes actividades que forman parte de
l, que estudiaremos de manera ms detallada en el resto de los mdulos.
Finalmente, veremos algunos ejemplos de requisitos basados en el caso prctico anteriormente mencionado.
Ved tambin
Podis encontrar ms informacin sobre la ingeniera de requisitos en la asignatura Ingeniera del software.
CC-BY-SA PID_00191265
Objetivos
CC-BY-SA PID_00191265
La ingeniera de requisitos, por tanto, tiene lugar dentro del mismo contexto
que la ingeniera del software (el desarrollo de software), motivo por el cual se
puede ver como parte de la ingeniera del software. Aun as, hay que tener en
cuenta que la ingeniera de requisitos requiere conocimientos y habilidades
propias de otras disciplinas, como por ejemplo la psicologa, el marketing o
el diseo.
1.1. La ingeniera del software
El IEEE define la ingeniera del software como la aplicacin de un enfoque
sistemtico, disciplinado y cuantificable al desarrollo, la operacin y el mantenimiento del software.
El desarrollo de software es una actividad temporal en el sentido de que tiene
un inicio claro y un final tambin bastante claro, ya sea con xito o fracaso.
Por este motivo, el desarrollo se organiza en proyectos.
Existen muchos mtodos de desarrollo de software, muchos de ellos basados
en otras disciplinas de la ingeniera. Cada mtodo define uno o ms procesos
consistentes en decir qu tareas y en qu orden se deben llevar a cabo, qu
roles tendrn las personas que participan en ellos, qu tareas se asignan a
cada rol, qu artefactos se tienen que usar como punto de partida y qu otros
artefactos son el resultado de cada tarea.
Cada mtodo tiene sus particularidades, pero todos ellos tienen una serie de
actividades (conjuntos de tareas relacionadas) comunes:
Modelizacin.
Calidad.
Mantenimiento y reingeniera.
Referencia bibliogrfica
IEEE Std (1993). IEEE Software Engineering Standard: glossary of Software Engineering
Terminology. IEEE Computer
Society Press.
CC-BY-SA PID_00191265
Los requisitos son caractersticas observables de un sistema que expresan una necesidad o restriccin que un stakeholder tiene sobre l.
Los requisitos nos sirven, por lo tanto, para delimitar cules de las posibles
soluciones a un problema son adecuadas (las que cumplen los requisitos) y
cules no.
A pesar de que todos los usuarios de un sistema son stakeholders, puesto que
todos lo usan y, por lo tanto, tienen intereses en l, no todos los stakeholders
son usuarios, puesto que puede haber muchas personas o entidades que, a
pesar de que no utilicen el sistema, se ven afectadas por su implantacin y
que, por lo tanto, tambin tienen intereses en l.
1.3. La ingeniera de requisitos
Denominamos ingenieraderequisitos a aquel subconjunto de la ingeniera
del software que se encarga de las actividades siguientes:
Obtencinderequisitos: identificar las fuentes de informacin de los posibles requisitos del sistema y obtener cules son estos requisitos candidatos.
CC-BY-SA PID_00191265
Verificacinderequisitos: verificar si el sistema desarrollado (o parcialmente desarrollado en el caso de ciclos de vida iterativos) satisface o no
los requisitos y cules.
Las tareas y artefactos concretos de la ingeniera de requisitos que se usen dependern, en buena parte, del mtodo empleado. As, por ejemplo, los mtodos que sigan un ciclo de vida en cascada necesitarn una documentacin de
requisitos mucho ms exhaustiva que los mtodos giles.
1.4. Problemticas de la ingeniera de requisitos
Las principales problemticas de la ingeniera de requisitos radican en el hecho de que se trata de una actividad de comunicacin entre personas y, como
en cualquier actividad de este tipo, nos podemos encontrar con varias dificultades. Las ms tpicas son:
Referencia bibliogrfica
Podis ver la referencia completa en el artculo de Cusumano y otros en el apartado
de bibliografa.
CC-BY-SA PID_00191265
10
mismos lo sabrn decir con certeza, puesto que estarn condicionados por
su desconocimiento de la tecnologa, por soluciones que ya conocen, etc.
CC-BY-SA PID_00191265
11
CC-BY-SA PID_00191265
12
CC-BY-SA PID_00191265
13
CC-BY-SA PID_00191265
14
CC-BY-SA PID_00191265
15
3. Tipos de requisitos
Hay que tener en cuenta, pues, que ninguna taxonoma puede clasificar cada
requisito en una nica categora indiscutible. Siempre habr casos en los que se
podr argumentar la pertenencia de un requisito a una u otra categora segn
el punto de vista que se tome.
3.1. Requisitos de producto
Los requisitos de producto definen aquellas necesidades o restricciones que los
stakeholders tienen sobre el producto que se desarrollar como tal. Es decir, nos
interesar que, una vez desarrollado, el producto satisfaga estos requisitos.
Algunos ejemplos de requisitos de producto del caso prctico son:
Como usuario quiero poder consultar las recomendaciones de los agentes sobre un
hotel.
El sistema tiene que permitir a las agencias continuar trabajando aunque se pierda
la conexin en Internet.
Taxonoma
Una taxonoma es una coleccin de trminos de vocabulario controlados que se organiza en una estructura jerrquica.
CC-BY-SA PID_00191265
16
Muchas veces, cuando se habla de requisitos a palo seco, por abuso del lenguaje, se quiere hacer referencia a requisitos de producto, por oposicin a los
requisitos de proceso.
Los requisitos de producto se pueden clasificar, a su vez en:
Requisitos funcionales.
Requisitos no funcionales.
Como usuario quiero poder consultar las recomendaciones de los agentes sobre un
hotel.
Como directora de marketing, quiero que los clientes puedan recomendar en las redes
sociales los viajes que ofrecemos.
El sistema tiene que conocer el cliente de un viaje; en particular, debe saber el nombre,
los apellidos, la direccin de correo electrnico, la direccin postal y el telfono.
El sistema tiene que conocer el hotel u hoteles de un viaje. De los hoteles tiene que
saber el nombre, la direccin y el telfono. En relacin con el viaje tiene que saber las
fechas de entrada y salida, las horas de check-in y check-out, el tipo de habitacin,
las observaciones del hotel y la opinin del agente que ha reservado el viaje.
CC-BY-SA PID_00191265
17
Terminologa
Los requisitos no funcionales
se denominan, tambin, requisitos de calidad.
Requisitosdepresentacin. Hacen referencia al aspecto visual del sistema y tienen en cuenta aspectos como la imagen corporativa de la organizacin.
Un posible requisito conforme que todas las pantallas de la aplicacin tienen que mostrar el logo de Viajes UOC, que no aparece en las entrevistas, sera un requisito de presentacin.
Requisitosdeusabilidadyhumanidad. Son los relacionados con el hecho de que el sistema sea ergonmico y usable. Estos factores dependern
de las capacidades de los usuarios y de la complejidad de la funcionalidad.
Hay que tener en cuenta requisitos de eficiencia de uso, facilidad de aprendizaje, tasa de errores, nivel de satisfaccin, etc.
La necesidad de poder usar el sistema con poca o nada formacin, mencionada tanto por
Joan Salvat como por Maria Costa, es un requisito de usabilidad y humanidad.
Referencia bibliogrfica
Podis ver la referencia completa a la plantilla Volere en
el apartado de bibliografa.
CC-BY-SA PID_00191265
18
Requisitosculturalesypolticos. Son aquellos que tienen en cuenta aspectos culturales y polticos de los usuarios.
Un requisito cultural tpico es lo referente al idioma de los usuarios. As, quiz querremos
que Viajes UOC pueda usarse en cataln, castellano e ingls. Esto no solo implica mostrar
los mensajes en el idioma adecuado, sino tambin usar el formato que sea necesario para
las fechas, los nmeros, etc.
As, por ejemplo, una fecha como 1/3 puede querer decir el uno de marzo o el tres de enero
segn el mbito cultural del usuario. De manera parecida, la semana podra empezar el
lunes o el domingo.
LOPD
LOPD son las siglas de la Ley
Orgnica 15/1999 de Proteccin de Datos de Carcter Personal de Espaa, una ley orgnica espaola que tiene por
objetivo garantizar y proteger
los datos personales, las libertades pblicas y los derechos
fundamentales de las personas
fsicas, y especialmente su intimidad y privacidad personal y
familiar.
CC-BY-SA PID_00191265
19
CC-BY-SA PID_00191265
20
Elicitacin
La obtencin de requisitos
tambin es denominada, por
algunos autores, elicitacin.
Ved tambin
Veremos con ms detalle la
obtencin de requisitos en el
mdulo Obtencin de requisitos.
CC-BY-SA PID_00191265
21
Por ello, decimos que la obtencin de requisitos tiene que dar, como resultado,
un conjunto de requisitos candidatos.
Otro caso habitual es que el requisito se considere insuficientemente importante o prioritario como para justificar la inversin necesaria para su desarrollo.
Por ejemplo, Marc Garca nos pide que el nuevo sistema de ventas se integre con el sistema
de facturacin para evitar que Maria pierda tres das al mes en copiar la informacin de
un lugar al otro. Todava no sabemos cul es el coste de desarrollar esta integracin y, por
lo tanto, todava no sabemos si ser rentable o no para Viajes UOC incluir este requisito
o si bien es preferible descartarlo o encontrar una solucin intermedia.
Ved tambin
Veremos con ms detalle la
gestin de requisitos en el mdulo Gestin de requisitos.
CC-BY-SA PID_00191265
22
Ved tambin
Veremos con ms detalle la
documentacin de requisitos
en el mdulo Documentacin
de requisitos.
CC-BY-SA PID_00191265
23
La especificacin de requisitos recoge el contrato entre los desarrolladores y los stakeholders y sirve como herramienta de comunicacin para
los dos grupos. Por ello, resulta un elemento central de cualquier mtodo de desarrollo, especialmente en cuanto a la gestin del proyecto.
Las historias de usuario, los casos de uso y el lenguaje UML son herramientas
habituales usadas en la documentacin de requisitos para grabarlos a varios
niveles de detalle y, a la vez, usar una forma de documentacin que todos los
implicados puedan entender.
La documentacin de requisitos puede ser tan simple como una frase que resuma cada requisito y contar, para el resto, que desarrolladores y stakeholders
conversen y recuerden lo que se ha dicho. De lo contrario, la documentacin
de requisitos puede ser tan exhaustiva como se quiera.
Una simplicidad excesiva implica riesgos respecto a la interpretacin de los
detalles de los requisitos, puesto que se podra perder informacin. Es necesario, pues, que la documentacin sea suficientemente detallada para minimizar
estos riesgos.
Por otro lado, una documentacin demasiado costosa de elaborar puede ser
difcil de mantener, especialmente si los requisitos van cambiando. Y no solo
no tendra ningn valor, sino que tendra una repercusin negativa si deviene
obsoleta por los cambios de requisitos y no es actualizada a medida que estos
cambian.
Por tanto, en cada proyecto, hay que disponer de la documentacin necesaria
(para grabar los requisitos y comunicarlos entre el equipo y los stakeholders)
que sea posible elaborar y mantener a lo largo del desarrollo con los recursos
disponibles.
4.4. Validacin de requisitos
Una vez obtenidos los requisitos candidatos, seleccionados y documentados,
ya disponemos de una documentacin que, en principio, refleja las necesidades de los stakeholders sobre el sistema que se desarrollar. Pero, muchas veces,
durante las actividades que nos han trado a este punto se cometen errores que
pueden provocar que los requisitos documentados no reflejen correctamente
lo que los stakeholders quieren.
Ved tambin
Veremos con ms detalle la
validacin de requisitos en el
mdulo Validacin y verificacin de requisitos.
CC-BY-SA PID_00191265
24
Algunos errores comunes que se pueden producir y que hay que detectar y
corregir durante la validacin son errores de comprensin de la necesidad de
los stakeholders, errores de gestin de requisitos y, sobre todo, errores de documentacin.
4.5. Verificacin de requisitos
Si todo el propsito del desarrollo del sistema es conseguir un sistema que
satisfaga los requisitos de los stakeholders, es obvio que hay que verificar, antes
de dar el sistema por bueno, que satisfaga realmente estos requisitos.
Hay que tener en cuenta que se deben verificar todos los tipos de requisitos y
que cada tipo demandar una forma diferente de verificacin. As, hablaremos
de pruebas funcionales para referirnos a las pruebas que hacemos para verificar que el sistema satisface los requisitos funcionales. En cuanto a los requisitos no funcionales, hablaremos de pruebas de estrs, pruebas de rendimiento,
pruebas de usabilidad, etc. y toda una serie de tipos de pruebas diferentes para
verificar cada tipo de requisito no funcional.
Si, una vez que se ha verificado que un sistema satisface unos requisitos, el sistema o los requisitos cambian, hay que volver a comprobar si el sistema todava satisface los requisitos (nuevos y previamente existentes). Por este motivo,
en muchos casos es interesante automatizar el proceso de pruebas para poder
realizar la verificacin en el mnimo coste posible.
Ved tambin
Veremos con ms detalle la verificacin de requisitos en el
mdulo Validacin y verificacin de requisitos.
CC-BY-SA PID_00191265
25
Mara Costa menciona a alguien llamado Mart, un empleado de la agencia que no quiere convertirse en personal de apoyo y que, por lo tanto,
tambin es un stakeholder.
Todas las personasquetenganqueinteractuartcnicamenteconelsistema tambin sern stakeholders. Esto incluir a las personas que lo instalen, que lo administren y que le den soporte, por ejemplo.
5.2. Problemticas
A lo largo del desarrollo del proyecto hay que tener en cuenta las problemticas
de la ingeniera de requisitos ya mencionadas.
Otros stakeholders
Estos solo son algunos de los
stakeholders que no habamos identificado todava, pero
la lista puede ser muy larga y
depender, en cada caso, de
la organizacin y el proyecto
concretos.
Otros ejemplos de stakeholders que se deben tener en
cuenta son organismos reguladores, otras empresas con las
que hayamos de interactuar,
etc.
26
CC-BY-SA PID_00191265
As, por ejemplo, en este caso se han usado entrevistas que se han transcrito
para comunicar los requisitos. Al hacer la transcripcin, se habrn perdido
detalles y matices de la comunicacin oral.
Por otro lado, como ejemplo adicional de una problemtica que nos podemos
encontrar en Viajes UOC, los conocimientos de la tecnologa seguramente estarn afectando a los stakeholders, que estarn expresando sus requisitos a partir de los que ya conocen. Es probable, pues, que haya requisitos que no hayan
sido identificados porque los propios stakeholders no sepan que los tienen, en
el sentido de que son caractersticas que quieren sin saberlo.
5.3. Tipos de requisitos
Ved tambin
Podis ver los tipos de requisitos de la plantilla Volere en el
subapartado 3.1.2 de este mdulo.
Requisito
Descripcin
Tipo
Usabilidad y humanidad
Criterios de aceptacin
Se har una prueba piloto con empleados de las agencias y estos tienen que ser capaces de dar informacin y vender un viaje sin haber recibido formacin previa.
Stakeholders
Cuestiones pendientes
Alternativamente, se puede considerar dar una formacin mnima, pero, en un mximo de dos semanas,
el personal tiene que poder usar el nuevo sistema.
Requisito
Descripcin
El sistema debe ser fcil de mantener sin necesidad de contratar personal para hacer la configuracin de
los ordenadores.
Las copias de seguridad se harn de manera totalmente automatizada.
Tipo
Mantenimiento y soporte
Criterios de aceptacin
Se har una prueba piloto con personal de las agencias de modo que, con un PC con el SO acabado de
instalar sean capaces de conectarse a los servidores en menos de 30 minutos.
Stakeholders
Cuestiones pendientes
Requisito
27
CC-BY-SA PID_00191265
Descripcin
El sistema debe permitir que una agencia pueda vender viajes cuando no haya red.
Tipo
Operacional
Criterios de aceptacin
Se har una prueba piloto que consistir en desconectar de la red una oficina y verificar que puede acceder a la informacin necesaria para vender un viaje.
Stakeholders
Cuestiones pendientes
Requisito
Descripcin
El sistema debe soportar 95 agencias en el momento de la puesta en produccin y tiene que poder crecer hasta 200 agencias a lo largo de dos aos.
Cada agencia tiene una media de 3 empleados, lo cual hace que el volumen estimado de usuarios sea
de 600 + el personal propio de Viajes UOC.
Tipo
Cumplimiento (escalabilidad)
Criterios de aceptacin
Stakeholders
Cuestiones pendientes
Requisito
Tiene que guardar constancia de todos los accesos a informacin personal de los clientes.
Descripcin
En cumplimiento de la LOPD, el sistema debe guardar constancia de todos los accesos que se hacen a
informacin personal de los clientes.
Tipo
Legal/Seguridad
Criterios de aceptacin
Stakeholders
Cuestiones pendientes
CC-BY-SA PID_00191265
28
Por otro lado, con una capacidad limitada en tiempo y recursos ser imposible
satisfacer todas las demandas de todos los stakeholders. Para poder seleccionar
cules de los requisitos candidatos que nos piden podemos llevar a cabo, hay
que estimar qu coste tiene incluir cada requisito en el sistema y priorizarlos
segn cules son ms o menos importantes.
As, en el ejemplo antes mencionado, una vez identificado el conflicto entre los dos requisitos, habr que estimarlos y decidir una prioridad. A partir de aqu, uno de los requisitos puede ser seleccionado para tenerse en cuenta. Quiz se decida, por ejemplo, que lo
que pide Snia Cases es ms prioritario y, a la vez, menos costoso y, por lo tanto, quiz
se selecciona como requisito, descartando el requisito candidato de Dolors.
CC-BY-SA PID_00191265
29
La validacinderequisitos consistir en comprobar que los requisitos documentados expresan, realmente, las necesidades de los stakeholders y que no ha
habido errores en las actividades que nos han trado hasta la documentacin
que hemos hecho.
Finalmente, la actividad de verificacinderequisitos consistir en comprobar que el sistema satisface un requisito que se supone ya implementado.
As, por ejemplo, una vez desarrollada la parte del sistema usada por las agencias, se
podra comprobar si es cierto que satisface el requisito de soportar 200 agencias. Pero no
solo los requisitos no funcionales se han de verificar. Para verificar un requisito como
el de que los agentes puedan introducir recomendaciones, habr que comprobar que la
funcionalidad est implementada y funciona correctamente.
CC-BY-SA PID_00191265
30
Resumen
Gestin de requisitos.
Validacin de requisitos.
Verificacin de requisitos.
Por ltimo, hemos presentado el caso prctico que usaremos a lo largo de los
materiales para ilustrar los diferentes conceptos y tcnicas que iremos estudiando.
CC-BY-SA PID_00191265
31
Actividades
Para las actividades de este mdulo plantearemos otro caso prctico, el de CrowdArt.
CrowdArt es una empresa de nueva creacin que quiere ofrecer una plataforma de crowdfunding de proyectos artsticos. El crowdfunding consiste en buscar financiacin directa basada
en micropagos que hacen personas de todas partes, a cambio de una pequea recompensa,
como puede ser una mencin en los ttulos de crditos de la obra o algn tipo de material
de promocin.
A continuacin presentamos algunas notas tomadas durante las entrevistas a diferentes personas implicadas en el proyecto:
1)ImmaNcher, emprendedora y propietaria de CrowdArt
Imma es la emprendedora que hay detrs del proyecto CrowdArt y nos ha explicado el origen
de esta idea.
CrowdArt nace con la vocacin de llenar un vaco en el pas en cuanto a la financiacin
de pequeas obras de teatro, cortometrajes y todo tipo de proyectos artsticos que no
pueden financiarse por los medios habituales.
La empresa ofrecer, bsicamente, una herramienta web mediante la cual los artistas
podrn proponer los proyectos que quieren financiar. Tendrn que proponer su proyecto
de manera atractiva y franca e indicar la financiacin mnima que necesitan para poderlo
llevar adelante. La idea es que si consiguen suficiente financiacin hagan el proyecto,
pero si no, no cobren dinero, puesto que no lo podrn llevar a cabo.
El negocio de CrowdArt consiste en cobrar a los artistas una comisin del 5% de la financiacin que recojan los proyectos exitosos. Adems, para evitar tener muchos artistas
usando la plataforma para darse visibilidad pero sin llegar a financiar sus proyectos, se
cobrarn 50 por cada proyecto que un artista d de alta en el sistema.
Para el pago por parte de los artistas, Imma quiere usar la pasarela de pago de La Faixa, puesto
que es el banco con el cual el director financiero de CrowdArt, a quien no hemos podido
entrevistar, quiere trabajar.
Pedimos a Imma que nos explique con ms detalle cmo quiere que funcione el crowdfunding
en CrowdArt.
De acuerdo. Lo primero es que los artistas propongan proyectos. Para hacerlo, el artista
tiene que indicar un ttulo, una descripcin y cualquier otro material audiovisual que
tenga para vender su proyecto a los posibles mecenas. Tambin tiene que decidir qu inversiones y recompensas quiere que se puedan hacer. As, por ejemplo, puede decidir que
por una aportacin de 10 har constar el nombre del usuario en los ttulos de crditos
de su obra, que por 30 , adems de los crditos, dar dos entradas para el espectculo,
etc. Finalmente, es necesario que indique la financiacin que necesita. Es importante que
hile cuidadosamente, puesto que los mecenas solo pagarn realmente las aportaciones
prometidas si el proyecto logra su objetivo.
Para evitar que el sistema se llene de spam y de proyectos poco interesantes, el alta de
proyectos en CrowdArt ser moderada: antes de que un proyecto sea publicado, un administrador de CrowdArt lo mirar y decidir si es apto, en cuyo caso se publicar automticamente, o no lo es. En el ltimo caso, se informara al artista del motivo y el proyecto
sera desestimado. El artista podra continuar haciendo propuestas de proyectos (ya sea
el mismo, con mejoras, o nuevos proyectos).
Una vez publicado, un proyecto tendr 40 das para reunir la financiacin necesaria. Durante este periodo, los posibles mecenas pueden financiarlo. Para ello, el sistema ofrecer
a los usuarios la posibilidad de buscar proyectos por varios criterios y consultar los detalles de un proyecto. Si el usuario est interesado, podr hacer una promesa de aportacin
por uno de los importes definidos por el artista que cre el proyecto.
Los usuarios tambin podrn consultar el perfil de otros usuarios, donde constarn los
proyectos iniciados y las aportaciones hechas a otros proyectos, adems de una fotografa
opcional, un texto descriptivo, etc.
Cuando finalice el plazo de un proyecto, si ha reunido la financiacin necesaria, el sistema cobrar a los mecenas las aportaciones que prometieron y marcar el proyecto como
exitoso. Si no ha reunido la financiacin necesaria, sencillamente se marcar el proyecto
CC-BY-SA PID_00191265
32
como finalizado (sin xito). En ambos casos el proyecto continuar apareciendo en las
buscas, pero como finalizado y no se podrn hacer ms aportaciones.
Finalmente, si un artista tiene un proyecto finalizado con xito, lo podr cobrar. Para
ello, tendr que acceder a la web, indicar que quiere cobrar el proyecto y dar sus datos
bancarios. El sistema har una transferencia con el importe reunido (restando la comisin
de CrowdArt).
La web incluir, est claro, un pequeo apartado de comunicacin entre los posibles
mecenas de un proyecto y el artista que hace de promotor en el que, por un lado, los
mecenas puedan enviar mensajes a los promotores y, por otro, los promotores pueden
mantener un blog donde ir explicando a sus mecenas cmo evoluciona el proyecto.
2)SebastiReixach, un artista
Sebasti ha participado en varios proyectos financiados por crowdfunding y har de representante de los artistas que quieren financiar sus proyectos.
Esto del crowdfunding es un fenmeno curioso, porque algunos mecenas financian proyectos de manera desinteresada pero muchos quieren algn tipo de recompensa y prcticamente todos, un reconocimiento. Cuando he usado otras plataformas de crowdfunding
he echado de menos, sobre todo, la posibilidad de personalizar qu donaciones se pueden
hacer y qu ofrezco a cambio. Para cada proyecto, por lo tanto, quiero poder configurar
qu donaciones son posibles (por ejemplo, 5, 10, 40 o 150 ) y qu reconocimiento o
recompensa doy a cada una. Adems, como algunas recompensas son fsicas, hay que
poder indicar un nmero mximo de aportaciones por aquel valor. Recuerdo una vez
que ofrec una entrada para ver mi corto para quien aportara 10 y, por sorpresa ma,
tuve ms de 200 aportaciones de 10 ... No caba todo el mundo en la sala que haba
reservado y tuve que hacer dos proyecciones!
Otra experiencia problemtica que tuve, esta mucho peor, sucedi en una ocasin en la
que me fui enredando en sacar adelante una obra de teatro para la cual haba conseguido
la financiacin por crowdfunding pero uno de los inversores que se haba comprometido
en poner 1.000 result no existir o qu s yo. Solo s que al final tuve que pedir este
dinero a unos amigos. Si CrowdArt quiere conservar a sus artistas, es necesario que esto no
pueda suceder bajo ningn concepto y que sea CrowdArt quien se asegure, persiguiendo,
si es necesario, a quien no respete su compromiso y respondiendo por l.
Tambin es importante tener un espacio de discusin, tipo foro, donde poder resolver
dudas a los usuarios sobre tu proyecto. Algunos usuarios se lo piensan bastante antes de
hacer segn qu aportaciones y quieren tener informacin ms detallada.
Por otro lado, yo utilizo esta va de financiacin a menudo. Creo que esto es un mrito
que los posibles mecenas tienen en cuenta. Confan ms en m si ven que he llevado a
cabo otros proyectos con xito. Por ello, creo que es importante disponer de un espacio
donde presentarme, poner un poco de CV y donde salgan otros proyectos que ya he
financiado con xito en CrowdArt.
Para atraer a otros artistas para que propongan sus obras, habr que moverse en los mismos crculos que nosotros nos movemos. Muchos artistas no conocen todava el crowdfunding o solo han odo hablar del l. Por ello, sera interesante rebajar al mnimo las
barreras de entrada. As, por ejemplo, muchos preferirn no dar datos bancarios hasta
que algn proyecto suyo haya funcionado y tengan que cobrar dinero.
Es de vital importancia que la empresa, CrowdArt, solo se involucre en la financiacin
de la obra, por lo que nosotros conservamos todos los derechos de nuestras obras.
3)JliaMaim, directora tcnica de CrowdArt
El proyecto se desarrollar usando Ruby on Rails, puesto que es una plataforma que
conozco y que s que es adecuada y, a la vez, s que podr encontrar al personal tcnico
que necesito para trabajar.
En cuanto a la explotacin, usaremos la tecnologa de la nube, el famoso cloud. Esto implicar que el diseo tendr que estar preparado para este tipo de arquitectura hardware.
4)FinaMas, community manager de CrowdArt
Fina es la community manager de CrowdArt. Un community manager se encarga de la relacin
entre la compaa y los usuarios de Internet, la comunidad de usuarios. Su trabajo, por lo
CC-BY-SA PID_00191265
33
tanto, tiene mucho que ver con cmo ven los usuarios CrowdArt, crear una buena imagen
del producto, mantener la compaa activa en las redes sociales, etc.
Los artistas son usuarios con inquietudes estticas por naturaleza; lo mismo podemos
decir de los mecenas de proyectos artsticos. Por lo tanto, el aspecto esttico de la pgina
web es de importancia vital para su buen funcionamiento.
Otro aspecto muy importante de la comunidad de usuarios de CrowdArt es que habr
tanto usuarios ocasionales como usuarios habituales. Muchos usuarios no conocern el
crowdfunding a priori y, por lo tanto, es importante que el sistema incluya una pgina de
informacin donde se explique muy claramente tanto el funcionamiento de la pgina
web como los conceptos de crowdfunding, mecenazgo, etc. Ms concretamente, habr
que dejar muy claro a los posibles mecenas que una vez se comprometen a hacer un
pago, si el proyecto logra su objetivo de financiacin, no se pueden echar atrs. Para
ello, es importante pedir los datos de pago en el momento en el que el mecenas hace
un compromiso de aportacin e, incluso, retenerle, mediante un cargo a una tarjeta de
crdito o lo que sea, la cantidad comprometida.
As como hay que tener en cuenta a los usuarios que no se comprometan en sus mecenazgos, hay que cuidar muy especialmente a los artistas. CrowdArt ser interesante en
la medida en que haya proyectos interesantes en su catlogo. Por esta razn, los artistas
tienen que poder proponer sus proyectos sin ningn coste. As tendremos un catlogo de
proyectos ms interesantes y la fuente de ingresos ser los proyectos exitosos. Los artistas
que hayan conseguido su objetivo de financiacin no tendrn ningn inconveniente en
pagar un porcentaje de esta financiacin.
En cuanto a dar visibilidad al proyecto, nos centraremos en PeixCuc, la red social de
ms xito hoy en da. Los usuarios tendrn que poder clicar el clsico Me gusta para
cualquier proyecto del catlogo, as como publicar en su muro cualquier pieza de informacin que les interese.
Una forma de conseguir facilitar la entrada a nuevos usuarios es permitirles acceder a la
web sin tenerse que registrar. Para ello, quiero que puedan entrar con sus credenciales de
PeixCuc, tal como he visto que hacen otras webs.
5)NicolauEstruch, un mecenas
Nicolau es una persona con intereses artsticos y ha hecho mecenazgo de varios proyectos
artsticos con anterioridad. Har, por lo tanto, de representante de los mecenas.
Yo empec a hacer pequeas aportaciones a obras artsticas a partir de un amigo que
hace teatro. Mucha gente empezar as y lo que hace falta para que empiecen es poderles
enviar por correo o por el PeixCuc un enlace o una ficha de un proyecto concreto que
financiar. A partir de aqu ellos ya entrarn en la web, se informarn, etc.
Lo que es muy importante, por tanto, es que la informacin sobre el proyecto y el artista
que hace de promotor sean muy claras y atractivas, puesto que, en el fondo, uno financia
aquello que le gusta.
Una vez iniciado, yo empec a visitar las webs de crowdfunding regularmente y a buscar
proyectos que me pudieran interesar. En este sentido, es necesario que se pueda buscar
por varios criterios (financiacin que les falta, das que faltan, tipos de proyecto, etc.).
A la hora de elegir la cantidad que financiar, es interesante que las recompensas sean
divertidas, atractivas e innovadoras. Recuerdo que una de las obras que financi era una
obra de teatro en la que la recompensa fueron camisetas, varias entradas para verla, etc. y,
lo ms divertido, poda asistir a los ensayos y una invitacin para 4 personas para la fiesta
de estreno que haca el equipo y reparto. Me gast mucho dinero, pero nos lo pasamos
muy, muy bien!
Por otro lado, lo digamos o no, muchos queremos, tambin, reconocimiento. Por ello,
quiero que en la web haya un tipo de ficha de usuario donde figuren los distintos proyectos que he financiado y poder publicar en el tabln de mi PeixCuc cuando financio
un proyecto.
6)CarlotaBalasch, la directora de un pequeo teatro
Carlota es una amiga de Imma, que estaba con ella el da de la entrevista de Imma, y result
que, como directora de teatro, tena su opinin sobre CrowdArt.
CC-BY-SA PID_00191265
34
No conoca este tipo de financiacin hasta que Imma me habl de esto, hace unos
aos. Es fantstico! Yo puedo ser usuaria como posible mecenas, pero sobre todo me
interesa porque me permite ver qu se est haciendo de manera independiente por parte
de artistas que no han entrado todava en los circuitos comerciales. Y esto, para un teatro
innovador como el nuestro es muy importante!
En este sentido, encuentro muy interesante poder consultar no tanto proyectos como los
artistas que hay detrs. Me interesa mucho ver qu artistas estn triunfando, es decir, cules estn consiguiendo financiacin para sus proyectos, porque sern, seguramente, promesas de quien estar pendiente para programar si hacen algn espectculo interesante.
Por otro lado, tambin me interesa poder consultar los tipos de proyecto (teatro, cine,
msica, fotografa, etc.). Incluso sera interesante tenerlos clasificados por gnero o estilo,
puesto que, en mi caso, por ejemplo, resultara muy interesante ver si hay bastante inters
por el teatro experimental o hasta qu punto el teatro de vanguardia tiene seguidores.
Bien, una vez que hemos descrito el caso de la empresa CrowdArt, ya podemos hacer las
actividades.
1. Identificad tres requisitos no funcionales candidatos del sistema. Para cada requisito indicad: una frase para identificarlo, una o dos frases que lo describan, el tipo de requisito segn
los tipos presentados en el subapartado 2.2.3 y los stakeholders interesados. Proponed tambin, para cada requisito, unos criterios de aceptacin y cuestiones que aclarar.
2. Indicad cinco requisitos funcionales que identifiquis en la entrevista a Imma. Para documentarlos, utilizad el formato de las historias de usuario (sin conversacin y sin los criterios
de aceptacin): Como <rol de usuario> quiero <objetivo> [para <beneficio>].
3. Identificad un caso en el que dos requisitos estn en conflicto. Indicad cules son los
requisitos (mediante una frase que los identifique) y cules son los stakeholders interesados
en cada uno.
4. Identificad un caso de dependencia entre requisitos, ya sea porque uno implica el otro, uno
sea un subconjunto del otro o el coste de uno afecte al coste del otro. Indicad cules son los
requisitos (mediante una frase que los identifique) y cules son los stakeholders interesados
en cada uno.
Ejercicios de autoevaluacin
1. Qu son los requisitos del software?
2. Quines son los stakeholders de un proyecto de desarrollo de software?
3. En cul de las actividades del proceso de ingeniera de requisitos se decide que un requisito
deje de ser un requisito candidato y pase a ser aceptado o rechazado?
4. El requisito Como usuario, quiero poder consultar las recomendaciones de los agentes
sobre un hotel, es un requisito de producto o de proceso?
5. El requisito Como usuario, quiero poder consultar las recomendaciones de los agentes
sobre un hotel, es un requisito funcional o no funcional?
6. Qu es un requisito candidato?
7. Qu es la especificacin de requisitos del software?
8. En qu consiste la verificacin de requisitos?
35
CC-BY-SA PID_00191265
Solucionario
Actividades
1.
Requisito
Descripcin
Tipo
Operacional y de entorno
Stakeholders
Criterios de aceptacin
Se harn pruebas para comprobar que el sistema se pueda usar mediante los navegadores ms populares.
Cuestiones pendientes
Habra que aclarar cules son los navegadores que hay que soportar y qu versiones de estos navegadores.
Requisito
Descripcin
Para los pagos por parte de los usuarios, habr que utilizar la pasarela de pago de La Faixa, puesto que
es el banco con el cual el director financiero de CrowdArt quiere trabajar.
Tipo
Operacional y de entorno
Stakeholders
Criterios de aceptacin
Se usar un entorno de pruebas de la pasarela de pago y se escribirn y ejecutarn pruebas automatizadas de pago mediante la pasarela.
Cuestiones pendientes
Adems de todos los detalles tcnicos que hay que aclarar, desde el momento en el que se manipulan
pagos, seguramente habr requisitos legales y de seguridad relacionados que tener en cuenta.
Requisito
Descripcin
La esttica del aplicativo web debe ser atractiva tanto para artistas como para mecenas.
Tipo
Presentacin
Stakeholders
Criterios de aceptacin
Se elegir un grupo de usuarios a los que se dejar usar el sistema. Despus se les pasar una encuesta
para evaluar su opinin respecto a la esttica.
Cuestiones pendientes
Habr que definir con qu criterio se selecciona el grupo de usuarios de prueba, puesto que es importante que sea significativo. Por otro lado, habr que decidir si nos esperamos a tener el sistema desarrollado, si se harn pruebas sobre una maqueta de la interfaz grfica, etc. Finalmente, habr que definir los
detalles de la encuesta y cul es el resultado mnimo que consideraremos vlido.
2.
Como artista quiero proponer un proyecto creativo para obtener financiacin para sacarlo adelante.
Como propietaria de CrowdArt quiero que se cobren 50 al artista por cada proyecto
que d de alta en el sistema para evitar que muchos artistas usen el sistema solo para
darse visibilidad.
Como administrador de CrowdArt quiero examinar un proyecto antes de que se publique
y decidir si se tiene que publicar o no para evitar que aparezcan proyectos falsos y spam.
CC-BY-SA PID_00191265
36
Como posible mecenas quiero poder buscar proyectos por varios criterios para encontrar
proyectos que quiz me interese ayudar a financiar.
Como mecenas quiero poder hacer una promesa de aportacin para un proyecto para financiarlo en caso de que reciba suficientes promesas y recibir el premio o reconocimiento que ofrece.
3. Imma dice que se cobrarn 50 por cada proyecto que un artista d de alta. Sebasti,
en cambio, dice que hay que rebajar al mnimo las barreras de entrada a los artistas y pone
como ejemplo que no tengan que dar los datos bancarios. Estn en conflicto claramente,
puesto que pagar 50 no solo supone una barrera de entrada, sino que supone dar los datos
bancarios para hacer el pago.
4. Sebasti, el artista, dice que hay que evitar por completo que un mecenas haga una promesa
de financiacin y despus se eche atrs. Fina Mas, por su parte, seala que hay que pedir los
datos de pago en el momento de hacer un compromiso de aportacin e incluso retener la
cantidad prometida. El segundo requisito se puede considerar un subconjunto del primero
en el sentido de que es una forma concreta de conseguir el primero, que los mecenas no se
echen atrs.
Ejercicios de autoevaluacin
1. Los requisitos son caractersticas observables de un sistema que expresan una necesidad
o restriccin que un stakeholder tiene sobre el software que queremos desarrollar (podis ver
el subapartado 1.2).
2. Los stakeholders son aquellas personas o entidades que tienen algn impacto o inters en
el sistema a desarrollar (podis ver el subapartado 1.2).
3. Gestin de requisitos (podis ver el subapartado 1.3).
4. Es un requisito de producto (podis ver el subapartado 3.1).
5. Es un requisito funcional (podis ver el subapartado 3.1).
6. Un requisito candidato es una necesidad o deseo expresada por un stakeholder que podra
devenir un requisito del sistema pero que quiz no se tiene en cuenta a la hora de desarrollar
el software (podis ver el subapartado 4.1).
7. La especificacin de requisitos del software es el documento donde se recogen los requisitos
aceptados del software (podis ver el subapartado 4.3).
8. La verificacin de requisitos consiste en hacer las pruebas necesarias sobre el sistema desarrollado (o que se est desarrollando) para comprobar si satisface los requisitos que se esperaba.
CC-BY-SA PID_00191265
37
Glosario
actividad f Conjunto de tareas que llevan a cabo las personas que tienen un determinado
rol.
artefacto m Objeto producido por el trabajo del ser humano. En el contexto de la ingeniera del software, cada uno de los documentos, modelos, programas, etc., que se generan
como resultado del trabajo del ingeniero.
disponibilidad f Capacidad de un sistema informtico de estar disponible para sus usuarios. Si un usuario no puede acceder al sistema por el motivo que sea, decimos que el sistema
no est disponible. Habitualmente se mide en porcentaje de tiempo que el sistema est
disponible (90%, 99%, etc.).
ingeniera f Aplicacin de un enfoque sistemtico, disciplinado y cuantificable a las estructuras, mquinas, productos, sistemas o procesos para obtener un resultado esperado.
ingeniera del software f Aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, la operacin y el mantenimiento del software; es decir, la aplicacin de
la ingeniera al software. Vase el subapartado 1.1.
ingeniera de requisitos f Disciplina que nos ayuda a identificar, gestionar y mantener
el conjunto de requisitos del software a desarrollar. Vase el subapartado 1.3.
fiabilidad f Capacidad de un sistema informtico de proporcionar informacin correcta de
manera robusta (es decir, tolerante a posibles errores por parte de los usuarios o del hardware).
mantenibilidad f Capacidad de un sistema informtico de ser fcil de mantener. Es decir,
que sea fcil tanto corregir los errores que se encuentren (mantenimiento correctivo) como
aadir nuevas funcionalidades (mantenimiento evolutivo).
mtodo m Definicin de las caractersticas del proceso o procedimiento disciplinado utilizado en la ingeniera de un producto o en la prestacin de un servicio.
metodologa f Ciencia que estudia los mtodos. Conjunto de los mtodos de una disciplina.
proceso m Conjunto de fases en una accin progresiva.
rendimiento m Medida de la relacin entre el volumen de trabajo hecho y el consumo
de recursos empleado.
requisito m Condicin exigida o necesaria para una cosa. En el campo de la ingeniera
del software, necesidad o restriccin que afecta a un producto de software definiendo qu
soluciones son adecuadas (lo cumplen) y cules no (no lo cumplen) desde el punto de vista
de esta necesidad o restriccin. Una solucin ser adecuada si satisface todos los requisitos
del sistema.
requisito candidato m Necesidades o restricciones obtenidas en una primera etapa de
obtencin de requisitos y que se convertirn en requisitos solo si son seleccionados como
tales a la hora de definir el alcance del proyecto para desarrollar. Vase el subapartado 4.2.
requisito de capacidad m Requisito funcional.
requisito de datos m Requisito funcional en lo referente a los datos que tiene que conocer
(y probablemente almacenar de manera persistente) el sistema analizado. Vase el subapartado 3.1.1.
requisito de funcionalidad m Requisito funcional sobre el comportamiento del sistema,
es decir, sobre la respuesta esperada por parte del sistema a ciertos estmulos que le llegan
desde el exterior. Vase el subapartado 3.1.1.
requisito de proceso m Requisito que expresa una necesidad o restriccin que no es
del producto una vez terminado, sino del proceso que se sigue para desarrollarlo. Vase el
subapartado 3.2.
requisito de producto m Requisito que define aquellas necesidades o restricciones que
los stakeholders tienen sobre el producto que se desarrollar como tal.
requisito de calidad m Requisito no funcional.
CC-BY-SA PID_00191265
38
CC-BY-SA PID_00191265
39
Bibliografa
Bibliografa principal
Pradel, J.; Raya, J. Ingeniera del Software. Editorial UOC.
Los materiales de la asignatura de Ingeniera del software, especialmente el mdulo 3, tratan
los requisitos de manera introductoria.
Bibliografa complementaria
Davis, A. M. (2005). Just Enough Requirements Management. Dorset House.
En esta obra, Alan Davis propone un enfoque pragmtico para la obtencin y la gestin de
requisitos.
Autores varios (2004). SWEBOK. Software Engineering Body Of Knowledge Guide. IEEE Computer Society.
Esta obra recoge el cuerpo de conocimiento (es decir, aquellas ideas que son ampliamente aceptadas en la industria) de la ingeniera del software. Se puede consultar en la direccin http://www.computer.org/portal/web/swebok/htmlformat (Fecha de consulta: febrero
del 2012).
Referencias bibliogrficas
IEEE-SA Standards Board (1998). IEEE Std 830-1998 - IEEE Recommended Practice for Software Requirements Specifications. IEEE Computer Society.
Leffingwell, D.; Widrig, D. (2000). Managing Software Requirements - A Unified Approach.
Addison Wesley.
Robertson, J.; Robertson, S. Volere Requirements Specification Template. http://
www.volere.co.uk/template.htm (Fecha de consulta: febrero del 2012).
Cusumano, M.; MacCormack, A.; Kemerer, C. F.; Crandall, W. (2003). Software Development Worldwide: the State of the Practice. IEEE Software. http://www.compaid.com/caiinternet/casestudies/cusumano-internationalcomparisons.pdf (Fecha de consulta: febrero del
2012).
Requirements Solutions Group (2008). A Requirements Taxonomy. http://
requirementssolutions.com/WhitePapers/RequirementsTaxonomy.pdf (Fecha de consulta:
febrero del 2012).