Ingenieria de Requisitos
Ingenieria de Requisitos
Ingenieria de Requisitos
Ingeniería de
Requisitos
Texto-guía
4 créditos
Titulación Ciclo
¡ Ingeniero en Informática VI
Autores:
Ing. Samantha Cueva
Ing. Manuel Sucunuta
Estimado estudiante recuerde que la presente guía didáctica está disponible en el EVA en formato PDF
interactivo, lo que le permitirá acceder en línea a todos los recursos educativos.
Asesoría virtual:
www.utpl.edu.ec
18606
INGENIERÍA DE
REQUISITOS
Texto-guía
Samanta Cueva
Manuel Sucunuta
Primera edición
Tercera reimpresión
ISBN-978-9942-08-212-1
Primera edición
ISBN digital-978-9942-04-250-7
Esta versión impresa, ha sido autorizada bajo las licencias Creative Commons Ecuador 3.0 de Reconocimiento -No comercial- Sin obras derivadas;
la cual permite copiar, distribuir y comunicar públicamente la obra, mientras se reconozca la autoría original, no se utilice con fines comerciales
ni se realicen obras derivadas. http://www.creativecommons.org/licences/by-nc-nd/3.0/ec/
Octubre, 2013
2. Índice
2. Índice....................................................................................................................................................... 3
3. Introducción .......................................................................................................................................... 5
4. Bibliografía ........................................................................................................................................... 6
4.1. Básica ................................................................................................................................................ 6
4.2. Complementaria ............................................................................................................................... 6
5. Orientaciones generales para el estudio .................................................................................. 9
6. Proceso de enseñanza-aprendizaje para el logro de competencias.............................. 13
PRIMER BIMESTRE
1.1. Requerimientos................................................................................................................................. 16
1.2. Verificación y validación de requerimientos....................................................................................... 19
1.3. Tipos de Requisitos ........................................................................................................................... 20
1.4. Formas de documentar los requerimientos ....................................................................................... 24
1.5. Características deseables de los requerimientos ................................................................................ 25
1.6. Ingeniería de requisitos..................................................................................................................... 26
1.7. Stakeholders (interesados) .............................................................................................................. 31
Autoevaluación 1 ........................................................................................................................................ 34
2.1. Visionamiento................................................................................................................................... 40
2.2. Glosario ............................................................................................................................................ 45
2.3. Mitigar el riesgo en los requerimientos ............................................................................................. 48
Autoevaluación 2 ........................................................................................................................................ 52
SEGUNDO BIMESTRE
3. Introducción
La presente asignatura consta de 4 créditos y forma parte del grupo de materias troncales de carrera
de Ingeniería en Informática de la Escuela de Ciencias de la Computación en la modalidad de estudios
Abierta y a Distancia.
La asignatura se presenta como una especialización al proceso de Ingeniería del Software en la parte de
“Especificación de Requerimientos”, permitiendo a los estudiantes adquirir destrezas y habilidades en la
captura de las necesidades de los stakeholders en un proyecto de desarrollo de software.
Considerando que la calidad de los proyectos de desarrollo de software depende en gran medida de la
calidad de las especificaciones de software; Robertson S. y Roberson J. (2006)1 sostiene que no importa
la clase de proyecto que se esté desarrollando, ni tampoco si el proceso de desarrollo es ágil o pesado,
si no se logra una correcta comprensión de los requerimientos por parte de los analistas y se asegura
que el cliente también los comprende, el producto y el proyecto fallarán; por lo que el propósito de
esta asignatura es instruir a los estudiantes en las técnicas, metodologías y estándares para descubrir y
especificar requisitos basados en el proceso de desarrollo y gestión de requisitos.
Se desarrollará un trabajo colaborativo para socializar los diferentes criterios sobre los casos de estudio
que se propondrán en el Entorno Virtual de Aprendizaje. La asignatura está compuesta por 7 unidades,
distribuidas en 4 para el primer bimestre y 3 para el segundo.
Estimado estudiante sea constante en el estudio ya que a través de esta materia podrá centrar las bases
para construir un sistema de calidad acorde a las necesidades reales de los usuarios.
1 S. Robertson & J. Robertson, Mastering the Requirements Process, Addison Wesley, USA, 2006, pp.
5 5
Texto-guía: Ingeniería de Requisitos Preliminares
4. Bibliografía
4.1. Básica
Cueva, S.; Sucunuta, M. (2011). Guía Didáctica de Ingeniería de Requisitos. Loja – Ecuador. Editorial UTPL.
Informática
de la Modalidad Abierta y a Distancia de la Universidad Técnica Particular de Loja.
4.2. Complementaria
• GOTTESDIENER, ELLEN (2009), The Software Requirements Memory Jogger, Goal QPC Inc.
Guía fácil de usar para el desarrollo y gestión de requisitos; proporciona a cada miembro del
equipo del proyecto las herramientas y técnicas para fomentar la comunicación entre las
empresas y los equipos técnicos sobre los requisitos necesarios para la producción de software
con éxito.
• Lamsweerde, A., (2009). Requirements Engineering: from system goals to UML models to software
Specifications. Inglaterra. Editorial Wiley.
En este libro se hace un especial referencia a los conceptos preliminares de la Ingeniería de
Requisitos, además de un profundo análisis de los casos de los requisitos.
• Pressman, R., (2010). Ingeniería del Software: Un enfoque práctico. México. Editorial McGraw-Hill.
El texto se presenta como un medio de consulta a nivel general para entender a la ingeniería de
requisitos en el contexto de la ingeniería del software.
• International Institute of Business Analysis. (2009) A Guide to the Business Analysis Body of Knowledge.
Guía que recoge el análisis de negocios en donde se reflejan las mejores prácticas proporcionando
un marco que describe las áreas de conocimiento, con actividades y tareas asociadas.
• BOOCH, G.; RUMBAUGH, J. & JACOBSON, I. (2006), El lenguaje unificado de modelado, Addison
Wesley.
El texto permite conocer sobre las diferentes formas de modelado.
Texto que presenta una visión equilibrada de los temas, conceptos, modelos, técnicas y
herramientas que se encuentran en la investigación y práctica de la ingeniería de requisitos.
• IEEE Computer Society. (2004). SWEBOK: Guide to the Software Engineering Body of Knowledge. Los
Alamitos, California: IEEE.
Guía de Ingeniería del Software que incluye Ingeniería de Software, Certificado de Desarrollo de
Software Profesional, incluye prácticas completas.
• García, F. J., Conde, M. Á., & Bravo, S. (2008). Ingeniería del Software, Introducción a la Ingeniería
de Requisitos. [En línea]. España. Disponible en: Sitio OCW de la Universidad de Salamanca:
http:// ocw.usal.es/ensenanzas-tecnicas/ingenieria-del-software/contenidos/Tema3-
IntroduccionalaIR-
1pp.pdf [Consulta 14-03-2011]
Recurso Educativo Abierto en el que se aborda la introducción a la Ingeniería de Requisitos.
• Ros J., Alvarez A. Fundamentos de Ingeniería del Software (2009). [En línea]. España. Disponible
en: Sitio OCW de la Universidad de Murcia. http://ocw.um.es/ingenierias/fundamentos-de-
ingenieria- del-software. [Consulta 14-03-2011].
Recurso Educativo Abierto en que se revisa el proceso de ingeniería del software y de la Ingeniería
de Requisitos.
Direcciones electrónicas:
7 7
Texto-guía: Ingeniería de
Requisitos
Este sitio cuenta con importantes temas que tienen que ver con las tecnologías ágiles. Entre los
recursos mas importantes están: presentaciones de conferencias, libros, artículos, grupos de
usuarios, enre otros.
Este sitio cuenta con documentación importante sobre el modelado ágil. En lo que tiene que
ver a los requerimientos, existe un importante resumen de los temas del libro “Agile Software
Requirements” de Dean Leffingwell.
5. Orientaciones generales para el estudio
Estudiar a distancia es un reto que requiere esfuerzo, dedicación y sobre todo de organización, por ello
debe hacer de esta actividad un trabajo continuo y sistemático, organice su tiempo de manera que
pueda verdaderamente aprovechar los contenidos que se le están ofreciendo. Le sugerimos hacer vida
esta frase, que aunque le puede parecer trillada, es la que más se adapta a la realidad de las personas
que estudian a distancia: “No deje para mañana lo que puede y debe hacer hoy“.
Materiales
• Recuerde que los materiales con los que trabajará son este texto guía que le irá orientando
sobre cómo y qué temas estudiar, además contiene ejemplos, ejercicios y autoevaluaciones que
le permitirán medir su grado de comprensión y la necesidad de tutoría por parte del docente.
Además se podrá apoyar en la bibliografía complementaria.
• Para reforzar el proceso de aprendizaje usted tiene un profesor-tutor que le guiará en el ciclo
académico; al cual podrá hacer las consultas que requiera en un horario que oportunamente se
estará publicando. Las tutorías las puede hacer mediante el EVA, correo electrónico o
directamente a través de la línea telefónica, así que aproveche esta alternativa que la UTPL pone a
su disposición.
• Los trabajos a distancia: Son actividades teóricas y prácticas que acompañan a la guía didáctica de
cada una de las materias, le permiten aplicar y reforzar los conocimientos adquiridos mediante su
desarrollo, y debe enviarlos a su profesor. La entrega de estos trabajos con su respectiva carátula
es obligatoria y no recuperable, lo cual significa que si no entrega alguno de los mismos no tendrá
opción a la evaluación presencial, su valoración es de 6 puntos; la misma que se compone de
una parte objetiva, una parte de ensayo y una parte de interacción con el EVA, para esto revise
las evaluaciones a distancia que acompañan a esta guía en donde se especifica exactamente las
actividades que debe desarrollar.
¿Cómo estudiar?
• Programe un horario de estudio diario; para esta asignatura es necesario que dedique al menos
una hora diaria de autoestudio.
• Para ayudarse en el proceso de aprendizaje utilice las técnicas de estudio que más se adapten a su
manera de aprender: subrayado, resúmenes, cuadros sinópticos y trate, en lo posible, de estudiar
en un horario y ambiente adecuado.
• Como una estrategia de aprendizaje le sugiero realice todas las autoevaluaciones y ejercicios que
se plantean en el presente texto-guía, ya que esto le permitirá poner en práctica los conocimientos
teóricos de la asignatura. No olvide que si surge alguna inquietud con respecto a estos ejercicios,
puede pedir asesoría al profesor-tutor.
Texto-guía: Ingeniería de Requisitos Preliminares
• En este texto-guía por cada bimestre existe la “planificación del trabajo del alumno” en donde
especialmente se indica el tiempo que debe dedicar a la asignatura por cada tema que comprende
el plan de asignatura, esto le permitirá avanzar organizadamente en el estudio y no tener
problemas de acumulación de trabajo al final. Recuerde que esta es una asignatura troncal de
carrera y por lo tanto el tiempo a dedicarle debe ser el necesario.
• Como parte del proceso de enseñanza se dispone del Entorno Virtual de Aprendizaje (EVA), de
la biblioteca virtual, repositorio de documentos (OCW), entre otros por lo que es fundamental
que revise continuamente estos recursos con el fin de ponerse al tanto de los materiales de su
asignatura. Preste especial interés al EVA ya que con este recurso el profesor-tutor publicará
algunos casos y ejercicios que le ayuden a reforzar los conocimientos, así como también de su
participación ya sea en foros, tareas o el mismo desarrollo y registro del trabajo a distancia. Preste
especial interés en los recursos ROA, ya que el profesor tutor estará publicando presentaciones,
videos, archivos, etc., que tengan relación con la asignatura. Por lo que le animo a que ingrese de
forma periódica para que este al tanto del avance del estudio de la asignatura.
Esperamos que todas y cada una de estas recomendaciones contribuyan al aprendizaje exitoso de esta
asignatura. Como ayuda gráfica a la presente guía se utilizarán los siguientes focalizadores:
ÍCONO DESCRIPCIÓN
Para aspectos sumamente importantes y que tiene que prestar especial atención.
10 10
Preliminares Texto-guía: Ingeniería de Requisitos
Para poner atención a los ejemplos que se proponen, especialmente como caso
de estudio.
PRIMER BIMESTRE
13 13
Texto-guía: Ingeniería de Requisitos Primer bimestre
UNIDADES 1 a la 4 • Revisión de
contenidos como Semana 7 y 8
preparación para la
evaluación • 8 horas de
presencial. autoestudio.
• 8 horas de
interacción.
Primer bimestre Texto-guía: Ingeniería de Requisitos
2. Heteroevaluación
1. Autoevaluación
Formas de Evaluación
Evaluación
Interacción en
Objetiva y de
el EVA
Ensayo
Prueba
Parte de
Competencia: Criterio
Ensayo
Comportamiento ético
X
X
Cumplimiento, puntualidad y responsabilidad
X
Esfuerzo e interés en los trabajos
X
Respeto a las personas y a las normas de comuni- cación
X
Contribución en el trabajo colaborativo y de equipo
X
Emite juicios de valor argumentadamente
Conocimientos
X
X
X
Aporta con criterios y soluciones
X
Máximo 1 punto
Análisis y profundidad en el desarrollo de los temas
(Completa la
evaluación a
distancia)
70%
Estrategia de
2 4 6
Aprendizaje
Puntaje 14
TOTAL 20 Puntos
Para aprobar la asignatura se requiere obtener un puntaje mínimo de 28/40 puntos, que equivale al 70%.
* Son estrategias de aprendizaje, no tienen calificación; pero debe responderlas con el fin de autocomprobar su proceso de aprendizaje.
** Recuerde: que la evaluación a distancia del primer bimestre y segundo bimestre consta de dos partes: una objetiva y otra de ensayo, debe desarrolla
entregarla en la fecha establecida.
Señor estudiante:
15 15
Texto-guía: Ingeniería de Requisitos Primer bimestre
q
UNIDAD I: Fundamentos de la Ingeniería de Requerimientos
sea en proyectos grandes o pequeños con complejidades diferentes la mala captura de los mismos
es la causa de los problemas que surgen a lo largo del proceso de construcción. La ingeniería de
requisitos como parte de la ingeniería del software permite la definición de los servicios y caracter-
ísticas que el sistema debe tener.
1.1. Requerimientos
• Según Benet (2003:110) “Los requisitos son la especificación de lo que debe hacer el software,
son descripciones del comportamiento, propiedades y restricciones del software que hay que
desarrollar”.
• Los requisitos son descripciones de las propiedades necesarias y suficientes de un producto para
que satisfaga las necesidades del consumidor. (Gottesdiener E. , 2005).
• “Un requisito del software es una característica que debe exhibir para solucionar cierto problema
del mundo real. Por lo tanto, un requisito del software es una característica que se debe exhibir
por el software desarrollado o adaptado para solucionar un problema particular.” (SWEBOK, 2004:
2-1).
Basado en estos conceptos, defina con sus propias palabras ¿Qué es un requisito de
software?.
¿Por qué es importante tener “requisitos” de calidad en el ciclo de vida del desarrollo de
un software?
Para entregar un producto de software con éxito, Ud. necesita desarrollar, documentar y validar los
requisitos de software. Los requisitos bien entendidos son la base para determinar el éxito del software
implementado, lo cual permite satisfacer las necesidades de los usuarios; dichas necesidades son las que
se definen en los requisitos.
Primer bimestre Texto-guía: Ingeniería de Requisitos
El no definir los requisitos correctamente tiene un precio bastante alto ya que se ocasionan requisitos
mal definidos; estos errores pueden causar requisitos incompletos, incorrectos o requisitos
contradictorios, entre los que se pueden mencionar a:
• Sobrecosto,
• Reproceso costoso,
• Mala calidad,
• Retraso en la entrega,
• Clientes descontentos,
• Miembros de equipo agotados y desmoralizados.
Para reducir el riesgo de fracasos en proyectos de software y los altos costos asociados a los mismos por
causa de los requisitos defectuosos se deben definir correctamente los requisitos en el inicio del proceso
del desarrollo del software para lo cual se debe realizar una estimación lo más real posible del tiempo
que se necesita para realizar esta etapa.
Por estas razones los requerimientos deben tener las siguientes características:
Uno de los principales problemas al que nos enfrentamos como ingenieros de software en el desarrollo
de sistemas es la ingeniería de requisitos, pues de esta fase depende el éxito del producto de software;
considerando que si hay algún error en esta fase el resto de fases del ciclo de vida también se verán
afectados y por ende el resultado es un producto de software que no cumple con las necesidades de los
stakeholders.
“La correcta obtención de los requisitos es uno de los aspectos más críticos de un
proyecto software, independientemente del tipo de proyecto que se trate, dado que una
mala captura de los mismos es la causa de la mayor parte de los problemas que surgen a
lo largo del ciclo de vida”. Johnson 1995: 2(1):41-47.
17 17
Texto-guía: Ingeniería de Requisitos Primer bimestre
¡Efectivamente!, se están reflejando los problemas que existen en el proceso de recolección de datos.
Los usuarios tienen una forma de expresar sus necesidades, el líder del proyecto, el analista de sistemas,
el programador le dan un enfoque totalmente diferente; por otro lado la recomendación del consultor
externo le añade otras funcionalidades al producto, además no existe documentación del proyecto y no
se ha realizado el estudio de factibilidad económica, no hay un soporte operativo eficiente y finalmente
el producto que el usuario necesitaba era algo sencillo, sin tantas complicaciones.
Para poder solucionar estos problemas surge la ingeniería de requisitos; a la cual Somerville, 2005:108;
la define como “El proceso de establecer los servicios que el cliente requiere de un sistema y los límites
bajo los cuales opera y se desarrolla”. La ingeniería de requisitos es la primera fase del ciclo de vida del
software en la que se producen especificaciones a partir de ideas informales por parte de los
stakeholders.
Los requisitos son fundamentales para el éxito del producto final. Se debe enfocar
en el problema, es decir definir qué es lo que se desea construir y asegurar qué
es necesario para satisfacer las necesidades del usuario; aunque las pruebas del software no se
ejecutan durante el desarrollo la realización de pruebas conceptuales ayudará a descubrir la existencia
de requisitos defectuosos, sin claridad o incompletos.
Por lo cual es aconsejable que de acuerdo a como se vayan desarrollando los requisitos estos sean
verificados para comprobar si cumplen las condiciones o especificaciones de la actividad de desarrollo
los requisitos.
Requerimientos Resultados de
de negocio negocio
Validar
Requerimientos Pruebas de acep-
de usuario tación de usuario
Verificar
Requerimientos Pruebas de
de software sistema
Verificar
Pruebas de
Diseño del sistema y
integración
subsistemas
Verificar
Diseño de Pruebas
componentes unitarias
Código
Cuando se identifican los requisitos y se tiene la aceptación del usuario se asegura que se satisfacen las
necesidades del usuario.
La verificación de requisitos representa el punto de vista del equipo de desarrollo asegurando que
el software satisface los requisitos especificados, mientras que la validación de requerimientos está
preocupada por el punto de vista del cliente asegurando que las necesidades del cliente se cumplan.
En la figura 1.2, se indica el proceso de verificar y validar requerimientos; según (Gottesdiener, 2005).
19 19
Texto-guía: Ingeniería de Requisitos Primer bimestre
“Describen las funciones que el software debe ejecutar, a veces se conocen como
capacidades”. SEWBOK, 2004: 2-2.
• De usuario: Los requerimientos de usuario, según Sommeville, 2005: 116; “Son declaraciones, en
lenguaje natural y en diagramas, de los servicios que se espera que el sistema provea y de las
restricciones bajos las cuales se debe operar.
• Del sistema: “Establecen con detalle los servicios y restricciones del sistema. El documento de
requerimientos del sistema, algunas veces denominado especificación funcional, debe ser
preciso”. Sommerville, 2005: 118
Ejemplo 1.1:
Enunciado: El sistema debe permitir al usuario introducir los datos de los estudiantes nuevos.
Enunciado: El sistema debe permitir a los usuarios buscar el producto por nombre, número de factura,
código de barras.
¿Le quedó clara la diferencia, entre los requisitos funcionales?. ¡Todavía no!, entonces le sugiero que se
haga más ejercicios sobre el tema.
Ejercicio 1.1:
Ahora que ya quedó clara la diferencia entre los requisitos funcionales, revise a que se refieren los
requisitos no funcionales.
Estos requisitos incluyen áreas tales como el rendimiento, el diseño y las limitaciones de la aplicación; en
SWEBOOK, 2004: 2-2 se los define como “son los que actúan para limitar la solución, se los conoce como
restricciones o requisitos de calidad”.
Además los requisitos no funcionales pueden estar relacionados con propiedades emergentes del
sistema, describen restricciones externas del sistema; definen las cualidades globales que el sistema ha
de exhibir y son más críticos que los requisitos funcionales.
Los requisitos no funcionales son propiedades que el producto debe tener lo que no puede ser evidente
al usuario, incluyendo atributos de calidad, coacciones, e interfaces externo. (Gottesdiener E. , 2005)
Sommerville, 2005:111; clasifica a los requisitos no funcionales en: “requisitos de producto, de
organización y externos”.
o Requisitos externos: Son los requisitos que derivan de los factores externos al sistema y de su
proceso de desarrollo, incluyen requerimientos de interoperabilidad que definen la manera en
que el sistema interactúa con los otros sistemas de la organización.
Analice el siguiente ejemplo que le permitirá diferenciar entre los requisitos no funcionales.
Ejemplo 1.2:
Enunciado: El máximo espacio de almacenamiento ocupado por el sistema debe ser de 20 MB porque el
sistema debe alojarse completamente en una memoria de solo lectura e instalarse en el palm.
Requisito de organización que especifica que el sistema debe desarrollarse de acuerdo a un proceso
estándar dentro de la empresa.
Enunciado: El sistema no debe revelar ninguna información personal sobre los clientes excepto su nombre y su
número de referencia”
21 21
Texto-guía: Ingeniería de Requisitos Primer bimestre
Requisito externo se deriva de la necesidad del sistema de cumplir la legislación vigente sobre
protección de datos.
Finalmente para terminar el tema de la categorización de requisitos, le invitamos a que revise la figura
1.3.
Con la figura anterior, esperamos que le quede clara la clasificación de requisitos; recuerde no está solo
en su proceso de aprendizaje, si se le presentan dudas en los temas tratados puede contactarse con sus
profesores.
Nº
Nivel Descripción
Nivel
3 García, F. J., Conde, M. Á., & Bravo, S. (16 de 10 de 2008). Ingerniería del Software, Introducción a la Ingeniería de Requisitos.
Recuperado el 14 de Abril de 2011, de Sitio OCW de la Universidad de Salamanca: http://ocw.usal.es/ensenanzas-tecnicas/ingenieria-
del-software/ contenidos/Tema3-IntroduccionalaIR-1pp.pdf
Primer bimestre Texto-guía: Ingeniería de Requisitos
Ejercicios
23 23
Texto-guía: Ingeniería de Requisitos Primer bimestre
a) En forma Textual
FR 1.0:
FR 1.1:
FR 1.2:
etc.
FR 2.0
etc.
b) Diagrama de árbol
Realizar una recolección y documentación de los requisitos de alta calidad es fundamental para el
desarrollo de productos de software con éxito; para asegurarse de que están desarrollando los requisitos
eficazmente, debe asegurarse de que todos sus requerimientos tengas las siguientes características:
• Correcto: Cada requerimiento debe describir con exactitud la funcionalidad para ser construida (K.,
2003).
• Claro: Pueden ser entendidos de la misma manera por todas las partes interesadas con un mínimo
de explicación complementaria. (Gottesdiener E. , 2005).
• Factible: Debe ser posible poner en práctica cada requerimiento dentro de las capacidades conocidas
y las limitaciones del sistema en su entorno de operaciones (K., 2003).
• Necesario: Un requerimiento es necesario, si cuando se prescinde del mismo provoca una deficiencia
en el sistema a construir; además cuando sus características físicas o factor de calidad no pueden ser
reemplazados por otras capacidades del producto.
• Priorización: Dentro del conjunto de requerimientos, alguno de ellos debe ser más importante que
los otros; en este proceso deben intervenir los stakeholders.
Recuerde que no es suficiente tener excelentes declaraciones de los requisitos individuales; sino que
también deben cumplir condiciones dentro del conjunto de requerimientos, las mismas que se detallan
a continuación:
• Completo: Ningún requerimiento o información necesaria deberían estar ausentes, sin embargo
los requisitos que faltan son difíciles de detectar porque no están descritos.
• Consistente: Los requisitos de conformidad no entren en conflicto con otros requisitos del mismo
tipo o con un mayor nivel de negocios, sistema o necesidades de los usuarios (Wiegers, 2003).
• Modificable: Debe ser capazde revisaren elSRScuando sea necesario ypara mantenerun historial de
los cambios realizados de acuerdo a cada necesidad surgida; cada requisito debe aparecer solo una
vez en el SRS.
• Trazable: El requisito de trazabilidad puede estar vinculado a su origen hacia atrás y hacia
adelante a los elementos de diseño y código fuente que aplicarla a uno de los casos de
prueba que verifique la aplicación como correcta.
25 25
Texto-guía: Ingeniería de Requisitos Primer bimestre
Los requisitos trazables están escritos en una forma estructurada, de granularidad fina en lugar
de párrafos largos. Se debe evitar agrupar múltiples requerimientos en una sola instrucción, los
diferentes requisitos pueden rastrear hasta el diseño y elementos de código.
(Gottesdiener E. , 2005), recomienda las siguientes prácticas clave que promueven desarrollar requisitos
de calidad:
• Validar continuamente que los requisitos sean correctos con el enfoque del proyecto.
• Establecer una línea base para los requerimientos, ya que pueden servir para futuros
proyectos.
• Rastrear los orígenes de los requisitos y la forma de vinculación con otros requisitos y con los
elementos del sistema.
• “La ingeniería de requisitos es ampliamente utilizada para indicar el tratamiento sistemático de los
requisitos”. SWEBOOK, 2004: cap. 2.
• Pressman, 2010:83 “El espectro amplio de tareas y técnicas que llevan a entender los
requerimientos.”.
• Gottesdiener, 2009:16; “La Ingeniería de requisitos es una disciplina dentro de los sistemas y de
la ingeniería de software que abarca todas las actividades y resultados asociados a definir un
producto de las necesidades – es una de las mejores maneras de desarrollar requisitos de excelencia.
En definitiva podríamos decir que la Ingeniería de Requisitos es el conjunto de actividades para
descubrir, documentar y mantener un conjunto de requisitos.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Recuerde que la ingeniería de requisitos no es solo un proceso técnico; debido a que los requisitos del
sistema están influenciados por las preferencias, prejuicios de los usuarios, aspectos políticos y legales
de la organización; es decir proporciona un mecanismo apropiado para entender las necesidades del
cliente, evaluar la factibilidad de las mismas, ofrecer una solución acertada y finalmente especificar esta
solución sin ambigüedades.
Desarrollo de requisitos
• Elicitación
• Análisis
• Especificación
• Validación de los requisitos.
a) Elicitación de requisitos: En esta fase el equipo de desarrollo junto con los stakeholders
identifican, articulan y entienden los requisitos de la aplicación a desarrollar. El descubrimiento de
los requisitos implica entender el dominio de la aplicación, el servicio que va a prestar la
aplicación, los problemas que se requieren resolver y las necesidades de los usuarios de la
aplicación.
27 27
Texto-guía: Ingeniería de Requisitos Primer bimestre
b) Análisis de Requisitos: Es el proceso mediante el cual obtiene una compresión precisa de los
requisitos, se analizan las necesidades identificadas por parte de los stakeholders de tal forma que
se obtiene el Documento de definición de requisitos Validado.
• De la clasificación de los requisitos determinar: los que no son necesarios, son incompatibles entre
sí, no son completos, no son factibles y los que están repetidos.
• Aprobar la lista tentativa de requisitos funcionales definitivos por parte de los usuarios expertos
en el dominio de la aplicación.
En esta fase el cuidado se debe tomar para describir requisitos con exactitud, suficientemente como
para permitir que los requisitos sean validados, su implementación sea verificada, y sus costes
estimados. (IEEE Computer Society, 2004).
• Documento de requisitos del sistema: En este documento se manifiesta lo que requieren los
desarrolladores del sistema; además se incluyen los requerimientos del usuario para el sistema
como una especificación detallada de los requerimientos del sistema.
Especificaciones de Requisitos
del Sistema SyRS (IEEE Std. 1233; Especificaciones de Pruebas del
IEEE STD 12207.1) Sistema SyTS)
Especificación de Requisitos
Especificación de Requisitos del Especificación de Pruebas de
Inter- faz IRS (IEEE Std Software SRS (IEEE Std 830) Software STS
830)
Ahora les invitamos a que revisen cada uno de los estándares IEEE que definen la
documentación del proceso de ingeniería de requisitos. Esperamos su aporte al respecto
a través del Entorno Virtual de Aprendizaje.
d) Validación de requisitos: Los requisitos deben ser validados para asegurarse que el equipo de
desarrollo de software haya entendido los requisitos; además se verifica que los documentos de
los requisitos contempla estándares, es comprensible, constante y finito. Con esta premisa se
puede concluir que la validación de los requisitos es el proceso de examinar el documento de los
requisitos para asegurarnos que este define el software correctamente.
29 29
Texto-guía: Ingeniería de Requisitos Primer bimestre
Gestión de requisitos:
La gestión o administración de requisitos se definió para sistemas grandes y cambiantes, debido a que
durante el proceso del software, la comprensión del problema por el desarrollador está cambiando
constantemente y estos cambios retroalimentan a los requerimientos. (Sommerville, 2005).
a) Establecer una línea base: Se establece una línea de base mediante la documentación del estado
actual de las necesidades a un punto en el tiempo, para usar como punto de partida. La
línea de base muestra una serie de requisitos con los atributos de estado acordados en un
punto determinado en el tiempo y captura atributos importantes acerca de los requisitos. El
desarrollo de una línea de base crea una referencia a utilizar para realizar un seguimiento de las
necesidades evolucionan con el tiempo.
Para terminar esta sección sobre el proceso de ingeniería de software le invito a que revise el Anexo 1,
dónde se indican los componentes del desarrollo de requerimientos y las actividades de gestión.
EJERCICIOS
Una vez analizadas las actividades del proceso de ingeniería del software, le invito a que complete la
siguiente tabla en cuanto a los resultados de las actividades del desarrollo y la gestión de requisitos:
Primer bimestre Texto-guía: Ingeniería de Requisitos
ACTIVIDAD SALIDAS
• Visión del Producto
Definición del alcance
• Glosario
Elicitación • Categorías y perfiles de los stakeholders..
Análisis • ....
Validación
Gestión de Requisitos • .
Si tuvo alguna dificultad de completar la tabla anterior, no dude en contactarse con sus profesores.
Los interesados o su equivalente en inglés stakeholders son personas u organizaciones que tienen
influencia directa, indirecta, o se ven influenciados por un proceso de software. Muchos autores en los
mismos proyectos de desarrollo utilizan el término en inglés stakeholders.
Los interesados más representativos y más fáciles de identificar son los clientes, usuarios finales y
desarrolladores. Sin embargo existen otros que se relacionan con el proyecto como son: auditores,
accionistas, proveedores, directivos, administradores, etc.
En (Lamsweerde, 2009) se indica que para abordar una visión compartida de los problemas que
se abordarán en la construcción del sistema se necesita de la cooperación de los interesados para
obtener los requisitos completos, adecuados y realistas. Por tanto, hay que seleccionar a los interesados
apropiados para definir un modus operandi que permitan superar dificultades en el proyecto. El
desarrollo de requisitos y gestión de requisitos implica a muchos stakeholders en diversos cargos.
Recuerde que, por lo general un proyecto de software comienza con un patrocinador, que aprueba
la justificación del proyecto y por lo tanto autoriza la ejecución del mismo; además intervienen el jefe
del proyecto, analistas, los desarrolladores de software y evaluadores; a continuación se detallan las
funciones de cada uno de ellos.
31 31
Texto-guía: Ingeniería de Requisitos Primer bimestre
Stakeholder Función
a) Asigna recursos (personal, materiales y fondos) para el proyecto.
b) Asegura que las metas y objetivos del proyecto estén alineados con los de la
organización.
c) Guía apropiadamente la participación de los clientes y usuarios en
el proyecto.
Sponsor del proyecto
d) Define o aprueba la visión y alcance del producto.
e) Toma decisiones acerca del alcance del proyecto y problemas de
versionamiento del producto.
f) Resuelve conflictos en la priorización de requerimientos.
g) Puede delegarautoridad paralaaprobaciónde requisitos detallados a los
expertos del negocio o administradores de empresas.
Finalmente, a continuación se resumen los roles principales y lo que hacen los stakeholders en el
proyecto de software.
GESTIÓN DE
DESARROLLO DE REQUERIMIENTOS
REQUERIMIENTOS
Gerente del
proyecto o Productor Revisor Revisor Revisor
producto
33 33
Texto-guía: Ingeniería de Requisitos Primer bimestre
Propietario,
Propietario
Usuario experto Revisor aprobador, Propietario
Revisor
productor
Desarrollador y Revisor
Revisor Revisor Revisor
tester de software Productor
Actividad recomendada
Trabajemos ahora para reforzar los conocimientos adquiridos en esta primera unidad.
Hemos concluido el estudio de la primera unidad. Conviene comprobar cuánto ha logrado asimilar de
los temas revisados en esta parte, para lo cual es necesario que desarrolle el siguiente cuestionario.
Autoevaluación 1
En cada uno de los literales realice lo que se pide, conteste esta evaluación y luego compruebe las
respuestas, las mismas que se encuentran al final de ésta guía
c) Son declaraciones en lenguaje natural y en diagramas de los servicios que se espera que el
sistema provea y de las restricciones bajo las cuales debe operar.
a) La funcionalidad o los servicios que se espera que este proveerá el sistema a desarrollarse.
d) Provienen del dominio de aplicación del sistema y que reflejan las características de ese
dominio.
35 35
Texto-guía: Ingeniería de Requisitos Primer bimestre
b) No tiene ambigüedades cuando se lo puede interpretar de una sola forma, y por lo tanto el
lenguaje usado en su definición no causa confusiones al lector.
c) Cuando se prescinde del mismo provoca una deficiencia en el sistema a construir; además
cuando sus características físicas o factor de calidad no pueden ser reemplazados por otras
capacidades del producto.
d) Debe ser posible poner en práctica cada requerimiento dentro de las capacidades conocidas
y las limitaciones del sistema en su entorno de operaciones.
a) No tiene ambigüedades cuando se lo puede interpretar de una sola forma, y por lo tanto el
lenguaje usado en su definición no causa confusiones al lector.
d) Debe ser posible poner en práctica cada requerimiento dentro de las capacidades conocidas
y las limitaciones del sistema en su entorno de operaciones.
a) Ningún requerimiento o información necesaria deberían estar ausentes, sin embargo los
requisitos que faltan son difíciles de detectar porque no están descritos.
b) No entra en conflicto con otros requisitos del mismo tipo o con un mayor nivel de negocios,
sistema o necesidades de los usuarios.
c) Es capaz de revisar en el SRS cuando sea necesario y para mantener un historial de los
cambios realizados de acuerdo a cada necesidad surgida; cada requisito debe aparecer solo
una vez en el SRS.
d) Puede estar vinculado a su origen hacia atrás y hacia adelante a los elementos de
diseño y código fuente que aplicarla a uno de los casos de prueba que verifique la
aplicación como correcta.
Primer bimestre Texto-guía: Ingeniería de Requisitos
b) Puede estar vinculado a su origen hacia atrás y hacia adelante a los elementos de
diseño y código fuente que aplicarla a uno de los casos de prueba que verifique la
aplicación como correcta.
c) No entra en conflicto con otros requisitos del mismo tipo o con un mayor nivel de negocios,
sistema o necesidades de los usuarios.
d) Es capaz de revisar en el SRS cuando sea necesario y para mantener un historial de los cambios
realizados de acuerdo a cada necesidad surgida; cada requisito debe aparecer sólo una
vez en el SRS.
a) Para asegurarse que el equipo de desarrollo de software haya entendido los requisitos.
c) Para ayudar al equipo de desarrollo a identificar, controlar y seguir los requisitos y los
cambios en cualquier momento.
d) Para la comprensión del problema únicamente por parte del desarrollador.
Ir a
solucionario
37 37
Texto-guía: Ingeniería de Requisitos Primer bimestre
Las actividades preliminares tienen que ver con preparar el escenario sobre el cual
se aplicará el proceso de licitación (obtención) de requerimientos. Es fundamental que para poder pl-
anificar una entrevista, un cuestionario, un taller, entre otras técnicas; se debe conocer que es lo que se
preguntará, analizará o estudiará; además de identificar a los actores clave que pueden aportar al desar-
rollo del proyecto; por ello es importante realizar estas actividades preliminares.
Por lo tanto en esta unidad abordaremos las tareas preliminares que ayuden a enfocar la solución
hacia los objetivos del negocio, de tal forma que permitan tanto a desarrolladores como a interesados
(Stakeholders), contribuir en el desarrollo.
Recuerde, tal como se vio en la unidad anterior en el literal 1.6, el proceso de desarrollo de
requerimientos consta de las fases de: Elicitación, Análisis, Especificación y Validación de forma
interactiva; por lo que nos vamos a preparar antes de empezar con el proceso.
En la tabla 2.1. se indica las técnicas y herramientas que permiten sentar las bases para proceder con el
desarrollo de los requerimientos. Esta tabla a sido tomada de (Gottesdiener E. , 2005).
Identificar los riesgos de los requerimientos Una estrategia para mitigar los riesgos de los
requerimientos
Por lo tanto la presente unidad se basará en el desarrollo de estas tres herramientas: Visionamiento,
Glosario y Estrategia para los riesgos. Cabe señalar que previamente tanto el sponsor como el gerente
de desarrollo habrán realizado el acercamiento respectivo a los Stakeholders de alto nivel que conocen
aunque de una forma general el contexto de negocio; esto con el objeto de tener elementos de por
dónde empezar.
Los estudiantes de modalidad abierta de la UTPL, realizan trámites o reclamos que tienen que ver con:
• Cambios de centro.
• Cambios de lugar y fecha de evaluación.
• Registro de notas que el profesor olvidó registrar o registró de forma incorrecta.
• Gestionar una beca.
• Anulación de matrícula.
• Anulación de asignaturas.
Cada uno de estos trámites requiere de documentos que deben ser entregados en el centro al que
pertenece el estudiante y estos a su vez entregados a la sede en Loja, para que dependiendo del
trámite el departamento de Coordinación Académica canalice a las instancias correspondientes para
que se proceda a resolver tal solicitud.
Esto evidentemente que al hacerlo de forma manual requiere de tiempo y el uso de varios recursos.
El más afectado es el estudiante tiene que esperar un tiempo excesivamente largo para saber si le
aprobaron o no la solicitud.
Ante esta situación la Dirección de Modalidad Abierta de la UTPL ha creído conveniente desarrollar un
sistema para automatizar estos procesos, en donde el estudiante se acerque al centro de la UTPL de
su localidad y registre su solicitud adjuntando toda la documentación que se requiere de forma
digital, y que el sistema gestione de acuerdo al trámite para que se notifique a quien corresponda el
análisis y resolución del mismo.
Con esto se quiere evitar el molestoso envío de la documentación de forma física para ahorrar
tiempo, y que al momento que se registre la solicitud, se notifique de la misma a quienes son
responsables del caso; esto permitiría al estudiante y demás interesados consultar en el sistema del
estado del trámite.
39 39
Texto-guía: Ingeniería de Requisitos Primer bimestre
• Escoger un lugar donde le puedan facilitar información de los procesos que realizan.
• El lugar puede ser: el sitio donde usted trabaja, una institución, un departamento, un local
comercial, un almacén, una institución educativa, etc.
Conforme avancemos con la materia se deberá desarrollar ciertos componentes como parte de
proceso de desarrollo de requerimientos.
Estas actividades de desarrollo se combinaran con los trabajos a distancia y sobre todo con el
Entorno Virtual de Aprendizaje, así que estar muy atentos a las disposiciones que se establezcan
en el mismo por parte del profesor.
Si tiene algún inconveniente o no esta seguro con el lugar escogido para desarrollar
el caso de su localidad, pida asesoría a su profesor tutor para despejar las dudas, es
necesario que tenga una descripción general de lo que se hace en el lugar. Puede
hacerlo mediante el EVA, correo electrónico o teléfono.
2.1. Visionamiento
El visionamiento es una declaración concisa que resume el propósito a largo plazo y la intensión del
nuevo producto. Esta declaración podría reflejar una vista equilibrada que satisface las necesidades de
diversos stakeholders. Desde un punto de vista general puede verse como algo idealista, pero debe
basarse en realidades propias de la organización en la cual se va a desarrollar el producto. Este
visionamiento puede ser parte de otros documentos como por ejemplo en el documento de inicio del
proyecto, en alguna carta del proyecto, pero principalmente en el documento de visión del proyecto.
• Asegura que las definiciones y problemática del producto se alinea con las metas y objetivos del
negocio.
Primer bimestre Texto-guía: Ingeniería de Requisitos
• Descripción del estado del negocio y cómo los usuarios se beneficiarán cuando el proyecto
termine.
• Facilita a los miembros del equipo dar una descripción sencilla del proyecto.
Para tener una idea más clara de lo que hace esta actividad, es necesario plantearse las siguientes
preguntas:
Como puede ver, cada pregunta requiere de captar información a un nivel general de situaciones
fundamentales para empezar a desarrollar los requerimientos. A continuación se describen cuatro
pasos que se deberán realizar para lograr el visionamiento de la solución. Le sugerimos considere las
actividades de cada uno de los pasos que se indican.
1. Definir lo siguiente:
• Cliente Objetivo (Target customer): Describe las personas que usarán o comprarán el software.
• Declaración de necesidad u oportunidad: Describe lo que hace el cliente (Target customer) y explica
como este producto le podría ayudar.
• Los principales beneficios o las razones convincentes para comprar: Describe qué podría hacer el producto
para el cliente o la justificación para haber comprado el producto.
• Principal alternativa competitiva, sistema actual, o proceso manual actual: Describir los principales productos
disponibles que compiten, o el sistema, o el proceso que el producto reemplazará.
• Declaración de la diferencia de los productos primarios: Explicar las diferencias entre el producto que se
construirá y la competencia.
41 41
Texto-guía: Ingeniería de Requisitos Primer bimestre
3. Revisar la declaración de la visión y verificar que se alinea con las metas y objetivos de la
organización.
• Contar con un sponsor para asegurar que la visión se ajusta con los objetivos organizacionales y
departamentales.
• Contar con un equipo de trabajo, idealmente en colaboración con el sponsor del proyecto, con la
finalidad de revisar la declaración de la visión como sea necesario.
Adicionalmente es necesario hacer la declaración del problema, que consiste en una descripción del
problema actual que la empresa está experimentando y aclara lo que una solución exitosa podría ser.
Esto es útil cuando la solución incluye la ampliación de un software existente o cuando la
implementación del producto crea una necesidad para un proceso de cambio del negocio. Use la
siguiente plantilla para hacer una declaración del problema.
Ejemplo:
1. Definir lo siguiente:
• Cliente:
• Necesidad u oportunidad:
Registran y resuelven los trámites que se generan en cada centro asociado mediante un
proceso definido para cada trámite.
Aplicación Web.
- Los trámites existentes tienen que enviarse de forma física a la sede en Loja.
- No existe un flujo de actividades debidamente controlado para cada trámite.
- Tanto el estudiante como los involucrados en el trámite no conocen a ciencia cierta
sobre el estado del mismo.
Permitirá:
43 43
Texto-guía: Ingeniería de Requisitos Primer bimestre
2. Defina el visionamiento
A diferencia del proceso actual que requiere que los trámites existentes tienen que enviarse de
forma física a la sede en Loja, no existe un flujo de actividades debidamente controlado para
cada trámite y tanto el estudiante como los involucrados en el trámite no conocen a ciencia
cierta sobre el estado del mismo.
• Que la atención de los casos se realice mediante un sistema de fácil uso, de tal forma de
que se de solución a todos los trámites.
• Que las solicitudes de trámites sean registradas directamente en un sistema.
• Que las solicitudes de trámites fluyan electrónicamente hacia a las diferentes personas
que deban revisarlo antes de su resolución.
• Que la documentación relacionada al trámite esté asociada a éste de forma digital de
manera que pueda ser visualizada directamente en el sistema.
• Que se pueda conocer el estado en que se encuentra un trámite.
• Que se pueda disponer de estadísticas que permitan tomar decisiones para optimizar
los procesos relacionados.
• Que exista seguimiento adecuado de los trámites, estableciendo tiempos de respuesta.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Actividad recomendada
Si desea tener una retroalimentación sobre el desarrollo de esta actividad, envíe al profesor tutor la
actividad desarrollada y solicite su comentario. Será necesario que describa de forma breve el contexto
del caso que está desarrollando. Puede enviar por correo electrónico.
2.2. Glosario
2. Identificar términos importantes que sean relevantes para el dominio del negocio.
• Examine los nombres en los documentos existentes del proyecto (por ejemplo, en la carta
del proyecto, en la declaración de la visión, y declaración del problema).
• Incluya términos relacionados con la tabla que se indica.
45 45
Texto-guía: Ingeniería de Requisitos Primer bimestre
Tabla 2.2: Términos clave y relevantes que se pueden utilizar para construir el glosario.
Término Ejemplo
4. Identificar múltiples stakeholders para revisar las definiciones y revisar los términos como sea necesario
para llegar a un acuerdo común para cada término.
• Reunirse con los de stakeholders para socializar, definir, revisar y aprobar los términos del
glosario.
El glosario del proyecto puede ser creado por secciones de acuerdo a los términos del proyecto, como
por ejemplo: roles del proyecto, nombres de organización, métodos de software, herramientas, etc.
Además un glosario evoluciona a medida que se van estableciendo los requisitos, por lo
que alguien deberá mantener el glosario al día de manera que se use en todos los modelos
de requisitos y en las discusiones de requerimientos. Idealmente esto lo podría realizar
alguna persona del negocio, sin embargo un analista es un buen candidato para realizar
esta tarea.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Ejemplo:
47 47
Texto-guía: Ingeniería de Requisitos Primer bimestre
Actividad recomendada
Para mitigar los riesgos en los requerimientos es necesario establecer estrategias que permitan evaluar
los requerimientos relacionados con el riesgo e identificar acciones para evitar o minimizar estos
riesgos. Los riesgos en los requerimientos son sucesos o condiciones que ponen en peligro el desarrollo
satisfactorio del producto. Los riesgos deben ser evaluados, rastreados y controlados a lo largo del
proyecto, esto ocasiona que se pueda tener un gran impacto de éxito en el proyecto.
• Identificar los riesgos que podrían impedir el desarrollo efectivo y la gestión de requisitos.
• Identificar alternativas para administrar los riesgos por parte del equipo.
• Para esto es necesario usar una lista inicial de riesgos comunes, como por ejemplo:
- Falta de involucramiento del usuario.
- Expectativa del cliente poco realista.
- Los desarrolladores añaden funcionalidades innecesarias.
- Constante cambio de requerimientos.
- Pobre análisis del impacto cuando las necesidades cambian y evolucionan.
- Uso de nuevas técnicas o herramientas de requerimientos.
- Requisitos poco claros, ambiguos.
- Requisitos contradictorios (conflictivos).
- Falta de requisitos.
- Lluvia de ideas para identificar riesgos adicionales en base a la experiencia del equipo, como
de la cultura de la empresa y su medio ambiente
b. Medio: Probabilidad moderada que ocurra el riesgo. Entre 26% --- 74%.
c. Alto: Gran probabilidad o certeza de que el riesgo ocurra. Entre 75% -- - 100%
c. Alto: Impacto critico o catastrófico. Principales problemas que necesitan ser analizados.
3. Representar gráficamente las clasificaciones y ponerse de acuerdo en los riesgos que se abordarán.
Figura: 2.1: Relación entre la probabilidad e impacto de los riesgos. (PMI-PMBOOK, 2008)
Actividad recomendada
49 49
Texto-guía: Ingeniería de Requisitos Primer bimestre
4. Determinar las formas de controlar, evitar o mitigar los posibles riesgos críticos
• Asignar cada riesgo crítico a un miembro del equipo quien tendrá la responsabilidad de monitorear
el riesgo. Identificar las acciones que él o ella tendrá, los recursos necesarios para llevar acabo las
acciones, y la manera que él o ella comunicará las acciones al equipo.
• Asegurar que el sponsor y el líder del equipo estén de acuerdo con las acciones.
• Asegurarse que los miembros del equipo entienden como sus acciones afectan sus requerimientos.
• Analizar y adicionar nuevos riesgos a los requerimientos como ocurran, y actualizar la estrategia
de mitigación de riesgo como sea necesario.
En la siguiente tabla se indican algunos riesgos y estrategias que comúnmente ocurren en los proyectos
de desarrollo.
Tabla 2.3: Riesgos y estrategias
Para tener un control efectivo de los riesgos es necesario poner en práctica las técnicas de
mitigación y seguimiento de riesgos, revisando periódicamente para verificar si se están tomando las
acciones correctas y si los nuevos riesgos están siendo considerados.
Ejemplo:
Estrategia de
Factor de riesgo Probabilidad Impacto Responsable
mitigación
Falta de Media Alto Llevar a cabo un taller Ellen Marshall
disponibilidad de visionamiento con (Gerente
del director de la el actual director y proyecto)
MAD para aclarar el crear modelos de
alcance alcance en el taller.
51 51
Texto-guía: Ingeniería de Requisitos Primer bimestre
Actividad recomendada
De acuerdo al ejemplo anterior defina las estrategias a utilizar para mitigar los riesgos
en los requerimientos de acuerdo al caso de su localidad.
Hemos concluido el estudio de esta unidad, por lo que nos conviene comprobar cuanto hemos asimilado
de los temas tratados para lo cual es necesario desarrollar las autoevaluaciones de conocimiento.
Autoevaluación 2
Conteste de acuerdo a lo que se pide, luego compare sus respuestas con el soluciona-
rio que se encuentra al final de esta guía.
Lea detenidamente la afirmación y escriba una V si considera que es Verdadera o una F si no lo es, en el
paréntesis respectivo.
1. El visionamiento es una declaración que resume el propósito a largo plazo del nuevo producto.
( )
10. Una buena alternativa para mitigar los riesgos en los requerimientos es el
( )
establecimiento y seguimiento de las buenas prácticas de gestión de requerimientos.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Aclarar términos
Ir a
solucionario
53 53
Texto-guía: Ingeniería de Requisitos Primer bimestre
q
UNIDAD 3: Elicitación de Requerimientos
La captura de requisitos es una actividad humana intensa que se basa en la participación de los stake-
holders, como fuente principal de obtención de requisitos.
La captura de los requisitos es responsabilidad del analista, pero puede estar implicado otro personal
técnico que desee beneficiarse de un conocimiento mucho más profundo de las necesidades de los
interesados.
Tal como se indica en la unidad 1, existen diversos problemas que ocasionan que un
proyecto de desarrollo de software no llegue a feliz término, entonces como responder a la
pregunta ¿Por qué es difícil la captura de requisitos?
Los clientes y usuarios generalmente no entienden como diseñar y desarrollar el software, por lo que
no estarán en capacidad de especificar sus necesidades de software de tal forma que entiendan los
desarrolladores. Por su parte, los desarrolladores a menudo no entienden los problemas y necesidades
de los clientes y usuarios, como para especificar las necesidades.
Para superar estas dificultades, se debe fomentar un ambiente de cooperación y comunicación entre los
desarrolladores, clientes y usuarios, para asegurar que se elicitan los requerimientos apropiados.
¿Cómo elicitar requerimientos de software?
PRIMER BIMESTRE Texto-guía: Ingeniería de Requisitos
5. Repetir los pasos 1-4 para profundizar el entendimiento de los requerimientos por parte del
equipo.
Verificar y corregir
los hallazgos
Análisis
Para que el proceso de elicitación sea manejable y no se convierta en una tarea difícil de sobrellevar por
el equipo de desarrollo, es necesario utilizar ciertas herramientas y técnicas que faciliten la captura de los
requisitos. A continuación en la tabla se indican estas técnicas y herramientas que sugiere. (Gottesdiener
E. , 2005)
55 55
Texto-guía: Ingeniería de Requisitos Primer bimestre
• Identificar la documentación que se pueda usar como fuente de información para los
requerimientos.
• Asegúrese de considerar a todos los Stakeholders del proyecto. Incluya a los clientes quienes
auspician y dirigen el desarrollo de software, los usuarios que interactuaran directamente
con el software, y otros quienes tienen conocimiento o apuestan por el proyecto.
• Desarrolle un plan de elicitación para cada stakeholder. Tener en cuenta que los stakeholders
están a menudo ocupados y necesitan de un aviso previo para participar en el levantamiento
de requerimientos.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Las categorías de stakeholders son grupos o individuos que están interesados en el producto de
software que se está desarrollando. Es necesario definir las categorias de los Stakeholders para
entender quienes están interesados o influencian en el proyecto, quienes utilizarán el producto y sus
salidas; y a quien de alguna manera afectaría el producto. Por lo tanto estos grupos e individuos
necesitarán estar informados acerca del progreso, conflictos, cambios y prioridades del proceso de
desarrollo del producto.
Esto se hace:
• Especificando los tipos de personas quienes tienen requerimientos y necesidades a las que
se denominan como involucrado o stakeholders.
Tenga presente que si no logra una comprensión completa por parte de los Stakeholders
puede ocurrir la falta de requisitos o erróneos o el desarrollo de la solución de forma
incorrecta. Por tanto es necesario que se asegure de que todos los interesados
comprenden además de incluir a todos los interesados antes de proceder con el desarrollo
del software.
57 57
Texto-guía: Ingeniería de Requisitos Primer bimestre
Hay tres categorías de actores: clientes, usuarios y otras partes interesadas, tal como se indica en la figura
3.1.
Clientes
Usuarios
Son aquellos que están en contacto con el producto de software o son afectados por este de alguna manera.
• Son las partes (por ejemplo: gente, organizaciones, componentes del sistema o
dispositivos que directamente interactúan con el software) que directamente
se involucran con el software (por ejemplo: una persona que solicita la
Usuarios directos
información del sistema a través de una interfaz de usuario, un sistema que
envía o recibe archivos de datos, o un dispositivo que envía o recibe señales o
mensajes).
Otros stakeholders
Los asesores a menudo conocen las reglas del negocio por lo que es vital incorporar a los
asesores en el proceso de captura de requisitos, y evitar demasiado esfuerzo. La categoría
de otros Stakeholders puede incluir a partes internas (por ejemplo, la gente de la
fabricación legal, finanzas, ventas, y los departamentos de apoyo) y externos (por ejemplo,
la gente de los organismos reguladores, auditores, y el público en general) a la
organización del proyecto. Un solo actor puede pertenecer a varias categorías. Por
ejemplo, un entrenador de producto de software puede ser un usuario directo (que tiene
que usar el sistema como
parte de su responsabilidad del trabajo), un usuario indirecto (que accede a los materiales de
capacitación relacionados con el sistema), y un asesor (que proporciona asesoramiento en temas de
usabilidad con una versión anterior del software).
59 59
Texto-guía: Ingeniería de Requisitos Primer bimestre
– Registre los stakeholders como roles en cada una de las categoría, más que como personas
especificas. Recuerde que el mismo rol puede aparecer en varias categorías.
2. Revisar el registro de categorías de stakeholders con los stakeholders del proyecto para asegurar
que está completa y precisa.
3. Revisar la lista como sea necesario y compartir la misma con el equipo entero.
Ejemplo:
61 61
Texto-guía: Ingeniería de Requisitos Primer bimestre
Actividad recomendada
El perfil de los Stakeholders es una descripción que caracteriza a cada stakeholder y explica su relación
con el proyecto. Es necesario definir el perfil para entender los intereses, preocupaciones y criterios
de éxito del producto para cada stakeholder, para descubrir las posibles fuentes de conflicto entre las
partes interesadas de los requisitos, y para poner de relieve temas relacionados con los requisitos que
pueden requerir más tiempo y atención. Los perfiles de los Stakeholders también pueden revelar los
posibles obstáculos para la implementación exitosa del producto y le ayudará a definir la cantidad de
participación de cada Stakeholder debe tener en el levantamiento de requerimientos.
• Destaca potenciales obstáculos en el proceso de aceptación del producto de software por parte
de los stakeholders.
Las preguntas claves que deberá responder con esta herramienta son:
• ¿Cuáles son las responsabilidades de los Stakeholders clave en relación con el sistema en desarrollo
o los cambios implementados?
Primer bimestre Texto-guía: Ingeniería de Requisitos
• ¿Qué motivaciones, deseos y esperanzas tienen los stakeholders para el producto de software?
• ¿Qué características o capacidades de software deben estar presentes para cada uno de los
stakeholders para ver el producto como un éxito?
• ¿Qué obstáculos, limitaciones, o los factores que limitan cada actor se prevée para él mismo o para
otros que puedan amenazar la implementación exitosa?
• ¿Hay algún trabajo especial o condiciones ambientales que podrían afectar la capacidad de los
stakeholders en utilizar eficazmente el sistema?
• Rol:
Lista la categoría de stakeholder (por ejemplo, el sponsor (patrocinador), Product Champion,
usuario directo, usuario indirecto, asesor o proveedor) al que pertenece.
• Responsabilidades:
Describa brevemente el rol de cada stakeholder en relación con el proyecto.
• Intereses:
Liste las necesidades de los stakeholders, deseos y expectativas para el producto (por ejemplo, los
intereses de un patrocinador puede incluir aumento de los ingresos, reducción de costos, mejora
de los servicios y el cumplimiento de las normas reglamentarias).
• Preocupaciones:
Lista de todos los obstáculos, limitaciones, o los factores limitantes que puedan impedir o inhibir
al stakeholder a aceptar el producto.
• Capacidad técnica:
Describir al usuario directo el grado de familiaridad con la tecnología.
2. Incluir los perfiles de los Stakeholders en el documento de requerimientos de usuario (si se utiliza) y el
documento de especificaciones de requisitos de software.
Si los perfiles contienen gran cantidad de información, documente un perfil por cada
stakeholder en una tabla o sección en el documento de requisitos correspondientes.
63 63
Texto-guía: Ingeniería de Requisitos Primer bimestre
La combinación de las categorías para proyectos pequeños o de menor complejidad, se puede crear una
versión más corta de los perfiles de los stakeholders mediante la combinación de los intereses y los
criterios de éxito.
Ejemplo:
Competencias técnicas/
Criterios de Relación de ambiente
Stakeholder Rol Responsabilidad Intereses Preocupación de trabajo
éxito
Actividad recomendada
Ahora vamos a enfocarnos en las técnicas que permitan obtener información relevante a partir de los
stakeholders, por lo que es importante analizar tales técnicas que la ingeniería de requisitos considera
apropiadas para obtener información.
Además recalcar que estas técnicas son complementarias entre sí, ya que en determinado momento
alguna de ellas servirá para determinar situaciones generales, otra servirá para detalles concretos. Por
esta razón le sugiero que cuidadosamente analice cada una de ellas. Entre las técnicas más comunes
tenemos:
• Talleres.
Primer bimestre Texto-guía: Ingeniería de Requisitos
• Prototipos de exploración.
• Observación.
• Encuestas.
Es necesario que desarrolle su plan de elicitación para seleccionar y combinar las técnicas
aplicables de esta lista. Por ejemplo se pueden desarrollar talleres con prototipos de
exploración para encontrar errores en los requisitos y validarlos, o realizar un análisis
mediante la observación a las tareas del usuario para ver en lo que se tiene que centrar.
Las entrevistas son consideradas una de las técnicas de mayor importancia para la captura de requisitos
ya que es una de las formas de comunicación más naturales entre las personas. El propósito de una
entrevista está orientado a establecer un enfoque sistemático diseñado para obtener información de
una persona o grupo de personas en un ambiente formal o informal, haciendo preguntas pertinentes
y apropiadas. Las entrevistas son conversaciones cara a cara en la que un entrevistador hace preguntas
para obtener información del entrevistado.
De acuerdo a (Lamsweerde, 2009) las entrevistas pueden ser de dos tipos: estructuradas (con preguntas
preparadas con anterioridad), o no estructuradas (sin preguntas predefinidas).
• Entrevistas estructuradas:
El hacer una entrevista y que esta sea exitosa depende de ciertos factores:
65 65
Texto-guía: Ingeniería de Requisitos Primer bimestre
Deberá:
• Elija a las personas transversalmente. Incluya sponsors, clientes, y usuarios con experiencia en el
tema.
• Establecer los entrevistados y entrevistadores con los que se empezará. Asegúrese que los
entrevistadores se sentirán a gusto entrevistando a directivos y clientes, y viceversa.
• Aclare el objetivo de cada entrevista (por ejemplo: para obtener información de antecedente y
características de alto nivel del software, o para obtener un conocimiento detallado del flujo de
trabajo del usuario o las necesidades de datos).
• Elabore las preguntas de la entrevista desde lo general a lo más particular. Organice de forma fácil
empezando con preguntas de hecho. (por ejemplo: ¿Cuál ha sido su participación en el proyecto
hasta la fecha?. Al final las preguntas más difíciles como preguntas de interpretación.
En este aspecto debe adaptar las preguntas para captar la atención del entrevistado. Para
un alto ejecutivo o a los clientes, pregunte, “¿Por qué es este proyecto (o software)
importante para usted (o sus clientes)?” O “¿Qué debe hacer este producto para que usted
lo llame exitoso?« Para los usuarios que van a interactuar directamente con el software, por
ejemplo, “Hábleme de su forma ideal de <realizar una tarea>?”.
Incluya preguntas de contexto libre (preguntas de alto nivel sobre el producto y el proceso) al inicio de
la entrevista y todas las entrevistas abiertas. Esto permite entender el panorama. Por ejemplo:
Incluir meta-preguntas (preguntas acerca de preguntas) que le permitan ajustar sus preguntas durante
la entrevista. Por ejemplo:
4. Realizar la entrevista
• Preséntese y realice una pregunta inicial.
• Indique a las personas entrevistadas que usted tomará notas durante la entrevista.
• Practique la escucha activa. Por ejemplo, repetir las respuestas en sus propias palabras y mantenga
sus ojos comprometidos con el entrevistado.
• Evite preguntas capciosas (Por ejemplo, ¿No cree usted que…? O ¿por qué no hace sólo …?
• Sea flexible, haciendo las preguntas necesarias.
• Finalice la entrevista con un agradecimiento, e indique los siguientes pasos que realizará. Pida
permiso para hacer el seguimiento de las preguntas si fuera necesario.
• Revise sus notas inmediatamente después de la entrevista, cuando la información está aún “fresca”
en su mente.
• Generar un conjunto de modelos o necesidades de forma textual para revisiones preliminares por
parte del equipo, basado en las entrevistas.
Grabación de audio y vídeo puede parecer eficaz, pero generalmente no lo son. El tiempo
que tarda en escuchar o ver cada entrevista y tomar notas es mal utilizado. Use cinta sólo si
usted desea aprender sobre estilos de entrevista o si los comentarios incluidos son
importantes para su proyecto. Si usted decide grabar las entrevistas debe obtener el permiso
del entrevistado previamente.
Actividad recomendada
67 67
Texto-guía: Ingeniería de Requisitos Primer bimestre
3.4.2 Talleres
Un taller es una reunión de las partes interesadas cuidadosamente seleccionados que trabajan juntos
bajo la guía de un experto y neutral que produce y documenta modelos de requerimientos. Los talleres
se realizan de manera rápida y eficiente para definir, refinar, priorizar y cerrar las necesidades con los
usuarios. Compromete a los usuarios a descubrir las necesidades del proceso e identifica a los usuarios
del producto.
Para tener éxito en la realización del taller, se deben realizar los siguientes pasos:
• El facilitador indique las reglas para los participantes al inicio del taller, algunas reglas
pueden ser:
– Estar preparados.
– ¡Participa!.
• Confirmar las reglas. Asegúrese que los propios participantes hagan cumplir las reglas, con
la ayuda del facilitador.
• Defina reglas de decisión y un proceso de toma de decisiones para el taller. Por ejemplo: “La
persona a cargo toma la decisión final después de consultar al grupo”.
• Incluya entregables tangibles (como son los modelos de análisis), como también modelos
intangibles ( como son las decisiones).
• Determine cómo va a saber cuando los entregables son bastante buenos. Hacer que los
resultados sean lo suficientemente específicos.
4. Diseño de la agenda
5. Conducir la reunión
• Pídale al sponsor del proyecto o al patrocinador del proyecto abrir la reunión con una breve
descripción del propósito del taller.
• Use una variedad de medios y herramientas para captar el interés de las personas durante
la reunión.
• Hacer una corta retrospectiva de forma periódica en el taller para tener una
retroalimentación
del mismo.
• Pedir al sponsor e interesados clave para que se unan al final del taller para permitir a los
participantes presentar los resultados y compartir problemas que necesitan ser resueltos.
Actividad recomendada
Los prototipos exploratorios, son versiones parciales o preliminares del software creado para explorar o
validar los requisitos.
Cuando los usuarios tienen dificultad para expresar descripciones del sistema es posible mostrar un
esquema reducido del sistema que ayude a visualizar la forma en que se vera. En concreto es una
interfaz de usuario que se integra con casos de uso, escenarios, datos y reglas de negocio.
(Lamsweerde, 2009).
69 69
Texto-guía: Ingeniería de Requisitos Primer bimestre
Los prototipos son un software de rápida implementación para definir aspectos de “cómo es el sistema”.
Las clases de prototipos dependen de los aspectos que se desean prototipar
Tipos de prototipos
Los prototipos horizontales y verticales abordan el contenido del sistema propuesto de diferente
manera. Los prototipos horizontales imitar los interfaces de usuario o una porción superficial de la
funcionalidad del sistema. Los prototipos verticales se sumerge en los detalles de la interfaz, la
funcionalidad, o ambas.
• Escoja los requerimientos que están poco claros, contradictorios, o que impliquen la
interacción del usuario.
• Escoja un pequeño conjunto de funcionalidad.
• Use algún requisito representado de forma textual u otras representaciones.
• Aclarar el propósito del prototipo con los usuarios y miembros del equipo.
• Establecer las condiciones técnicas para el desarrollo del prototipo, en su caso.
Primer bimestre Texto-guía: Ingeniería de Requisitos
• Utilizar los datos reales de los clientes (no datos ficticios), si es posible. (Tenga cuidado con la
privacidad o los problemas de seguridad cuando se utilizan datos reales.) Cuando construya
la interfaz de usuario, considere adicionar datos de ejemplo que muestren a los usuarios
que están probando el prototipo.
• Empiece con una declaración sobre los objetivos del prototipo y los próximos pasos.
• Demostrar o simular interactuar el usuario con el sistema. Mostrar las maquetas de las
interfaces de alto nivel.
• Registre los problemas de usuario y sugerencias.
• Que la revisión del prototipo dure dos horas o menos.
• Crear un resumen de las conclusiones y pasos a seguir, y acordar un calendario para
la
próxima revisión (si es necesario).
Actividad recomendada
Realice un prototipo de interfaz de usuario que permita registrar en una ficha, los
datos de cada estudiante. Considerar criterios de presentación y distribución, así como
obligatoriedad o no de los mismos.
Los grupos focales son entrevistas en grupo cuidadosamente planeado que plantean problemas y hacen
preguntas abiertas para obtener información de los participantes. A menudo consisten en una serie de
reuniones entre un moderador y un grupo de seis a doce personas. La participación es voluntaria y los
resultados son confidenciales. (Gottesdiener E. , 2005).
Se lo hace para obtener la reacción del usuario a nuevos productos o ideas de productos en un ambiente
controlado, y revelar la información subjetiva y la percepción acerca de las características del producto.
Los grupos de enfoque exploran opciones requisitos y obtienen las reacciones a los nuevos
componentes e interfaces. También ayudan a las organizaciones de desarrollo de productos a priorizar
las necesidades e identificar las áreas de estudio de forma cualitativa o cuantitativa.
Para realizar las entrevistas a estos grupos focales, se debe realizar lo siguiente:
71 71
Texto-guía: Ingeniería de Requisitos Primer bimestre
3.4.5 Observación
Esta técnica se caracteriza por entender una tarea mediante la observación directa, a la vez permitir
que alguien que conoce la tarea nos explique. Esto provoca que se evalúe el entorno de trabajo de las
personas. Esta técnica se la utiliza especialmente cuando se tiene la intensión de mejorar el proceso en
curso o el proyecto. (Lamsweerde, 2009).
La técnica de observación considera dos enfoque básicos: Enfoque pasivo o invisible y el enfoque activo
o visible.
• Pasivo:
En este enfoque la ingeniería de requisitos no interfiere con la gente involucrada en las tareas, sino que
son analizadas en base a notas o video cámaras, etc., Estos registros deben ser analizados e
interpretados apropiadamente. Cuando un sujeto está realizando una tarea y al mismo instante va
explicando sus actividades se denomina Análisis de Protocolo. De igual manera los estudios
etnográficos son otro caso particular de observación pasiva donde el ingeniero de requisitos intenta
durante largos períodos descubrir propiedades emergentes de grupos sociales relacionados con los
procesos observados. En la observación también se analiza las actitudes de los participantes, sus
reacciones a situaciones específicas, sus gestos, conversaciones, chistes, etc.
• Activo:
En este enfoque el ingeniero de requisitos se involucra en las tareas, pasando a formar parte del equipo
de trabajo.
1. Preparar la observación: consiste en determinar las personas a las cuales se les observará. En
grandes empresas se tendrá que escoger apropiadamente la muestra de personas. Además como
parte de esta fase se debe elaborar los cuestionarios que se aplicarán durante o después del
desarrollo de actividades de la gente.
• Asegura al usuario que su trabajo no está siendo cuestionado, sino que la observación de su
trabajo y documentación servirá para el análisis de requisitos.
• Se informa al usuario que el observador está presente sólo para estudiar sus procesos y se
abstendrá de intervenir.
• Sugerir al usuario que puede “pensar en voz alta” cuando este trabajando, esto como una
manera de compartir sus intensiones, retos y preocupaciones.
• Si se utiliza la observación con el enfoque activo, hacer preguntas deductivas acerca de por
qué son así los procesos y tareas que se llevan a cabo.
• Proporcionar al usuario un resumen de las notas lo antes posible para su revisión y aclaración.
• Revisar los hallazgos con todo el grupo para asegurarse que los detalles finales representan
a todo el grupo y no solamente a los individuos seleccionados.
Un analista puede actuar como un aprendiz, para realizar tareas de un usuario bajo la
supervisión de un usuario experimentado y bien informado. El“aprendiz de analista”podría
conocer las necesidades de los usuarios para hacer las necesidades reales de trabajo y
aprender a ser un usuario experimentado.
Actividad recomendada
73 73
Texto-guía: Ingeniería de Requisitos Primer bimestre
Basados en (IIBA, 2005), el propósito del análisis de documentos es la obtención de los requisitos
mediante el estudio de la documentación disponible sobre las soluciones existentes y la identificación
de información relevante. Este análisis comprende: los planes de negocio, estudios de mercado,
contratos, solicitudes de propuestas, declaraciones de trabajo, procedimientos, guías de capacitación,
competencia técnica del producto, informes de problemas, bitácoras de las sugerencias de los clientes,
entre otros. Al identificar y consultar a todas las probables fuentes de información dará lugar a una
mejor cobertura de las necesidades, siempre y cuando la documentación este al día.
Para realizar el análisis de los documentos se reúnen todos los detalles de las soluciones existentes,
como son: las reglas del negocio, las entidades y los atributos que deberán ser considerados en la nueva
solución o ser actualizados en la solución actual.
• Utilice sólo una documentación fiable para descubrir las necesidades y generar modelos de
análisis.
• Localizar la documentación del usuario que podrían estar en forma física (por ejemplo, manuales
de capacitación y guías de procedimiento), así como en forma flexible (por ejemplo, pantallas de
ayuda y mensajes de error).
• Considere usar:
Documentación de respaldo.
Pantallas de ayuda.
Descripciones de trabajo.
Documentación de apoyo (por ejemplo, help desk, soporte de campo, instalación, mantenimiento y
guías de solución de problemas).
• Considere la posibilidad de los posibles requisitos que se asignan a los programas y que se
destinará a las personas como parte de un proceso de negocio.
Una vez revisada la técnica, sería conveniente hacernos las siguientes preguntas: ¿Qué le
parece la técnica?, ¿Cómo cree que debería estar la documentación para poder hacer el
análisis respectivo?. ¿Qué sucede si el usuario responsable de la documentación no
proporciona los documentos apropiados?. ¡Qué problema! Verdad.
Cuando estamos ante una situación real son varios los problemas a los que deberemos
enfrentarnos, por tanto el analista encargado del levantamiento de información deberá tener
ciertas características que le permitan manejar los inconvenientes que se puedan presentar.
Actividad recomendada
Continuando con el caso de su localidad, indique cuáles son los documentos que se
puede estudiar para levantar información y por ende definir requisitos. (Liste y describa
cada documentos).
3.4.7. Cuestionarios
Esta técnica está orientada a un determinado grupo de Stakeholders (Interesados) cuya lista de
preguntas debe considerar lo siguiente:
• Los Stakeholders deben entregar los cuestionarios marcando las respuestas apropiadas.
• Las preguntas de selección múltiple deben fácilmente permitir seleccionar una respuesta
asociada a la lista de posibles respuestas.
75 75
Texto-guía: Ingeniería de Requisitos Primer bimestre
Son varias las ventajas que nos ofrecen los cuestionarios ya que nos permite obtener información
subjetiva de forma rápida, a un bajo costo, de forma remota a un gran número de personas.
La forma de aplicar el cuestionario también es diverso, desde una forma tradicional mediante un papel
impreso hasta utilizando herramientas tecnológicas con diseños acordes al grupo que se desea aplicar.
Contrariamente una de las desventajas de los cuestionarios es que la información obtenida sea sesgada
por diversos motivos, como por ejemplo, la muestra de personas que se escogieron para aplicar el
cuestionario, las personas que estaban dispuestos a responder, no hay una relación directa con los
encuestados por lo que no se puede contextualizar las preguntas, preguntas ambiguas, etc.
Consecuentemente debemos diseñar las preguntas cuidadosamente y validar el cuestionario para evitar
y mitigar los posibles errores. De acuerdo a (Lamsweerde, 2009) los criterios de validación incluyen:
5. Aplique el cuestionario.
Cuando realizamos cuestionarios de alta calidad realmente son de gran utilidad ya que
sirven como complemento para otras técnicas, como es el caso de las entrevistas ya sea para
un primer acercamiento o para diseñar una posterior entrevista con un mayor grado de
detalle.
Es importante respetar el tiempo de los stakeholders cuando se utilizan técnicas que implican la
interacción directa a los interesados. Asegúrese de que comience y termine a tiempo para: entrevistar,
la facilitación de talleres, la realización de los grupos focales, realización de análisis de tarea de usuario,
o la observación a los usuarios. Cada proyecto es diferente. Al seleccionar las técnicas de captura de
requisitos, tenga en cuenta los factores que se indican en el Anexo 2.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Es un plan que considera la importancia de los requisitos de los diferentes Stakeholders y sus
contribuciones al proceso de desarrollo de requisitos. Es necesario hacerlo para decidir quién debe
participar en las actividades de los distintos requisitos y la forma en que debería contribuir. El desarrollo
de esta estrategia le ayuda a evitar pasar por alto a los Stakeholders y los requisitos faltantes. También
ayuda a obtener el compromiso de los “grupos de interés por su tiempo y participación.
La participación de los Stakeholders es esencial para los proyectos de software exitosos. Las
personas son la fuente principal de información de los requisitos, esto es importante para
obtener la participación de los interesados centrados en las necesidades.
• Permite que el equipo centre sus esfuerzos en los requerimientos de alta prioridad por parte
de los stakeholders.
• Alienta a los patrocinadores y los champions asegurar que las personas con conocimientos
de requerimientos críticos estará disponible para el equipo del proyecto.
• Promueve el uso eficaz del tiempo de las personas.
• Grado de participación: Decida la medida en que cada actor va a participar. Él o ella pueden
participar plenamente, tienen algún grado de participación limitada, o sea indirectamente
si un sustituto representa sus necesidades.
77 77
Texto-guía: Ingeniería de Requisitos Primer bimestre
• Pasiva: Obtiene informes de los sustitutos o revisa mensajes de correo electrónico sobre el
progreso del desarrollo de los requisitos.
• Stakeholders directos: Los que están involucrados en el ciclo de vida del proceso, por lo
que se verán afectados y tendrán interés en una finalización exitosa.
• Stakeholders indirectos: Estos muestran cierta preocupación por el proyecto ya que su
nivel de interés e influencia es bajo.
En la siguiente figura 3.1 se hace una relación que existe entre el interés y la influencia de los
interesados. En (Wiegers, 2003) se establecen algunos criterios para agrupar a los usuarios y establecer
ciertos grupos a los que pueden pertenecer cada uno de ellos. Además un usuario en determinados
momentos del desarrollo del proyecto, puede pertenecer a un determinado grupo de stakeholders y en
otro instante pertenecer a otro grupo.
Alto
Mantenerse Gestionar
satisfecho de cerca
Influencia
Monitorear
(MInimo Mantenerse
informado
esfuerzo)
Bajo
Interés Alto
Figura 3.3: Relación entre interés e influencia de los Interesados, tomado de (PMI-PMBOOK, 2008).
En el (PMI-PMBOOK, 2008) se indican los Stakeholders que pueden existir en una organización, cabe
señalar que dependiendo del contexto de funcionamiento de la organización se pueden definir otros.
• Directores del proyecto: Personas que tienen a cargo todos los aspectos del proyecto.
• Equipo del proyecto: Grupo de personas que tienen a su cargo el desarrollo del proyecto.
Actividad recomendada
Realice un análisis del interés e influencia que podrían proporcionar los stakeholders en
un proyecto de desarrollo de sistemas. Apóyese en la figura 3.3 de este capítulo.
Se ha concluido el estudio de esta unidad, por lo que conviene comprobar cuanto ha asimilado de los
temas tratados para lo cual es necesario desarrollar las autoevaluaciones de conocimiento.
Autoevaluación 3
Lea detenidamente la afirmación y escriba una V si considera que es verdadera o una F si no lo es, en el
paréntesis respectivo.
79 79
Texto-guía: Ingeniería de Requisitos Primer bimestre
6. Los clientes son aquellos que estan en contacto con el producto de software o son afectados
( )
por este de alguna manera.
8. El Product Champion es quien asegura que el software desarrollado cumple con las
( )
necesidades de los usuarios.
9. El perfil de los stakeholders es una descripción que caracteriza a cada stakeholder y explica su
( )
relación con el proyecto.
10. Los prototipos exploratorios, son versiones parciales o preliminares del software creado
( )
para explorar o validar los requisitos.
a) Identificar fuentes
e) Plan de elicitación
Ir a
solucionario
Primer bimestre Texto-guía: Ingeniería de Requisitos
El análisis de requerimientos consiste en refinar los requisitos para asegurar que todos
los Stakeholders entienden y examinan errores, omisiones, y otras deficiencias. El
análi- sis incluye la descomposición al detalle de requisitos de alto nivel, la
construcción de prototipos, evaluación de viabilidad, y la negociación de prioridades.
El objetivo es desarrollar los requisitos de suficiente calidad y detalle que los gerentes pueden construir
estimaciones realistas del proyecto y el personal técnico pueda proceder con el diseño, construcción y
pruebas.
A menudo es útil representar algunos de los requisitos de múltiples maneras: por ejemplo, tanto en
forma textual y gráfica. Los resultados del análisis están en los modelos de requisitos. Los modelos de
requisitos (también conocidos como modelos de análisis) son las necesidades de los usuarios represen-
tados por diagramas, texto estructurado (por ejemplo, listas, tablas o matrices), o combinados. El
análisis también implica dar prioridad a las necesidades mediante el análisis de los requisitos para tomar
decisio- nes sobre su importancia y oportunidad.
Los requisitos elicitados desde los stakeholders y articulados usando modelos de análisis necesitan ser
lo suficientemente claros y completos para posteriormente validar el proceso de requerimientos de
software.
El análisis de los requisitos es principalmente responsabilidad del analista, pero puede involucrar a los
actores clave, tales como: usuarios, clientes y personal técnico quienes son necesarios para entender las
necesidades del usuario.
Como puede ver, una vez identificados a los Stakeholders clave y establecidos los
mecanismos para recopilar la información, se tiene un conocimiento en cuanto a los
requisitos, por lo que realizaremos el análisis de los mismos.
• Facilitar la comunicación entre personal técnico y empresarios. Los modelos permiten que el
equipo vea diferentes aspectos de las necesidades del usuario desde diferentes perspectivas.
• Los modelos de requerimientos se juntan, lo que permite al equipo dar a conocer los requisitos
relacionados e inconsistentes entre modelos. Descubrir y corregir estos errores resulta en
requerimientos de alta calidad.
• Hacer que el proceso de desarrollo de requisitos sea más interesante y atractivo para los
stakeholders. El uso de modelos textuales y visuales ofrece y permite los interesados entender los
requisitos de más de un ángulo.
81 81
Texto-guía: Ingeniería de Requisitos Primer bimestre
• Utilice los diferentes modos de pensamiento humano. Algunas personas piensan con más
precisión con las palabras, mientras que otras son más capaces de entender los conceptos con los
diagramas.
Es importante analizar las necesidades a medida que los provocan: las personas, documentos y fuentes
externas.
• Seleccione varios modelos que ayudan a los usuarios expresar sus necesidades.
• Repetidamente refinar los modelos, validando sus correcciones.
• Aproveche el plan de elicitación de Stakeholders para hacer mejor uso del tiempo de las
personas.
• Revisar el alcance de los modelos cuando nuevas necesidades tiende a surgir.
5. Repita los pasos 3 y 4 como detalles sobre los requisitos que surgen o se revisan.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Figura 4.1: Proceso para realizar la fase de análisis de requerimientos. (Gottesdiener E. , 2005)
Se puede usar una variedad de modelos de requerimientos de usuarios para analizar los requerimientos.
Los modelos representan respuestas a las “4W’s + H” (¿Quién? ¿Qué? ¿Cuándo? ¿Por qué? y ¿Cómo?).
(Siglas en inglés).
83 83
Texto-guía: Ingeniería de Requisitos Primer bimestre
Ciertos modelos son más apropiados para determinar los requerimientos de ciertos dominios de
negocio. Se escoge el modelo de acuerdo a una pregunta de enfoque (¿Quién? ¿Qué? ¿Cuándo? ¿Por
qué? y ¿Cómo?), que proporcione una potencial comprensión entre los requerimientos y el desarrollo
del modelo. Por ejemplo:
Que manejan procesos de negocio y tareas tales como: operaciones de negocios y administración,
procesamiento de pedidos y gestión de inventario. Son muy adecuadas para los modelos “¿Cómo?”. Por
ejemplo, casos de uso y escenarios. Relacionados con modelos “¿Quién? y ¿Por qué?”, que también son
útiles para estos dominios. Por ejemplo: los actores y reglas de negocio.
• Dominios estructurales:
Existen para almacenar y analizar datos, tales como: sistemas de minería de datos, generar consultas
e informes. Son adecuados los modelos “¿Qué?”. Por ejemplo, modelos de datos. También se puede
complementar con los modelos “¿Por qué?”. Por ejemplo, con reglas de negocio.
• Dominios dinámicos:
Que responden a los acontecimientos en constante cambio para almacenar datos y actuar en función
de su estado en un punto en el tiempo. Por ejemplo: los sistemas que gestionan el tráfico en la red, la
adjudicación, las operaciones de un dispositivo mecánico, y otras operaciones en tiempo real. Es muy
adecuado los modelos “¿Cuándo?”. Por ejemplo: tablas de evento-respuesta y diagramas de estado.
También se pueden incluir los modelos: “¿Por qué?” (por ejemplo, con reglas de negocio), “¿Qué?” (por
ejemplo, con modelos de datos), y con “¿Cuándo?” el usuario esta involucrado con interfaces.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Evalúan las condiciones para tomar medidas o decisiones como la logística, la detección de fraudes, la
configuración del producto, y el diagnóstico. La mejor forma de describir es utilizando los modelos “¿Por
qué?”. Por ejemplo: reglas de negocio y las tablas de decisión. Debe ser complementado con modelos
“¿Qué?”. Por ejemplo, modelos de datos.
Estas son sólo directrices. Cada dominio es diferente por lo que debe determinar qué
modelos son los más útiles en el desarrollo de un subconjunto de modelos en forma
preliminar y validación de ellos, y luego ajustar sus selecciones. No es necesario usar todos
los modelos de requerimientos. Puede escoger un subconjunto que sea adecuado al
dominio del problema. Ahorre tiempo a los Stakeholders elaborando unos modelos de alto
nivel, y luego consulte si son útiles.
Actividad recomendada
De acuerdo a la explicación de este apartado, analice e indique cuáles son los modelos
que podría utilizar para el desarrollo de requerimientos, para el caso de estudio de su
localidad.
A continuación en la tabla se indican las técnicas y herramientas para analizar requerimientos de acuerdo
a (Gottesdiener E. , 2005).
Las técnicas y herramientas que se indican en la tabla 4.2, se desarrollan de acuerdo a la forma en que
se apliquen las técnicas de levantamiento de información, por ejemplo: ¿Cómo obtener la información
necesaria para construir un “Mapa de Procesos”?. Evidentemente que es necesario realizar entrevistas,
cuestionarios, revisar documentación existente, etc. Con la finalidad de tener la información necesaria
para poder construir estos modelos, en ciertos casos de ser necesario se tendrá que utilizar técnicas con
un mayor grado de especialización.
85 85
Texto-guía: Ingeniería de Requisitos Primer bimestre
De acuerdo a la tabla 4.2, hay algunos modelos que se desarrollan en base a los requerimientos ya
establecidos e incluso ya especificados, por ejemplo los casos de uso.
Entonces:
A continuación se indican algunas técnicas que deben ser utilizadas y planificadas conforme se realicen
las interacciones en el proceso de desarrollo de requerimientos y de acuerdo a lo que se necesite crear.
El modelado de negocio le ayuda a entender cómo una aplicación de software apoya los procesos de
negocio, y descubre los requisitos que se deben asignar (por ejemplo, la actualización de los
documentos oficiales, guías que hay que volver a trabajar, realizar actividades de capacitación, y la
revisión de los procedimientos operativos). Un proceso de negocio es un conjunto de tareas
relacionadas que crea algo de valor para el negocio. El modelado de negocio también ayuda a definir
procesos eficientes para el uso del nuevo software.
El software que se propone debe integrarse con los procesos de negocios existentes o nuevos, pero no
todos los proyectos de software requieren modelos de negocio. Usted debe considerar el modelado de
negocios, cuando:
• La empresa debe cumplir con las políticas legales o reglamentarias que requieren la intervención
manual, procesos y documentación.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Un mapa de relaciones es un diagrama que muestra qué tipo de información y productos que se
intercambian entre los clientes externos, proveedores y las funciones clave de la organización.
2. Liste las principales entradas y salidas que cada función recibe o produce.
3. Conecte las entradas y salidas de las funciones que usan y producen.
Ejemplo:
87 87
Texto-guía: Ingeniería de Requisitos Primer bimestre
Se puede utilizar el mapa de relaciones para identificar mejoras a los procesos de negocio antes de
iniciar los esfuerzos de la construcción del nuevo software. Así:
Múltiples interfaces externas: muchas entradas y salidas de todas las funciones van y
vienen de los clientes externos y proveedores.
Un mapa de procesos muestra la secuencia de pasos, entradas y salidas necesarias para manejar un
proceso de negocio a través de múltiples funciones, organizaciones o roles de trabajo.
Se utiliza para identificar qué procesos se asignan a la empresa (procesos manuales) y qué se destinará
al software. Los mapas de procesos también sirven como base para la mejora de procesos de negocio.
1. Nombre a los procesos de negocio a ser modelados, comenzando con un verbo de acción.
Darle un nombre sencillo y directo, en positivo (por ejemplo, “La orden está completa”, “El
trabajo está programado,” o “La factura se paga”).
4. Liste los participantes en el proceso de negocio (es decir, áreas funcionales, departamentos o
funciones) en una columna en el lado izquierdo del diagrama.
5. Crear filas horizontales o “carriles” para cada participante, para representar a la entidad de la
organización o el papel donde se realiza el trabajo.
6. Identificar todos los pasos del proceso que se producen entre la activación de eventos y el
resultado.
Ejemplo:
89 89
Texto-guía: Ingeniería de Requisitos Primer bimestre
Inicio
En treg a
so licitud de
ase nta miento
de nota
Si Verifica
En treg a en
centro? Informa ción
del
est udiante
No
Doc. Completa Trámita
problema
Si
1
Ing resa
No So licitud
de trámite
Verifica
informa ción
del est udiente
Doc. Completa
Ing resa So
licitud de
trámite R evisa notifica ción
- Si st ema
Actualiza Tarea
Ing resa
Autoriza ción
Notifica r
culminación de
trámite: C.A,
Est udiante,
Escu ela
F inaliza r
Actividad recomendada
Definir que requerimientos están en el ámbito para reducir en gran medida el riesgo de los proyectos de
software. Evitar por ejemplo la expansión incontrolada de los requisitos a medida que avanza el
proyecto. Representar los requerimientos a un mismo nivel permite establecer un lenguaje común
acerca de los requerimientos y ayuda a articular el límite entre lo que es y lo que está fuera del alcance
del producto.
Una definición clara del alcance del producto también limita el enfoque del proyecto para permitir una
mejor planificación, uso del tiempo y el uso de los recursos. Si el alcance del proyecto no está claro, es
mejor cancelar o retrasar el proyecto hasta que pueda ser aclarado y acordado por los Stakeholders
clave.
A continuación se describen algunos modelos que permiten describir el alcance de los proyectos.
Un diagrama de contexto muestra al sistema en su entorno, con las entidades externas (es decir,
personas y sistemas) que proporcionan y reciben información o material desde y hacia el sistema.
Se lo utiliza para ayudar a los stakeholders de forma rápida y simple a definir el alcance del proyecto,
y centrarse en los insumos que necesita el sistema así como las salidas que ofrece. El diagrama de
contexto ayuda al equipo a obtener modelos de requisitos (por ejemplo, los actores, casos de uso, y
la información de los datos del modelo) y pueden surgir posibles problemas de alcance como nuevas
entidades externas.
1. Dibuje un círculo para representar el sistema, ponga una etiqueta con el nombre del sistema.
Ejemplo:
91 91
Texto-guía: Ingeniería de Requisitos Primer bimestre
SRI
Banco
Normas de pago
Pagos
Lineamientos
Financiero
Procesos MAD
Actividad recomendada
Una tabla evento-respuesta identifica cada evento (por ejemplo: un estímulo de entrada que activa el
sistema para llevar a cabo alguna función) y las respuestas de eventos resultantes de esas funciones.
Se usa para definir todas las condiciones para las que el sistema debe responder, para la definición de
los requerimientos funcionales. (Cada caso requiere una respuesta predecible del sistema.). La creación
de una tabla evento-respuesta también puede surgir como necesidad de acceso a bases de datos
externas o fuentes de archivos.
El formato de las respuestas de evento es “<objeto> siempre a <asunto>” o “el sistema almacena
<Información> “.
Ejemplo:
Las políticas de negocio son las directrices, normas y reglamentos que rigen o condicionan la conducta
de un negocio. Las políticas son la base para la toma de decisiones y el conocimiento que se
implementan en el software y en los procesos manuales. Ya sea impuesta por una agencia externa o
desde dentro de la empresa, las políticas de negocio se usan para agilizar las operaciones, aumentar la
satisfacción y lealtad del cliente, reducir el riesgo, mejorar los ingresos, y cumplir con los requisitos
legales (y por lo tanto mantenerse en el negocio).
Incrementar las
Objetivos ventas en un 25%
de negocio
Ofrecer
descuentos a los
clientes leales
Políticas de negocio
Figura 4.5. Clasificación de las reglas, políticas y objetivos del negocio. (Gottesdiener E. , 2005)
93 93
Texto-guía: Ingeniería de Requisitos Primer bimestre
Se usan para identificar las políticas destinados a los empresarios, que permitirá a la comunidad
empresarial preparar la aplicación de actualización de procedimientos de software, guías, capacitación,
formularios y otros bienes necesarios para hacer cumplir las políticas.
Las políticas asignadas al software deben estar explícitamente definidas como reglas de negocio y
deben estar incluidas al final de la especificación de requerimientos de software. Las reglas de negocio
evolucionan a partir de políticas de alto nivel que a su vez proceden de los objetivos de negocio.
Las políticas se originan ya sea desde el interior de una organización o de una entidad externa, como
una agencia gubernamental.
Algunos equipos de proyecto eligen comenzar identificando las reglas de negocio y luego
asociarlos a las políticas de negocio, en lugar de comenzar con las políticas. Cuestionar las
reglas es una forma de construir normas. Para replantear cada política: ¿Es necesario?
¿Promueve los objetivos de negocio? ¿Se puede identificar claramente por qué la política
es necesaria? ¿Puede la política ser aplicada en el software?. La adición o la aplicación de
las políticas requiere tiempo y dinero.
Ejemplo:
Política de
Ident. Política Propietario Fuente
grupo
Registro BP-01 Los trámites se registran dentro de un Secretaria Manual de
cronograma. centro procesos de la
BP-02 Solo se registran trámites con toda la MAD
documentación.
BP-03 El estudiante es el único que puede
registrar el trámite.
Autorización BP-04 Coordinación académica autoriza y Coordinación Manual de
notifica que se ejecute el trámite. académica procesos de la
BP-05 Revisa la documentación de acuerdo al plan. MAD
Una vez que el alcance del producto está claro, es necesario que analice los requerimientos más al
detalle. Use múltiples modelos, combine modelos para crear un excelente conocimiento de las
necesidades del usuario. Los modelos se unen para comparar los detalles y poder encontrar defectos.
Planifique una secuencia para crear modelos que mejor se articulen a las necesidades. La secuencia,
sin embargo, importa menos que el acto de la iteración entre los modelos para conocer los requisitos y
revelar los defectos de los requisitos. Comience por definir y analizar un modelo, y luego cambie a otro,
de forma periódica regrese a cada modelo a detallar o corregir.
Una tabla de actor identifica y clasifica a los usuarios del sistema en términos de sus funciones y
responsabilidades. Se usa para detectar la falta de los usuarios del sistema, para identificar los requisitos
funcionales como los objetivos del usuario (casos de uso), y para ayudar a los empresarios de aclarar las
responsabilidades del trabajo.
Los actores no representan a personas físicas o a sistemas, sino su rol. Esto significa que cuando una
persona interactúa con el sistema de diferentes maneras (asumiendo diferentes papeles), estará
representado por varios actores. Por ejemplo, una persona que proporciona servicios de atención
telefónica a clientes y realiza pedidos para los clientes estaría representada por un actor «equipo de
soporte» y por otro actor «representante de ventas».
1. Liste los roles que se desempeñan en el sistema y coloque el nombre del rol en la
columna“Actor”de la tabla. No liste como actores a los títulos de trabajo o personas específicas.
En su lugar, abstraiga un listado basado en las necesidades de los actores para conseguir algo
específico con respecto al sistema. (Los actores incluyen personas, otros sistemas, dispositivos
hardware, y temporizadores).
2. Coloque los atributos de cada actor en columnas adicionales. Escriba una descripción breve de
las responsabilidades de cada actor. Agregue más columnas para incluir los otros atributos (si es
necesario), tales como:
• Profesiones relacionadas
• Ubicación
• Nombres de personas
• Nivel de experiencia en el uso del sistema
• Dominio del entorno
• Frecuencia de uso
95 95
Texto-guía: Ingeniería de Requisitos Primer bimestre
Ejemplo:
A continuación se indica la tabla de actores para uno de los trámites, del sistemas de
gestión de trámites de la UTPL.
Actividad recomendada
Utilice un mapa de actores (también conocida como una jerarquía de actor o modelo de usuario)
para mostrar las interrelaciones del actor. Los actores pueden ser escritos en tarjetas (una por ficha) o
dibujados con el Lenguaje de Modelado Unificado (UML).
Cuando varios actores, como parte de sus papeles, también representan un papel más generalizado, se
describe mediante una relación de generalización. El comportamiento del papel general se describe en
una superclase actor. Los actores especializados heredan el comportamiento de la superclase y
extienden ese comportamiento de algún modo.
A decir de (Jacobson, Booch, & Rumbaugh, 2004) “Un caso de uso es una descripción de un conjunto
de secuencias de acciones, incluyendo variantes, que ejecuta un sistema para producir un resultado
observable de valor para un actor”. A continuación detallamos algunas de las características que nacen
de la definición de los casos de uso:
Primer bimestre Texto-guía: Ingeniería de Requisitos
Un caso de uso, se puede expresar que es uno de los usos que se quiere dar al sistema, lo cual también
se puede saber respondiendo a la pregunta ¿Para qué usaríamos el sistema?, para efectos del ejemplo,
piense en un sistema que todos conocemos, como un teléfono celular inteligente (Smartphone), y
hagamos la pregunta ya mencionada ¿Para qué usaría un teléfono inteligente?, piénselo un momento y
haga su propia lista de posibles respuestas.
Ahora bien, la lista podría ser extensa sobre todo por las posibilidades de aplicaciones que se pueden
incluir, sin embargo hagamos una lista básica de cosas que se podrá hacer con este sistema.
1. Recibir llamadas
2. Realizar llamadas
3. Leer mensajes de texto.
4. Escribir mensajes de texto.
5. Capturar fotografías.
6. Capturar video.
7. Enviar mensajes de correo electrónico.
8. Recibir mensajes de correo electrónico.
9. Navegar en internet.
10. Reproducir música.
11. Reproducir video.
12. Manejar agenda de actividades diarias con alarmas.
Si lo analiza un poco y aunque la lista podría estar incompleta, piense por un momento en cada ítem de
esta lista, todos representan algo que el usuario puede hacer con el teléfono celular. Cada uno de estos
ítems es lo que conocemos como casos de uso.
Note que esta lista no incluye aspectos demasiado generales que no nos dejen claro lo que
hace o debería hacer el sistema, por ejemplo “gestionar llamadas telefónicas”o“administrar
mensajes de correo electrónico”, tampoco acciones específicas que el usuario debe hacer
para obtener el resultado, como por ejemplo presionar la tecla llamar (Send), de hecho el
presionar la tecla es un paso del caso de uso “Realizar llamadas”, por tanto las acciones o
interacciones con el caso de uso según la definición deben dar valor al trabajo del usuario,
y desde esta óptica sólo pueden ser casos de uso las tareas que se puede hacer con el
sistema.
Los nombres de los casos de uso deben ser expresiones verbales que describen algún comportamiento
del vocabulario del sistema que se está modelando, es muy común al menos al inicio colocar nombres
que describen las actividades necesarias para completar el funcionamiento de un caso de uso, o por el
contrario definir nombres muy amplios que reflejan módulos completos de una aplicación y reflejan
ninguna acción específica del sistema.
97 97
Texto-guía: Ingeniería de Requisitos Primer bimestre
Ejemplos de nombres de casos uso pueden ser: registrar matrícula, crear ficha de estudiante, anular
matrícula, solicitar matrícula; como nombres incorrectos por ser actividades tendríamos: Ingresar
datos personales, validar contraseña, ingresar fecha de nacimiento, fijar monto a depositar, seleccionar
contacto; y finalmente ejemplos de nombres incorrectos demasiado generales: Gestión académica,
cobranzas, realizar inventario.
La notación que usa UML para representar los casos de uso es una figura de óvalo. En la figura 4.6 se
muestra algunos de los casos de uso identificados para el teléfono celular. Tenga en cuenta los nombres
que se han colocado para cada uno de los casos de uso.
Figura 4.6: Representación gráfica de los casos de uso que implementa un teléfono celular
Ahora bien, los casos de uso, siempre van asociados a un actor que podríamos decir que es un usuario,
un dispositivo u otro sistema que está en condiciones de interactuar con la funcionalidad que
representa el caso de uso.
Si analizamos la definición siguiente “un actor representa un conjunto coherente de roles los usuarios y
los casos de uso representan una interacción con estos. Normalmente, un actor representa un rol que es
desempeñado por un humano, un dispositivo de hardware o cualquier otro sistema al interactuar con
nuestro sistema”4, podemos llegar a las siguientes conclusiones:
• Un actor no es necesariamente una persona, es un rol o un conjunto de roles, por lo tanto no hace
referencia a un individuo en particular, sino a varios individuos representados en el mismo rol.
• Una misma persona puede jugar varios roles, pero el actor en cada caso es diferente.
• La relación que une al actor con el caso de uso se denomina interacción, y este siempre es de dos
vías, es decir está en condiciones de enviar o recibir mensajes desde y hacia los casos de uso.
• Un actor es un elemento externo al sistema, es decir nunca forma parte del mismo.
3Un actor se representa con un monigote, y por tratarse de un rol, se lo describe en singular. La figura
4.7 representa la relación entre un actor y varios casos de uso.
El modelado de casos de uso es una técnica que no se limita a un proceso de desarrollo o a una
tecnología específica, por el contrario pueden usarse para cualquier paradigma de desarrollo de
software, esto por la sencilla razón de que los casos de uno especifican el qué, no el cómo.
Hasta ahora hemos identificado tres componentes del modelo: los actores, los casos de uso y las
asociaciones, veamos un ejemplo que nos permita comprender el significado de cada uno de estos
elementos, notará que más allá de la definición, lo que importa es la interpretación que se le debe dar a
cada uno de ellos.
99 99
Texto-guía: Ingeniería de Requisitos Primer bimestre
Un caso de uso además incluye todas las situaciones que pueden darse al momento de ejecutarlo, a
cada una de estas situaciones se la conoce como una instancia del caso de uso y entre estas instancias
podemos distinguir el flujo básico de eventos al cual también podemos decir que es el flujo normal
y las demás instancias se pueden definir como flujos alternos o excepcionales. A la combinación de
flujo normal con uno o más flujos alternos se conoce como escenario, y los escenarios representan por
tanto todo lo que puede darse en el caso de uso y en la gran mayoría de las veces es preciso definir los
escenarios exitosos y los escenarios fallidos.
La especificación de los flujos de eventos y escenarios se verá con detalle mas adelante. Mientras tanto
avancemos estudiando algunos otros elementos del modelado de casos de uso.
Actores
Cuando hablamos de comunicación, decimos que es el paso de mensajes entre el actor y el caso de uso.
Importante:
Un actor siempre es externo al sistema, es decir no forma parte del mismo, es preciso
tenerlo en cuenta al momento de definirlos.
La única relación posible entre casos de uso y actores es la asociación, en la figura 4.8 se aprecia las
relaciones entre actor y caso de uso. La asociación es una relación bidireccional por lo tanto el actor y el
caso de uso pueden enviar o recibir información.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Las puntas de flecha determinan el origen de la comunicación, normalmente es un detalle que se suele
pasar por alto, pero puede ser valioso al momento de modelar las demás partes del sistema.
Relaciones entre actores
Los actores no se relacionan directamente, por el hecho de ser externos, no se representan relaciones
entre ellos, sino únicamente la relación de estos con los casos de uso. Sin embargo pueden existir
categorías generales de actores así como también categorías especializadas, las cuales se representan
a través de una relación de generalización, que en principio tiene las mismas características que en los
modelos de clases y se representa con una flecha que va desde el actor especializado hacia el actor
general, como se aprecia en la figura 4.10, Donde se ve que un actor docente puede especializar como
investigador, y esto en el sistema significa que el docente investigador puede trabajar con los casos de
uso de docente, mas los específicos de investigador.
Actividad recomendada
7. ¿Por qué la asociación entre el caso de uso “Sincronizar información” y el actor iTunes no
tiene flecha?
101 101
Texto-guía: Ingeniería de Requisitos Primer bimestre
b) Modifique el diagrama de casos de uso, de modo que permita obtener un actor especializado
que sea capaz de transmitir el audio a través de una frecuencia en FM, además agregue un caso
de uso que le permita grabar notas de voz ¿será necesario un nuevo actor?¿Se agregan nuevas
funcionalidades al actor usuario?
Con el fin de que pueda comparar sus respuestas, vamos a responderlas explicando detalles que le
servirán de guía para entender el modelo.
7. ¿Por qué la asociación entre el caso de uso Sincronizar información y el actor iTunes no tiene
flecha?57
Porque no es importante representar quien inicia la interacción, y cualquiera de los dos puede
iniciarla.
7 iTunesTM, es un aplicativo de Apple para reproducir música en el ordenador y que contiene funciones que permiten
sincronizar el contenido del iPodTM
Primer bimestre Texto-guía: Ingeniería de Requisitos
Para solucionar el planteamiento, es preciso considerar varias de las características de los actores, en
este caso cuando hablamos de actores especializados nos referimos a la relación de herencia entre
audífono y un nuevo actor al que denominaremos trasmisor fm, en este caso para tener una mejor
comprensión hemos cambiado el nombre al actor audífono por el de salida audio, con lo cual puede
ser cualquier dispositivo capaz de producir el sonido necesario para que sea escuchado por un usuario,
el nuevo actor entonces sería capaz al igual que su actor general de interpretar la señal de audio y en
lugar de producir los sonidos las convertiría en ondas de radio de frecuencia modulada para que
sea interpretadas por cualquier radio, que en este caso no es necesario colocar en nuestro diagrama
debido a que no interactúan directamente con el sistema.
Por otro lado se nos pide que agreguemos un caso de uso que sea capaz de grabar notas de voz, ello
implica que alguien debe activar este caso de uso; en este proceso sería el actor usuario, por lo tanto
si se agregan una nueva funcionalidad, pero el dispositivo no tiene un micrófono, al menos no hemos
definido que lo tenga, por tal motivo agregaremos un actor que no forma parte del sistema, pero está en
condiciones de recoger los sonidos de los usuarios y procesarlos en el sistema, por lo tanto colabora con
el caso de uso grabar notas de voz, que se aprecia en la figura 4.11
¿Qué le pareció el ejercicio? Con toda seguridad le ayudó a clarificar el significado de los casos de uso,
actores y las asociaciones entre ellos, sin embargo esto no es suficiente para aplicarlo en el modelado
de todos los requerimientos del sistema, hacen falta estudiar las relaciones entre casos de uso, que
tocamos en el siguiente tema.
Recuerde que si tuvo alguna dificultad con el contenido de esta asignatura, es momento de recurrir a su
profesor tutor.
103 103
Texto-guía: Ingeniería de Requisitos Primer bimestre
Conforme avanza el modelado de requisitos, es preciso optimizar los modelos de casos de uso, esto con
el propósito de mejorar la reutilización de requerimientos sin sacrificar la claridad y la compresión de los
mismos, además una estructuración adecuada de los casos de uso puede favorecer la administración de
requerimientos.
• Comportamiento común a varios casos de uso, se lo identifica porque aparece en los flujos de
varios casos de uso.
• Comportamiento opcional, es cuando cierta parte del flujo se ejecuta solo en ciertos casos y no
puede ser puesto como un flujo alterno.
• Comportamiento excepcional, aquel que no sucede en condiciones normales del caso de uso.
• Comportamiento que se desarrollará en iteraciones futuras, esto con el fin de no retrasar la
implementación de los casos de uso considerados prioritarios.
Importante :
Es recomendable no empezar a estructurar los casos de uso hasta que tenga un grupo
de requerimientos comprendidos y aceptados por los usuarios, de lo contrario puede
crear serias confusiones.
En virtud de esta factorización se puede identificar tres tipos de relaciones entre casos de uso:
• Relación de inclusión.
• Relación de extensión.
• Relación de herencia.
Solamente para reconocer el origen de los casos de uso llamaremos como caso de uso base al caso de
uso original y caso de uso agregado a aquel que se obtuvo producto de la optimización del modelo.
A continuación vamos a estudiar cada una de estas relaciones con ejemplos ilustrativos para cada caso,
ponga especial atención sobre todo para distinguir entre las relaciones de inclusión y extensión.
La relación de inclusión nace como producto de la factorización del comportamiento de varios casos de
uso, a los cuales se les extrae el comportamiento común y se lo coloca en un nuevo caso de uso, y para
que los casos de uso base obtengan ese comportamiento deben invocarlo mediante la inclusión.
Primer bimestre Texto-guía: Ingeniería de Requisitos
En la inclusión, el caso de uso base invoca explícitamente al caso de uso añadido y su comportamiento
depende de él, pero ninguno de los dos tiene acceso a los atributos del otro. El comportamiento del
caso de uso agregado se dice entonces que está encapsulado y por tanto puede ser reutilizado por
varios otros casos de uso base.
Recuerde:
Los casos de uso añadidos no nacen como los casos de uso base de las necesidades
de los usuarios, estos nacen como producto de la optimización del modelo, por lo cual
estos no tienen relación directa con los actores, sino solo con otros casos de uso.
La relación de inclusión puede usarse para reutilizar el comportamiento, o simplemente para optimizar
el modelo de forma que cierto comportamiento quede encapsulado.
El ejemplo más común de un caso de uso que es incluido en otros caso de uso es el de autenticar
usuario, sin embargo este no necesariamente es requerido en todos los sistemas.
Ejemplo:
A nuestro modelo del reproductor de audio y video iPod, vamos a analizarlo para
identificar comportamiento común que pueda factorizarse y más aun reutilizarse.
Obviamente es necesario tener las especificaciones de los casos de uso, al menos los
esquemas para determinar este comportamiento, sin embargo vamos a intuir un poco para obtener
casos de uso añadidos para nuestro modelo.
Si considera el diagrama de la figura 4.8, vemos dos casos de uso cuyas funcionalidades podría tener
algo en común, se trata de Reproducir música y reproducir video, en ambos casos será necesario buscar
el archivo de audio o de video que se desea reproducir, y si se lo implementa tal cual está, tocará repetir
la funcionalidad que busca los archivos que el usuario desea reproducir, esto nos da la oportunidad
de factorizar estos casos de uso y obtener un nuevo caso de uso al que podríamos denominar como
“seleccionar archivos”.
105 105
Texto-guía: Ingeniería de Requisitos Primer bimestre
Si agregamos parcialmente el flujo de eventos a estos casos de uso debería verse de la siguiente manera:
Para comprender mejor cómo funciona la relación de inclusión observe en la figura 4.14 cómo el flujo
de eventos se transfiere.
En un determinado punto del flujo de eventos del caso de uso base, se incluye el comportamiento del
caso de uso incluido y una vez que este se ejecuta totalmente, retorna el control al siguiente punto
donde quedó el caso de uso original.
8 IBM Corporation (2003). Mastering requirements with use cases. Ob. cit. p. 10-9
Primer bimestre Texto-guía: Ingeniería de Requisitos
Como se aprecia en el ejemplo, la relación de inclusión no es condicional, si el flujo de eventos del caso
de uso base llega al punto de inclusión, el caso de uso incluido siempre se ejecuta, así mismo puede
suceder que el flujo de eventos nunca llega a un escenario que deba incluir el caso de uso.
La relación de extensión conecta una extensión de caso de uso con el caso de uso base, es necesario
definir en qué lugar del caso de uso base incorporar el punto de extensión. En UML esta relación se
representa con una flecha que va desde la extensión del caso de uso hacia el caso de uso base, como se
aprecia en la figura 4.15.
El uso de la relación de extensión “significa que un caso de uso base incorpora implícitamente
el comportamiento de otro caso de uso en el lugar especificado indirectamente por el caso de
uso que extiende al base. El caso de uso base puede estar aislado pero, en algunas condiciones, su
comportamiento puede extenderse con el comportamiento de otro caso de uso”, los lugares donde se
incorpora el comportamiento del otro caso de uso se denominan puntos de extensión.”97
Desde el punto de vista del usuario, una relación de extensión denota un comportamiento opcional del
sistema, el cual es requerido en determinadas condiciones, también es posible utilizar esta relación para
modelar varios flujos que se pueden insertar en un punto dado y que son controlados explícitamente
por el actor.
Ejemplo:
107 107
Texto-guía: Ingeniería de Requisitos Primer bimestre
Para representar de mejor forma el comportamiento de esta relación observe la figura 4.17.
Otra variante de las relaciones entre casos de uso es la generalización, que al igual que las dos anteriores
factoriza cierto comportamiento de los casos de uso para poder obtener variantes de los mismos. Esta
relación es similar a la generalización de las clases es decir hay un caso de uso padre del cual uno o
más casos de uso hijos heredan sus características y especializan cierto comportamiento por tanto una
instancia de un caso de uso hijo se puede usar en cualquier lugar donde se requiera una instancia del
caso de uso padre, pero no lo contrario.
La relación de generalización se representa en UML con una línea con una punta de flecha dirigida hacia
la clase padre, como se muestra en la figura 4.18.
10 Rational University (2003). Mastering requirements with use cases. Ob. cit. p. 10-14
Primer bimestre Texto-guía: Ingeniería de Requisitos
Ejemplo:
En nuestro ejemplo, optimizaremos el modelo de casos de uso para tener un solo caso
de uso reproducir medio que tenga la funcionalidad de reproducir el archivo de audio
y de este obtendremos un caso de uso hijo que se especialice en reproducir video
que funciona igual que su padre, pero agrega características relacionadas con el control de video que
no dispone su padre, además se evita la relación de inclusión con el caso de uso seleccionar archivos
haciendo que el modelo sea mucho más claro. Además se agrega otro caso de uso denominado grabar
notas de voz junto con un actor adicional que permita dicho comportamiento para el sistema, con ello
podrá visualizar todas las relaciones estudiadas en un solo diagrama.
Figura 4.19: Modelo de casos de uso que todas las relaciones entre casos de uso
Como puede apreciar los diagramas de casos de uso son muy expresivos y sobre todo versátiles, en el
ejercicio que hemos desarrollado hasta ahora ha sido fácil ir actualizando el modelo.
109 109
Texto-guía: Ingeniería de Requisitos Primer bimestre
Los diagramas de casos de uso representan el comportamiento externo del sistema, en este sentido
permiten la representación del contexto del sistema y también los requisitos. En el primero caso se usa
una línea que establece los límites del sistema diferenciándolo de los elementos externos al mismo y
en el segundo caso se usan para especificar lo que el sistema debería hacer sin detallar el cómo lo hace.
Según (Jacobson, Booch, & Rumbaugh, 2004), para modelar el contexto del sistema deben seguirse los
siguientes pasos:
1. Identificar las fronteras del sistema decidiendo los comportamientos que formarán parte de
él y cuáles serán ejecutados por entidades externas.
2. Hay que identificar los actores en torno al sistema, considerando qué grupos requieren
ayuda del sistema para llevar a cabo sus tareas; qué grupos son necesarios para ejecutar las
funciones del sistema; qué grupos interactúan con el hardware externo o con otros sistemas
de software; y qué grupos realiza funciones secundarias de administración y mantenimiento.
4. Hay que proporcionar un estereotipo para cada uno de los actores, si se ayuda a entender el
sistema.
Para modelar los requisitos del sistema con casos de uso, (Jacobson, Booch, & Rumbaugh, 2004) propone
los siguientes pasos:
2. Hay que considerar el comportamiento que cada actor espera del sistema o requiere que se
le proporcione.
Primer bimestre Texto-guía: Ingeniería de Requisitos
4. Hay que factorizar el comportamiento común en nuevos casos de uso que puedan ser
utilizados por otros.
Ahora bien si se toma en cuenta los requerimientos el proceso para crear los casos de uso es el siguiente:
ACTORES
Recordemos que los actores son los roles que desempeñan los usuarios, dispositivos u
otros sistemas que son capaces de interactuar con nuestra aplicación, por lo tanto en este
paso se precisa identificarlos y asociarlos con los requisitos. Esta información ya la tenemos
establecida en el documento de visión que expresa las necesidades junto con el documento
de especificación de requisitos.
A continuación se presentan algunas preguntas útiles preguntas que nos pueden ayudar a identificar a
los actores.
Una vez de identificados los casos caso de uso, es preciso describirlos, para ello se puede usar la
siguiente estructura:
Descripción
Enuncie las funciones que el actor debe desempeñar con el sistema y sus requerimientos
Conforme se aprecia la tabla 4.2, los datos necesarios en una primera etapa son: nombre del actor, el
tipo que corresponde a una de las categorías indicadas (usuario, sistema externo, dispositivo externo),
la descripción especificada en términos del proceso de negocio vinculado al sistema y las funciones o
requerimientos que cumpliría con el sistema. Esta información es fundamental para el momento de
identificar los casos de uso.
111 111
Texto-guía: Ingeniería de Requisitos Primer bimestre
Ahora es necesario validar si todos los actores han sido definidos, si no se lo ha hecho existe la
probabilidad de omitir aspectos importantes que debe tener el sistema. Para ello IBM Corp. Propone
que se puede intentar responder las siguientes preguntas:
• ¿Se ha reportado para su modelado todos los roles en el entorno del sistema?
• ¿Se ha asociado cada uno de los actores con funcionalidades del sistema?
• ¿Se puede nombrar al menos dos personas para asumir un rol cualquiera?
• ¿Puede alguno de los actores desempeñar roles similares frente al sistema? Si es posible, júntelos
en un solo actor.
CASOS DE
USO:
Los casos de uso nacen del proceso de abstracción mediante el cual se establecen las funcionalidades de
los actores. Puesto que en el paso anterior ya se definió lo que los actores harían frente al sistema, ahora
es momento de refinar y organizar esas funciones en casos de uso. Para ello pueden servir de guía las
siguientes interrogantes:
o ¿Será el actor capaz de crear, almacenar, cambiar, remover o simplemente leer información
del sistema? Si es capaz ¿por qué?
Las respuestas a estas preguntas permitirá definir una lista de casos de uso o funcionalidades que
deberá tener el sistema para atender los requisitos, importante en este caso es asegurase de que para
cada uno de los requisitos funcionales hay uno o más casos de uso que los soportan y que cada caso de
uso es la respuesta a al menos un requisito de los usuarios, a estos casos de uso habrá que agregar otros
propios del sistema como aquellos que tienen que ver con temas de seguridad, controles de acceso,
configuración, etc.
Para tener una visión más clara de las funcionalidades, es recomendable representar visualmente los
casos de uso, y luego intentar asociarlos con los actores.
El siguiente paso es realizar una descripción breve de los casos de uso, para ello es recomendable
numerar cada uno de los casos de uso, asignarles un nombre y realizar una descripción de alto nivel.
Algunos autores llaman a estos como casos de uso de alto nivel. La tabla 5.2 es una plantilla adecuada
para este propósito.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Desde el punto de vista de los requerimientos lo casos de uso son fundamentales para definir el
comportamiento dinámico del sistema, los escenarios se pueden representar mediante diagramas
de interacción y la especificación de los comportamientos específicos con diagramas de actividades,
además en base a las descripciones de los casos de uso se puede modelar las interfaces del sistema, es
decir las pantallas que verá el usuario, estas se pueden usar para desarrollar prototipos, casos de prueba
etc.
Figura 4.21: Proceso de Abstracción de casos de uso. (Jacobson, Booch, & Rumbaugh, 2004)
Cada organización opera en base a un amplio conjunto de políticas, leyes y normas. Muchas de
las organizaciones dependiendo del ámbito y el lugar de operación deben cumplir con leyes
gubernamentales. Todos estos principios de control para la operación de las organizaciones se las
conocen como reglas del negocio. Ciertas reglas tienen que considerarse como parte del control del
software, tal es el caso de nuestro país (Ecuador) en el tema de la facturación; pero otras reglas son parte
del proceso y tienen que hacerse un control humano.
Las reglas del negocio son importantes en la definición de requisitos funcionales ya que permiten
establecer las capacidades que el sistema deberá tener para cumplir con las normas. Por tanto es
imprescindible que estas reglas estén a mas de bien definidas, bien documentadas para su correcta
interpretación y aplicación. Cuando las normas no están documentadas y están solamente en la cabeza
de expertos o dirigentes, cuando salgan o se jubilen existirá un vacío del conocimiento de éstas reglas.
Existen diferentes criterios para hacer una clasificación de los diferentes tipos de las reglas del negocio.
En la figura 4.22 se muestra una clasificación de cinco reglas de negocio que se consideran en una
organización.
113 113
Texto-guía: Ingeniería de Requisitos Primer bimestre
Restricciones
Hechos Acciones
facilitadoras
Cálculos
Inferencias
A continuación vamos a describir las reglas más comunes que se pueden identificar de cara a los
procesos de una organización. Este enfoque se basa en lo expresado en (Wiegers, 2003).
Hechos
Los hechos son afirmaciones verdaderas acerca del negocio. Los hechos describen asociaciones o
relaciones entre los términos del negocio. Cabe indicar que los hechos no se traducen en requisitos
funcionales. Los hechos son verdades inmutables por cuanto definen los datos y sus atributos. A
continuación tenemos algunos ejemplos:
c) Cada elemento de línea en un pedido representa una combinación específica de químicos, grado,
tamaño del envase, y el número de contenedores.
d) De que los boletos no reembolsables sin pagar tasa alguna cuando el comprador cambia el
itinerario.
Restricciones
Las restricciones sirven para limitar las acciones que el sistema o los usuarios deban realizar. Los
ejemplos sobre restricciones son:
a) Un prestatario que es menor de 18 años de edad debe tener un padre o un tutor legal como aval
en el préstamo.
c) Un usuario puede solicitar un producto químico en la lista de riesgo de nivel 1 sólo si ha recibido
entrenamiento con peligrosos químicos en los últimos 12 meses.
Primer bimestre Texto-guía: Ingeniería de Requisitos
d) Todas las aplicaciones de software deben cumplir con las regulaciones gubernamentales para el
uso de personas con discapacidad visual.
e) La correspondencia no puede mostrar más de cuatro dígitos del seguro social el número de la
póliza de seguro.
f) Las tripulaciones de vuelo de avión comercial debe recibir por lo menos ocho horas de descanso
ininterrumpido en cada período de 24 horas.
Las acciones facilitadoras son aquellas posibilidades en las que desencadena una regla bajo
determinadas condiciones. La norma podría dar lugar a la especificación de algunas funciones de
software, cuyas condiciones conducen a la acción de complejas combinaciones de valores lógicos.
En (Wiegers, 2003) se indica que las tablas de decisión son una buena alternativa para documentar las
reglas de negocio que consideran cuestiones lógicas. Cuando se realiza una declaración de la forma “Si-
entonces” es un indicio de que se está especificando una acción facilitadora.
Inferencias
Una inferencia también consiste en declararla usando la forma “si - entonces” de acuerdo a las acciones
que permitan las reglas de negocio. Para este caso la clausula “entonces” implica un hecho o parte de
información, no una acción a tomar. Algunos ejemplos de inferencias son:
• Si el pago no es recibido dentro de los 30 días calendario a partir de la fecha, entonces la cuenta
está en mora.
• Si no se puede enviar el pedido en un plazo de 10 días a partir de la notificación de pago, entonces
el pedido está en estado pendiente de envío.
Cálculos
Esta clase de reglas de negocio se ejecutan usando fórmulas matemáticas o algoritmos. Muchos cálculos
se derivan de reglas externas a la organización, como es el caso, en nuestro medio las retenciones por
concepto de venta. Estas reglas de cálculo permiten especificar requerimientos de software de acuerdo
a como se las va descubriendo.
Las reglas de cálculo pueden ser expresadas en formato de texto o alternativamente representarse de
forma simbólica, a continuación se especifican algunos ejemplos:
115 115
Texto-guía: Ingeniería de Requisitos Primer bimestre
• El envío de la orden dentro de la localidad y que pesa hasta 2 kilos es de 12.50 dólares, a partir de
allí 15 centavos por cada 100 gramos.
Actividad recomendada
Al inicio del proyecto un simple catálogo será suficiente pero de acuerdo al desarrollo de las actividades
del proyecto o aquellas grandes organizaciones cuyas operaciones de negocio o sistemas de información
son complejas, las reglas deben establecerse en una base de datos de reglas de negocio. Existen
herramientas comerciales que permiten la gestión de las reglas cuando el catalogo es demasiado grande
y no se puede realizar con un tradicional procesador de texto.
La documentación de las reglas de negocio tiene que ser de lo más sencillo posible, de tal manera que el
equipo de desarrollo lo utilice con eficacia; la documentación se realizará sin utilizar complejos catálogos
que confundan a cualquier persona que haga uso de las mismas.
Al adquirir cierta experiencia para definir las reglas de negocio se deben ir documentando en plantillas
estructuradas para ir definiendo y clasificando en los tipos apropiados. Comúnmente las plantillas
describen patrones de palabra clave y frase que estructuran las normas de forma coherente. También
es factible utilizar una base de datos, una herramienta de gestión, un gestor de reglas, un motor de
reglas; sin embargo para empezar se puede probar con la plantilla que se muestra a continuación.
(Wiegers,
2003)
La plantilla para documentar las reglas deberá tener los siguientes datos:
• Un identificador.
• Pertenecer a un grupo.
• Si es estática o dinámica.
Ejemplo:
A continuación se presenta una tabla en la que se indica mediante un ejemplo las reglas de negocio.
Estática o
ID Definición de la regla Categoría Grupo
Dinámica
Cada contenedor de productos químicos tiene un código Política
HEC-001 Hecho Estática
de barras de identificador único. corporativa
Cada elemento de línea en un pedido representa una
Política
HEC-002 combinación específica de químicos, grado, tamaño del Hecho Estática
corporativa
envase, y el número de contenedores.
Todas las aplicaciones de software deben cumplir con las
Política
REC-012 regulaciones gubernamentales para el uso por personas Restricción Dinámica
corporativa
con discapacidad visual
Como se puede ver en la tabla anterior la columna de ID nos permite identificar y hacer el seguimiento
respectivo de la norma con respecto a los requerimiento funcionales. La columna Tipo para saber la
categoría o clase de regla. La columna de ESTATICA O DINAMICA para hacer el seguimiento de la regla y
ver si cambia con el tiempo. La columna de ORIGEN para saber si son políticas corporativas o de gestión.
Durante la captura de requisitos, al aplicar cualquier técnica el analista deberá descubrir las reglas, ya
que en la mayoría de los casos, estas no están definidas. El analista deberá establecer las fuentes así
como las preguntas necesarias para descubrirlas. En (Wiegers, 2003) se sugiere algunas fuentes en la
que se relaciona una pregunta para descubrir el contexto; en la figura 4.23 se muestra estas fuentes.
Luego de identificar y documentar las reglas de negocio es necesario determinar cuáles serán
implementadas en la solución. Algunas normas se incluirán en los casos de uso por lo que se incluirán
en los requisitos funcionales que harán cumplir la norma.
117 117
Texto-guía: Ingeniería de Requisitos Primer bimestre
El analista de requerimientos juega un importante rol a la hora de utilizar las estrategias para dominar
el contexto de la organización, será quien defina cuales son los interesados más idóneos y que pueden
colaborar en el equipo de trabajo. Para poder trabajar de forma coordinada y armónica los interesados
deberán estar dispuestos a realizar los esfuerzos necesarios para que el proyecto salga adelante.
Otro aspecto que es importante es lo relacionado a todas aquellas normas, políticas y leyes tanto a
nivel interno o externo que hacen que se cumplan bajo ciertos criterios cada una de las actividades
de un proceso determinado. Las restricciones son tan importantes que deben de ser debidamente
tratadas y analizadas. El obviar alguna de ellas será motivo de serios inconvenientes ya que no enfocaría
apropiadamente los requerimientos.
Es necesario hacer la priorización para asignar los recursos a los requisitos más importantes y tomar
decisiones acerca de qué y cuándo implementar los requerimientos . La priorización también ayuda a
determinar cuando implementar requerimientos en caso que se desarrolle de forma incremental.
• Para software comercial incluya usuarios finales y personas de desarrollo del producto,
vendedores, reguladores del departamento y agencias, y soporte técnico. Para desarrollos
de sistemas internos incluya a usuarios finales, personas del departamento regulatorio, al
product champion y personal de soporte técnico.
• Incluir al personal técnico (por ejemplo, los diseñadores, los desarrolladores, y el director
del proyecto) como asesores del proceso de priorización. El personal técnico debe estar
familiarizado con el software existente y con los riesgos asociados con el proyecto.
Primer bimestre Texto-guía: Ingeniería de Requisitos
Los criterios son factores que ayudan a evaluar la importancia relativa de los requisitos basados en
qué tan bien cumplen con la exigencia que se desea alcanzar.
• Comparar los criterios en pares. Pregunte: “¿Es el <Criterio A> más importante que el
<Criterio B>?”
• Asignar un mayor peso a los criterios que son más importantes que otros.
5. Crear una matriz de criterios para demostrar la fuerza de la correlación entre la exigencia y los
criterios.
• Coloque las características (es decir, conjuntos de casos de uso, lógicamente relacionadas
declaraciones requisitos, o agrupaciones de cualquier requisitos relacionados lógicamente
que se define en el primer paso) en las filas de la matriz. Cada fila debe incluir una o más
características que pueden ser liberadas de forma independiente.
• Utilice una escala de 3, 6, 9 (o mecanismo de clasificación de otro tipo) para separar el valor
de la clasificación. Los requisitos con una puntuación baja correlacione con un 3, los que
tienen una correlación media con un 6, y los que tienen una fuerte correlación con un 9.
• Haga que los interesados revisen los resultados discutirlos, explicando sus puntuaciones.
También se puede usar un conjunto de criterios, como es: valor, costo y riesgos para construir una matriz
de priorización.
Se ha concluido el estudio de esta unidad, por lo que conviene comprobar cuánto se ha asimilado de los
temas tratados para lo cual es necesario desarrollar las autoevaluaciones de conocimiento.
119 119
Texto-guía: Ingeniería de Requisitos Primer bimestre
Autoevaluación 4
Lea detenidamente la afirmación y escriba una V si considera que es verdadera o una F si no lo es, en el
paréntesis respectivo.
1. Un proceso de negocio es un conjunto de tareas relacionadas que crea algo de valor para el negocio.
( )
8. Los mapas de proceso se utiliza para identificar qué procesos se realizan de forma manual y qué se
( )
destinará al software.
9. Un caso de uso muestra al sistema en su entorno, con las entidades externas (es decir, personas y
sistemas) que proporcionan y reciben información o material desde y hacia el sistema. ( )
10. Las políticas de negocio son las directrices, normas y reglamentos que rigen o condicionan ( )
la conducta de un negocio.
a.
b.
c.
d.
e.
Primer bimestre Texto-guía: Ingeniería de Requisitos
2. Completelasiguientetablaacercadelasherramientasytécnicasparaanálisisderequerimientos.
Ir a
solucionario
121
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
SEGUNDO BIMESTRE
CONTENIDOS CRONOGRAMA
COMPETENCIAS INDICADORES DE ACTIVIDADES DE
UNIDADES/TEMAS ORIENTATIVO
ESPECÍFICAS APRENDIZAJE APRENDIZAJE
Tiempo Estimado
Aplicar técnicas de • Documenta las UNIDAD 5: • Revisión de
modelado y necesidades de los ESPECIFICACIÓN DE contenidos del Semana 1, 2 y 3
documentación de usuarios. REQUERIMIENTOS capítulo 5 en el • 12 horas de
especificaciones de • Identifica medios de 5.1 Proceso de texto guía. autoestudio
software. verificación de las especificación de • Lectura • 12 horas de
necesidades de los requerimientos. comprensiva. interacción.
usuarios 5.2 Técnicas y • Desarrollo de
• Identifica los herramientas para actividades
elementos para especificar recomendadas en la
documentar los requerimientos. guía y ejercicios
requerimientos de propuestos en el
software texto básico.
• Identifica modelos • Interacción en el
de verificación y EVA.
validación de los UNIDAD 6: VALIDACIÓN • Revisión de Semana 4
requerimientos de DE REQUERIMIENTOS contenidos del
Software 6.1. Contexto de la capítulo 6 en el • 4 horas de
validación de requisitos. texto guía. autoestudio
6.2. Validación de • Lectura • 4 horas de
Requisitos comprensiva. interacción.
• Desarrollo de
actividades
recomendadas en la
guía y ejercicios
propuestos en el
texto básico.
• Interacción en el
EVA.
123 123
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
q
UNIDAD 5: Especificación de Requerimientos
La ERS es la base para la planificación del proyecto, diseño y codificación, así como la base para las prue-
bas del sistema y la documentación de usuario. Se debe describir completamente el comportamiento
del sistema bajo diferentes circunstancias, este, no debe contener detalles de diseño, construcción,
pruebas o de gestión del proyecto y también restricciones de implementación.
Estimado estudiante, es necesario que ponga especial atención al proceso que se indica en la figura
5.1; ya que cualquiera sea la naturaleza del proyecto o el ámbito, los principales documentos que se
elaboran en esta fase, es el objetivo del proceso de desarrollo de requisitos. Recuerde tal como se indicó
en la unidad 1, el resultado del desarrollo es la especificación de los requisitos y la gestión gira en torno
a estas especificaciones, por lo tanto la calidad del documento de especificación de requerimientos
reflejará la calidad del sistema que se construya.
Recuerde que en la elicitación se aplican técnicas para poder obtener información, mientras que en
el análisis se utilizan modelos que permiten organizar esa información; con todo esto se procede a
documentar de acuerdo al proceso que se indica a continuación.
Documentar los Verificar las Documentar los necesiadades del Verificar los requerimiento
requerimientos de usuario requerimientos de
usuario de software
software
Validar
125 125
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Documentar los requisitos desde el punto de vista del usuario consiste en elaborar un documento de
necesidades de los usuarios (que se describe más adelante). Incluyen los modelos de análisis y de la
prosa narrativa. La documentación permite Describir las características y el comportamiento del sistema
que se propone desde el punto de vista del usuario. Esta descripción actúa como un puente entre las
necesidades del usuario y la especificación de requisitos de software. Más adelante se estará analizando
y describiendo la plantilla utilizada para el efecto.
Compruebe que los requisitos de los usuarios describen lo que los usuarios tienen que ver con el
sistema. Asegúrese de que los requisitos se derivan de los requerimientos del negocio (es decir, la visión
del producto, metas y objetivos del proyecto). También es necesario que los Stakeholders comprueben
que los requisitos estén completos, consistentes y de alta calidad. Revise la documentación, según sea
necesario.
En esta fase asegúrese de que la documentación describe correctamente las capacidades de intención
y las características del sistema. Comprobar que los requisitos de software han sido derivados de forma
precisa de las necesidades del usuario, de los requisitos del sistema, y otras fuentes que se utilizaron.
Ahora deberá centrarse en la documentación de los requerimientos; para esto la IEEE a través de sus
estándares facilita plantillas que pueden ser ajustadas a los estándares de la organización; de igual forma
las metodologías de hoy en día como son: RUP, Volere, entre otras han establecido sus plantillas para
proceder con ésta documentación. Las plantillas que se indican en esta guía tómelas como referencia
para desarrollar el caso práctico y ajústelas de acuerdo a su conveniencia.
Es necesario comprobar que la documentación se ajuste a las plantillas de la organización, las normas
y convenciones con los nombres (fundamental para contextualizar). Establecer procedimientos para el
control de cambios en la documentación para controlar cualquier cambio a los documentos.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
Un documento de requerimientos de usuario es un registro de los requisitos escritos para una audiencia
de usuarios que describen lo que los usuarios necesitan y porque son necesarios.
Este documento se lo usa para obtener un acuerdo sobre lo que el producto tiene que hacer para
satisfacer las necesidades de los usuarios, para consolidar las necesidades de las comunidades de
usuarios diversos, y para proporcionar detalles adicionales no descritos por los modelos de análisis. Este
documento de requerimientos de los usuarios también actúa como un puente entre la definición del
negocio y los requisitos de software.
• Incluya la visión del producto, carta del proyecto, los modelos de análisis, el usuario de
procedimiento de documentación (por ejemplo, manuales, procedimientos operativos estándar y
materiales de capacitación), la documentación del sistema actual, y cualquier otra documentación
acerca de las necesidades del usuario.
• Decida sobre el formato del documento para los requisitos. (se sugiere un formato que se indica
mas adelante, o puede utilizar plantillas de documentos estándar de la organización, si están
disponibles). Utilice la documentación más rica cuando la externalización del desarrollo de un
proveedor externo, o si el producto es un sistema complejo o crítico. En el anexo 2 se especifica el
“Esquema de requerimientos e usuario” que sería de mucha utilidad.
• Utilice los modelos de análisis (por ejemplo, casos de uso de los, un diagrama de contexto para
ilustrar “Interfaces con otros sistemas”, y reglas de negocio en el “Impacto de las políticas, normas
y reglas de negocio”) para estructurar el documento.
• Revisar el documento desde la perspectiva de los lectores de varios negocios (es decir, el
patrocinador del proyecto, administradores de empresas, gerentes de marketing o de producto,
instructores y usuarios).
127 127
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Actividad recomendada
Revise la plantilla que se indica en el Anexo 3, y desarrolle cada uno de los puntos de
acuerdo a la información obtenida al aplicar los modelos de análisis de la unidad 4.
El estándar IEEE 830 define los beneficios de una buena especificación de requerimientos de software:
• Establece las bases para lograr un acuerdo entre los clientes y los proveedores en lo que el
producto de software debe hacer. La descripción completa de las funciones a realizar por el
software especificado en el documento de especificación de requerimientos asistirá a los usuarios
potenciales a determinar si las especificaciones cumplen con sus necesidades o como el software
debe ser modificado para cumplir las mismas.
1. Introducción
1.1. Propósito
1.2. Convenciones del documento
1.3. Público objetivo y sugerencias de lectura
1.4. Alcance
1.5. Referencias
2. Descripción general
• Proveer bases para la estimación de costos y cronogramas: La descripción del producto a ser
desarrollado tal como se indica en la ERS es una base real para la estimación de costos del
proyecto y puede ser usada para obtener aprobación de las ofertas o estimaciones de precios.
• Proveer una línea base para la validación y verificación: Las organizaciones pueden desarrollar
sus planes de validación y verificación de manera más productiva desde un buen documento
de especificación de requerimientos. Como parte del contrato de desarrollo, el ERS provee una
línea base contra la cual se puede medir el cumplimiento. (NOTA: Se utiliza el documento de
especificación de requerimientos ERS para crear el Plan de Pruebas).
• Facilitar la transferencia: El ERS hace fácil la transferencia del producto de software a nuevos
usuarios o nuevos equipos. Para los clientes por lo tanto es más fácil transferir el programa a
otras partes de su organización, y a los proveedores les resulta más fácil de transferir a los nuevos
clientes.
129 129
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Nuevamente tomando como referencia el estándar IEEE 930 un ERS debe considerar algunos atributos
de calidad que permitan gestionar el documento durante su construcción, entre estos tenemos:
Estimado estudiante es necesario que nuevamente tome como referencia el estándar IEEE 930, un
ERS debe considerar algunos atributos de calidad que permitan gestionar el documento durante su
construcción, entre estos tenemos:
• Correcto: La ERS es correcta si y solo si todo requisito que figura aquí (y que será implementado
en el sistema) refleja alguna necesidad real. La corrección de la ERS implica que el sistema
implementado será el sistema deseado.
• No ambiguo: Cada requisito tiene una sola interpretación. Para eliminar la ambigüedad inherente a
los requisitos expresados en lenguaje natural, se deberán utilizar gráficos o notaciones formales.
En el caso de utilizar términos que, habitualmente, poseen más de una interpretación, se definirán
con precisión en el glosario.
• Completo: Todos los requisitos relevantes han sido incluidos en la ERS. Conviene incluir todas las
posibles respuestas del sistema como los datos de entrada, tanto fallidos como los válidos.
• Clasificado: Normalmente, no todos los requisitos son igual de importantes. Los requisitos pueden
clasificarse por su importancia (esencial, condicional u opcional) o por su estabilidad (cambios
que se espera que afecten al requisito). Esto sirve, ante todo, para no emplear excesivos recursos
en implementar requisitos no esenciales.
• Verificable: La ERS es verificable si y solo si todos sus requisitos son verificables. Un requisito
es verificable (testeable) si existe un proceso finito y no costoso para demostrar que el sistema
cumple con el requisito. Un requisito ambiguo no es en general verificable. Expresiones como: a
veces, bien, adecuado, etc., introducen ambigüedad en los requisitos. Requisitos como: en caso de
accidente la nube tóxica no se extender más allá de 25Km” no es verificable por el alto costo que
conlleva.
Tenga presente que para documentar los requisitos en el documento de especificación es necesario
realizar los siguientes pasos:
1. Identificar y etiquetar las características necesarias para alcanzar los objetivos del software.
11. Priorizar todos los requisitos, agregar atributos a los requerimientos, y trazar las prioridades y
atributos de cada requerimiento.
12. Organizar los requerimientos en una plantilla de ERS, completando cada sección.
Dada la importancia del documento, le invitamos a realizar una revisión detallada de las actividades que
se indican en el listado anterior.
1. Identificar y etiquetar las características necesarias para alcanzar los objetivos del software
• Identifique las características de los requisitos de información, para lo cual deberá revisar: la
declaración de la visión del producto, los modelos de análisis, la documentación del usuario, e
información de las actividades realizadas como parte de la elicitación de requerimientos. Por
cuanto las características son un conjunto de capacidades necesarios para alcanzar los objetivos
del negocio.
• Asigne un nombre a las características con una descripción corta por ejemplo “Horario de trabajo”
o utilizar un gerundio como “programación”. Incluir una etiqueta mediantes letras, números o
abreviaturas. Por ejemplo: “REQ-F-001”, “PRO.HOR”. Las etiquetas son importantes para distinguir
unos de otros requisitos al mismo tiempo que permite documentar cómo los requisitos se
descomponen.
• Escribir frases cortas y concisas usando imperativos para describir los requisitos funcionales (por
ejemplo, “El sistema le pedirá que indique el programador de la fecha de empleo”). Utilice una
estructura de la frase estándar, tales como:
131 131
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Donde:
• [<restricción>] Identifica las condiciones en que debe cumplir el requerimiento.
• <asunto>: Muestra quién o qué está haciendo la tarea (por lo general “el sistema” o un actor).
• <acción del verbo>: es la tarea a ejecutar.
• [<resultado observable>] muestra el resultado de la acción.
• [<calificador>]: Identifica los atributos de calidad para la exigencia.
Ejemplo
Ejemplo sin restricción: “El sistema permitirá que una secretaria seleccione el trámite”.
Ejemplo con restricción: “Cuando no esté el profesor la secretaria de carrera deberá registrar la nota
correcta al estudiante.”
Ejemplo con restricciones, resultado observable y calificador: “Cuando una secretaria de centro registra
el trámite el sistema deberá enviar un correo electrónico al estudiante con los datos acerca del
trámite”.
Figura 5”) y los documentos externos citar totalmente con el nombre del documento, la ubicación,
y un identificador único.
Un caso de uso puede traducirse en múltiples declaraciones de requisitos funcionales
dentro de una característica. Cada paso de casos de uso es un candidato de bajo nivel de
requerimiento funcional dentro de cada función.
Ejemplo:
Actividad recomendada
• Asegúrese que pueda verificar cada declaración del requisito. Asegúrese de escribir de forma clara
y distintivamente los algoritmos, las decisiones y condiciones y cada documento en un solo lugar
de la ERS.
• Involucrar a los probadores en la revisión o el desarrollo de requisitos para asegurar que los
requisitos pueden ser probados.
• Asegúrese de definir todos los datos necesarios para satisfacer los requisitos funcionales en el
modelo de datos (o modelo de clases o diccionario de datos). Incluya el modelo de datos, ya sea
en el apéndice del modelo de análisis o de la sección de requisitos funcionales de la ERS.
• Describir los atributos de calidad como las características de funcionamiento del software, el
desarrollo y despliegue.
• Revise la lista de atributos de calidad y seleccionar aquellas que resulten aplicables. (Figura 5.2).
133 133
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
• Especificar métricas para todos los atributos de calidad. Proporcionan una escala de medición (es
decir, las unidades que se utilizan para pruebas de conformidad del producto), junto con los plazos,
los valores de aceptación, los valores mínimo y máximo, o cualquier otras medidas necesarias para
pruebas de conformidad.
Actividad recomendada
De acuerdo a la figura 5.2, identifique los atributos de calidad que deberán asociarse al
caso de desarrollo.
• Proporcionar los requisitos funcionales, con referencias a los atributos relacionados con la calidad.
(Un atributo de calidad puede ser requerido por varios requisitos funcionales. Por ejemplo, los
tiempos de respuesta de ciertos requisitos de fiabilidad y puede ser requerido por una serie de
requisitos funcionales).
• Regulaciones y políticas.
• Las restricciones impuestas por las interfaces de hardware, tales como límites de utilización de la
memoria, los límites del procesador, el tamaño o peso.
• Considere los componentes de software, tales como: los sistemas operativos y navegadores, el
software de comunicación que representa y la transferencia de datos entre sistemas informáticos
o redes, el software de red que monitorea y controla el intercambio de información en un entorno
de red, el directorio de software que mantiene el conocimiento de la ubicación de los recursos de
la red, y componentes e interfaces comerciales de otros sistemas de software.
• Eliminar todas las restricciones sobre la forma en que el producto debe ser implementado a menos
que sean las limitaciones legítimas de diseño para el desarrollo o la aplicación de la organización.
Permita a los diseñadores encontrar las mejores alternativas, teniendo en cuenta las necesidades
y limitaciones conocidos del diseño.
135 135
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
• Usar escenarios para descubrir requisitos faltantes. Realizar escenarios de paseos virtuales del
documento de requerimientos para detectar errores.
• Asociar los casos de uso con las declaraciones de requisitos, si los casos de uso están disponibles.
Almacenar la información en una matriz de trazabilidad de los requisitos como una ayuda para la
detección de los posibles solapamientos o requisitos faltantes.
11. Priorizar todos los requisitos, agregar atributos a los requerimientos, y trazar las prioridades y
atributos de cada requerimiento.
• Revisar las prioridades del análisis de requerimientos (revise la unidad anterior) y corregirlos
cuando sea necesario. Asignar una prioridad a las necesidades en un nivel adecuado de detalle.
• Identificar los atributos que son importantes para definir acerca de los requisitos.
• Use una plantilla como la que se muestra en la tabla 5.2; y dar formato al documento con la
información de las especificaciones. Establecer la nomenclatura y numeración apropiadas para
estructurar el documento.
• A continuación se realiza una descripción al detalle de la plantilla que se indica en la tabla 5.2. para
especificar requerimientos de software (Wiegers, 2003).
1. Introducción
1.1. Propósito
Describe algunos estándares o convenciones tipográficas, incluye estilos del texto, partes
importantes, o notaciones significativas.
Lista los diferentes lectores para quienes está dirigido el ERS. Describe de forma general el
contenido del ERS y la forma en que está organizado.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
1.4. Alcance
Provee una pequeña descripción del software y su propósito. Es importante relacionar el software
con el usuario o con los objetivos corporativos y de negocio, además de sus estrategias. Si se ha
desarrollado un documento de visión y alcance por separado, es necesario referirse a este sin
necesidad de incluir su contenido en este documento.
1.5. Referencias
Especifique una lista de documentos u otros recursos a los que se refiere el SRS, incluyendo
enlaces a ellos si es posible. Estos pueden incluir: guías de estilos para interfaz de usuario,
contratos, normas, especificación de requisitos del sistema, documentos de casos de uso,
especificaciones de interfaz, documentos de conceptos de operaciones, o el ERS para un
producto relacionado. Es necesario que se proporcione información suficiente para que el lector
pueda acceder a cada referencia incluyendo el título, autor, número de versión, fecha y ubicación
de origen o (como la carpeta de red o URL).
2. Descripción general
En esta sección se describen todos aquellos factores que afectan al producto y a sus requisitos. No
se describen los requisitos, sino su contexto. Esto permitirá definir con detalle los requisitos en la
siguiente sección, haciendo que sean más fáciles de entender.
En esta subsección deben relacionar el futuro sistema (producto software) con otros productos. Si
el producto es totalmente independiente de otros productos, es aquí donde se debe especificar.
Si la ERS define un producto que es parte de un sistema mayor, esta subsección relacionará los
requisitos del sistema mayor con la funcionalidad del producto descrito en la ERS, y se
identificarán las interfaces entre el producto mayor y el producto aquí descrito. Se recomienda
utilizar diagramas de bloques.
En esta subsección se mostrará un resumen, a grandes rasgos, de las funciones del futuro sistema.
Por ejemplo, en una ERS para un programa de trámites de la UTPL, esta subsección mostrará que
el sistema soportará la actualización de datos del estudiante, registro de documentación, registro
de acuerdo al trámite; todo esto sin mencionar el gran detalle que cada una de estas funciones
requiere. Las funciones deberán mostrarse de forma organizada, y pueden utilizar gráficos,
siempre y cuando dichos gráficos reflejen las relaciones entre funciones y no el diseño del
sistema.
Se identifican los diferentes tipos de usuario que podrían utilizar el producto, describiendo sus
características pertinentes. Algunos de los requisitos podría pertenecen sólo a determinado tipo
de usuario. Identificar las clases de usuarios favorecidos. Las clases de usuarios representan un
subconjunto de Stakeholders descritos en el documento de visión y alcance.
137 137
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Se describen los factores y justificativos que limitan a los desarrolladores del producto. Las restricciones
incluyen:
• Restricciones debido al entorno operativo del producto, tales como los tipos y versiones de
los navegadores Web que se utilizará.
• Las limitaciones impuestas por las reglas de negocio (las cuales están documentadas en
otras partes).
• Las limitaciones del hardware, tales como los requisitos de tiempo, la memoria o
restricciones
del procesador, tamaño, peso, materiales, o el costo.
Lista de los componentes de la documentación de usuario que se entregará junto con el software
ejecutable. Estos podrían incluir manuales de usuario, ayuda en línea y tutoriales. Deberá
identificar los formatos de entrega de la documentación requerida, normas, o las herramientas.
Una suposición es una declaración en la que se cree que es cierto en ausencia de la prueba o
el conocimiento definitivo. Pueden surgir problemas si las suposiciones son incorrectas, no se
comparten, o cambian, obviamente se traducirá en los riesgos del proyecto. Un lector de la ERS
podría suponer que el producto se ajustará a una convención particular de interfaz de usuario,
mientras que otro asume algo diferente. Un desarrollador puede asumir un cierto conjunto de
funciones de forma personalizada por escrito para esta aplicación, pero el analista supone que van
a ser reutilizados de un proyecto anterior, mientras que el director del proyecto espera conseguir
una librería de funciones comerciales.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
Identificar ciertas dependencias del proyecto de factores externos fuera de su control, tales como
la fecha de lanzamiento de la próxima versión del sistema operativo o la emisión de un estándar
de la industria. Si usted espera a integrarse en el sistema algunos de los componentes que otro
proyecto está en desarrollo, que dependen de ese proyecto para suministrar los componentes
que funcione correctamente en la fecha prevista. Si estas dependencias ya están documentados
en otros lugares, como en el plan del proyecto, se refieren a aquellos otros documentos aquí.
La plantilla que se indica en la figura 5.2 esta organizada por características del sistema, que
es solamente una posible forma de organizar los requerimientos funcionales. Otras opciones
incluyen organización mediante casos de uso, modos de operación, clases de usuario, estímulos,
la respuesta, clases de objeto o jerarquía funcional. Son posibles también hacer combinaciones
como es, los casos de uso dentro de las clases de usuario. No existe una opción única, mas bien se
debe seleccionar un método de organización que facilite a los lectores entender las capacidades
del producto. Por lo tanto las subsecciones que pueda tener este apartado dependerá de dicha
organización. Vamos a describir esto mediante un ejemplo.
Indique el nombre de la función en pocas palabras, por ejemplo: “3.1. Registrar trámite”,
luego para cada subsección numere: 3.1.1 , 3.1.2, …
Realice una breve descripción de la función e indique si es de prioridad alta, media o baja.
Las prioridades son dinámicas ya que cambian en el transcurso del proyecto. Si está
utilizando una herramienta de gestión de requisitos, definir un atributo de exigencia de
prioridad.
Liste la secuencia de entrada (las acciones del usuario, las señales de los dispositivos
externos, o de otros factores desencadenantes) y las respuestas del sistema que definen el
comportamiento de esta característica. Estas entradas corresponden a los pasos de diálogo
inicial de casos de uso o de los eventos del sistema externo.
Detalle de los requisitos funcionales asociados con esta función. Estas son las capacidades
de software que deben estar presentes para el usuario para llevar a cabo la función de
los servicios o llevar a cabo un caso de uso. Describir cómo el producto debe responder
anticipadamente a las condiciones de error y entradas no válidas y acciones. Establezca una
única etiqueta de cada requisito funcional. Esta es la sección más larga e importante de la
ERS. Deberán aplicarse los siguientes principios:
• El documento debería ser perfectamente legible por personas de muy distintas formaciones e
intereses.
• Deberán referenciarse aquellos documentos relevantes que poseen alguna influencia sobre los
requisitos.
139 139
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
• Todo requisito deberá ser unívocamente identificable mediante algún código o sistema de
numeración adecuado.
• Lo ideal, aunque en la práctica no siempre realizable, es que los requisitos posean las características
que se indican al inicio en el literal 5.2.2. (Correctos, no ambiguos, completos, consistentes,
clasificables, verificables, modificables y trazables).
Richard Thayer (2002), indica que“los requisitos de interfaz externa especifican hardware,
software, o los elementos de base de datos con la que un sistema o el componente de interfaz ....”,
por tanto en esta sección se proporciona información para asegurar que el sistema se comunica
correctamente con los componentes externos. Si las diferentes partes del producto tienen
diferentes interfaces externas, es necesario incorporar una instancia de esta sección dentro del
detalle de los requisitos para cada una de dichas partes.
Alcanzar un acuerdo sobre las interfaces del sistema externo e interno ha sido identificada como
una buena práctica en la industria del software. Se realiza una descripción detallada de los datos
y componentes de control de las interfaces en el diccionario de datos. Un sistema complejo
con múltiples subcomponentes debe utilizar una especificación de interfaz por separado o
especificación de la arquitectura del sistema. La documentación de la interfaz puede incorporar
material de otros documentos de referencia. Por ejemplo, podría apuntar a una aplicación de
programación diferente de interfaz (API) o un manual de dispositivos de hardware que muestra
los códigos de error que el dispositivo puede enviar al software.
Describe las características lógicas de cada interfaz de usuario que el sistema necesita. Algunos ítems
que se pueden incluir son:
• Normas para las fuentes, iconos, etiquetas, imágenes, esquemas de color, secuencias
de
campo de tabulación, los controles más utilizados, etc.
• Botones estándar, funciones o enlaces de navegación que aparecen en cada pantalla, como
un botón de ayuda.
Se describe las características de cada interfaz entre el software y los componentes de hardware
del sistema. Esta descripción podría incluir los tipos de dispositivos compatibles, las interacciones
de datos y control entre el software y el hardware, y los protocolos de comunicación a utilizar.
Se describen las conexiones entre este producto y otros componentes de software (identificado
por su nombre y la versión), incluyendo bases de datos, sistemas operativos, herramientas,
bibliotecas y componentes integrados comerciales. Manifestar el propósito de los mensajes,
datos y elementos de control que se intercambian entre los componentes de software. Describir
los servicios que necesitan los componentes de software externos y la naturaleza de las
comunicaciones entre componentes. Identificar los datos que serán compartidos a través de
componentes de software. Si el mecanismo de intercambio de datos deben ser implementadas
de una manera específica, como un área de datos global, especificar esto como una limitación.
Establecer los requisitos para cualquier comunicación que las funciones del producto podría
utilizar, incluyendo el correo electrónico, explorador Web, protocolos de red de comunicaciones,
y los formularios electrónicos. Definir cualquier formato de mensaje. Especificar la seguridad de
la comunicación o problemas de cifrado, las tasas de transferencia de datos, y los mecanismos de
sincronización.
5. Requerimientos no funcionales
Protección y seguridad son ejemplos de calidad de atributos, por lo que se analizan estos atributos
en secciones diferentes de la plantilla de la ERS, ya que son importantes en absoluto, por lo
general son críticos. En este apartado se especifica los requisitos que tienen que ver con la posible
pérdida, daño o perjuicio que pudieran derivarse del uso del producto. Deberá definir las
salvaguardias o acciones que se deben tomar, así como las acciones potencialmente
peligrosas que deben ser prevenidos. Identificar las certificaciones de seguridad, políticas o
regulaciones a las que el producto debe ajustarse. Algunos ejemplos de los requisitos de
seguridad son:
141 141
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
• PR-1 El sistema pondrá fin a cualquier operación dentro de 1 segundo, si la presión media
del tanque supera el 95 por ciento de la presión máxima especificada.
• PR-2 El escudo de radiación de haz estará abierto solo a través del control informático
permanente. El escudo bajará automáticamente a su lugar si el control de equipo se pierde
por cualquier razón.
Se especificará los requisitos con respecto a cuestiones de seguridad, integridad o la vida privada
que afectan el acceso al producto, el uso del producto, y la protección de datos que utiliza el
producto o se crea. Los requisitos de seguridad que normalmente se originan en las reglas de
negocio, que identifican las políticas de seguridad o privacidad, o regulaciones a las que el
producto debe ajustarse. Como alternativa, puede cumplir estos requisitos a través del atributo
de calidad llamado integridad. Por ejemplo:
• SE-1 Cada usuario debe cambiar su contraseña de inicio de sesión asignado inicialmente,
inmediatamente después de su ingreso exitoso la primera vez. La contraseña inicial no
puede ser reutilizada.
• SE-2 Al abrir una puerta mediante una tarjeta magnética, esta se mantenga abierta durante
un lapso de 8 segundos.
Indicar la existencia de las características de calidad del producto adicionales que serán importantes
para los clientes o desarrolladores. Estas características deben ser específicas, cuantitativas y
verificables. Indicar las prioridades relativas de los distintos atributos, como la facilidad de uso, la
facilidad de aprendizaje, o la portabilidad sobre la eficiencia.
6. Otros requerimientos
Definir otros requisitos que no están en la ERS. Por ejemplo se pueden incluir requisitos de
internacionalización (moneda, formato de fecha, el idioma, las normas internacionales, y
los aspectos culturales y políticos) y requisitos legales. También puede añadir secciones en
las operaciones, administración y mantenimiento para cubrir las necesidades de instalación
del producto, configuración, puesta en marcha y la tolerancia de cierre, la recuperación y
responsabilidad, y el registro y seguimiento de operaciones. Agregue todos los nuevos tramos de
la plantilla que son pertinentes a su proyecto. Omita esta sección si todas sus necesidades están
en otras secciones.
En el sitio: http://users.dsic.upv.es/asignaturas/facultad/lsi/ejemplorup/Requisitos.html
existe un ejemplo utilizando la metodología RUP basada en casos de uso. Revise
detenidamente cada uno de los artefactos y relacione con respecto a la especificación
que hemos desarrollado en esta parte.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
Actividad recomendada
Busque las plantillas que utiliza RUP y Volere para especificar requerimientos de
software, y establezca semejanzas y diferencias.
• Llevar a cabo revisiones de la SRS para detectar problemas de calidad en los requisitos y en el
propio documento. En la unidad siguiente se establecen los criterios de calidad.
Como puede ver los pasos que se necesitan para realizar la ERS, requiere del uso de
los modelos de análisis ya sea para documentar las necesidades o para definir los
requerimientos. Por lo tanto el uso adecuado de las técnicas permitirán que se logren
definir los requisitos.
Hemos concluido el estudio de esta unidad, por lo que nos conviene comprobar cuanto ha asimilado los
temas tratados para lo cual es necesario desarrollar las autoevaluaciones de conocimiento.
Autoevaluación 5
a) Lea detenidamente la afirmación y escriba una V si considera que es verdadera o una F si no lo es, en el
paréntesis respectivo.
El ERS obliga a que los grupos interesados dentro de la organización consideren todos los
1 ( )
requerimientos.
El siguiente enunciado: “Cada requisito tiene una sola interpretación” corresponde al atributo:
2 ( )
Correcto
La característica de consistencia en un ERS, consiste en que los requisitos no pueden ser
3 ( )
contradictorios.
143 143
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
c) De acuerdo a la plantilla de la tabla 5.2, establezca un esquema de las partes que desarrollaría como parte
del documento de especificación de requerimientos del caso de desarrollo.
d) Reúna todos los documentos desarrollados como parte del análisis de requerimientos aplicando las
diferentes técnicas de obtención de requerimientos.
e) Qué criterio le merece las plantillas del RUP y Volere para la especificación de requerimientos de software.
Ir a
solucionario
SEGUNDO BIMESTRE Texto-guía: Ingeniería de Requisitos
Todo esto se verá reflejado tanto en la calidad del software como en el costo puesto que se deberá cor-
regir el sistema. El proceso de validación de requisitos comprende actividades que generalmente se
realizan una vez obtenida una primera versión de la documentación de especificación de requisitos.
AActividades de
desar rollo de
requerimientos
145 145
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
En esta etapa se debe verificar que los requerimientos del usuario describan la forma en que
interactúan con los usuarios. La participación activa de los usuarios es crucial ya que la validación
implica el chequeo de la conformidad de las necesidades del usuario. Se recomienda que los
interesados comprueben que los requisitos estén completos, consistentes y sean de alta calidad,
para lo cual es necesario la revisión de la documentación. Además se debe asegurar de obtener
los requerimientos funcionales, los del negocio y los del usuario.
Implica comprobar que un subconjunto de los requisitos estén bien definidos, esto se lo debe
realizar a principios del desarrollo de los requisitos y no cuando se tenga el detalle de los modelos
de análisis.
Como objetivo primordial de la validación de requisitos se puede mencionar que se intenta descubrir los
problemas en el documento de especificación de requisitos antes de llegar a su implementación.
Roger Pressman en su libro Ingeniería del software, presenta un conjunto de preguntas para
validar los requerimientos, considera que estas ayudan a evaluar el desarrollo de esta fase, a
continuación se listan estas preguntas:
• “¿Es coherente cada requerimiento con los objetivos generales del sistema o producto?.
• El requerimiento ¿Es realmente necesario o representa una característica agregada que tal vez no
sea esencial para el objetivo del sistema?.
• ¿Tiene atribución cada requerimiento?, es decir, ¿hay una fuente (por lo general individual y
específica) clara para cada requerimiento?.
• ¿Se ha particionado el modelo de requerimientos en forma que exponga información cada vez
más detallada sobre el sistema?
• ¿Se ha usado el patrón de requerimientos para simplificar el modelo de estos? ¿se han validado
todos los patrones de manera apropiada? ¿son conscientes todos los patrones con los
requerimientos del cliente?”1210
Al trabajar con estas preguntas se puede de alguna manera ir validando los requisitos,
para evaluar el cumplimiento de algunas especificaciones además de comprobar una
buena especificación de requisitos.
Actividad recomendada
Sin embargo, los costos de corrección de errores en la fase de prueba son mucho mayores que si los
errores se corrigen en fases tempranas como la fase de requisitos o de análisis. De aquí que es
necesario adelantar el proceso de prueba en las primeras etapas de desarrollo claro está donde sea
posible.
La revisión de requisitos se realiza con un grupo de personas que lee, analiza y discute el documento de
especificación de requisitos. Entonces es importante seleccionar a las personas que han de trabajar en
el proceso de validación.
Se puede realizar una comparación entre el análisis y la validación, tomando en cuenta que en el análisis
se cuenta como entrada requisitos incompletos mientras que en la validación un conjunto comprobado
de requisitos. Además en el análisis se verifica si los requisitos satisfacen las necesidades del cliente o si
147 147
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
12 Pressman Roger S. Ingeniería del Software: un enfoque práctico, Séptima edición. McGraw Hill.
148 148
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
se han levantado los requisitos correctos mientras que en la validación se verifica si están bien descritos
los requisitos o si el documento de requisitos describe el sistema, como se puede observar la etapa de
validación permite tener una definición precisa de los requisitos.
En la tabla 6.1, se indican las técnicas que se utilizan de acuerdo a lo que se está verificando.
Tabla 6.1: Técnicas de Validación de Requisitos
La revisión por pares es la formación de un grupo de partes interesadas para evaluar la documentación
de los requisitos o de los modelos con el fin de encontrar errores y mejorar la calidad de los mismos.
Un tipo de revisión por pares son las inspecciones; las cuales constituyen el tipo más formal de revisión
por pares; las inspecciones se pueden incorporar en las fases de: Planificación, Reunión de Información,
Preparación de inspección individual, Reunión de Inspección, Seguimiento, Análisis causal (para
determinar la causa de los defectos y decidir la forma de prevenirlos en un trabajo futuro), inspecciones
sobre roles formales y herramientas de inspección.
• Proporcionar un entorno de aprendizaje en el que los interesados puedan entender mejor los
requisitos de los requisitos y dominio del negocio.
• Obligar a los analistas a centrar los esfuerzos de validación en las partes en que los requisitos tengan
mayor riesgo y ambigüedad.
• Definir las expectativas de calidad para las necesidades a través de la creación de listas de
comprobación o revisiones de inspección.
A lo anterior hay que decidir qué partes de los requisitos de un producto se deben revisar y el tipo de
enfoque que se dará a dichos tests; identificar los stakeholders que intervendrán en la revisión, planificar
la revisión a través de la organización de reuniones para las revisiones y finalmente se deben preparar
las revisiones de las reuniones usando listas de chequeo.
Las pruebas de aceptación de los usuarios se los denomina también como criterios de aceptación,
pruebas de aceptación, pruebas de usuario final o pruebas funcionales; las mismas que constituyen casos
específicos de prueba que los usuarios utilizan para decidir si aceptan la entrega de un sistema, cada
prueba de aceptación es una prueba de caja negra (es decir, una prueba escrita respecto a la aplicación
de software) que representa las entradas del sistema y los resultados esperados para los que el sistema
está diseñado para ejecutarse.
Estas pruebas de aceptación del usuario involucra analizar los resultados de las pruebas de
revisión, verificar la exactitud de las pruebas de aceptación, decidir qué pruebas de aprobación se
deben realizar y cuáles no, y decidir que los que no pasaron las pruebas tienen la prioridad más alta para
corrección; luego de las pruebas se llega a las conclusiones en donde los usuarios aceptan o rechazan el
sistema.
Estas pruebas son importantes de ejecutar porque permiten definir la aceptación del sistema; para lo
cual se deben realizar: guías para los usuarios para describir de manera más explícita la forma en que
espera que el software trabaje; asegurar la existencia de pruebas para demostrar que el sistema se ajusta
a las expectativas del cliente; proporcionar una representación concreta de los datos necesarios para
que los usuarios acepten el sistema final; proporcionar una base para el desarrollo de manuales de
usuario, y finalmente proporcionar pruebas útiles para la validación del modelo. ¿Pero cómo
alcanzamos esto?.
A través de la definición de criterios de aceptación del sistema, de la aceptación de las pruebas de casos,
de la determinación de métodos de pruebas de aceptación; los métodos que se pueden utilizar son:
• Manuales
• Herramientas de pruebas con interfaz gráfica de usuario
• Codificación y pruebas.
• Scripting.
• Hojas de cálculo
• Plantilla
En cuanto a la parte de validar el análisis de los modelos utilizando pruebas de aceptación, se puede
mencionar que estas pruebas tienen diferentes niveles de aceptación, para lo cual se debe considerar
el nivel de severidad de la prueba a la hora de priorizar las pruebas para su corrección. Los niveles de
severidad se encuentran detallados en la tabla 6.2.
149 149
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
NIVEL DE
DEFINICIÓN
SEVERIDAD
1 Crítico: Es imposible continuar con las pruebas o aceptar el sistema a causa de este error.
Alto: Las pruebas pueden continuar, pero el sistema no se puede implementar con este problema.
2
Ejemplo:
Datos de Entrada
Resumen de servicios Fecha Apellidos del contratista
15 de Marzo Espinoza
20 de Abril Armijos
30 de Agosto Suárez
Resultados esperados de l s pruebas ( Buscar trabaj s programados (por fecha, servicio, o el os)
contratista apelli
Consulta Registros devueltos Comentarios
Marzo y Agosto 6 Buscar en la fecha.
Armijos 1 Buscar en el nombre del contratista
Actividad recomendada
A esta técnica también se la denomina como: resumen de pruebas, pruebas conceptuales o análisis
lógico. La validación del modelo utiliza simulaciones de pruebas en lugar de casos de prueba real
para pasar por múltiples modelos de análisis que permitan descubrir la falta de información y corregir
errores de documentación.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
¡Y! ¿Entonces?
• Rastrear los modelos a través de los casos de prueba de una manera paso a paso.
En este aparatado se abordará el tema de Prototipos operacionales, que también reciben el nombre de:
Demostración, Prueba de Concepto, Prototipo estructural o prototipo vertical.
Los prototipos sirven para demostrar cómo una parte del software funcionará una vez que esté en
desarrollo, para demostrar si los requisitos satisfacen a los clientes, y para validar los requisitos de
interfaz externa. Además permite evaluar la viabilidad de los atributos de calidad tales como el
rendimiento, facilidad de uso, o la seguridad; detectar las funcionalidades innecesarias, los pasos que
faltan, o interfaces de usuario muy complejo que podría inhibir la satisfacción de las necesidades del
usuario, además permite a los desarrolladores obtener experiencia en el diseño y desarrollo temprano
en el proyecto y reduce el riesgo global del proyecto mediante la revelación de los requisitos faltantes,
erróneos.
Según el estándar ISO 13407, el prototipo se define como: “una representación de todo
o parte de un producto o sistema que, aunque limitado de algún modo, puede
utilizarse con fines de evaluación”1611.
16 FERRÉ, Xavier. Marco de Integración de la Usabilidad en el Proceso de desarrollo de software. Facultad de Informática. Uni-
versidad Politécnica de Madrid. Resultados de Tesis Doctoral. Disponible en: http://is.ls.fi.upm.es/xavier/usabilityframework/
tecnicas/prototipos.php
151 151
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
• Prototipo de la interfaz del usuario: Es un modelo evolutivo de cómo va quedando la interfaz del
usuario en base a los requisitos o necesidades planteados. Puede ser desarrollado en papel,
ejecutable del sistema o proyecto en desarrollo o software específicos que se los encuentra
libremente en el mercado.
Los prototipos pueden llegar a ser muy útiles si se los sabe aplicar correctamente y en el momento
oportuno. En la captura y validación de requisitos se puede llegar a determinar realmente lo que el
usuario desea y lo que quiere ver. Deben ser fiables y describir exactamente los componentes o
funcionalidades tomados en cuenta en el prototipado.
El uso de prototipos puede tener ventajas, así como también desventajas al aplicarlo en la ingeniería de
requisitos. Dentro de las principales ventajas y desventajas de esta técnica están:
VENTAJAS DESVENTAJAS
• Viabilidad y utilidad del sistema o proyecto. • Elevados costos en capacitación de prototipado.
• Permite desarrollar interfaces de usuario en base a • Costos en el desarrollo de prototipos.
los requisitos.
• Se alarga el tiempo de entrega de la solución.
• Permite encontrar requisitos incorrectos o
• Al no ser reales ni considerar el rendimiento de l
inconsistentes.
solución, los clientes o stakeholders pueden tener una mal
impresión de lo que realmente se desea desarrollar.
Las pruebas del sistema en etapas tempranas del desarrollo permiten mejorar la calidad de los requisitos
detectando errores, omisiones, inconsistencias y sobre especificaciones en los requisitos funcionales
cuando aún es fácil y económico corregirlos.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
Para capturar los requisitos funcionales se utiliza mayoritariamente casos de uso. Los casos
de uso proporcionan un medio de expresar la interacción entre un sistema y su entorno.
Esto permite estructurar los requisitos de acuerdo con los objetivos del los usuarios.
Las pruebas de requisitos nos permiten diseñar pruebas sobre cada requisito individual,
estas pruebas pueden estar descritas en el mismo documento de especificación de requisitos.
6. Pruebas de aceptación
Aunque posiblemente en un sistema con estas características no procesa establecer unas reglas de
aceptación en forma de pruebas, se considerará aceptado el sistema si cumple con las condiciones
siguientes:
1. Es capaz de jugar contra un humano en un tablero 5x5 con un tiempo de decisión menor a 1
minuto en la jugada más complicada (exceptuando la primera, que puede obtenerse de tablas),
ejecutándose en un modelo concreto de equipo.
2. Cumple los requisitos establecidos en la sección anterior, pudiéndose ejecutar cada caso de uso
documentando sobre el sistema.
Actividad recomendada
Indique como serían las pruebas de aceptación utilizando los requerimientos del anexo
4.
Además existen otros modelos de validación que están contemplados en la ingeniería de requisitos, los
cuales van a ser analizados para poder determinar el proceso de validación en cada uno de ellos.
153 153
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Ingeniero de requisitos
Expertos
en el
dominio
Clientes
Usuarios
Validación y Especificación y
Verificación
Documentación
Programadores
Grupo
de
calidad
Director
del
proyecto
Este modelo plantea tres ejes: borrador de requisitos, conflictos de requisitos, documento de requisitos;
que se cumplen o complementan en base a tres actividades: captura, análisis-validación y negociación
de requisitos.
Nació como un proyecto desarrollado por la IEEE “para producir un cuerpo de conocimiento sobre
Ingeniería de Software que siente las bases sobre dicha ingeniería como una profesión”15.13
Dentro de este proyecto existen diez áreas de conocimiento, diseño del software, construcción del
software, testeo del software, mantenimiento, entre otras. Una de ellas son los Requisitos del Software,
es aquí donde nace el modelo SWEEBOK como una visión consistente y consensuada de la Ingeniería
del Software.
15 GARCÍA, Jesús. Introducción a la ingeniería de requisitos. Ingeniería de Software. Escuela Superior Politécnica de Albacete. España. Dis-
ponible en: www.info-ab.uclm.es/asignaturas/42530/pdf/M1tema3.pdf
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
Este quizá es el modelo que ha servido de base para la construcción de los demás modelos, posee un
conjunto de actividades que se relacionan e interactúan de manera iterativa, lo que hace que el proceso
de Ingeniería de requisitos se vuelva eficaz y eficiente. Este es un modelo de procesos genérico, útil para
definir, analizar, especificar y validar los requisitos.
Dentro de las principales actividades de este modelo están14: Estudio de viabilidad, Análisis y definición
de requisitos: Prototipado de los requisitos, borrador de requisitos, calidad de los requisitos, revisión de
la especificación, diseño y construcción, reutilización de requisitos, uso del producto y evolución.
14 Información tomada de: ROBERTSON, Z., ROBERTSON, J. (2006). Mastering the Requirements Process. Editorial Addison-Wesley.
Sexta
Edición.
155 155
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
MODELOS
ACTIVIDADES
GENÉRICO POHL ESPIRAL SWEEBOK REAIMS VOLERE
Captura x x x X x x
Análisis x x x X x x
Borrador de
x x x
requisitos
Negociación x x X x x
Descripción de
x x
requisitos
Modelado de
x x
requisitos
Especificación de
x x X x
requisitos
Validación x x x X x x
Gestión x x
Todos los modelos son similares en cuanto a las actividades que realizan, pero tienen sus diferencias, las
que radican en la aplicación de un número determinado de actividades y en la forma de hacerlo, sea
esto iterativo o secuencial.
Como se pudo observar el proceso de validación está presente en todos los modelos de procesos de
requisitos. Esto ayuda a determinar la importancia de aplicar esta actividad.
Actividad recomendada
Autoevaluación 6
6.2 Aplique el estándar IEEE 1028 y del estándar IEEE 1465 para validar los requisitos que se indican en el
anexo 4.
Ir a
solucionario
157 157
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Por lo general los requisitos de software son volátiles, ya que pueden cambiar debido a varios factores
tales como errores u omisiones en la fase de elicitación, la naturaleza cambiante, la comprensión
compleja de sistemas, las tecnologías emergentes, los requisitos cambiantes del negocio o las
exigencias reglamentarias, y las presiones competitivas.
Esta etapa consiste, primordialmente, en gestionar los cambios a los requisitos, puesto que este
es uno de los atributos de calidad que deben cumplirse y es de suma importancia, puesto que asegura
la consistencia ente los requisitos y el sistema que se está desarrollando, se ha de considerar las
cantidades de tiempo y esfuerzo que se utilizará puesto que abarca todo el ciclo de vida del software.
En la actualidad existen herramientas que facilitan las tareas de la escritura, trazabilidad y gestión de
cambios en los requisitos, además de mantener una adecuada administración de estos en bases de
datos u otros repositorios.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
Estas herramientas aunque son estándares, nos permiten también modificar atributos de los requisitos
como para poder adaptar los mismos a los cambios de cada organización. Dentro de las herramientas
utilizadas en la ingeniería de requisitos están:
• Negociación: Implica contrastar y dar opiniones respecto a los requisitos que se han obtenido, con
el fin de determinar las funciones y las restricciones que tendrá el sistema o proyecto.
• Validación y verificación: Comprobar que los requisitos obtenidos cumplen con los objetivos del
cliente y si fueron construidos en base a estándares o criterios desarrollados por el equipo de
desarrollo.
• Gestión de requisitos: Se realiza la comprensión y control de los cambios de cada uno de los
requisitos.
• Trazabilidad: Consiste en determinar el ciclo de vida de los requisitos, además de que cada uno de
estos posee su propia identificación, diferenciándolos de los demás.
• Redundancia: No se debe permitir redundancia, cada uno de los requisitos se debe utilizar en un
solo lugar y ser identificados de manera diferente.
159 159
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Actividad recomendada
En cuanto a las técnicas para manejar requerimientos, ponemos a su disposición el siguiente cuadro
resumen:
Tabla 7.1: Técnicas para manejar requerimientos
Cambiar las políticas y procedimientos de control se refiera a establecer mecanismos y reglas para la
identificación, evaluación y decidir la forma de integrar los requisitos de las nuevas y cambiantes
necesidades en la línea de base.
• Establecer los procedimientos para la comprensión de cuáles son los requisitos y los resultados de
desarrollo que están asociadas a las nuevas necesidades, para ayudar en el análisis del impacto.
Para lo cual se debe: Identificar los procedimientos de control de cambio y crear un tablero de control
de cambios (CCB), crear la línea base de los requisitos, y finalmente implemente su proceso de control
de cambio una vez que usted ha creado una línea base de requerimientos, que se debe ver reflejado en
un informe y supervisar cualquier cambio.
161 161
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Por cada incremento, el equipo debe explorar y priorizar los requerimientos; además se deben
desarrollar pruebas, diseño e implementación de código, y presentar el producto a los clientes y
usuarios para su evaluación y aceptación.
Pida el personal de negocio y técnico actuar como un consejo de control de cambio, en la decisión de
que requerimientos deben desarrollarse prioritariamente.
Típicamente el control de cambio es manejado durante cada incremento diciendo «No» (por ejemplo no
permiten a ningunos cambios a los requisitos), aunque el cambio de requisitos que se solicite debería
ser registrado.
Ejemplo
A continuación se muestra un ejemplo de cómo se debe desarrollar un control de cambios.
Actividad recomendada
Los atributos de requisitos son la información adicional asociada con los requisitos; es necesario
realizarlo para recopilar información útil para explicar, justificar, el seguimiento y la presentación de
informes sobre los requisitos; con lo cual se logra:
• Dar a los interesados información útil para filtrado, selección y análisis de requisitos.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
• Ayuda a educar a los nuevos miembros del equipo acerca de los requisitos.
• Proporciona información histórica acerca de los requisitos que ayuda a los equipos a mantener
o mejorar el software entregado.
Identifica cómo los requisitos están relacionados con resultados de desarrollo de software y otros
requisitos; Las matrices de seguimiento de requisitos muestran los requisitos relacionados con el
linaje hacia adelante y hacia atrás a los entregables del proyecto.
Diseño y
Hacia delante para Hacia delante para componentes
Necesidades de software,
del negocio y Requerimientos pruebas, y
metas componentes
de
Hacia atrás desde Hacia atrás desde implementació
Estas matrices son útiles para entender cómo los cambios de requisitos tienen un impacto y en
otras prestaciones posteriores de desarrollo de software.
• Ofrece una visión de gestión mediante la identificación de lo que se debe entregar para satisfacer
los requisitos.
• Proporciona informes que sean útiles para la vigilancia del cumplimiento del contrato.
• Demuestra que las necesidades han sido satisfechas por la asociación a los componentes
del
sistema y las pruebas.
163 163
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Ejemplo:
A continuación se indica un ejemplo de la construcción de una matríz de seguimiento de
requisitos.
Matriz de seguimiento de requisitos durante el desarrollo de requisitos, muestra los requisitos funcionales derivados
de los Casos de Uso
CASOS DE USO
Identificación de requerimientos
UC1 UC2 UC3 UC4
SCH-3.2 X
EST-3.2 X
CLO-2.3 X X
Para finalizar este tema de gestión de requisitos, se hace una evaluación de las ventajas y desventajas
de las herramientas de software que se utilizan en la ingeniería de requisitos:
VENTAJAS:
a. Algunas de las herramientas permite generar grandes repositorios de requisitos que pueden
ser utilizados no solo en uno, sino en varios proyectos dependiendo del contexto en el que se
manejan.
b. Permite tener una visibilidad clara de cada uno de los requisitos, es decir, la identificación de
funcionalidades y restricciones que tendrá un proyecto o sistema.
e. Permiten generar modelos como casos de uso, de estado, diagramas de flujo entre otros, lo que
facilita el análisis de los requisitos, su especificación y validación.
f. Manejo de un grupo de usuarios, cada usuario registrado en el proyecto tendrá acceso a todos los
requisitos capturados, podrá modificarlos, analizarlos, validarlos y notificar los cambios realizados.
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
g. Controlar, administrar los requisitos y sus cambios para luego reutilizarlos en cualquier actividad
del proceso de software que se necesite.
DESVENTAJA
S:
• Los costos por licenciamiento de las herramientas como por ejemplo Rational Requisite Pro e IRqA
(que ofrecen grandes beneficios), son altos. Adicional a esto, se suma los costos de las
herramientas que se incorporen o interactúen con las de requisitos.
165 165
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
Autoevaluación 7
7.2 Basado en los conceptos que se han explicado en este capítulo determine los siguientes aspectos
tomando como problema el ejemplo mencionado en el capítulo 5.
a) Línea base.
b) Control de cambios( )
c) Matriz de seguimientos de los requisitos.
Ir a
solucionario
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
7. Solucionario
UNIDAD 1
PREGUNTA RESPUESTA
1 1.1
a) Stakeholder, b) Escenario,
c) Requisitos de usuario, d) Requ
2
3 3.1
4 4.2
5 5.4
6 6.3
7 7.3
8 8.2
9* 9.2
10 10.1
Ir a
autoevaluación
167 167
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
1. Lea detenidamente la afirmación y escriba una V si considera que es verdadera o una F si no lo es, en el
paréntesis respectivo.
UNIDAD 2
PREGUNTA RESPUESTA
1 V
2 F
3 F
4 V
5 V
6 F
7 V
8 V
9 F
10 V
a) Visionamiento
b) Un glosario de términos
c) Crear las estrategias para mitigar los riesgos
Ir a
autoevaluación
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
UNIDAD 3
PREGUNTA RESPUESTA
1 V
2 V
3 V
4 V
5 F
6 F
7 F
8 V
9 V
10 V
Ir a
autoevaluación
169 169
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
UNIDAD 4
PREGUNTA RESPUESTA
1 V
2 F
3 V
4 V
5 F
6 V
7 V
8 V
9 F
10 V
3. Completelasiguientetablaacercadelasherramientasytécnicasparaanálisisderequerimientos.
a) Modelar el negocio
b) Entender el alcance del proyecto
c) Adicionar detalle a los requerimientos de usuario
d) Negociar la importancia entre los requisitos
Ir a
autoevaluación
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
UNIDAD 5
PREGUNTA RESPUESTA
1 V
2 F
3 V
4 V
5 V
6 F
7 V
8 F
9 F
10 V
Ir a
autoevaluación
171 171
Texto-guía: Ingeniería de Requisitos Segundo bimeStre
UNIDAD 6
PREGUNTA RESPUESTA
1 V
2 V
3 F
4 F
5 V
6 V
7 V
8 F
9 F
10 V
Ir a
autoevaluación
Segundo bimeStre Texto-guía: Ingeniería de Requisitos
1. Lea detenidamente la afirmación y escriba una V si considera que es verdadera o una F si no lo es, en el
paréntesis respectivo.
UNIDAD 7
PREGUNTA RESPUESTA
1 V
2 F
3 V
4 V
5 V
6 V
7 V
8 V
9 F
10 F
Ir a
autoevaluación
173
Anexos Texto-guía: Ingeniería de Requisitos
8. Anexos
THESAURUS
DICTIONARY
El presente material ha sido reproducido con fines netamente didácticos, cuyo objetivo es
brindar al estudiante mayores elementos de juicio para la comprensión de la materia, por
lo tanto no tiene fin comercial.
P reparar el es cenario
Ag reg ar detalle a
necesi dades y Pro bar los
los
criterios de modelos de
requerimientos
sa tisf acción de requerimientos
de usu ario
los St akeholders
Pl an de
elicitación
175 175
Texto-guía: Ingeniería de Requisitos Anexos
Cada proyecto es diferente. Al seleccionar la técnica para levantar información considere los factores que
se indican en la siguiente tabla, para guiarse y obtenga requerimientos satisfactorios. (Gottesdiener E. ,
2005)
Factores a considerar
Técnica Número de usuarios Accesibilidad a los expertos Tiempo para recopilar
finales en la materia requerimientos
Seleccione uno o
Se basa en una interacción Usualmente toma
más usuarios
cara a cara; por lo general se semanas planificar,
Grupos focales representativos de
requiere del enfoque de conducir, y analizar los
cada grupo de
múltiples grupos focales. datos.
usuarios.
Anexos Texto-guía: Ingeniería de Requisitos
Estudio de El análisis y la
documentación No aplicable No aplicable documentación puede
existente tomas varios días.
Diseñar la encuesta,
Útil para una muestra de obtener las respuestas y
Encuestas un gran número de Acceso físico no requerido organizar los datos
stakeholders puede tomar semanas o
meses.
Es muy importante respetar el tiempo de los stakeholders cuando se utilizan técnicas que implican la
interacción directa de estos. Asegúrese de que comience y termine a tiempo tanto las entrevistas, los
talleres, los grupos focales, entre otras.
Habilidades de
Habilidades de Habilidades Habilidades de
Habilidades observación/
Técnica facilitación para escritura técnica
interpersonales escuchar
entrevistar
Entrevistas X X X
Prototipos
Talleres X X X
Grupos focales X X X X
Análisis de
tareas de X X X X
usuario
Observación X X
Estudio de
X
documentación
Encuestas X X
177 177
Texto-guía: Ingeniería de Requisitos Anexos
1. Introducción
1.1. Objetivo y antecedentes
1.2. Información del negocio y necesidades del usuario
1.3. Documento de información general y convenio
1.4. Referencias
4. Nuevas funcionalidades
4.1. Usuarios y perfiles de usuario
4.2. Nuevas o actualizadas capacidades de usuario (Apéndice D)
4.3. Impacto de las nuevas capacidades en los procesos de usuario y en el sistema
4.4. Interfaces con otros sistemas
4.5. Entorno de soporte de usuario y documentación de usuario
Apéndices
A: Glosario de términos
B: Diccionario de datos
C: Diagrama de contexto
D: Casos de uso y escenarios.
Anexos Texto-guía: Ingeniería de Requisitos
1. Introducción
1.1. Propósito
La gestión de trámites por parte de los estudiantes de MAD de la UTPL, requieren de una atención
adecuada por parte de cada uno de los estamentos universitarios que intervienen en la resolución
de los mismos. La aplicación “Autotrámites” permite el aprovechamiento de los recursos que la
UTPL posee en cuanto a personas, coma a tecnología. En esta versión, la 1.0 se establecen las
necesidades de los usuarios, secretarias de centros, secretarias de carrera, coordinación
académica y profesores para gestionar y responder al flujo de eventos que se realizan por cada
trámite. La aplicación utilizará la información académica del sistema académico “Syllabus” y
del sistema financiero “Baan”.
• Director de MAD
• Coordinador académico de la MAD
• Director del área de procesos de la MAD
• Coordinador del centro asociado de la MAD
• Profesores
• Secretarias
• Estudiantes
1.4. Alcance
179 179
Texto-guía: Ingeniería de Requisitos Anexos
1.5. Referencias
2. Descripción general
Debido a que el sistema se deberá integrar con el Sistema de Gestión Académica, interactuará con sus
módulos principales: Gestión Académica, Gestión Financiera, Configuración.
SISTEMA DE GESTIÓN
ACADÉMICA
Módulo de Descripción
Maneja información referente los asuntos académicos como por ejemplo: pla
Gestión Académica de estudio, periodos académicos, notas, expedientes de los estudiantes, etc.
Módulo de Descripción
Permite invocar a cualquier trámite y además controlar las actividades
Funcionalidades generales
que lo gestionan.
Permite llevar adelante en el sistema las actividades específicas definidas e
Funcionalidades especificas
cada uno de los trámites.
Anexos Texto-guía: Ingeniería de Requisitos
Registro de trámites
Resolución de trámites
Consulta de trámites
Dependiendo del trámite y rol del usuario se presenta información referente al trámite.
181 181
Texto-guía: Ingeniería de Requisitos Anexos
Asunciones
Dependencias
• El sistema se basará en el uso de herramientas que esta licenciado la UTPL, y como motor
central el worflow de Oracle.
3.1.1. Descripción.
Entrada:
La selección del estudiante consiste en buscar y presentar si tiene registrado previamente algú
trámite. Se presenta un formulario con el tipo de búsqueda a realizar: (básica o avanzada), y lo
campos son:
Proceso:
Salida:
3.1. La aplicación deberá ser tan familiar como sea posible a los usuarios que han usado otras
aplicaciones web (Syllabus) y aplicaciones de escritorio en Windows.
3.3. El flujo de trabajo de cada trámite deberá ser fácilmente interpretado en el motor de
workflow.
Cada una de las actividades de trámite, deberán ser especificadas de acuerdo al proceso
definido para la resolución de este, con la finalidad de que no existan actividades adicionales
a considerar en el flujo de trabajo .
183 183
Texto-guía: Ingeniería de Requisitos Anexos
Apéndice A: Glosario
1) Términos generales
• Actividad de un trámite
Representa cada uno de los estados y diligencias que la solicitud de un estudiante tiene que
recorrer en el flujo de trabajo hasta su conclusión.
• Digitalización
Proceso por el cual se capturan los datos de un formato físico y se lo expresa datos en forma
digital.
• Estatus de trámite
Representa la situación relativa de una actividad de trámite dentro de un determinado flujo
de trabajo.
• Flujo de trabajo
Representa los aspectos operacionales de una actividad de trabajo: cómo se estructuran
las tareas, cómo se realizan, cuál es su orden correlativo, cómo se sincronizan, cómo fluye la
información que soporta las tareas y cómo se le hace seguimiento al cumplimiento de las
tareas.
Anexos Texto-guía: Ingeniería de Requisitos
Inicio
Entrega solicitud
para cambio de
jornada de
evaluación
Entrega en el No Período de Si
centro? generación de
pruebas?
1
Si No
Período de Si
generación de Verifica
pruebas? información del
expediente
1
No
Verifica
información del Ingresa solicitud
expediente de trámite
Ingresa solicitud
de trámite Revisa notificación
Actualiza tarea
Notificar Culminación de
trámite: Estudiante,
Centro de evaluaciones,
sec escuela
Fin
185 185
Texto-guía: Ingeniería de Requisitos Anexos
188 187
Texto-guía: Ingeniería de Requisitos Anexos
SC, MS/gg/2012-01-12/183
vtc/2013-06-11/189
189