SlideShare ist ein Scribd-Unternehmen logo
1 von 231
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 1
22/06/2021
Introducción y proceso de
Ingeniería de requerimientos
Unidad 1
Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo
para uso de los cursos de Ingeniería de Requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 2
22/06/2021
Objetivo general de la Unidad 1
Caracterizar las actividades involucradas en el
descubrimiento, documentación y mantenimiento
de los requerimientos de un producto determinado
conociendo de forma precisa el problema que van
a resolver para que la solución que se construya
sea correcta y útil.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 3
22/06/2021
Lección 1
La Ingeniería de
requerimientos - IDR
Unidad 1
Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo
para uso de los cursos de Ingeniería de Requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 4
22/06/2021
Contenido
• La Ingeniería de requerimientos – IDR
– Definición de la IDR
– Importancia de la IDR
– Actividades de la IDR
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 5
22/06/2021
Visión global
n Primera fase del ciclo de vida del
software en la que se produce una
especificación a partir de ideas
informales
n Deben obtenerse y documentarse
n Los requisitos de información
n Los requisitos funcionales
n Los requisitos no funcionales
n Los criterios para medir el grado de su consecución
n El proceso de desarrollo de dicha especificación de requisitos es lo que se
conoce como ingeniería de requisitos
n Importancia creciente de
n El correcto entendimiento (obtención), documentación (especificación) y
validación de las necesidades de los usuarios y clientes
n La medida de la calidad de los sistemas en función del grado de satisfacción
de los usuarios
Ingeniería de
Requisitos
Resto del
ciclo de vida
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 6
22/06/2021
Definición (i)
n Todas las actividades relacionadas con: (a) identificación y
documentación de las necesidades de clientes y usuarios; (b) creación de
un documento que describe la conducta externa y las restricciones
asociadas [de un sistema] que satisfará dichas necesidades; (c) análisis y
validación del documento de requisitos para asegurar consistencia,
compleción y viabilidad; (d) evolución de las necesidades [Hsia et al.,
1993]
n … el uso sistemático de procedimientos técnicas, lenguajes y
herramientas para obtener con un coste reducido el análisis,
documentación, evolución continua de las necesidades del usuario y la
especificación del comportamiento externo de un sistema que satisfaga
las necesidades del usuario. Téngase en cuenta que todas las disciplinas
de la ingeniería son semejantes, la ingeniería de requisitos no se guía por
conductas esporádicas, aleatorias o por modas pasajeras, si no que se
debe basar en el uso sistemático de aproximaciones contrastadas [Reifer,
1994]
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 7
22/06/2021
Definición (ii)
n Aplicación disciplinada de principios científicos y técnicas para desarrollar,
comunicar y gestionar requisitos [Christel y Kang 1992]
n El proceso sistemático de desarrollar requisitos mediante un proceso
iterativo y cooperativo de analizar el problema, documentar las
observaciones resultantes en varios formatos de representación y
comprobar la precisión del conocimiento obtenido [Christel y Kang 1992]
n Un proceso sistemático de desarrollo de requisitos mediante un proceso
cooperativo consistente en analizar el problema, documentar las
observaciones resultantes en una variedad de formatos de
representación, y comprobar la exactitud de la comprensión conseguida
[Loucopoulus y Karakostas, 1995]
n Un proceso de descubrimiento y comunicación de las necesidades de
clientes y usuarios y la gestión de los cambios en dichas necesidades
[Durán, 2000]
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 8
22/06/2021
Ingeniería de Requerimientos
El proceso de establecer los servicios que el
cliente requiere de un sistema y los limites
bajo los cuales opera y se desarrolla
[Sommerville]
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 9
22/06/2021
Contenido
• La Ingeniería de requerimientos – IDR
– Definición de la IDR
– Importancia de la IDR
– Actividades de la IDR
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 10
22/06/2021
Importancia
• Uno de los principales problemas al que nos
enfrentamos como ingenieros de software en
el desarrollo de sistemas es la ingeniería de
requisitos.
• De esta fase depende el éxito del producto
de software.
– 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.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 11
22/06/2021
Stakeholders
• Es el público de interés para una
empresa que permite su
completo funcionamiento.
• Como público, se refiere a todas
las personas u organizaciones
que se relacionan con las
actividades y decisiones de una
empresa como:
– empleados, proveedores,
clientes, gobierno, entre otros.
Los stakeholders son aquellas personas o entidades
que tienen algún impacto o interés en este sistema.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 12
22/06/2021
Stakeholders
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 13
22/06/2021
Importancia
• 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.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 14
22/06/2021
Importancia
• El no definir los requisitos correctamente tiene un
precio bastante alto ya que se ocasionan
requisitos mal definidos (incompletos, incorrectos
o requisitos contradictorios)
• Estos errores pueden causar:
– Sobrecosto
– Reproceso costoso
– Mala calidad
– Retraso en la entrega
– Clientes descontentos
– Miembros de equipo agotados y desmoralizados
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 15
22/06/2021
Motivación
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 16
22/06/2021
Importancia
• Entender la naturaleza de un problema por lo
general es algo difícil → es difícil establecer
que debe hacer un sistema software
• La descripción de los servicios y restricciones
son los requisitos del sistema
• La ingeniería de requisitos es el proceso que
permite identificar dichos requisitos
• Como otras actividades de Ing. de Sw, ésta
debe adaptarse a las necesidades del
proceso, proyecto, producto y gente que
hace el software.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 17
22/06/2021
Importancia *
• La Ing. de Requerimientos provee de un
mecanismo apropiado para:
– entender que quiere el consumidor,
– analizar sus necesidades,
– valorar la factibilidad de construcción,
– negociar una solución razonable,
– especificar de manera no ambigua una solución,
– validar la especificación y
– administrar los requerimientos conforme se
transforman.
*Referencia: capítulo 7 libro de texto (Pressman 2005)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 18
22/06/2021
Motivación
• Se ha hecho muy evidente que una
especificación deficiente de los requisitos del
software puede conducir a proyectos fallidos,
de allí que esta disciplina cada vez adquiera
mayor importancia.
• El curso de Ingeniería de requisitos esta
diseñado para enseñarte a identificar y
analizar requisitos de manera integral, con el
cual garantizaras la elaboración de
especificaciones funcionales de calidad.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 19
22/06/2021
Contenido
• La Ingeniería de requerimientos – IDR
– Definición de la IDR
– Importancia de la IDR
– Actividades de la IDR
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 20
22/06/2021
Actividades de la Ing. de
Requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 21
22/06/2021
Ingeniería de Requerimientos
Proceso de los Requerimientos
Obtención Análisis Validación
Administración de los Requisitos
Línea
Base
de
Requerimientos
Línea base actual
Línea base corregida
Planificación
Administración
del Cambio
Cambios en
requerimientos
Cambios
en el proyecto
Planifica-
ción Verificación
Trazabilidad
Especifica-
ción
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 22
22/06/2021
Actividades de la Ing. de
Requerimientos
– Iniciación (Inception)
– Obtención (Elicitation)
– Elaboración
– Negociación
– Especificación
– Validación (Validation)
– Administración
• Algunas de estas funciones pueden ocurrir en paralelo y
ajustarse a las necesidades del proyecto
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 23
22/06/2021
Iniciación
• Como se empieza un proyecto? Algunas veces inicia por
conversaciones informales, otras de manera mas formal;
normalmente como resultado de una necesidad
importante
• En esta parte, los ingenieros de software realizan
preguntas “libres de contexto” (generales), para
establecer un entendimiento básico del problema,
determinar las personas que quieren una solución, la
naturaleza de la solución, y la efectividad de las
colaboraciones y comunicaciones preeliminares que se
generan entre el consumidor y el desarrollador
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 24
22/06/2021
Obtención de Requerimientos
• Se refiere a definir formalmente los requerimientos de la
solución. Es difícil porque como ya se ha visto:
– Hay problemas de definición de alcances
– Hay problemas de entendimiento entre los involucrados
– Hay problemas de volatilidad (los requerimientos cambian
con el tiempo)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 25
22/06/2021
Elaboración
• Esta actividad expande y refina la información obtenida en la
tarea de iniciación
• Se enfoca en realizar modelos técnicos refinados de las
funciones del software, características y limitantes.
• Es básicamente una función de modelado. Se conduce a
través de la definición de escenarios del usuario que
describen la interacción del usuario final con el sistema
• Se define el dominio del problema desde varios puntos de
vista: información, funciones y comportamiento
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 26
22/06/2021
Negociación
• Los usuarios y consumidores normalmente piden mas
de lo que se puede hacer con los recursos con que se
cuenta.
• Casi siempre diferentes involucrados (stakeholders)
piden cosas diferentes, por lo que hay que conciliar
intereses a través de negociaciones.
• Hay varias maneras para negociar, y depende de la
cultura de la organización y tamaño del proyecto
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 27
22/06/2021
Especificación
• Especificación significa diferentes cosas para diferentes
personas en el área de Ing. de software.
• Este es el producto de trabajo final de la ingeniería de
requerimientos.
• Sirve como base para actividades subsecuentes.
• Describe la función y desempeño de un sistema y las
restricción que tiene.
• Hay muchas técnicas para escribir especificaciones:
diagramas, narraciones en prosa, modelos matemáticos,
dibujos, etc.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 28
22/06/2021
Validación
• El producto generado por la ingeniería de
requerimientos debe ser evaluado en términos de
congruencia y calidad. Se debe asegurar que la
especificación concuerda con las expectativas del
usuario y que no es ambigua.
• Deben detectarse y corregirse errores, omisiones e
inconsistencias con respecto a los estándares
establecidos en el proyecto.
• El mecanismo común de validación es la revisión técnica
formal.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 29
22/06/2021
Administración de requerimientos
• Actividades que ayudan al equipo de trabajo a identificar, controlar y
seguir los requerimientos y cambios que ocurren en ellos a través
de todo el proceso de desarrollo.
• La administración empieza con la identificación de cada
requerimiento. Posteriormente se generan tablas que permitirán
darles seguimiento. Algunas de éstas son:
– Tablas de características
– Tablas de fuentes
– Tablas de dependencias
– Tablas de subsistemas
– Tablas de interfaces
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 30
22/06/2021
Lección 2
Requerimientos
Unidad 1
Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo
para uso de los cursos de Ingeniería de Requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 31
22/06/2021
Contenido
• Requerimientos
– Definición
– Tipos
– Importancia
– División
– Características
– Dificultades para definir requerimientos
– Formas de documentar los requerimientos
– Lenguajes y modelos para representar los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 32
22/06/2021
Requerimiento ( = requisito)
• Atributo necesario de un
sistema
• Un enunciado que identifica
una capacidad, una
característica, un factor de
calidad del sistema para
lograr la utilidad y valor
esperados por el usuario o
cliente.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 33
22/06/2021
¿Qué es un Requerimiento?
• Es un rango de instrucciones abstractas de alto
nivel de un servicio o de un sistema, limitado a
detallar una especificación funcional matemática.
• Así es inevitable como los Requerimientos pueden
servir en una función dual
– Puede ser la base para una declaración de un
contrato, por lo tanto, deber estar abierto a
interpretación.
– Puede ser la base para el contrato en sí, por lo tanto,
debe ser definido en detalle.
– Ambas declaraciones serán llamadas
Requerimientos.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 34
22/06/2021
Requisitos vs. Diseño
• Requisitos definen el Qué (el problema) del
sistema
• El Diseño define el Cómo (la solución)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 35
22/06/2021
Requisitos y diseño
• En principio, los requisitos deben indicar lo qué el
sistema debe hacer y el diseño debe describir
cómo lo debe hacer
• En la práctica, es prácticamente imposible excluir
toda la información de diseño al especificar en un
nivel adecuado los requisitos de software.
– La arquitectura del sistema puede ser diseñada para
estructurar los requisitos.
– El sistema puede interactuar con otros sistemas que
generan requisitos de diseño.
– El uso de una arquitectura especifica para satisfacer
los requisitos no funcionales puede ser un requisito.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 36
22/06/2021
Contenido
• Requerimientos
– Definición
– Tipos
– Importancia
– División
– Características
– Dificultades para definir requerimientos
– Formas de documentar los requerimientos
– Lenguajes y modelos para representar los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 37
22/06/2021
Importancia
• El establecer requerimientos está
relacionado con las actividades del cliente
para el Software.
• Los errores en los requerimientos son
usualmente muy caros de corregir una vez
desarrollado el sistema.
• La revisión de requerimientos debe involucrar
al cliente y al staff de contratistas para validar
los requerimientos del sistema.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 38
22/06/2021
Costos de errores en los requisitos
• Costo de corregir un error en los requisitos
(Boehm-Papaccio,1988)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 39
22/06/2021
Importancia
• La importancia de tener requisitos de
calidad radica en:
– Involucran del 10 al 15% del coste total del
proyecto.
– Un error en los requisitos puede ser de 10
hasta 100 veces más costoso que un error en
el código.
– Una equivocación en la etapa de requisitos se
arrastra en las demás fases.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 40
22/06/2021
Importancia
• Por estas razones los requerimientos
deben tener las siguientes características:
– Ser una combinación compleja de los
requisitos (necesidades) de diferentes
personas (stakeholders) que pertenecen a
diferentes niveles de una organización y
entorno en donde se operará el software.
– Deben ser verificables.
– Deben ser lo más claros que se pueda y
cuantificables en medida de lo posible.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 41
22/06/2021
Contenido
• Requerimientos
– Definición
– Tipos
– Importancia
– División
– Características
– Dificultades para definir requerimientos
– Formas de documentar los requerimientos
– Lenguajes y modelos para representar los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 42
22/06/2021
Requisitos - Abstracción
• La forma de un requisito puede variar
desde una oración con un alto nivel de
abstracción hasta una especificación
funcional matemática.
• Posibles contextos de un requisito:
– Puede ser la base de una oferta para un
contrato— por lo tanto debe estar abierto a la
interpretación.
– Puede ser la base para un contrato— por lo
tanto debe ser definido detalladamente.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 43
22/06/2021
Tipos de requisitos - Abstracción
• Requisitos de usuario
– Son declaraciones en lenguaje natural, además
de diagramas de los servicios que proporciona el
sistema y sus limitaciones operativas. Escritos
para los clientes.
• Requisitos del sistema
– Un documento estructurado que establece
descripciones detalladas de las funciones,
servicios y restricciones operacionales del
sistema. Define lo que se debe implementar,
podría ser parte de un contrato entre el cliente y
el empresario.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 44
22/06/2021
Tipos de requisitos - Abstracción
• Es necesario escribir los requisitos utilizando
diferentes niveles de abstracción porque
diferentes lectores los usan de diferente
forma.
Requerimientos
del usuario
Gerentes del cliente
Usuarios finales del sistema
Ingenieros del cliente
Gerentes de los contratistas
Arquitectos del sistema
Requerimientos
del sistema
Usuarios finales del sistema
Ingenieros del cliente
Arquitectos del sistema
Desarrolladores de software
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 45
22/06/2021
Otros tipos de información de requisitos
• Requisitos del dominio
– Se derivan del dominio de aplicación del sistema y no de
las necesidades específicas de los usuarios.
• Requisitos del negocio
– Un objetivo de alto nivel de una organización que
desarrolla un producto o de un cliente que lo compra.
• Regla de negocio
– Una política, guía, estándar o regulación que define o
restringe algún aspecto del negocio.
• Requisito de interfaz externa
– Una descripción de una conexión entre un sistema de
software y un usuario, otro sistema de software o un
dispositivo de hardware.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 46
22/06/2021
Otros tipos de información de requisitos
• Característica (feature)
– Una o más capacidades relacionadas de forma lógicas
que proveen valor al usuario y son descriptas como un
conjunto de requisitos funcionales. Ejemplo: los favoritos
del navegador.
• Requisito funcional
– Una descripción de lo que el sistema debe hacer bajo
condiciones específicas.
• Requisitos no funcionales
– Una descripción de una propiedad o característica que un
sistema debe poseer o una restricción que debe respetar.
• Atributo de calidad
– Un tipo de requisito no funcional que describe una
característica de servicio o desempeño de un producto.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 47
22/06/2021
Contenido
• Requerimientos
– Definición
– Tipos
– Importancia
– División
– Características
– Dificultades para definir requerimientos
– Formas de documentar los requerimientos
– Lenguajes y modelos para representar los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 48
22/06/2021
División
• Podemos identificar dos divisiones de
requisitos:
- Requisitos de usuario.
- Requisitos de sistema.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 49
22/06/2021
Requisitos de Usuario
• Los requisitos de usuario son frases en
lenguajes natural junto a diagramas de los
servicios que el sistema debe proporcionar,
así como las restricciones bajo las que debe
operar
• Según Sommeville, 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
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 50
22/06/2021
Requisitos de sistema
• Los requisitos de sistema determinan los
servicios del sistema y las restricciones en
detalle. Sirven como contrato.
• Según Sommeville:
– Establecen con detalle los servicios y
restricciones del sistema.
– El documento de requerimientos del sistema,
algunas veces denominado especificación
funcional, debe ser preciso
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 51
22/06/2021
Reqs. Usuario vs Reqs. De sistema
• En conclusión, son los mismo, pero a
distinto nivel de detalle
– e.g. req. usuario: el sistema debe hacer
préstamos
– e.g. reg. sistema: función préstamo; entrada:
cód. socio, cód. ejemplar; salida: fecha
devolución; ......
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 52
22/06/2021
Ejemplos
• El sistema debe permitir al usuario introducir
los datos de los estudiantes nuevos.
– Requisito de usuario expresado en términos
generales. ¿Qué servicio debe prestar el
sistema?
• El sistema debe permitir a los usuarios
buscar el producto por nombre, número de
factura, código de barras.
– Requisito del sistema: Que define una parte de
funcionalidad del sistema.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 53
22/06/2021
Otra división: Stated vs Real
requirements
• Stated requirements (requisitos manifestados):
– Son proporcionados por el usuario/cliente al inicio
del desarrollo de un sistema/software.
• Real requirements(requisitos reales):
– Reflejan las necesidades reales del sistema.
– Algunos requerimientos reales son omitidos por el
usuario /cliente cuando estos son expresados al
inicio (stated requirements).
– El reto consiste en identificar estos requisitos
reales.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 54
22/06/2021
Requisitos de sistema
• Hay tres tipos de requisitos de sistema:
– Requisitos funcionales
– Requisitos no funcionales
– Requisitos del dominio.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 55
22/06/2021
Requisitos
funcionales
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 56
22/06/2021
Requerimientos funcionales
• Son declaraciones de los servicios que el sistema
debería proveer, cómo el sistema debería reaccionar
a entradas particulares y cómo debería comportarse
en situaciones particulares.
• Expresan la naturaleza del funcionamiento del sistema
(cómo interacciona el sistema con su entorno y cuáles
van a ser su estado y funcionamiento).
– NOTA: A veces, también es conveniente indicar lo que no
hará el sistema.
• Ejemplos:
– Un usuario podrá buscar en las listas de citas de todas las
clínicas.
– El sistema deberá generar cada día para cada clínica una
lista de pacientes que se espera asistan a la cita durante
ese día.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 57
22/06/2021
Los requerimiento Funcionales definen:
Ejemplos de requerimientos funcionales:
Ejemplos para el sistema de control de maletas
• El sistema debe manejar hasta 20 maletas por segundo
• Si el suministro de corriente falla, el sistema debe apagarse de manera
ordenada en menos de 5 segundo.
• Cada usuario del sistema debe identificarse de manera única utilizando su
numero de empleado de 8 dígitos.
Cuáles entradas debe aceptar el sistema
Cuáles salidas debe producir el sistema
Qué datos debe almacenar el sistema que utilizarán otros sistemas
Qué operaciones debe realizar el sistema
La sincronización y cronometraje de las actividades anteriores.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 58
22/06/2021
Falta de precisión en los requisitos
• La falta de precisión en los requisitos es la causa
de muchos problemas en la ingeniería de software.
• Los requisitos ambiguos pueden ser interpretados de
diferentes maneras por desarrolladores y usuarios.
Ejemplo:
– Un usuario podrá buscar en las listas de citas de todas las
clínicas.
Búsqueda dentro de
cada clínica por vez
Búsqueda dentro de
todas las clínicas a
la vez
Búsqueda por
nombre y apellido
Búsqueda por hora
de la cita
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 59
22/06/2021
Requisitos
funcionales
Ejemplos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 60
22/06/2021
Ejemplos de requerimientos funcionales
• De proceso o área de negocio:
– El sistema enviará un correo electrónico cuando se
registre alguna de las siguientes transacciones: pedido de
venta de cliente, despacho de mercancía al cliente,
emisión de factura a cliente y registro de pago de cliente.
– Se permitirá el registro de pedidos de compra con datos
obligatorios incompletos, los cuales podrán completarse
posteriormente modificando el pedido. Antes de poder
aprobarse los datos del pedido deben estar completos.
– Al aprobar un pedido, la solicitud pasará al siguiente paso
del flujo de trabajo (workflow) de aprobación configurado
en el sistema.
– El sistema permitirá a los usuarios autorizados el ingresar
planes y cronogramas de proyecto.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 61
22/06/2021
Ejemplos de requerimientos funcionales
• De interfaz gráfica:
– La solución validará automáticamente el cliente asociado
a una orden con el sistema de gestión de contactos.
– El campo de monto aceptará únicamente valores
numéricos con dos decimales.
– El campo fecha de transacción aceptará únicamente
fechas anteriores al día de hoy (día actual).
– El campo nombre aceptará caracteres alfabéticos
únicamente.
– El campo dirección aceptará caracteres alfabéticos,
numéricos y especiales.
– El campo país consistirá en una lista de preselección. El
país asociado a una dirección debe ser previamente
registrado en el sistema.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 62
22/06/2021
Ejemplos de requerimientos funcionales
• Legales o regulatorios:
– El sistema controlará el acceso y lo permitirá
solamente a usuarios autorizados.
– La base de datos será implementada con trazas de
auditoría.
– Las hojas de cálculo asegurarán los datos usando
firmas electrónicas.
– El sistema permitirá elaborar y emitir el reporte
regulatorio XX, según los requerimientos establecidos
en el reglamento y ley aplicable.
– Los libros de venta y de compras serán emitidos en el
formato establecido por las autoridades tributarias de
dicha materia.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 63
22/06/2021
Ejemplos de requerimientos funcionales
• De seguridad:
– El sistema controlará el acceso y lo permitirá solamente a
usuarios autorizados. Los usuarios deben ingresar al
sistema con un nombre de usuario y contraseña.
– El sistema enviará una alerta al administrador del sistema
cuando ocurra alguno de los siguientes eventos: Registro
de nueva cuenta, ingreso al sistema por parte del cliente,
2 o más intentos fallidos en el ingreso de la contraseña de
usuario y cambio de contraseña de usuario.
– Los integrantes del grupo de usuarios de analistas pueden
ingresar solicitudes pero no pueden aprobarlas o
borrarlas.
– Los integrantes del grupo de usuarios de gerentes pueden
ingresar y aprobar solicitudes, pero no pueden borrarlas.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 64
22/06/2021
Requisitos NO
funcionales
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 65
22/06/2021
Requerimientos NO funcionales
• Son restricciones a los servicios o funciones
provistas por el sistema, como restricciones de
tiempo, restricciones sobre el proceso de
desarrollo, estándares, etc.
• Generalmente son aplicables al sistema entero y
no a servicios o funciones en particular
• Por lo general:
– El Plan para implementar los requerimientos no
funcionales se detalla en la Arquitectura del
Sistema.
– El de los requerimientos funcionales se especifica
en el Diseño.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 66
22/06/2021
Requerimientos NO funcionales
• Los requerimientos no funcionales:
– Definen las características o cualidades generales
que se esperan de un sistema
– Establecen restricciones sobre el producto, el
proceso de desarrollo de software
– Establecen restricciones externas que el software
debe lograr
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 67
22/06/2021
Necesidad de definir los requerimientos no funcionales en
términos precisos y que puedan medirse
• Para todo proyecto de TI, es crítico que los requerimientos no
funcionales sean definidos con los usuarios, clientes y otros
interesados en términos precisos y medibles en la etapa de análisis
del proyecto. No hacerlo puede poner en riesgo el éxito de un proyecto.
– Por ejemplo, tomando el caso de los tiempos de respuesta de un sistema, lo cual
podría clasificarse en disponibilidad, ¿que sucedería si no se definiera el tiempo de
respuesta deseado en la fase de análisis de requerimientos?, o si se definiera en
términos imprecisos, como por ejemplo indicado, "Se necesita un tiempo de
respuesta aceptable".
– Al llegar a la fase de implementación, quizás en sistema tendría un tiempo de
respuesta, digamos de 15 segundos(debido a muchas plataformas remotas y bases
de datos involucradas), pero el usuario lo necesitaba en menos de 5 segundos, para
por ejemplo, evitar que se forme una fila muy larga para atender a clientes.
– Errores como esto pudieran ocasionar inclusive que el usuario final decidiera no usar
el nuevo sistema, haciendo fracasar el proyecto.
– Por ende, es importante definir los requerimientos con métricas que puedan
establecer sin lugar a duda que el sistema o servicio de TI desarrollado cumple los
parámetros no funcionales solicitados.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 68
22/06/2021
Requerimientos NO funcionales y
requerimientos funcionales
• Los requerimientos NO funcionales suelen expresarse de una manera
general y sin hacer referencia a algún modulo, transacción o característica
del sistema, pues sino pasarían a ser requerimientos funcionales.
– Por ejemplo: El sistema debe asegurar que los datos estén protegidos del
acceso no autorizado
• Es recomendable acompañar las definiciones de requerimientos NO
funcionales con criterios de aceptación que puedan medirse.
• Los requerimientos NO funcionales pueden a su vez derivar en
requerimientos funcionales, tomando como ejemplo el anterior:
– El sistema incluirá un procedimiento de autorización de usuarios, en el cual los
usuarios deben identificarse usando un nombre de usuario y contraseña. Sólo
los usuarios autorizados de esta forma podrán acceder a los datos del sistema.
– Escrito de esta forma, el requerimiento pasa a ser funcional.
• Sin embargo, no todos los requerimientos NO funcionales pueden
derivarse en requerimientos funcionales, por lo cual es muy importante
definir los criterios de aceptación.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 69
22/06/2021
Categorías en las que pueden clasificarse
los requerimientos NO funcionales
• Se pueden clasificar en dos categorías:
– Cualidades observables en tiempo de ejecución
• Por ejemplo: la usabilidad y la seguridad.
– Cualidades relacionadas con la evolución del
sistema
• Por ejemplo: Mantenibilidad, Comprobabilidad,
Extensibilidad y Escalabilidad, las cuales están
inmersas en la estructura del sistema de software.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 70
22/06/2021
Clasificación de requerimientos NO
funcionales
• Importancia de clasificar los requerimientos no
funcionales
– El especificar requerimientos no funcionales de forma
incompleta o inexacta puede ocasionar el fracaso de
tu proyecto de ingeniería de software.
– De hecho no gestionar los requerimientos no
funcionales es uno de los errores clásicos en la
gestión de desarrollo de software (definida por Steve
McConnell).
– Lograr clasificar adecuadamente cada requerimiento
no funcional identificado es muy importante para
garantizar este proceso.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 71
22/06/2021
Algunas recomendaciones para determinarlos
Propiedad Medida
Rapidez
Transacciones procesadas por segundo
Tiempo de respuesta al usuario y a eventos
Tiempo de actualizacion de la pantalla
Tamaño
K Bytes
Numero de chips de RAM
Facilidad de Uso
Tiempo de entrenamiento
Número de pantallas de ayuda
Fiabilidad
Número promedio entre fallos
Probabilidad de no disponibilidad
Tasa de Ocurrencia de fallos
Disponibilidad
Robustez
Tiempo de reinicio entre fallos
Porcentaje de eventos que provocan fallos
Probabilidad de corrupcion de los datos
despues de fallos
Portabilidad
Porcentaje de declaraciones dependientes
de objetivos
Número de sistemas objetivo
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 72
22/06/2021
Clasificación de requerimientos NO
funcionales
• Existen diversas fuentes o marcos de referencia
para clasificar los requerimientos no funcionales,
de hecho, existe un estándar de la IEEE, Std 830
– 1993 que establece 13 tipos de requerimientos
no funcionales que deberían incluirse en toda
especificación de software.
• Otro modelo es el propuesto por Jacobson (1999)
para el Unified Process.
• Uno de los modelos más difundidos es el
establecido por Somerville, éste será el que
usaremos en este curso.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 73
22/06/2021
Clasificación de requerimientos NO
funcionales (Sommerville)
• Del Producto: Especifican restricciones al comportamiento
del producto.
– Ejemplos: desempeño, confiabilidad, portabilidad, usabilidad
• De la Organización: Se derivan de las políticas y
procedimientos existentes en la organización del cliente y en
la del desarrollador.
– Ejemplos: estándares, lenguajes de programación, método de
diseño
• Externos: Se derivan de factores externos, como:
– Interoperabilidad: con otros sistemas
– Legislativos: privacidad, seguridad
– Éticos: dependen del contexto, las personas, etc
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 74
22/06/2021
Requerimientos de Producto
▪ Eficiencia
– Desempeño (Ejemplo: Numero de maletas por minuto)
– Espacio (Ejemplo: Mínima cantidad de memoria requerida)
▪ Fiabilidad (tiempo mínimo antes de primera falla)
▪ Portabilidad (Puede usarse con otro S.O o con otro HW?)
▪ Usabilidad (Tiempo de entrenamiento requerido)
Requerimientos Organizacionales
▪Entrega (ejemplo: Fecha de entrega, fecha cuando
estará operacional, sesiones de entrenamiento,
actualizaciones)
▪ Implementación
▪ Estándares
Requerimientos Externos
▪Interoperabilidad (Ejemplo: Comunicación con otro
equipo).
▪ Éticos (Ejem: Seguridad para los operadores)
▪ Legislativos (Ejem: Reglas de privacidad)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 75
22/06/2021
Clasificación de requerimientos NO
funcionales (Sommerville)
Requerimientos
de rendimiento
Requerimientos
de espacio
Requerimientos
de usabilidad
Requerimientos
de eficiencia
Requerimientos
de confiabilidad
Requerimientos
de seguridad
Requerimientos
regulatorios
Requerimientos
éticos
Requerimientos
legales
Requerimientos
operacionales
Requerimientos
de desarrollo
Requerimientos
ambientales
Requerimientos
protección/seguridad
Requerimientos
contables
Requerimientos
del producto
Requerimientos
de la organización
Requerimientos
externos
Requerimientos
no funcionales
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 76
22/06/2021
Requerimientos NO funcionales del Producto
• Suele referirse a limites o restricciones sobre el
comportamiento del sistema, por lo cual establece límites y
restricciones sobre lo que los diseñadores (arquitectos de
software) e ingenieros de software pueden hacer.
• Algunos de estos requerimientos pueden ser fáciles de
cuantificar, por ejemplo el desempeño y la confiabilidad, pero
otros son más difíciles como por ejemplo usabilidad y
adaptabilidad.
• Se clasifican en:
– Requerimientos de usabilidad: La usabilidad se define como
el esfuerzo que necesita hacer un usuario para aprender, usar,
ingresar datos e interpretar los resultados obtenidos de un
software de aplicación. En tiempos recientes, la usabilidad ha
adquirido mucha importancia, en especial ante la demanda
de desarrollo de software para móviles y tabletas.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 77
22/06/2021
Requerimientos NO funcionales del Producto
– Requerimientos de eficiencia: Relacionado con desempeño
en cuanto a tiempo de respuesta, número de operaciones por
segundo, entre otras mediciones, así como consumo de
recursos de memoria, procesador, espacio en disco o red.
– Requerimientos de dependibilidad: Engloba varios atributos
• Disponibilidad: Disposición del sistema para prestar servicio
correctamente.
• Confiabilidad: Continuidad del servicio prestado por el sistema.
• Seguridad industrial: Ausencia de consecuencias catastróficas para
el usuario o el ambiente.
• Integridad: Ausencia de alteraciones inadecuadas al sistema.
• Mantenibilidad: Posibilidad de realizar modificaciones o reparaciones
a un proceso sin afectar la continuidad del servicio.
– Requerimientos de seguridad: Capacidades funcionales o no
funcionales que debe tener un sistema para cumplir atributos en
el área de seguridad de tecnología de información, seguridad de
datos, seguridad lógica, control de acceso a información
(restricciones de acceso), autenticidad de la información,
privacidad, entre otros aspectos.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 78
22/06/2021
Requerimientos NO funcionales del Producto
• Considerar los requerimientos de producto es vital
para lograr:
– la integración continua de aplicaciones y
– el desarrollo de cambios que sean rápidos pero
sostenibles en el tiempo.
• Este nuevo paradigma es necesario para
implementar las nuevas tecnología de información
y aplicaciones de software como la movilidad,
internet de las cosas, analítica avanzada de datos
(Big Data), evolución de los sistemas a la nube y
tecnología de información escalable.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 79
22/06/2021
Clasificación de requerimientos NO
funcionales (Sommerville)
Requerimientos
de rendimiento
Requerimientos
de espacio
Requerimientos
de usabilidad
Requerimientos
de eficiencia
Requerimientos
de confiabilidad
Requerimientos
de seguridad
Requerimientos
regulatorios
Requerimientos
éticos
Requerimientos
legales
Requerimientos
operacionales
Requerimientos
de desarrollo
Requerimientos
ambientales
Requerimientos
protección/seguridad
Requerimientos
contables
Requerimientos
del producto
Requerimientos
de la organización
Requerimientos
externos
Requerimientos
no funcionales
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 80
22/06/2021
Requerimientos NO funcionales de organización
• Se derivan de las políticas y procedimientos de la
organización como por ejemplo estándares de procesos o
requerimientos de implementación.
• Pueden incluir:
– metodologías de desarrollo de software,
– estándares de programación (codificación) y
– herramientas de soporte al desarrollo de software (por ej.
Herramientas CASE) que deben usarse (siguiendo las políticas
de la organización),
– también reportes a la gerencia que deben proveerse, entre
otros.
• Las herramientas para la gestión de desarrollo de
software que conocemos, se definen como requerimientos no
funcionales organizacionales.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 81
22/06/2021
Requerimientos NO funcionales de organización
• Los requerimientos organizacionales pueden
clasificarse en:
– Requerimientos de entorno: Describen el ambiente
operativo en el que se debe desenvolver el sistema.
– Requerimientos operacionales: Procedimientos
operativos que describen como será usado el sistema
dentro del contexto de la organización.
– Requerimientos de desarrollo: Lenguaje de
programación a usar, estándares de codificación, patrones
(y antipatrones) de diseño y programación, herramientas
para gestionar el desarrollo de software, entorno de
desarrollo de software (ambiente de desarrollo), entorno
de pruebas de software (ambiente de pruebas), entre
otros aspectos.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 82
22/06/2021
Requerimientos NO funcionales de organización
• Uno de los aspectos que se documentan como
requerimientos funcionales organizacionales son los
entorno, específicamente los procedimientos de
mantenimiento y administración del ambiente de
desarrollo de software.
• Esta administración también incluye los procedimientos
para gestionar los ambientes de pruebas integrales.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 83
22/06/2021
Clasificación de requerimientos NO
funcionales (Sommerville)
Requerimientos
de rendimiento
Requerimientos
de espacio
Requerimientos
de usabilidad
Requerimientos
de eficiencia
Requerimientos
de confiabilidad
Requerimientos
de seguridad
Requerimientos
regulatorios
Requerimientos
éticos
Requerimientos
legales
Requerimientos
operacionales
Requerimientos
de desarrollo
Requerimientos
ambientales
Requerimientos
protección/seguridad
Requerimientos
contables
Requerimientos
del producto
Requerimientos
de la organización
Requerimientos
externos
Requerimientos
no funcionales
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 84
22/06/2021
Requerimientos NO funcionales externos
• Estos derivan del entorno organizacional (no entorno técnico)
en el cual se desarrolla el sistema y pueden hacerse tanto
sobre el producto (el software desarrollado) o también sobre
el proceso de desarrollo de software.
• Este tipo de requerimientos incluyen limitaciones de índole
económica, interacción o necesidad del sistema de inter-
operar con otros sistemas, requerimientos regulatorios en el
área de salud, seguridad industrial o protección de datos,
requerimientos legales concernientes con licencias,
regulaciones o certificaciones que necesita el producto según
la industria en el que se desempeñe, entre otros.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 85
22/06/2021
Requerimientos NO funcionales externos
• Somerville a su vez clasifica estos requerimientos en:
– Requerimientos regulatorios: Leyes y reglamentos que
establecen que debe hacer el sistema y como debe
hacerlo para cumplirlas. El foco de un sistema o nueva
funcionalidad puede ser exclusivamente para cumplir una
regulación.
– Requerimientos éticos: Requerimientos que aseguran
que el sistema será aceptable para el usuario, público en
general y se adapta a las costumbres de la sociedad en la
que se desenvuelve o a la que presta servicios.
– Requerimientos legislativos: Características que debe
cumplir el sistema para cumplir con la ley, por ejemplo en
el área de contabilidad (normas contables y estándares
financieros), requerimientos de seguridad industrial (para
sistemas críticos), entre otros aspectos.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 86
22/06/2021
Requisitos NO
funcionales
Ejemplos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 87
22/06/2021
Ejemplos de requerimientos NO funcionales
de producto
• De eficiencia:
– El sistema debe ser capaz de procesar N
transacciones por segundo. Esto se medirá por
medio de la herramienta SoapUI aplicada al Software
Testing de servicios web.
– Toda funcionalidad del sistema y transacción de
negocio debe responder al usuario en menos de 5
segundos.
– El sistema debe ser capaz de operar adecuadamente
con hasta 100.000 usuarios con sesiones
concurrentes.
– Los datos modificados en la base de datos deben ser
actualizados para todos los usuarios que acceden en
menos de 2 segundos.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 88
22/06/2021
Ejemplos de requerimientos NO funcionales
de producto
• De seguridad lógica y de datos:
– Los permisos de acceso al sistema podrán ser cambiados
solamente por el administrador de acceso a datos.
– El nuevo sistema debe desarrollarse aplicando patrones y
recomendaciones de programación que incrementen la
seguridad de datos.
– Todos los sistemas deben respaldarse cada 24 horas. Los
respaldos deben ser almacenados en una localidad
segura ubicada en un edificio distinto al que reside el
sistema.
– Todas las comunicaciones externas entre servidores de
datos, aplicación y cliente del sistema deben estar
encriptadas utilizando el algoritmo RSA.
– Si se identifican ataques de seguridad o brecha del
sistema, el mismo no continuará operando hasta ser
desbloqueado por un administrador de seguridad.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 89
22/06/2021
Ejemplos de requerimientos NO funcionales
de producto
• De seguridad industrial:
– El sistema no continuará operando si la temperatura externa es menor
a 4 grados Celsius.
– El sistema no continuará operando en caso de fuego. (Ej. Un ascensor).
• De usabilidad
– El tiempo de aprendizaje del sistema por un usuario deberá ser menor
a 4 horas.
– La tasa de errores cometidos por el usuario deberá ser menor del 1%
de las transacciones totales ejecutadas en el sistema.
– El sistema debe contar con manuales de usuario estructurados
adecuadamente.
– El sistema debe proporcionar mensajes de error que sean informativos
y orientados a usuario final.
– El sistema debe contar con un módulo de ayuda en línea.
– La aplicación web debe poseer un diseño “Responsive” a fin de
garantizar la adecuada visualización en múltiples computadores
personales, dispositivos tableta y teléfonos inteligentes.
– El sistema debe poseer interfaces gráficas bien formadas.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 90
22/06/2021
Ejemplos de requerimientos NO funcionales
de producto
• De dependibilidad:
– El sistema debe tener una disponibilidad del
99,99% de las veces en que un usuario intente
accederlo.
– El tiempo para iniciar o reiniciar el sistema no
podrá ser mayor a 5 minutos.
– La tasa de tiempos de falla del sistema no podrá
ser mayor al 0,5% del tiempo de operación total.
– El promedio de duración de fallas no podrá ser
mayor a 15 minutos.
– La probabilidad de falla del Sistema no podrá ser
mayor a 0,05.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 91
22/06/2021
Ejemplos de requerimientos NO funcionales
de producto
• Otros ejemplos de requerimientos de producto
– El sistema será desarrollado para las plataformas PC y
Macintosh.
– La aplicación debe ser compatible con todas las versiones
de Windows, desde Windows 95.
– La aplicación deberá consumir menos de 500 Mb de
memoria RAM.
– La aplicación no podrá ocupar más de 2 GB de espacio en
disco.
– La nueva aplicación debe manejar fuentes del alfabeto en
Inglés, Idiomas latinos (Español, Frances, Portugués,
Italiano), Arábico y Chino.
– La interfaz de usuario será implementada para
navegadores web únicamente con HTML5 y JavaScript.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 92
22/06/2021
Ejemplos de requerimientos NO funcionales
de organización
• El procedimiento de desarrollo de software a usar debe estar
definido explícitamente (en manuales de procedimientos) y
debe cumplir con los estándares ISO 9000.
• La metodología de desarrollo de software será Behaviour
Driven Development (BDD) apoyada en Cucumber.
• El sistema debe ser desarrollado utilizando las herramientas
CASE XYZ.
• El proceso de desarrollo se gestionará por medio de una
determinada herramienta web para gestionar el proceso de
desarrollo de software.
• Debe especificarse un plan de recuperación ante desastres
para el sistema a ser desarrollado.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 93
22/06/2021
Ejemplos de requerimientos NO funcionales
de organización
• Cada dos semanas deberán producirse reportes gerenciales
en los cuales se muestre el esfuerzo invertido en cada uno de
los componentes del nuevo sistema.
• Las pruebas de software se gestionaran con una herramienta
de gestión de software testing.
• Las pruebas de software se ejecutarán utilizando Selenium y
Ruby como herramienta y lenguaje Scripting para
automatización de software testing.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 94
22/06/2021
Ejemplos de requerimientos NO funcionales
externos
• Sistemas de datos médicos: El nuevo sistema y sus
procedimientos de mantenimiento de datos deben cumplir
con las leyes y reglamentos de protección de datos médicos.
• El nuevo sistema se acogerá a las reglas de las licencias
generales públicas (GNU), es decir será gratuito, código
abierto en el que cualquiera podrá cambiar el software, sin
patentes y sin garantías.
• Las páginas web a ser desarrolladas deben cumplir con la ley
de tratamiento en condiciones de igualdad para personas con
discapacidad.
• El sistema no revelara a sus operadores otros datos
personales de los clientes distintos a nombres y números de
referencia.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 95
22/06/2021
Requisitos del
dominio
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 96
22/06/2021
Requerimientos del Dominio
• Estos requerimientos se derivan del dominio de aplicación del sistema mas que de
las necesidades especificas del usuario.
• Incluyen terminología especializada del dominio o referencias a conceptos del
dominio.
• Pueden ser:
-Requerimientos funcionales nuevos,
-Restringir los existentes o
-Establecer como se deben ejecutar cálculos particulares.
• Si no se satisfacen puede ser que el sistema no funcione adecuadamente.
Para redactarlos se requieren conocimientos
especializados del dominio
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 97
22/06/2021
Requisitos del dominio
• Las reglas del negocio son:
– Aquel conjunto de prácticas y políticas,
algunas veces explícito y otras implícito, que
define cómo una organización hace negocios
– Restricciones propias del negocio que deben
ser reflejadas en la base de datos y sus
aplicaciones.
– Se derivan del dominio de aplicación del
sistema y no de las necesidades específicas
de los usuarios.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 98
22/06/2021
¿Por qué se está realizando el
Proyecto?
• Los requerimientos del negocio son las
declaraciones de la empresa para justificar la
ejecución del proyecto.
• Incluye una visión del producto de software
impulsado por los objetivos del negocio.
• Es decir:
– describen el propósito y las necesidades a alto
nivel que el producto debe satisfacer;
– además con la visión del producto se determinan
las capacidades que el producto debe tener y
también las limitaciones del mismo.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 99
22/06/2021
Ejemplo de RD para un sistema de biblioteca:
1.- Deberá existir una interfaz de usuario estándar para todas las bases de
datos que estará basada en el estándar Z39.50
Ejemplo para un sistema de control de trenes.
La desaceleración del tren se calculará como:
Dtren = Dcontrol + Dgradiente
donde Dgradiente es 9.81ms2 * gradiente compensado/ alfa y en donde los
valores de 9.81ms2 / alfa se conocen para diferentes tipos de trenes.
Ejemplos de requisitos de dominio
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 100
22/06/2021
Problemas Relacionados con los
Requerimientos del Dominio
• Comprensibilidad
– Los requerimientos son expresados en el
lenguaje del dominio de aplicación.
– Pueden no ser entendidos por los ingenieros de
software que desarrollan el sistema.
• Implicación / Conocimiento tácito
– Los especialistas del dominio entienden el área
tan bien que no consideran necesario explicar los
requerimientos del dominio
– Las personas no están consientes del
conocimiento tácito que poseen y no lo expresan
a los otros.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 101
22/06/2021
Resumen
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 102
22/06/2021
Resumen:
Requisitos Funcionales y No Funcionales
• Funcionales:
– Servicios o funciones que proveerá el sistema (funciones)
– La respuesta del sistema ante determinadas entradas
– El comportamiento del sistema en situaciones particulares.
– Describen la interacción entre el sistema y su entorno
– Ejemplos:
• Se deben ingresar cédula, nombre y teléfono de cada cliente
• Se quiere un listado de los clientes por zona
• No-funcionales:
– Restricciones a los servicios o funciones ofrecidos por el
sistema
– Describen restricciones que limitan las elecciones para construir
una solución
– Ejemplos:
• Las consultas deben resolverse en menos de 3 segundos
• El lenguaje de programación debe ser Java
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 103
22/06/2021
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 104
22/06/2021
Contenido
• Requerimientos
– Definición
– Tipos
– Importancia
– División
– Características
– Dificultades para definir requerimientos
– Formas de documentar los requerimientos
– Lenguajes y modelos para representar los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 105
22/06/2021
Cada requerimiento debe ser:
• Completo: Un requerimiento está completo si no
necesita ampliar detalles en su redacción, es decir,
proporciona la información suficiente para su
comprensión.
• Correcto: Cada requerimiento debe describir con
exactitud la funcionalidad a ser construida.
• Claro: Pueden ser entendidos de la misma manera por
todas las partes interesadas con un mínimo de
explicación complementaria.
• 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.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 106
22/06/2021
Cada requerimiento debe ser:
• 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.
• Sin ambigüedades: Un requerimiento 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.
• Verificable: Un requerimiento es verificable cuando puede
ser cuantificado de manera que se pueden utilizar los
métodos de verificación de inspección, análisis, demostración
o pruebas.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 107
22/06/2021
Características de especificaciones de
requerimientos (Conjunto de reqs.)
• 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.
• Modificable: Debe ser 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.
• 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.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 108
22/06/2021
Cada requerimiento debe ser:
• Necesario
• Realizable
• Conciso
• Correcto (exacto, técnica y legalmente)
• No ambiguo (solo puede ser interpretado de 1
FORMA)
• Completo (todas las condiciones bajo una oración)
• Consistente (no entra en conflicto con otros requisitos)
• Verificable (su implementación puede ser
comprobada)
• Rastreable (a través del diseño, codificación, pruebas,
documentación, etc.)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 109
22/06/2021
Cada requerimiento debe ser:
• Asignable (allocated): a un componente del
diseño.
• Independiente del diseño: no debe de decir una
solución específica.
• No redundante: no está duplicado.
• Escrito correctamente en modo imperativo (debe
hacer algo)
• Con un único identificador.
• No debe incluir palabras como: excepto, pero, a
menos que , generalmente, típicamente,
normalmente, etc)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 110
22/06/2021
Contenido
• Requerimientos
– Definición
– Tipos
– Importancia
– División
– Características
– Dificultades para definir requerimientos
– Formas de documentar los requerimientos
– Lenguajes y modelos para representar los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 111
22/06/2021
Motivación
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 112
22/06/2021
Dificultades en obtención & análisis de
requisitos
• No reflejan las necesidades reales de los clientes
• Son inconsistentes y/o incompletos.
• Realizar cambios sobre los requisitos ya definidos
es muy costoso.
• Pueden existir malentendidos entre los
stakeholders, y los ingenieros de software.
• Imprecisión de los requisitos, lo cual provoca que
sean interpretados de diferentes formas por los
stakeholders.
• Frecuentemente no está clara la frontera entre
requisitos y diseño.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 113
22/06/2021
Las dificultades en proyectos se deben a :
• Requerimientos no explícitos. Las necesidades reales
del usuario no son definidas.
• Los cambios en los requerimientos se hacen sin
considerar costos, tiempos, impacto en la calidad.
• No se administran los requerimientos durante el ciclo
de vida del proyecto.
• Mala comunicación entre las partes involucradas en el
proyecto (administrador, desarrollo, diseño, etc.)
• Métodos, técnicas , herramientas no son utilizadas.
• Al cliente no se lo involucra como parte del proyecto.
Se recurre a él al inicio y al final.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 114
22/06/2021
Dificultades en obtención & análisis de
requisitos
• Se trabaja en conjunto con los usuarios y clientes
• Problemas comunes:
– No saben lo que quieren del sistema, sólo en
términos generales, no conocen el costo de sus
peticiones
– Los requisitos están en sus términos y con
conocimiento implícito de su propio trabajo
– Distintos usuarios tienen distintos requisitos, se
deben encontrar todas las fuentes
– Influyen factores políticos
– La prioridad que se da a los requisitos varía con el
tiempo
– Aparecen nuevos requisitos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 115
22/06/2021
Problemas en los requisitos
• La mayor consecuencia es el retrabajo (en
etapas más avanzadas del desarrollo o después
de liberar).
• Ejemplos:
– Poco involucramiento de los usuarios.
– Planes inadecuados – utilizar requisitos muy vagos
para crear planes.
– Recortes en los requisitos del usuario.
– Requisitos ambiguos.
– Gold plating – chapado en oro: requisitos que
creemos que el usuario va a amar.
– No identificar correctamente a los usuarios correctos.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 116
22/06/2021
Brecha en la Comunicación (Scharer ’90)
Según desarrolladores, los usuarios... Según usuarios, los desarrolladores...
no saben lo que quieren no captan las necesidades operativas
no pueden articular lo que quieren ponen excesivo énfasis en aspectos meramente
técnicos
muchas necesidades por motivos políticos pretenden indicarnos cómo hacer nuestro trabajo
quieren todo ya no son capaces de traducir necesidades claramente
establecidas en un sistema
son incapaces de definir prioridades entre
sus necesidades
siempre dicen que no
rehúsan asumir responsabilidades por el
sistema
siempre están pasados del presupuesto
incapaces de dar un enunciado utilizable de
sus necesidades
siempre están atrasados
no están comprometidos con los proyectos
de desarrollo
nos exigen tiempo y esfuerzo aún a costa de las
obligaciones esenciales
no aceptan soluciones de compromiso establecen estándares no realistas para la definición
de requisitos
no pueden mantener el cronograma son incapaces de responder rápidamente a cambios
en las necesidades
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 117
22/06/2021
Comunicación
• Presentación de
requisitos
• Lenguaje accesible al
stakeholder
• Nivel de Abstracción
adecuado
• Participación e
integración
• Relacionada con etapa
de modelización
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 118
22/06/2021
Contenido
• Requerimientos
– Definición
– Tipos
– Importancia
– División
– Características
– Dificultades para definir requerimientos
– Formas de documentar los requerimientos
– Lenguajes y modelos para representar los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 119
22/06/2021
Formas de documentar los requerimientos
• Para la especificación del sistema se usan tres tipos de
recursos:
– Descripción del proyecto: Documento textual que describe de
forma concisa el objetivo del sistema, su oportunidad de
mercado y el análisis de riesgos (DOCUMENTO VISIÓN).
– Análisis del contexto: Modelo de objetos que identifica las
interacciones externas y los mecanismos de interacción física
entre los actores que constituyen el entorno y el propio sistema
(MODELO DE DOMINIO Y DE NEGOCIO).
– Casos de uso: Recursos UML para describir la funcionalidad
del sistema. Identifican los límites del sistema a través de la
captura de los tipos de usuario, de los elementos básicos de
funcionalidad a través de casos de uso, y de los protocolos de
interacción a través de diagramas de secuencia o de
interacción.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 120
22/06/2021
Contenido
• Requerimientos
– Definición
– Tipos
– Importancia
– División
– Características
– Dificultades para definir requerimientos
– Formas de documentar los requerimientos
– Lenguajes y modelos para representar los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 121
22/06/2021
Formas de documentar los
requerimientos
• Lenguaje Natural
– Comprensible para el Cliente/Usuario
– Ambiguo (glosario)
– Poca legibilidad (plantilla, formateo del texto)
– Difícil de tratar (Verificar correctitud, consistencia,
completitud)
• Notaciones Especiales (más formales)
– Poca o ninguna ambigüedad
– Facilita tratamiento
– Necesidad de entrenamiento en la notación
– Dificultades de comprensión por Cliente/Usuario
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 122
22/06/2021
Notaciones Especiales
• Gráficas vs. Basadas en texto
• Estáticas vs. Dinámicas
• Descripciones Estáticas
– Se especifican entidades y sus atributos, los requisitos se
pueden ver como las relaciones entre las entidades.
– No describe como cambian las relaciones con el tiempo
• Descripciones Dinámicas
– Especifican estados y las transiciones entre estados en el
tiempo
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 123
22/06/2021
Formas de representar los requisitos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 124
22/06/2021
Ejemplos
FR 1.0:
FR 1.1:
FR 1.2:
etc.
FR 2.0
etc.
Nota: FR= Requerimiento funcional
Diagrama de árbol
En forma Textual (leng. Natural)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 125
22/06/2021
Ejemplos
Requisitos como modelos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 126
22/06/2021
Lección 3
Procesos
Unidad 1
Material docente compilado por el profesor Ph.D. Franklin Parrales
para uso de los cursos de Ingeniería de Requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 127
22/06/2021
Contenido
• Procesos
– Definición y elementos: entradas, salidas,
recursos y controles
– Diagrama de actividades
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 128
22/06/2021
Descripción y documentación de un
proceso
Misión del proceso.
• Un proceso puede ser definido como un conjunto de actividades enlazadas entre
sí que, partiendo de uno o más inputs los transforma, generando un output.
Documentación de proceso.
• Es un método estructurado que utiliza un preciso manual para comprender el
contexto y los detalles de los procesos claves. Siempre que un proceso vaya a ser
rediseñado o mejorado, su documentación es esencial como punto de partida.
Los pasos que deben llevarse a cabo para la realización de la documentación de
procesos y la creación de un manual son:
• 1º paso la selección del proceso a documentar.
• 2º la recolección de la información relacionada con el proceso.
• 3º análisis de la información.
• 4º desarrollo de un manual de documentación de procesos, que implica la creación
de un modelo o formato de procesos.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 129
22/06/2021
Controles
Todo aquello que regula el proceso:
Pasos/pautas
Reglas/normas
Descripción y documentación de un
proceso
Proceso
Entradas
Materiales,
equipos,
información,
personas
Recursos
económicos, etc
Salidas
Producto o
servicio que s
creado por el
proceso, que es
entregado al
cliente.
Herramientas, funciones y
habilidades
Medios o recursos para llevar a
cabo el proceso y funciones ,
habilidades o capacidades
requeridas para desempeñar
eficazmente el proceso.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 130
22/06/2021
Contenido
• Procesos
– Definición y elementos: entradas, salidas,
recursos y controles
– Diagrama de actividades
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 131
22/06/2021
• ¿Qué son los diagramas de actividad?
–Es una notación que forma parte de UML y que se utiliza
principalmente para modelar procesos de negocio, especificando:
✓ La secuencia de actividades que componen los procesos de
negocio.
✓ Los actores que realizan las actividades (opcional).
✓ La información que fluye de unas actividades a otras
(opcional).
–Dentro del proceso de ingeniería de requisitos, se utilizarán para
modelar los procesos de negocio, tanto actuales como a
implantar, de la organización para la que se va a desarrollar el
sistema software.
–A partir del modelo del negocio al que el sistema software debe
dar soporte, se plantean los objetivos y requisitos del sistema a
desarrollar.
Diagrama de Actividades
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 132
22/06/2021
Gestión de Pedidos
Ejemplo:
gestión
de
pedidos
Recibir Pedido
Enviar
Factura
Factura
Recibir
Pago
Satisfacer
Pedido
Pedido
Cerrar Pedido
Producción
Actividad inicial
Indica el comienzo del
proceso de negocio.
Actividad final
Indica el final del
proceso de negocio.
Calles
Permiten especificar qué
actividades hace cada actor.
Nodo de objeto
Representa información
o documentos (objetos)
que se generan en una
actividad y se
consumen en otra.
Comienzo de
paralelismo
Indica que a partir
de ahí se realizan
varias actividades en
paralelo.
Fin de paralelismo
Indica la terminación
de todas las
actividades que se
realizaban en
paralelo.
Transición
Indica que una
actividad ha
terminado y se pasa
a la siguiente.
Flujo de objeto
Representa un
flujo de
información
(objetos) entre
actividades.
Actividad compleja
Son actividades
complejas que
necesitan un
diagrama de
actividades propio
para ser descritas.
Facturación
Servicio al Cliente
Entregar
Pedido
Actividad
Representa un paso
en el proceso de
negocio.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 133
22/06/2021
• Actividades
– Una actividad representa un paso dentro de
proceso de negocio.
• Su nombre, que debe ser siempre una forma
verbal, debe ser representativo y coherente
dentro del proceso de negocio.
• Si una actividad es compleja, puede ser necesario
mostrar su descomposición en actividades más
simples en otro diagrama.
• En cada diagrama de actividades, las actividades
deben tener un nivel de abstracción similar.
• Actividades iniciales y finales
– La actividad inicial, que debe ser única, indica dónde
comienza el proceso de negocio.
– Una actividad final, de las que puede haber varias o
ninguna (proceso sin fin), indica dónde puede
terminar el proceso
Diagrama de Actividades
Actividad
Actividad
compleja
Actividad
inicial
Actividad
final
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 134
22/06/2021
• Transiciones
– Indican la secuencia de actividades que componen el proceso de
negocio.
– Cuando una actividad termina de realizarse se produce la
transición hacia la siguiente actividad.
• Transiciones condicionales
– Indican que la siguiente actividad a realizar depende de
cierta condición.
– Como mínimo y como máximo, sólo puede haber una opción
válida al evaluar la condición
Diagrama de Actividades
Actividad 1 Actividad 2
– El símbolo de
condición se puede
usar también para
unir varios caminos
condicionales
(opcional).
Entrega de pedido
[otro caso] [urgente]
Entrega
Ordinaria
Entrega
Urgente
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 135
22/06/2021
Ejemplo: Cajero ATM
Se abren Flujos
Paralelos
Sincronización
Guarda de
decisión
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 136
22/06/2021
Ejemplo
Diagrama de Actividad
para calcular el Fibonacci
de un numero.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 137
22/06/2021
• Paralelismo
– A veces, algunos pasos de un proceso de
negocio se realizan simultáneamente (en
paralelo) o sin un orden definido.
– Para indicar que comienzan varias actividades
a la vez se usa un símbolo de comienzo de
paralelismo (fork), al que llega una transición
y del que salen varias (al menos dos).
– Para indicar que todas las actividades que
se hacían en paralelo han terminado se usa
un símbolo de fin de paralelismo (join), al
que llegan varias transiciones (al menos
dos) y del que sale una sola transición.
– La transición de salida del join sólo se realiza
cuando han terminado todas las actividades
que se realizaban en paralelo.
Diagrama de Actividades
Realizar Práctica*
Seleccionar
Sistema
Presentar
Práctica
Estudiar
Negocio
Elaborar
Requisitos
Realizar
Modelos
*Proceso muy, muy simplificado.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 138
22/06/2021
• Calles (marcos de responsabilidad)
– La división en calles permite asociar actividades con aquellos actores
que las realizan. Cada calle corresponde a un actor del proceso de
negocio.
Diagrama de Actividades
Gestión de fondosbibliotecarios
Director Bibliotecario Usuario
Catalogar
nuevo libro
Registrar
préstamo
Leer libro
Registrar
devolución
[libro OK]
Retirar
libro
[libro deteriorado]
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 139
22/06/2021
• Flujos de objetos
– Lo normal es que fluya información entre las
actividades de un proceso de negocio.
– En el caso de que resulte interesante mostrar ese flujo (no
siempre lo es), se pueden usar flujos de objetos.
– Si la información de salida de una actividad es la entrada de
otra actividad, se asume que existe una transición implícita
entre ambas.
Diagrama de Actividades
Aseguramiento de la calidad de losrequisitos
Validación
Verificación
Requisitos
[borrador]
Requisitos
[analizados]
Requisitos
[verificados]
Requisitos
[validados]
Análisis
transiciones implícitas
(no es necesario dibujarlas)
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 140
22/06/2021
Ejemplo:
venta
por
caja
Cliente Banco
Incluir compras
del carrito
Calcular tasas
y descuentos
Recibo
Caja
Carrito
Solicitar
Autorización
Pago
[pago al
contado] [otro caso]
Autorizar
pago
Emitir
Recibo
Comprar y
llenar carrito
Entregar
compras
Venta por caja
Cajero
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 141
22/06/2021
Ejemplo: Veamos el caso de una firma de consultoría y el proceso de
negociación involucrado en una junta con un cliente.
1. Un vendedor realiza una llamada a un cliente y concierta una cita.
2. Si la cita es en la oficina del consultor, los técnicos corporativos
prepararán una sala de conferencia.
3. Si es en la oficina del cliente, el consultor preparará una
presentación.
4. El consultor y el vendedor se reunirán con el cliente en un sitio a la
hora convenida.
5. El vendedor crea una minuta.
6. Si la reunión ha planteado la solución del problema, el consultor
creará una propuesta y la enviará al cliente.
Ejemplo: Proceso de negociación
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 142
22/06/2021
Diagrama de Actividad
con Marcos de
Responsabilidad.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 143
22/06/2021
Resumen: Diagrama de Actividad
• Se construye para modelar el flujo del control (workflow)
• Elementos:
• Permite modelar el flujo del trabajo
– En un sistema
– En una organización
Estado de Actividad (o de Acción)
Estado Inicial
Estado Final
Transiciones
Actividades concurrentes
Bifurcaciones
Condiciones de la bifurcación [ guarda ]
Andariveles
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 144
22/06/2021
Lección 4
Procesos de la IDR
Unidad 1
Material docente compilado por el profesor Ph.D. Franklin Parrales
para uso de los cursos de Ingeniería de Requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 145
22/06/2021
Contenido
• Elementos de procesos aplicados a la IDR
– Fases y documentos
– Modelo de espiral del proceso de IDR
– Mapeo de procesos AS-IS / TO-BE
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 146
22/06/2021
Proceso de ingeniería de requisitos
Estudio de
viabilidad
Obtención y análisis
de requisitos
Especificación de
requisitos
Validación de
requisitos
Informe de
viabilidad
Requisitos
Requisitos
especificados Requisitos validados
Determina si el
sistema es útil
para la empresa Descubrimiento
de los
requerimientos
Transformación de
requerimientos en
estándares.
Verificar que los requerimientos
realmente definen el sistema que
el cliente requiere
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 147
22/06/2021
Proceso de ingeniería de requisitos
Estudio de
viabilidad
Obtención y análisis
de requisitos
Especificación de
requisitos
Validación de
requisitos
Informe de
viabilidad
Requisitos
Requisitos
especificados Requisitos validados
Determina si el
sistema es útil
para la empresa Descubrimiento
de los
requerimientos
Transformación de
requerimientos en
estándares.
Verificar que los requerimientos
realmente definen el sistema que
el cliente requiere
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 148
22/06/2021
1.- Estudio de factibilidad (viabilidad):
• Entradas:
– Conjunto de requerimientos de negocio preliminares
– Descripción resumida del sistema
– Contribución pretendida del sistema a los procesos
del negocio
• Salida:
– Informe que indique si se debe realizar o no el
sistema.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 149
22/06/2021
1.- Estudio de factibilidad (viabilidad):
• Llevar a cabo un estudio de viabilidad comprende la evaluación y
recopilación de la in formación, y la redacción de informes.
• La fase de evaluación de la información identifica la información
requerida para contestar las tres preguntas anteriores.
• Una vez que dicha información se ha identificado, se debería hablar con
las fuentes de información para descubrir las respuestas a estas
preguntas.
• Algunos ejemplos de preguntas posibles son:
– ¿Cómo se las arreglaría la organización si no se implementara este sistema?
– ¿Cuáles son los problemas con los procesos actuales y cómo ayudaría un sistema
nuevo a aliviarlos?
– ¿Cuál es la contribución directa que hará el sistema a los objetivos y requerimientos
del negocio?
– ¿La información se puede obtener y transferir a otros sistemas de la organización?
– ¿Requiere el sistema tecnología que no se ha utilizado previamente en la organiza-
ción?
– ¿A qué debe ayudar el sistema y a qué no necesita ayudar?
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 150
22/06/2021
1.- Estudio de factibilidad (viabilidad):
Fuentes
-Jefes de departamentos donde se utilizara el sistema
-Ingenieros de software que están familiarizados
-Expertos en tecnología
-Expertos en el área
-Usuarios finales
Informe final:
-Recomendación para realizar o no el sistema
-Proponer cambios en el alcance, presupuesto y/o agenda
-Sugerir requerimientos adicionales
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 151
22/06/2021
Proceso de ingeniería de requisitos
Estudio de
viabilidad
Obtención y análisis
de requisitos
Especificación de
requisitos
Validación de
requisitos
Informe de
viabilidad
Requisitos
Requisitos
especificados Requisitos validados
Determina si el
sistema es útil
para la empresa Descubrimiento
de los
requerimientos
Transformación de
requerimientos en
estándares.
Verificar que los requerimientos
realmente definen el sistema que
el cliente requiere
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 152
22/06/2021
2.- Adquisición y análisis de requerimientos.
Se trabaja con los stakeholders para definir:
-Dominio de aplicación
-Servicios que debe proporcionar el sistema
-Desempeño requerido
-Restricciones, etc.
En su proyecto ¿quienes
son los stakeholders?
¿Cuál es el dominio de
aplicación ?
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 153
22/06/2021
2.- Adquisición y análisis de requerimientos
Razones que dificultan el proceso de adquisición de requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 154
22/06/2021
2.- Adquisición y análisis de requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 155
22/06/2021
Proceso de ingeniería de requisitos
Estudio de
viabilidad
Obtención y análisis
de requisitos
Especificación de
requisitos
Validación de
requisitos
Informe de
viabilidad
Requisitos
Requisitos
especificados Requisitos validados
Determina si el
sistema es útil
para la empresa Descubrimiento
de los
requerimientos
Transformación de
requerimientos en
estándares.
Verificar que los requerimientos
realmente definen el sistema que
el cliente requiere
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 156
22/06/2021
3- Especificación de requerimientos
Requerimientos del usuario → Se expresan en lenguaje natural
Incluyen requerimientos funcionales y no
funcionales
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 157
22/06/2021
3- Especificación de requerimientos
Requerimientos del sistema → describen el comportamiento del sistema,
pueden requerir diferentes técnicas de representación.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 158
22/06/2021
Documento
requerimientos
de
basado
en el estándar IEEE830
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 159
22/06/2021
3- Especificación de requerimientos
Usuarios del documento de requerimientos:
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 160
22/06/2021
Proceso de ingeniería de requisitos
Estudio de
viabilidad
Obtención y análisis
de requisitos
Especificación de
requisitos
Validación de
requisitos
Informe de
viabilidad
Requisitos
Requisitos
especificados Requisitos validados
Determina si el
sistema es útil
para la empresa Descubrimiento
de los
requerimientos
Transformación de
requerimientos en
estándares.
Verificar que los requerimientos
realmente definen el sistema que
el cliente requiere
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 161
22/06/2021
4- Validación de requerimientos
Es el proceso de verificar que los requerimientos definan realmente lo
que el cliente desea
Esta etapa es muy importante, ya que resulta muy costoso corregir
errores en el sistema implementado !
Debe realizarse en cada etapa del proceso para asegurarse que lo que
se esta realizando se esta haciendo bien.
Durante el proceso de validación deben realizarse varias comprobaciones.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 162
22/06/2021
4- Validación de requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 163
22/06/2021
4- Validación de requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 164
22/06/2021
Proceso de ingeniería de requisitos
Estudio de
viabilidad
Obtención y análisis
de requisitos
Especificación de
requisitos
Validación de
requisitos
Informe de
viabilidad
Requisitos
Requisitos
especificados Requisitos validados
Determina si el
sistema es útil
para la empresa Descubrimiento
de los
requerimientos
Transformación de
requerimientos en
estándares.
Verificar que los requerimientos
realmente definen el sistema que
el cliente requiere
Administración
(gestión)
de
los
requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 165
22/06/2021
Ingeniería de Requerimientos
Proceso de los Requerimientos
Obtención Análisis Validación
Administración de los Requisitos
Línea
Base
de
Requerimientos
Línea base actual
Línea base corregida
Planificación
Administración
del Cambio
Cambios en
requerimientos
Cambios
en el proyecto
Planifica-
ción Verificación
Trazabilidad
Especifica-
ción
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 166
22/06/2021
Administración de requerimientos
Los requerimientos iniciales pueden cambiar, es necesario llevar a cabo la
administración/ actualizacion de requerimientos
La administración de requerimientos tiene dos etapas:
1.- Planeación (planificación) de la administración de requerimientos.
2. Administración del cambio de requerimientos.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 167
22/06/2021
Administración de requerimientos
Planeación de la administración de requerimientos
Establece el nivel de detalle que se desea en la administración de requerimientos. En
esta etapa se define lo siguiente:
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 168
22/06/2021
Administración de requerimientos
Sistemas pequeños pueden no requerir estas herramientas
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 169
22/06/2021
Administración de requerimientos
Administración del cambio de requerimientos
Debe aplicarse a todos los cambios propuestos después de elaborarse y aprobarse el
documento de requerimientos.
La administración del cambio es esencial ya que debe determinarse si se justifica o
no la realización del cambio
Se tienen tres etapas principales:
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 170
22/06/2021
Administración de requerimientos
l. Análisis del problema y especificación del cambio El proceso cornienza con la
identificación de un problema en los requerimientos o, en ocasiones, con una pro
puesta de cambio específica. Durante esta etapa , el problema o la propuesta de
cambio se analizan para comprobar que es válida. Este análisis retroalimenta al soli
citante del cambio, quien responderá con una propuesta de cambio de requerimien tos
más específica, o decidirá retirar la petición.
2. Análisis del cambio y estimación del costo El efecto del cambio propuesto se valora usando
información de seguinúento y conocimiento general de los requerimientos del sistema.
El costo por realizar el cambio se estima en términos de modificaciones al documento de
requerimientos y, si es adecuado, al diseño y la implementación del sistema. Una vez
completado este análisis, se toma una decisión acerca de si se procede o no con el
cambio de requerimientos.
3. Impl ementación del cambio Se modifican el documento de requerimientos y, donde sea
necesario, el diseño y la implementación del sistema. Hay que organizar el docu mento de
requerimientos de forma que sea posible realizar cambios sin reescritura o
reorganización extensos. Conforme a los programas , la variabilidad en los docu
mentos se logra al minimizar las referencias externas y al hacer las secciones del
documento tan modulare s como sea posible. De esta manera , secciones individuales
pueden modificarse y sustituirse sin afectar otras partes del documento.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 171
22/06/2021
Proceso de Requisitos
Artefactos
Análisis Especificación Validación
Actividades
Especificación
de Requisitos
Documento
de
Requisitos
Modelo del
Sistema
Planificación Obtención Verificación
Documento
de
Visión
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 172
22/06/2021
Documentación de requisitos
• Qué documentar:
– lo que hace el sistema actual
– lo que el cliente pide
– lo que el sistema va a hacer
– criterios de aceptación
– criterios de verificación
• Recomendaciones:
– agrupar por temas
– formular los reqs. como reqs. positivos y no negativos
– expresarlos en voz activa y no pasiva
– indicar si se está documentando solo lo que va en el alcance o
todo lo que se pidió.
– representar reqs. con múltiples vistas (ejemplo de los ciegos y el
elefante).
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 173
22/06/2021
Documentos de Requisitos
• Definición de Requisitos: lista completa de lo que el
cliente espera que el sistema haga, escrita de forma
que el cliente la pueda entender
1. Se debe proveer un medio para acceder a archivos externos
creados por otras herramientas
• Especificación de Requisitos (SRS): reformula la
definición en términos técnicos para que los
diseñadores puedan comenzar el diseño
1.1 Se proveerá al usuario los recursos para definir el tipo de
archivo externo
1.2 Cada tipo de archivo tendrá una herramienta asociada y un
ícono que lo identifica
1.3 Cuando el usuario seleccione el ícono que representa un
archivo externo, el efecto es aplicar la herramienta asociada
con ese tipo de archivo al archivo seleccionado
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 174
22/06/2021
Documentos de Requisitos (2)
• Usar un mismo documento: Entendimiento común entre
Cliente, usuario, analistas, desarrolladores
• Usar dos documentos: Se debe aplicar Gestión de
Configuración: necesaria para asegurar la
correspondencia entre ambos (si existen por separado)
• Permite seguir la pista y correspondencia entre:
– Definición de Requisitos
– Especificación de Requisitos
– Módulos de Diseño
– Código que implementa los módulos
– Pruebas para verificar la funcionalidad
– Documentos que describen el sistema
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 175
22/06/2021
Documento Definición de Requisitos
• Registrar los requisitos en los términos del
cliente
1. Delinear el propósito general del sistema: Incluir
referencias a otros sistemas, glosario y
abreviaciones
2. Describir el contexto y objetivos del desarrollo
del sistema
3. Delinear visión global del sistema: Incluir
restricciones generales
4. Definir en detalle las características del sistema
propuesto, definir la frontera del sistema e
interfaces.
5. Discutir el ambiente en el que el sistema va a
operar (hardware, comunicaciones, personal).
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 176
22/06/2021
Contenido
• Elementos de procesos aplicados a la IDR
– Fases y documentos
– Modelo de espiral del proceso de IDR
– Mapeo de procesos AS-IS / TO-BE
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 177
22/06/2021
Proceso espiral de IR
Validación
de requerimientos
Adquisición
de requerimientos
Adquisición
de requerimientos
del usuario
Prototipos
Revisiones
Documento
de requerimientos
del sistema
Inicio
Adquisición de
requerimientos
del sistema
Estudio
de factibilidad
Especificación de
requerimientos
Especificación y modelado
de requerimientos
del sistema
Especificación
de requerimientos del usuario
Especificación de
requerimientos
de la empresa
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 178
22/06/2021
Contenido
• Elementos de procesos aplicados a la IDR
– Fases y documentos
– Modelo de espiral del proceso de IDR
– Mapeo de procesos AS-IS / TO-BE
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 179
22/06/2021
As is / To be
• Se intenta responder 3 preguntas básicas:
Temas Preguntas a los usuarios
¿Cuáles son las operaciones y procesos
comerciales?
¿Qué haces?
¿Cómo se deben realizar esas operaciones?
¿Cómo haces aquello?
¿Qué pasos sigues?
¿Qué información se necesita para realizar esas
operaciones?
¿Qué información utilizas?
¿Qué formularios o reportes utilizas?
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 180
22/06/2021
As is / To be
1. Procesos actuales
2. Procesos futuros
3. Requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 181
22/06/2021
1. Procesos actuales
• Dibuje diagramas de actividades que describan cómo
se ejecutan los eventos empresariales clave en la
actualidad.
• Asegúrese de resaltar los problemas actuales del
proceso en los diagramas.
• Proporcione una narrativa (párrafo) que vaya con los
diagramas.
• Ejemplo. Si está considerando el registro de
estudiantes, puede desarrollar diagramas para lo
siguiente:
– Determinar cursos / secciones a tomar
– Registrarse para cursos
– Generar horario
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 182
22/06/2021
Inscribirse en un curso: situación actual
Estudiante Profesor Registrador
Reg. Form
¿Inscripciones
abiertas?
¿Estudiante necesita
otro curso?
Y
N
Y
¿Puede inscribirse?
N
Y
N
Y
N
¿Formulario
correcto?
Seleccionar cursos
Esperar en la fila,
generalmente bajo
la lluvia
Esperar en la fila para
ser atendido por
el profesor
Solicitud de revisión
Determinar si el
estudiante cumple
los requisitos previos.
Reg. Form
Determinar si hay
espacio disponible en
las secciones bajo
su cargo.
Reg. Form
Inscribir estudiante,
actualizar formulario
Reg. Form
Llevar el formulario
completo
a la mesa del registrador
Reg. Form
Revisar los formularios
para detectar
problemas / errores
Almacenar los datos
de registro en el
ordenador
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 183
22/06/2021
As is / To be
1. Procesos actuales
2. Procesos futuros
3. Requerimientos
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 184
22/06/2021
2. Procesos futuros
• Construya diagramas de actividades que
describan la forma en que las
transacciones deben ejecutarse en el
futuro, con el nuevo sistema de
información.
• Proporcione una narrativa para describir
los pasos del proceso.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 185
22/06/2021
Estudiante Sistema
¿Inscripciones
abiertas?
Y
N
¿Se requiere más
cursos?
Y
N
Inscribirse en un curso: situación propuesta
Seleccionar cursos
Sentarse frente a la
computadora.
Beber café.
Proporcionar nombre
de usuario y contraseña
Autenticar usuario
Comprobar que el estudiante
cumple los prerequisitos
de los cursos
Ingresar los cursos
a inscribirse Consultar disponibilidad
en los paralelos
solicitados
Registrar asignación
del cupo en la
base de datos
Presentar al estudiante
los cursos en los que se
ha podido inscribir.
Ingeniería de requerimientos Carrera de Software
Ph.D. Franklin Parrales 186
22/06/2021
As is / To be
1. Procesos actuales
2. Procesos futuros
3. Requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos

Weitere ähnliche Inhalte

Was ist angesagt?

IIS Unidad 3B Proceso de desarrollo de software
IIS Unidad 3B Proceso de desarrollo de softwareIIS Unidad 3B Proceso de desarrollo de software
IIS Unidad 3B Proceso de desarrollo de softwareFranklin Parrales Bravo
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)David Hernandez
 
PRINCIPIOS BÁSICOS DE CONSTRUCCIÓN DE SOFTWARE Y TRATAMIENTO DE EXCEPCIONES
PRINCIPIOS BÁSICOS DE CONSTRUCCIÓN DE SOFTWARE Y TRATAMIENTO DE EXCEPCIONESPRINCIPIOS BÁSICOS DE CONSTRUCCIÓN DE SOFTWARE Y TRATAMIENTO DE EXCEPCIONES
PRINCIPIOS BÁSICOS DE CONSTRUCCIÓN DE SOFTWARE Y TRATAMIENTO DE EXCEPCIONESFranklin Parrales Bravo
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
IIS Unidad 3A Proceso de desarrollo de software
IIS Unidad 3A Proceso de desarrollo de softwareIIS Unidad 3A Proceso de desarrollo de software
IIS Unidad 3A Proceso de desarrollo de softwareFranklin Parrales Bravo
 
Análisis y especificación de requerimientos
Análisis y especificación de requerimientosAnálisis y especificación de requerimientos
Análisis y especificación de requerimientosFranklin Parrales Bravo
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientosTensor
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
Tipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de SoftwareTipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de SoftwareLeo Ruelas Rojas
 

Was ist angesagt? (20)

IIS Unidad 3B Proceso de desarrollo de software
IIS Unidad 3B Proceso de desarrollo de softwareIIS Unidad 3B Proceso de desarrollo de software
IIS Unidad 3B Proceso de desarrollo de software
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)
 
PRINCIPIOS BÁSICOS DE CONSTRUCCIÓN DE SOFTWARE Y TRATAMIENTO DE EXCEPCIONES
PRINCIPIOS BÁSICOS DE CONSTRUCCIÓN DE SOFTWARE Y TRATAMIENTO DE EXCEPCIONESPRINCIPIOS BÁSICOS DE CONSTRUCCIÓN DE SOFTWARE Y TRATAMIENTO DE EXCEPCIONES
PRINCIPIOS BÁSICOS DE CONSTRUCCIÓN DE SOFTWARE Y TRATAMIENTO DE EXCEPCIONES
 
PSW Unidad 2 MODELOS DE PROCESO
PSW Unidad 2 MODELOS DE PROCESOPSW Unidad 2 MODELOS DE PROCESO
PSW Unidad 2 MODELOS DE PROCESO
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
IIS Unidad 3A Proceso de desarrollo de software
IIS Unidad 3A Proceso de desarrollo de softwareIIS Unidad 3A Proceso de desarrollo de software
IIS Unidad 3A Proceso de desarrollo de software
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
PSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWAREPSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWARE
 
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de SoftwareMetodologías de Desarrollo de Software
Metodologías de Desarrollo de Software
 
Análisis y especificación de requerimientos
Análisis y especificación de requerimientosAnálisis y especificación de requerimientos
Análisis y especificación de requerimientos
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Patrones GRASP
Patrones GRASPPatrones GRASP
Patrones GRASP
 
Formato ieee830(srs lleno)
Formato ieee830(srs lleno)Formato ieee830(srs lleno)
Formato ieee830(srs lleno)
 
Tipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de SoftwareTipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de Software
 

Ähnlich wie IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos

Analisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandezAnalisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandezJose Fernandez
 
Christian Rivero
Christian RiveroChristian Rivero
Christian RiveroJdgc2304
 
Ingeniería y gestión de requerimientos
Ingeniería y gestión de requerimientosIngeniería y gestión de requerimientos
Ingeniería y gestión de requerimientosPilar Pardo Hidalgo
 
Ppt de ingenieria de requerimiento
Ppt de ingenieria de requerimientoPpt de ingenieria de requerimiento
Ppt de ingenieria de requerimientomely1930
 
Investigación sobre técnicas que se implementan en las tareas de la Ingenierí...
Investigación sobre técnicas que se implementan en las tareas de la Ingenierí...Investigación sobre técnicas que se implementan en las tareas de la Ingenierí...
Investigación sobre técnicas que se implementan en las tareas de la Ingenierí...Karim Krystalgami
 
Diapositivas ingenieria de requisitos. grupo 2 AYDSI - UDO MONAGAS
Diapositivas ingenieria de requisitos. grupo 2 AYDSI - UDO MONAGASDiapositivas ingenieria de requisitos. grupo 2 AYDSI - UDO MONAGAS
Diapositivas ingenieria de requisitos. grupo 2 AYDSI - UDO MONAGASNicola Pizzi Castro
 
Fundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfFundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfRene Guaman-Quinche
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de SoftwareUPT
 
Ingeniería de requisitos-UDO MONAGAS
Ingeniería de requisitos-UDO MONAGASIngeniería de requisitos-UDO MONAGAS
Ingeniería de requisitos-UDO MONAGASfernandoUDO
 
Tareas de ingenieria de requerimientos(1)
Tareas de ingenieria de requerimientos(1)Tareas de ingenieria de requerimientos(1)
Tareas de ingenieria de requerimientos(1)nenyta08
 
Edward larez 22995091
Edward larez 22995091Edward larez 22995091
Edward larez 22995091Edward Larez
 

Ähnlich wie IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos (20)

Documento completo
Documento completoDocumento completo
Documento completo
 
Ingenieria de Requisitos
Ingenieria de RequisitosIngenieria de Requisitos
Ingenieria de Requisitos
 
Analisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandezAnalisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandez
 
Christian Rivero
Christian RiveroChristian Rivero
Christian Rivero
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Requisitos
RequisitosRequisitos
Requisitos
 
Requisitos
RequisitosRequisitos
Requisitos
 
Ingeniería y gestión de requerimientos
Ingeniería y gestión de requerimientosIngeniería y gestión de requerimientos
Ingeniería y gestión de requerimientos
 
Ppt de ingenieria de requerimiento
Ppt de ingenieria de requerimientoPpt de ingenieria de requerimiento
Ppt de ingenieria de requerimiento
 
Investigación sobre técnicas que se implementan en las tareas de la Ingenierí...
Investigación sobre técnicas que se implementan en las tareas de la Ingenierí...Investigación sobre técnicas que se implementan en las tareas de la Ingenierí...
Investigación sobre técnicas que se implementan en las tareas de la Ingenierí...
 
Diapositivas ingenieria de requisitos. grupo 2 AYDSI - UDO MONAGAS
Diapositivas ingenieria de requisitos. grupo 2 AYDSI - UDO MONAGASDiapositivas ingenieria de requisitos. grupo 2 AYDSI - UDO MONAGAS
Diapositivas ingenieria de requisitos. grupo 2 AYDSI - UDO MONAGAS
 
Fundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfFundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdf
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Ingeniería de requisitos-UDO MONAGAS
Ingeniería de requisitos-UDO MONAGASIngeniería de requisitos-UDO MONAGAS
Ingeniería de requisitos-UDO MONAGAS
 
Tareas de ingenieria de requerimientos(1)
Tareas de ingenieria de requerimientos(1)Tareas de ingenieria de requerimientos(1)
Tareas de ingenieria de requerimientos(1)
 
02 captura de requisitos
02 captura de requisitos02 captura de requisitos
02 captura de requisitos
 
Edward larez 22995091
Edward larez 22995091Edward larez 22995091
Edward larez 22995091
 
Analisis de requerimientos
Analisis de requerimientosAnalisis de requerimientos
Analisis de requerimientos
 
Taller en clases 1
Taller en clases 1Taller en clases 1
Taller en clases 1
 
REQUI
REQUIREQUI
REQUI
 

Mehr von Franklin Parrales Bravo

Presentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en CuencaPresentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en CuencaFranklin Parrales Bravo
 
IW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería WebIW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería WebFranklin Parrales Bravo
 
IW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicuaIW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicuaFranklin Parrales Bravo
 
IW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelosIW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelosFranklin Parrales Bravo
 
IW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería WebIW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería WebFranklin Parrales Bravo
 
AD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaAD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaFranklin Parrales Bravo
 
AD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidasAD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidasFranklin Parrales Bravo
 
EP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgosEP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgosFranklin Parrales Bravo
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosFranklin Parrales Bravo
 
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosFranklin Parrales Bravo
 
EP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosEP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosFranklin Parrales Bravo
 
EP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestraEP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestraFranklin Parrales Bravo
 
GCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del SoftwareGCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del SoftwareFranklin Parrales Bravo
 
GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software Franklin Parrales Bravo
 
POO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosPOO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosFranklin Parrales Bravo
 
POO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilosPOO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilosFranklin Parrales Bravo
 
POO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosPOO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosFranklin Parrales Bravo
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosFranklin Parrales Bravo
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoFranklin Parrales Bravo
 

Mehr von Franklin Parrales Bravo (20)

Presentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en CuencaPresentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en Cuenca
 
IW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería WebIW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería Web
 
IW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicuaIW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicua
 
IW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelosIW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelos
 
MOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modeladoMOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modelado
 
IW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería WebIW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
 
AD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaAD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuida
 
AD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidasAD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidas
 
EP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgosEP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgos
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidos
 
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
 
EP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosEP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectos
 
EP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestraEP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestra
 
GCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del SoftwareGCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del Software
 
GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software
 
POO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosPOO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivos
 
POO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilosPOO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilos
 
POO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosPOO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a Objetos
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a Objetos
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y Enrutamiento
 

Kürzlich hochgeladen

libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajeKattyMoran3
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Carol Andrea Eraso Guerrero
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)jlorentemartos
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 

Kürzlich hochgeladen (20)

libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguaje
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
Unidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIUUnidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIU
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 

IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos

  • 1. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 1 22/06/2021 Introducción y proceso de Ingeniería de requerimientos Unidad 1 Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo para uso de los cursos de Ingeniería de Requerimientos
  • 2. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 2 22/06/2021 Objetivo general de la Unidad 1 Caracterizar las actividades involucradas en el descubrimiento, documentación y mantenimiento de los requerimientos de un producto determinado conociendo de forma precisa el problema que van a resolver para que la solución que se construya sea correcta y útil.
  • 3. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 3 22/06/2021 Lección 1 La Ingeniería de requerimientos - IDR Unidad 1 Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo para uso de los cursos de Ingeniería de Requerimientos
  • 4. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 4 22/06/2021 Contenido • La Ingeniería de requerimientos – IDR – Definición de la IDR – Importancia de la IDR – Actividades de la IDR
  • 5. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 5 22/06/2021 Visión global n Primera fase del ciclo de vida del software en la que se produce una especificación a partir de ideas informales n Deben obtenerse y documentarse n Los requisitos de información n Los requisitos funcionales n Los requisitos no funcionales n Los criterios para medir el grado de su consecución n El proceso de desarrollo de dicha especificación de requisitos es lo que se conoce como ingeniería de requisitos n Importancia creciente de n El correcto entendimiento (obtención), documentación (especificación) y validación de las necesidades de los usuarios y clientes n La medida de la calidad de los sistemas en función del grado de satisfacción de los usuarios Ingeniería de Requisitos Resto del ciclo de vida
  • 6. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 6 22/06/2021 Definición (i) n Todas las actividades relacionadas con: (a) identificación y documentación de las necesidades de clientes y usuarios; (b) creación de un documento que describe la conducta externa y las restricciones asociadas [de un sistema] que satisfará dichas necesidades; (c) análisis y validación del documento de requisitos para asegurar consistencia, compleción y viabilidad; (d) evolución de las necesidades [Hsia et al., 1993] n … el uso sistemático de procedimientos técnicas, lenguajes y herramientas para obtener con un coste reducido el análisis, documentación, evolución continua de las necesidades del usuario y la especificación del comportamiento externo de un sistema que satisfaga las necesidades del usuario. Téngase en cuenta que todas las disciplinas de la ingeniería son semejantes, la ingeniería de requisitos no se guía por conductas esporádicas, aleatorias o por modas pasajeras, si no que se debe basar en el uso sistemático de aproximaciones contrastadas [Reifer, 1994]
  • 7. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 7 22/06/2021 Definición (ii) n Aplicación disciplinada de principios científicos y técnicas para desarrollar, comunicar y gestionar requisitos [Christel y Kang 1992] n El proceso sistemático de desarrollar requisitos mediante un proceso iterativo y cooperativo de analizar el problema, documentar las observaciones resultantes en varios formatos de representación y comprobar la precisión del conocimiento obtenido [Christel y Kang 1992] n Un proceso sistemático de desarrollo de requisitos mediante un proceso cooperativo consistente en analizar el problema, documentar las observaciones resultantes en una variedad de formatos de representación, y comprobar la exactitud de la comprensión conseguida [Loucopoulus y Karakostas, 1995] n Un proceso de descubrimiento y comunicación de las necesidades de clientes y usuarios y la gestión de los cambios en dichas necesidades [Durán, 2000]
  • 8. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 8 22/06/2021 Ingeniería de Requerimientos El proceso de establecer los servicios que el cliente requiere de un sistema y los limites bajo los cuales opera y se desarrolla [Sommerville]
  • 9. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 9 22/06/2021 Contenido • La Ingeniería de requerimientos – IDR – Definición de la IDR – Importancia de la IDR – Actividades de la IDR
  • 10. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 10 22/06/2021 Importancia • Uno de los principales problemas al que nos enfrentamos como ingenieros de software en el desarrollo de sistemas es la ingeniería de requisitos. • De esta fase depende el éxito del producto de software. – 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.
  • 11. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 11 22/06/2021 Stakeholders • Es el público de interés para una empresa que permite su completo funcionamiento. • Como público, se refiere a todas las personas u organizaciones que se relacionan con las actividades y decisiones de una empresa como: – empleados, proveedores, clientes, gobierno, entre otros. Los stakeholders son aquellas personas o entidades que tienen algún impacto o interés en este sistema.
  • 12. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 12 22/06/2021 Stakeholders
  • 13. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 13 22/06/2021 Importancia • 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.
  • 14. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 14 22/06/2021 Importancia • El no definir los requisitos correctamente tiene un precio bastante alto ya que se ocasionan requisitos mal definidos (incompletos, incorrectos o requisitos contradictorios) • Estos errores pueden causar: – Sobrecosto – Reproceso costoso – Mala calidad – Retraso en la entrega – Clientes descontentos – Miembros de equipo agotados y desmoralizados
  • 15. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 15 22/06/2021 Motivación
  • 16. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 16 22/06/2021 Importancia • Entender la naturaleza de un problema por lo general es algo difícil → es difícil establecer que debe hacer un sistema software • La descripción de los servicios y restricciones son los requisitos del sistema • La ingeniería de requisitos es el proceso que permite identificar dichos requisitos • Como otras actividades de Ing. de Sw, ésta debe adaptarse a las necesidades del proceso, proyecto, producto y gente que hace el software.
  • 17. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 17 22/06/2021 Importancia * • La Ing. de Requerimientos provee de un mecanismo apropiado para: – entender que quiere el consumidor, – analizar sus necesidades, – valorar la factibilidad de construcción, – negociar una solución razonable, – especificar de manera no ambigua una solución, – validar la especificación y – administrar los requerimientos conforme se transforman. *Referencia: capítulo 7 libro de texto (Pressman 2005)
  • 18. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 18 22/06/2021 Motivación • Se ha hecho muy evidente que una especificación deficiente de los requisitos del software puede conducir a proyectos fallidos, de allí que esta disciplina cada vez adquiera mayor importancia. • El curso de Ingeniería de requisitos esta diseñado para enseñarte a identificar y analizar requisitos de manera integral, con el cual garantizaras la elaboración de especificaciones funcionales de calidad.
  • 19. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 19 22/06/2021 Contenido • La Ingeniería de requerimientos – IDR – Definición de la IDR – Importancia de la IDR – Actividades de la IDR
  • 20. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 20 22/06/2021 Actividades de la Ing. de Requerimientos
  • 21. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 21 22/06/2021 Ingeniería de Requerimientos Proceso de los Requerimientos Obtención Análisis Validación Administración de los Requisitos Línea Base de Requerimientos Línea base actual Línea base corregida Planificación Administración del Cambio Cambios en requerimientos Cambios en el proyecto Planifica- ción Verificación Trazabilidad Especifica- ción
  • 22. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 22 22/06/2021 Actividades de la Ing. de Requerimientos – Iniciación (Inception) – Obtención (Elicitation) – Elaboración – Negociación – Especificación – Validación (Validation) – Administración • Algunas de estas funciones pueden ocurrir en paralelo y ajustarse a las necesidades del proyecto
  • 23. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 23 22/06/2021 Iniciación • Como se empieza un proyecto? Algunas veces inicia por conversaciones informales, otras de manera mas formal; normalmente como resultado de una necesidad importante • En esta parte, los ingenieros de software realizan preguntas “libres de contexto” (generales), para establecer un entendimiento básico del problema, determinar las personas que quieren una solución, la naturaleza de la solución, y la efectividad de las colaboraciones y comunicaciones preeliminares que se generan entre el consumidor y el desarrollador
  • 24. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 24 22/06/2021 Obtención de Requerimientos • Se refiere a definir formalmente los requerimientos de la solución. Es difícil porque como ya se ha visto: – Hay problemas de definición de alcances – Hay problemas de entendimiento entre los involucrados – Hay problemas de volatilidad (los requerimientos cambian con el tiempo)
  • 25. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 25 22/06/2021 Elaboración • Esta actividad expande y refina la información obtenida en la tarea de iniciación • Se enfoca en realizar modelos técnicos refinados de las funciones del software, características y limitantes. • Es básicamente una función de modelado. Se conduce a través de la definición de escenarios del usuario que describen la interacción del usuario final con el sistema • Se define el dominio del problema desde varios puntos de vista: información, funciones y comportamiento
  • 26. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 26 22/06/2021 Negociación • Los usuarios y consumidores normalmente piden mas de lo que se puede hacer con los recursos con que se cuenta. • Casi siempre diferentes involucrados (stakeholders) piden cosas diferentes, por lo que hay que conciliar intereses a través de negociaciones. • Hay varias maneras para negociar, y depende de la cultura de la organización y tamaño del proyecto
  • 27. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 27 22/06/2021 Especificación • Especificación significa diferentes cosas para diferentes personas en el área de Ing. de software. • Este es el producto de trabajo final de la ingeniería de requerimientos. • Sirve como base para actividades subsecuentes. • Describe la función y desempeño de un sistema y las restricción que tiene. • Hay muchas técnicas para escribir especificaciones: diagramas, narraciones en prosa, modelos matemáticos, dibujos, etc.
  • 28. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 28 22/06/2021 Validación • El producto generado por la ingeniería de requerimientos debe ser evaluado en términos de congruencia y calidad. Se debe asegurar que la especificación concuerda con las expectativas del usuario y que no es ambigua. • Deben detectarse y corregirse errores, omisiones e inconsistencias con respecto a los estándares establecidos en el proyecto. • El mecanismo común de validación es la revisión técnica formal.
  • 29. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 29 22/06/2021 Administración de requerimientos • Actividades que ayudan al equipo de trabajo a identificar, controlar y seguir los requerimientos y cambios que ocurren en ellos a través de todo el proceso de desarrollo. • La administración empieza con la identificación de cada requerimiento. Posteriormente se generan tablas que permitirán darles seguimiento. Algunas de éstas son: – Tablas de características – Tablas de fuentes – Tablas de dependencias – Tablas de subsistemas – Tablas de interfaces
  • 30. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 30 22/06/2021 Lección 2 Requerimientos Unidad 1 Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo para uso de los cursos de Ingeniería de Requerimientos
  • 31. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 31 22/06/2021 Contenido • Requerimientos – Definición – Tipos – Importancia – División – Características – Dificultades para definir requerimientos – Formas de documentar los requerimientos – Lenguajes y modelos para representar los requerimientos
  • 32. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 32 22/06/2021 Requerimiento ( = requisito) • Atributo necesario de un sistema • Un enunciado que identifica una capacidad, una característica, un factor de calidad del sistema para lograr la utilidad y valor esperados por el usuario o cliente.
  • 33. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 33 22/06/2021 ¿Qué es un Requerimiento? • Es un rango de instrucciones abstractas de alto nivel de un servicio o de un sistema, limitado a detallar una especificación funcional matemática. • Así es inevitable como los Requerimientos pueden servir en una función dual – Puede ser la base para una declaración de un contrato, por lo tanto, deber estar abierto a interpretación. – Puede ser la base para el contrato en sí, por lo tanto, debe ser definido en detalle. – Ambas declaraciones serán llamadas Requerimientos.
  • 34. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 34 22/06/2021 Requisitos vs. Diseño • Requisitos definen el Qué (el problema) del sistema • El Diseño define el Cómo (la solución)
  • 35. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 35 22/06/2021 Requisitos y diseño • En principio, los requisitos deben indicar lo qué el sistema debe hacer y el diseño debe describir cómo lo debe hacer • En la práctica, es prácticamente imposible excluir toda la información de diseño al especificar en un nivel adecuado los requisitos de software. – La arquitectura del sistema puede ser diseñada para estructurar los requisitos. – El sistema puede interactuar con otros sistemas que generan requisitos de diseño. – El uso de una arquitectura especifica para satisfacer los requisitos no funcionales puede ser un requisito.
  • 36. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 36 22/06/2021 Contenido • Requerimientos – Definición – Tipos – Importancia – División – Características – Dificultades para definir requerimientos – Formas de documentar los requerimientos – Lenguajes y modelos para representar los requerimientos
  • 37. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 37 22/06/2021 Importancia • El establecer requerimientos está relacionado con las actividades del cliente para el Software. • Los errores en los requerimientos son usualmente muy caros de corregir una vez desarrollado el sistema. • La revisión de requerimientos debe involucrar al cliente y al staff de contratistas para validar los requerimientos del sistema.
  • 38. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 38 22/06/2021 Costos de errores en los requisitos • Costo de corregir un error en los requisitos (Boehm-Papaccio,1988)
  • 39. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 39 22/06/2021 Importancia • La importancia de tener requisitos de calidad radica en: – Involucran del 10 al 15% del coste total del proyecto. – Un error en los requisitos puede ser de 10 hasta 100 veces más costoso que un error en el código. – Una equivocación en la etapa de requisitos se arrastra en las demás fases.
  • 40. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 40 22/06/2021 Importancia • Por estas razones los requerimientos deben tener las siguientes características: – Ser una combinación compleja de los requisitos (necesidades) de diferentes personas (stakeholders) que pertenecen a diferentes niveles de una organización y entorno en donde se operará el software. – Deben ser verificables. – Deben ser lo más claros que se pueda y cuantificables en medida de lo posible.
  • 41. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 41 22/06/2021 Contenido • Requerimientos – Definición – Tipos – Importancia – División – Características – Dificultades para definir requerimientos – Formas de documentar los requerimientos – Lenguajes y modelos para representar los requerimientos
  • 42. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 42 22/06/2021 Requisitos - Abstracción • La forma de un requisito puede variar desde una oración con un alto nivel de abstracción hasta una especificación funcional matemática. • Posibles contextos de un requisito: – Puede ser la base de una oferta para un contrato— por lo tanto debe estar abierto a la interpretación. – Puede ser la base para un contrato— por lo tanto debe ser definido detalladamente.
  • 43. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 43 22/06/2021 Tipos de requisitos - Abstracción • Requisitos de usuario – Son declaraciones en lenguaje natural, además de diagramas de los servicios que proporciona el sistema y sus limitaciones operativas. Escritos para los clientes. • Requisitos del sistema – Un documento estructurado que establece descripciones detalladas de las funciones, servicios y restricciones operacionales del sistema. Define lo que se debe implementar, podría ser parte de un contrato entre el cliente y el empresario.
  • 44. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 44 22/06/2021 Tipos de requisitos - Abstracción • Es necesario escribir los requisitos utilizando diferentes niveles de abstracción porque diferentes lectores los usan de diferente forma. Requerimientos del usuario Gerentes del cliente Usuarios finales del sistema Ingenieros del cliente Gerentes de los contratistas Arquitectos del sistema Requerimientos del sistema Usuarios finales del sistema Ingenieros del cliente Arquitectos del sistema Desarrolladores de software
  • 45. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 45 22/06/2021 Otros tipos de información de requisitos • Requisitos del dominio – Se derivan del dominio de aplicación del sistema y no de las necesidades específicas de los usuarios. • Requisitos del negocio – Un objetivo de alto nivel de una organización que desarrolla un producto o de un cliente que lo compra. • Regla de negocio – Una política, guía, estándar o regulación que define o restringe algún aspecto del negocio. • Requisito de interfaz externa – Una descripción de una conexión entre un sistema de software y un usuario, otro sistema de software o un dispositivo de hardware.
  • 46. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 46 22/06/2021 Otros tipos de información de requisitos • Característica (feature) – Una o más capacidades relacionadas de forma lógicas que proveen valor al usuario y son descriptas como un conjunto de requisitos funcionales. Ejemplo: los favoritos del navegador. • Requisito funcional – Una descripción de lo que el sistema debe hacer bajo condiciones específicas. • Requisitos no funcionales – Una descripción de una propiedad o característica que un sistema debe poseer o una restricción que debe respetar. • Atributo de calidad – Un tipo de requisito no funcional que describe una característica de servicio o desempeño de un producto.
  • 47. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 47 22/06/2021 Contenido • Requerimientos – Definición – Tipos – Importancia – División – Características – Dificultades para definir requerimientos – Formas de documentar los requerimientos – Lenguajes y modelos para representar los requerimientos
  • 48. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 48 22/06/2021 División • Podemos identificar dos divisiones de requisitos: - Requisitos de usuario. - Requisitos de sistema.
  • 49. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 49 22/06/2021 Requisitos de Usuario • Los requisitos de usuario son frases en lenguajes natural junto a diagramas de los servicios que el sistema debe proporcionar, así como las restricciones bajo las que debe operar • Según Sommeville, 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
  • 50. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 50 22/06/2021 Requisitos de sistema • Los requisitos de sistema determinan los servicios del sistema y las restricciones en detalle. Sirven como contrato. • Según Sommeville: – Establecen con detalle los servicios y restricciones del sistema. – El documento de requerimientos del sistema, algunas veces denominado especificación funcional, debe ser preciso
  • 51. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 51 22/06/2021 Reqs. Usuario vs Reqs. De sistema • En conclusión, son los mismo, pero a distinto nivel de detalle – e.g. req. usuario: el sistema debe hacer préstamos – e.g. reg. sistema: función préstamo; entrada: cód. socio, cód. ejemplar; salida: fecha devolución; ......
  • 52. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 52 22/06/2021 Ejemplos • El sistema debe permitir al usuario introducir los datos de los estudiantes nuevos. – Requisito de usuario expresado en términos generales. ¿Qué servicio debe prestar el sistema? • El sistema debe permitir a los usuarios buscar el producto por nombre, número de factura, código de barras. – Requisito del sistema: Que define una parte de funcionalidad del sistema.
  • 53. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 53 22/06/2021 Otra división: Stated vs Real requirements • Stated requirements (requisitos manifestados): – Son proporcionados por el usuario/cliente al inicio del desarrollo de un sistema/software. • Real requirements(requisitos reales): – Reflejan las necesidades reales del sistema. – Algunos requerimientos reales son omitidos por el usuario /cliente cuando estos son expresados al inicio (stated requirements). – El reto consiste en identificar estos requisitos reales.
  • 54. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 54 22/06/2021 Requisitos de sistema • Hay tres tipos de requisitos de sistema: – Requisitos funcionales – Requisitos no funcionales – Requisitos del dominio.
  • 55. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 55 22/06/2021 Requisitos funcionales
  • 56. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 56 22/06/2021 Requerimientos funcionales • Son declaraciones de los servicios que el sistema debería proveer, cómo el sistema debería reaccionar a entradas particulares y cómo debería comportarse en situaciones particulares. • Expresan la naturaleza del funcionamiento del sistema (cómo interacciona el sistema con su entorno y cuáles van a ser su estado y funcionamiento). – NOTA: A veces, también es conveniente indicar lo que no hará el sistema. • Ejemplos: – Un usuario podrá buscar en las listas de citas de todas las clínicas. – El sistema deberá generar cada día para cada clínica una lista de pacientes que se espera asistan a la cita durante ese día.
  • 57. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 57 22/06/2021 Los requerimiento Funcionales definen: Ejemplos de requerimientos funcionales: Ejemplos para el sistema de control de maletas • El sistema debe manejar hasta 20 maletas por segundo • Si el suministro de corriente falla, el sistema debe apagarse de manera ordenada en menos de 5 segundo. • Cada usuario del sistema debe identificarse de manera única utilizando su numero de empleado de 8 dígitos. Cuáles entradas debe aceptar el sistema Cuáles salidas debe producir el sistema Qué datos debe almacenar el sistema que utilizarán otros sistemas Qué operaciones debe realizar el sistema La sincronización y cronometraje de las actividades anteriores.
  • 58. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 58 22/06/2021 Falta de precisión en los requisitos • La falta de precisión en los requisitos es la causa de muchos problemas en la ingeniería de software. • Los requisitos ambiguos pueden ser interpretados de diferentes maneras por desarrolladores y usuarios. Ejemplo: – Un usuario podrá buscar en las listas de citas de todas las clínicas. Búsqueda dentro de cada clínica por vez Búsqueda dentro de todas las clínicas a la vez Búsqueda por nombre y apellido Búsqueda por hora de la cita
  • 59. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 59 22/06/2021 Requisitos funcionales Ejemplos
  • 60. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 60 22/06/2021 Ejemplos de requerimientos funcionales • De proceso o área de negocio: – El sistema enviará un correo electrónico cuando se registre alguna de las siguientes transacciones: pedido de venta de cliente, despacho de mercancía al cliente, emisión de factura a cliente y registro de pago de cliente. – Se permitirá el registro de pedidos de compra con datos obligatorios incompletos, los cuales podrán completarse posteriormente modificando el pedido. Antes de poder aprobarse los datos del pedido deben estar completos. – Al aprobar un pedido, la solicitud pasará al siguiente paso del flujo de trabajo (workflow) de aprobación configurado en el sistema. – El sistema permitirá a los usuarios autorizados el ingresar planes y cronogramas de proyecto.
  • 61. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 61 22/06/2021 Ejemplos de requerimientos funcionales • De interfaz gráfica: – La solución validará automáticamente el cliente asociado a una orden con el sistema de gestión de contactos. – El campo de monto aceptará únicamente valores numéricos con dos decimales. – El campo fecha de transacción aceptará únicamente fechas anteriores al día de hoy (día actual). – El campo nombre aceptará caracteres alfabéticos únicamente. – El campo dirección aceptará caracteres alfabéticos, numéricos y especiales. – El campo país consistirá en una lista de preselección. El país asociado a una dirección debe ser previamente registrado en el sistema.
  • 62. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 62 22/06/2021 Ejemplos de requerimientos funcionales • Legales o regulatorios: – El sistema controlará el acceso y lo permitirá solamente a usuarios autorizados. – La base de datos será implementada con trazas de auditoría. – Las hojas de cálculo asegurarán los datos usando firmas electrónicas. – El sistema permitirá elaborar y emitir el reporte regulatorio XX, según los requerimientos establecidos en el reglamento y ley aplicable. – Los libros de venta y de compras serán emitidos en el formato establecido por las autoridades tributarias de dicha materia.
  • 63. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 63 22/06/2021 Ejemplos de requerimientos funcionales • De seguridad: – El sistema controlará el acceso y lo permitirá solamente a usuarios autorizados. Los usuarios deben ingresar al sistema con un nombre de usuario y contraseña. – El sistema enviará una alerta al administrador del sistema cuando ocurra alguno de los siguientes eventos: Registro de nueva cuenta, ingreso al sistema por parte del cliente, 2 o más intentos fallidos en el ingreso de la contraseña de usuario y cambio de contraseña de usuario. – Los integrantes del grupo de usuarios de analistas pueden ingresar solicitudes pero no pueden aprobarlas o borrarlas. – Los integrantes del grupo de usuarios de gerentes pueden ingresar y aprobar solicitudes, pero no pueden borrarlas.
  • 64. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 64 22/06/2021 Requisitos NO funcionales
  • 65. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 65 22/06/2021 Requerimientos NO funcionales • Son restricciones a los servicios o funciones provistas por el sistema, como restricciones de tiempo, restricciones sobre el proceso de desarrollo, estándares, etc. • Generalmente son aplicables al sistema entero y no a servicios o funciones en particular • Por lo general: – El Plan para implementar los requerimientos no funcionales se detalla en la Arquitectura del Sistema. – El de los requerimientos funcionales se especifica en el Diseño.
  • 66. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 66 22/06/2021 Requerimientos NO funcionales • Los requerimientos no funcionales: – Definen las características o cualidades generales que se esperan de un sistema – Establecen restricciones sobre el producto, el proceso de desarrollo de software – Establecen restricciones externas que el software debe lograr
  • 67. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 67 22/06/2021 Necesidad de definir los requerimientos no funcionales en términos precisos y que puedan medirse • Para todo proyecto de TI, es crítico que los requerimientos no funcionales sean definidos con los usuarios, clientes y otros interesados en términos precisos y medibles en la etapa de análisis del proyecto. No hacerlo puede poner en riesgo el éxito de un proyecto. – Por ejemplo, tomando el caso de los tiempos de respuesta de un sistema, lo cual podría clasificarse en disponibilidad, ¿que sucedería si no se definiera el tiempo de respuesta deseado en la fase de análisis de requerimientos?, o si se definiera en términos imprecisos, como por ejemplo indicado, "Se necesita un tiempo de respuesta aceptable". – Al llegar a la fase de implementación, quizás en sistema tendría un tiempo de respuesta, digamos de 15 segundos(debido a muchas plataformas remotas y bases de datos involucradas), pero el usuario lo necesitaba en menos de 5 segundos, para por ejemplo, evitar que se forme una fila muy larga para atender a clientes. – Errores como esto pudieran ocasionar inclusive que el usuario final decidiera no usar el nuevo sistema, haciendo fracasar el proyecto. – Por ende, es importante definir los requerimientos con métricas que puedan establecer sin lugar a duda que el sistema o servicio de TI desarrollado cumple los parámetros no funcionales solicitados.
  • 68. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 68 22/06/2021 Requerimientos NO funcionales y requerimientos funcionales • Los requerimientos NO funcionales suelen expresarse de una manera general y sin hacer referencia a algún modulo, transacción o característica del sistema, pues sino pasarían a ser requerimientos funcionales. – Por ejemplo: El sistema debe asegurar que los datos estén protegidos del acceso no autorizado • Es recomendable acompañar las definiciones de requerimientos NO funcionales con criterios de aceptación que puedan medirse. • Los requerimientos NO funcionales pueden a su vez derivar en requerimientos funcionales, tomando como ejemplo el anterior: – El sistema incluirá un procedimiento de autorización de usuarios, en el cual los usuarios deben identificarse usando un nombre de usuario y contraseña. Sólo los usuarios autorizados de esta forma podrán acceder a los datos del sistema. – Escrito de esta forma, el requerimiento pasa a ser funcional. • Sin embargo, no todos los requerimientos NO funcionales pueden derivarse en requerimientos funcionales, por lo cual es muy importante definir los criterios de aceptación.
  • 69. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 69 22/06/2021 Categorías en las que pueden clasificarse los requerimientos NO funcionales • Se pueden clasificar en dos categorías: – Cualidades observables en tiempo de ejecución • Por ejemplo: la usabilidad y la seguridad. – Cualidades relacionadas con la evolución del sistema • Por ejemplo: Mantenibilidad, Comprobabilidad, Extensibilidad y Escalabilidad, las cuales están inmersas en la estructura del sistema de software.
  • 70. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 70 22/06/2021 Clasificación de requerimientos NO funcionales • Importancia de clasificar los requerimientos no funcionales – El especificar requerimientos no funcionales de forma incompleta o inexacta puede ocasionar el fracaso de tu proyecto de ingeniería de software. – De hecho no gestionar los requerimientos no funcionales es uno de los errores clásicos en la gestión de desarrollo de software (definida por Steve McConnell). – Lograr clasificar adecuadamente cada requerimiento no funcional identificado es muy importante para garantizar este proceso.
  • 71. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 71 22/06/2021 Algunas recomendaciones para determinarlos Propiedad Medida Rapidez Transacciones procesadas por segundo Tiempo de respuesta al usuario y a eventos Tiempo de actualizacion de la pantalla Tamaño K Bytes Numero de chips de RAM Facilidad de Uso Tiempo de entrenamiento Número de pantallas de ayuda Fiabilidad Número promedio entre fallos Probabilidad de no disponibilidad Tasa de Ocurrencia de fallos Disponibilidad Robustez Tiempo de reinicio entre fallos Porcentaje de eventos que provocan fallos Probabilidad de corrupcion de los datos despues de fallos Portabilidad Porcentaje de declaraciones dependientes de objetivos Número de sistemas objetivo
  • 72. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 72 22/06/2021 Clasificación de requerimientos NO funcionales • Existen diversas fuentes o marcos de referencia para clasificar los requerimientos no funcionales, de hecho, existe un estándar de la IEEE, Std 830 – 1993 que establece 13 tipos de requerimientos no funcionales que deberían incluirse en toda especificación de software. • Otro modelo es el propuesto por Jacobson (1999) para el Unified Process. • Uno de los modelos más difundidos es el establecido por Somerville, éste será el que usaremos en este curso.
  • 73. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 73 22/06/2021 Clasificación de requerimientos NO funcionales (Sommerville) • Del Producto: Especifican restricciones al comportamiento del producto. – Ejemplos: desempeño, confiabilidad, portabilidad, usabilidad • De la Organización: Se derivan de las políticas y procedimientos existentes en la organización del cliente y en la del desarrollador. – Ejemplos: estándares, lenguajes de programación, método de diseño • Externos: Se derivan de factores externos, como: – Interoperabilidad: con otros sistemas – Legislativos: privacidad, seguridad – Éticos: dependen del contexto, las personas, etc
  • 74. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 74 22/06/2021 Requerimientos de Producto ▪ Eficiencia – Desempeño (Ejemplo: Numero de maletas por minuto) – Espacio (Ejemplo: Mínima cantidad de memoria requerida) ▪ Fiabilidad (tiempo mínimo antes de primera falla) ▪ Portabilidad (Puede usarse con otro S.O o con otro HW?) ▪ Usabilidad (Tiempo de entrenamiento requerido) Requerimientos Organizacionales ▪Entrega (ejemplo: Fecha de entrega, fecha cuando estará operacional, sesiones de entrenamiento, actualizaciones) ▪ Implementación ▪ Estándares Requerimientos Externos ▪Interoperabilidad (Ejemplo: Comunicación con otro equipo). ▪ Éticos (Ejem: Seguridad para los operadores) ▪ Legislativos (Ejem: Reglas de privacidad)
  • 75. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 75 22/06/2021 Clasificación de requerimientos NO funcionales (Sommerville) Requerimientos de rendimiento Requerimientos de espacio Requerimientos de usabilidad Requerimientos de eficiencia Requerimientos de confiabilidad Requerimientos de seguridad Requerimientos regulatorios Requerimientos éticos Requerimientos legales Requerimientos operacionales Requerimientos de desarrollo Requerimientos ambientales Requerimientos protección/seguridad Requerimientos contables Requerimientos del producto Requerimientos de la organización Requerimientos externos Requerimientos no funcionales
  • 76. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 76 22/06/2021 Requerimientos NO funcionales del Producto • Suele referirse a limites o restricciones sobre el comportamiento del sistema, por lo cual establece límites y restricciones sobre lo que los diseñadores (arquitectos de software) e ingenieros de software pueden hacer. • Algunos de estos requerimientos pueden ser fáciles de cuantificar, por ejemplo el desempeño y la confiabilidad, pero otros son más difíciles como por ejemplo usabilidad y adaptabilidad. • Se clasifican en: – Requerimientos de usabilidad: La usabilidad se define como el esfuerzo que necesita hacer un usuario para aprender, usar, ingresar datos e interpretar los resultados obtenidos de un software de aplicación. En tiempos recientes, la usabilidad ha adquirido mucha importancia, en especial ante la demanda de desarrollo de software para móviles y tabletas.
  • 77. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 77 22/06/2021 Requerimientos NO funcionales del Producto – Requerimientos de eficiencia: Relacionado con desempeño en cuanto a tiempo de respuesta, número de operaciones por segundo, entre otras mediciones, así como consumo de recursos de memoria, procesador, espacio en disco o red. – Requerimientos de dependibilidad: Engloba varios atributos • Disponibilidad: Disposición del sistema para prestar servicio correctamente. • Confiabilidad: Continuidad del servicio prestado por el sistema. • Seguridad industrial: Ausencia de consecuencias catastróficas para el usuario o el ambiente. • Integridad: Ausencia de alteraciones inadecuadas al sistema. • Mantenibilidad: Posibilidad de realizar modificaciones o reparaciones a un proceso sin afectar la continuidad del servicio. – Requerimientos de seguridad: Capacidades funcionales o no funcionales que debe tener un sistema para cumplir atributos en el área de seguridad de tecnología de información, seguridad de datos, seguridad lógica, control de acceso a información (restricciones de acceso), autenticidad de la información, privacidad, entre otros aspectos.
  • 78. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 78 22/06/2021 Requerimientos NO funcionales del Producto • Considerar los requerimientos de producto es vital para lograr: – la integración continua de aplicaciones y – el desarrollo de cambios que sean rápidos pero sostenibles en el tiempo. • Este nuevo paradigma es necesario para implementar las nuevas tecnología de información y aplicaciones de software como la movilidad, internet de las cosas, analítica avanzada de datos (Big Data), evolución de los sistemas a la nube y tecnología de información escalable.
  • 79. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 79 22/06/2021 Clasificación de requerimientos NO funcionales (Sommerville) Requerimientos de rendimiento Requerimientos de espacio Requerimientos de usabilidad Requerimientos de eficiencia Requerimientos de confiabilidad Requerimientos de seguridad Requerimientos regulatorios Requerimientos éticos Requerimientos legales Requerimientos operacionales Requerimientos de desarrollo Requerimientos ambientales Requerimientos protección/seguridad Requerimientos contables Requerimientos del producto Requerimientos de la organización Requerimientos externos Requerimientos no funcionales
  • 80. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 80 22/06/2021 Requerimientos NO funcionales de organización • Se derivan de las políticas y procedimientos de la organización como por ejemplo estándares de procesos o requerimientos de implementación. • Pueden incluir: – metodologías de desarrollo de software, – estándares de programación (codificación) y – herramientas de soporte al desarrollo de software (por ej. Herramientas CASE) que deben usarse (siguiendo las políticas de la organización), – también reportes a la gerencia que deben proveerse, entre otros. • Las herramientas para la gestión de desarrollo de software que conocemos, se definen como requerimientos no funcionales organizacionales.
  • 81. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 81 22/06/2021 Requerimientos NO funcionales de organización • Los requerimientos organizacionales pueden clasificarse en: – Requerimientos de entorno: Describen el ambiente operativo en el que se debe desenvolver el sistema. – Requerimientos operacionales: Procedimientos operativos que describen como será usado el sistema dentro del contexto de la organización. – Requerimientos de desarrollo: Lenguaje de programación a usar, estándares de codificación, patrones (y antipatrones) de diseño y programación, herramientas para gestionar el desarrollo de software, entorno de desarrollo de software (ambiente de desarrollo), entorno de pruebas de software (ambiente de pruebas), entre otros aspectos.
  • 82. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 82 22/06/2021 Requerimientos NO funcionales de organización • Uno de los aspectos que se documentan como requerimientos funcionales organizacionales son los entorno, específicamente los procedimientos de mantenimiento y administración del ambiente de desarrollo de software. • Esta administración también incluye los procedimientos para gestionar los ambientes de pruebas integrales.
  • 83. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 83 22/06/2021 Clasificación de requerimientos NO funcionales (Sommerville) Requerimientos de rendimiento Requerimientos de espacio Requerimientos de usabilidad Requerimientos de eficiencia Requerimientos de confiabilidad Requerimientos de seguridad Requerimientos regulatorios Requerimientos éticos Requerimientos legales Requerimientos operacionales Requerimientos de desarrollo Requerimientos ambientales Requerimientos protección/seguridad Requerimientos contables Requerimientos del producto Requerimientos de la organización Requerimientos externos Requerimientos no funcionales
  • 84. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 84 22/06/2021 Requerimientos NO funcionales externos • Estos derivan del entorno organizacional (no entorno técnico) en el cual se desarrolla el sistema y pueden hacerse tanto sobre el producto (el software desarrollado) o también sobre el proceso de desarrollo de software. • Este tipo de requerimientos incluyen limitaciones de índole económica, interacción o necesidad del sistema de inter- operar con otros sistemas, requerimientos regulatorios en el área de salud, seguridad industrial o protección de datos, requerimientos legales concernientes con licencias, regulaciones o certificaciones que necesita el producto según la industria en el que se desempeñe, entre otros.
  • 85. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 85 22/06/2021 Requerimientos NO funcionales externos • Somerville a su vez clasifica estos requerimientos en: – Requerimientos regulatorios: Leyes y reglamentos que establecen que debe hacer el sistema y como debe hacerlo para cumplirlas. El foco de un sistema o nueva funcionalidad puede ser exclusivamente para cumplir una regulación. – Requerimientos éticos: Requerimientos que aseguran que el sistema será aceptable para el usuario, público en general y se adapta a las costumbres de la sociedad en la que se desenvuelve o a la que presta servicios. – Requerimientos legislativos: Características que debe cumplir el sistema para cumplir con la ley, por ejemplo en el área de contabilidad (normas contables y estándares financieros), requerimientos de seguridad industrial (para sistemas críticos), entre otros aspectos.
  • 86. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 86 22/06/2021 Requisitos NO funcionales Ejemplos
  • 87. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 87 22/06/2021 Ejemplos de requerimientos NO funcionales de producto • De eficiencia: – El sistema debe ser capaz de procesar N transacciones por segundo. Esto se medirá por medio de la herramienta SoapUI aplicada al Software Testing de servicios web. – Toda funcionalidad del sistema y transacción de negocio debe responder al usuario en menos de 5 segundos. – El sistema debe ser capaz de operar adecuadamente con hasta 100.000 usuarios con sesiones concurrentes. – Los datos modificados en la base de datos deben ser actualizados para todos los usuarios que acceden en menos de 2 segundos.
  • 88. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 88 22/06/2021 Ejemplos de requerimientos NO funcionales de producto • De seguridad lógica y de datos: – Los permisos de acceso al sistema podrán ser cambiados solamente por el administrador de acceso a datos. – El nuevo sistema debe desarrollarse aplicando patrones y recomendaciones de programación que incrementen la seguridad de datos. – Todos los sistemas deben respaldarse cada 24 horas. Los respaldos deben ser almacenados en una localidad segura ubicada en un edificio distinto al que reside el sistema. – Todas las comunicaciones externas entre servidores de datos, aplicación y cliente del sistema deben estar encriptadas utilizando el algoritmo RSA. – Si se identifican ataques de seguridad o brecha del sistema, el mismo no continuará operando hasta ser desbloqueado por un administrador de seguridad.
  • 89. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 89 22/06/2021 Ejemplos de requerimientos NO funcionales de producto • De seguridad industrial: – El sistema no continuará operando si la temperatura externa es menor a 4 grados Celsius. – El sistema no continuará operando en caso de fuego. (Ej. Un ascensor). • De usabilidad – El tiempo de aprendizaje del sistema por un usuario deberá ser menor a 4 horas. – La tasa de errores cometidos por el usuario deberá ser menor del 1% de las transacciones totales ejecutadas en el sistema. – El sistema debe contar con manuales de usuario estructurados adecuadamente. – El sistema debe proporcionar mensajes de error que sean informativos y orientados a usuario final. – El sistema debe contar con un módulo de ayuda en línea. – La aplicación web debe poseer un diseño “Responsive” a fin de garantizar la adecuada visualización en múltiples computadores personales, dispositivos tableta y teléfonos inteligentes. – El sistema debe poseer interfaces gráficas bien formadas.
  • 90. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 90 22/06/2021 Ejemplos de requerimientos NO funcionales de producto • De dependibilidad: – El sistema debe tener una disponibilidad del 99,99% de las veces en que un usuario intente accederlo. – El tiempo para iniciar o reiniciar el sistema no podrá ser mayor a 5 minutos. – La tasa de tiempos de falla del sistema no podrá ser mayor al 0,5% del tiempo de operación total. – El promedio de duración de fallas no podrá ser mayor a 15 minutos. – La probabilidad de falla del Sistema no podrá ser mayor a 0,05.
  • 91. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 91 22/06/2021 Ejemplos de requerimientos NO funcionales de producto • Otros ejemplos de requerimientos de producto – El sistema será desarrollado para las plataformas PC y Macintosh. – La aplicación debe ser compatible con todas las versiones de Windows, desde Windows 95. – La aplicación deberá consumir menos de 500 Mb de memoria RAM. – La aplicación no podrá ocupar más de 2 GB de espacio en disco. – La nueva aplicación debe manejar fuentes del alfabeto en Inglés, Idiomas latinos (Español, Frances, Portugués, Italiano), Arábico y Chino. – La interfaz de usuario será implementada para navegadores web únicamente con HTML5 y JavaScript.
  • 92. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 92 22/06/2021 Ejemplos de requerimientos NO funcionales de organización • El procedimiento de desarrollo de software a usar debe estar definido explícitamente (en manuales de procedimientos) y debe cumplir con los estándares ISO 9000. • La metodología de desarrollo de software será Behaviour Driven Development (BDD) apoyada en Cucumber. • El sistema debe ser desarrollado utilizando las herramientas CASE XYZ. • El proceso de desarrollo se gestionará por medio de una determinada herramienta web para gestionar el proceso de desarrollo de software. • Debe especificarse un plan de recuperación ante desastres para el sistema a ser desarrollado.
  • 93. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 93 22/06/2021 Ejemplos de requerimientos NO funcionales de organización • Cada dos semanas deberán producirse reportes gerenciales en los cuales se muestre el esfuerzo invertido en cada uno de los componentes del nuevo sistema. • Las pruebas de software se gestionaran con una herramienta de gestión de software testing. • Las pruebas de software se ejecutarán utilizando Selenium y Ruby como herramienta y lenguaje Scripting para automatización de software testing.
  • 94. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 94 22/06/2021 Ejemplos de requerimientos NO funcionales externos • Sistemas de datos médicos: El nuevo sistema y sus procedimientos de mantenimiento de datos deben cumplir con las leyes y reglamentos de protección de datos médicos. • El nuevo sistema se acogerá a las reglas de las licencias generales públicas (GNU), es decir será gratuito, código abierto en el que cualquiera podrá cambiar el software, sin patentes y sin garantías. • Las páginas web a ser desarrolladas deben cumplir con la ley de tratamiento en condiciones de igualdad para personas con discapacidad. • El sistema no revelara a sus operadores otros datos personales de los clientes distintos a nombres y números de referencia.
  • 95. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 95 22/06/2021 Requisitos del dominio
  • 96. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 96 22/06/2021 Requerimientos del Dominio • Estos requerimientos se derivan del dominio de aplicación del sistema mas que de las necesidades especificas del usuario. • Incluyen terminología especializada del dominio o referencias a conceptos del dominio. • Pueden ser: -Requerimientos funcionales nuevos, -Restringir los existentes o -Establecer como se deben ejecutar cálculos particulares. • Si no se satisfacen puede ser que el sistema no funcione adecuadamente. Para redactarlos se requieren conocimientos especializados del dominio
  • 97. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 97 22/06/2021 Requisitos del dominio • Las reglas del negocio son: – Aquel conjunto de prácticas y políticas, algunas veces explícito y otras implícito, que define cómo una organización hace negocios – Restricciones propias del negocio que deben ser reflejadas en la base de datos y sus aplicaciones. – Se derivan del dominio de aplicación del sistema y no de las necesidades específicas de los usuarios.
  • 98. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 98 22/06/2021 ¿Por qué se está realizando el Proyecto? • Los requerimientos del negocio son las declaraciones de la empresa para justificar la ejecución del proyecto. • Incluye una visión del producto de software impulsado por los objetivos del negocio. • Es decir: – describen el propósito y las necesidades a alto nivel que el producto debe satisfacer; – además con la visión del producto se determinan las capacidades que el producto debe tener y también las limitaciones del mismo.
  • 99. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 99 22/06/2021 Ejemplo de RD para un sistema de biblioteca: 1.- Deberá existir una interfaz de usuario estándar para todas las bases de datos que estará basada en el estándar Z39.50 Ejemplo para un sistema de control de trenes. La desaceleración del tren se calculará como: Dtren = Dcontrol + Dgradiente donde Dgradiente es 9.81ms2 * gradiente compensado/ alfa y en donde los valores de 9.81ms2 / alfa se conocen para diferentes tipos de trenes. Ejemplos de requisitos de dominio
  • 100. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 100 22/06/2021 Problemas Relacionados con los Requerimientos del Dominio • Comprensibilidad – Los requerimientos son expresados en el lenguaje del dominio de aplicación. – Pueden no ser entendidos por los ingenieros de software que desarrollan el sistema. • Implicación / Conocimiento tácito – Los especialistas del dominio entienden el área tan bien que no consideran necesario explicar los requerimientos del dominio – Las personas no están consientes del conocimiento tácito que poseen y no lo expresan a los otros.
  • 101. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 101 22/06/2021 Resumen
  • 102. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 102 22/06/2021 Resumen: Requisitos Funcionales y No Funcionales • Funcionales: – Servicios o funciones que proveerá el sistema (funciones) – La respuesta del sistema ante determinadas entradas – El comportamiento del sistema en situaciones particulares. – Describen la interacción entre el sistema y su entorno – Ejemplos: • Se deben ingresar cédula, nombre y teléfono de cada cliente • Se quiere un listado de los clientes por zona • No-funcionales: – Restricciones a los servicios o funciones ofrecidos por el sistema – Describen restricciones que limitan las elecciones para construir una solución – Ejemplos: • Las consultas deben resolverse en menos de 3 segundos • El lenguaje de programación debe ser Java
  • 103. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 103 22/06/2021
  • 104. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 104 22/06/2021 Contenido • Requerimientos – Definición – Tipos – Importancia – División – Características – Dificultades para definir requerimientos – Formas de documentar los requerimientos – Lenguajes y modelos para representar los requerimientos
  • 105. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 105 22/06/2021 Cada requerimiento debe ser: • Completo: Un requerimiento está completo si no necesita ampliar detalles en su redacción, es decir, proporciona la información suficiente para su comprensión. • Correcto: Cada requerimiento debe describir con exactitud la funcionalidad a ser construida. • Claro: Pueden ser entendidos de la misma manera por todas las partes interesadas con un mínimo de explicación complementaria. • 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.
  • 106. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 106 22/06/2021 Cada requerimiento debe ser: • 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. • Sin ambigüedades: Un requerimiento 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. • Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que se pueden utilizar los métodos de verificación de inspección, análisis, demostración o pruebas.
  • 107. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 107 22/06/2021 Características de especificaciones de requerimientos (Conjunto de reqs.) • 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. • Modificable: Debe ser 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. • 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.
  • 108. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 108 22/06/2021 Cada requerimiento debe ser: • Necesario • Realizable • Conciso • Correcto (exacto, técnica y legalmente) • No ambiguo (solo puede ser interpretado de 1 FORMA) • Completo (todas las condiciones bajo una oración) • Consistente (no entra en conflicto con otros requisitos) • Verificable (su implementación puede ser comprobada) • Rastreable (a través del diseño, codificación, pruebas, documentación, etc.)
  • 109. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 109 22/06/2021 Cada requerimiento debe ser: • Asignable (allocated): a un componente del diseño. • Independiente del diseño: no debe de decir una solución específica. • No redundante: no está duplicado. • Escrito correctamente en modo imperativo (debe hacer algo) • Con un único identificador. • No debe incluir palabras como: excepto, pero, a menos que , generalmente, típicamente, normalmente, etc)
  • 110. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 110 22/06/2021 Contenido • Requerimientos – Definición – Tipos – Importancia – División – Características – Dificultades para definir requerimientos – Formas de documentar los requerimientos – Lenguajes y modelos para representar los requerimientos
  • 111. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 111 22/06/2021 Motivación
  • 112. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 112 22/06/2021 Dificultades en obtención & análisis de requisitos • No reflejan las necesidades reales de los clientes • Son inconsistentes y/o incompletos. • Realizar cambios sobre los requisitos ya definidos es muy costoso. • Pueden existir malentendidos entre los stakeholders, y los ingenieros de software. • Imprecisión de los requisitos, lo cual provoca que sean interpretados de diferentes formas por los stakeholders. • Frecuentemente no está clara la frontera entre requisitos y diseño.
  • 113. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 113 22/06/2021 Las dificultades en proyectos se deben a : • Requerimientos no explícitos. Las necesidades reales del usuario no son definidas. • Los cambios en los requerimientos se hacen sin considerar costos, tiempos, impacto en la calidad. • No se administran los requerimientos durante el ciclo de vida del proyecto. • Mala comunicación entre las partes involucradas en el proyecto (administrador, desarrollo, diseño, etc.) • Métodos, técnicas , herramientas no son utilizadas. • Al cliente no se lo involucra como parte del proyecto. Se recurre a él al inicio y al final.
  • 114. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 114 22/06/2021 Dificultades en obtención & análisis de requisitos • Se trabaja en conjunto con los usuarios y clientes • Problemas comunes: – No saben lo que quieren del sistema, sólo en términos generales, no conocen el costo de sus peticiones – Los requisitos están en sus términos y con conocimiento implícito de su propio trabajo – Distintos usuarios tienen distintos requisitos, se deben encontrar todas las fuentes – Influyen factores políticos – La prioridad que se da a los requisitos varía con el tiempo – Aparecen nuevos requisitos
  • 115. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 115 22/06/2021 Problemas en los requisitos • La mayor consecuencia es el retrabajo (en etapas más avanzadas del desarrollo o después de liberar). • Ejemplos: – Poco involucramiento de los usuarios. – Planes inadecuados – utilizar requisitos muy vagos para crear planes. – Recortes en los requisitos del usuario. – Requisitos ambiguos. – Gold plating – chapado en oro: requisitos que creemos que el usuario va a amar. – No identificar correctamente a los usuarios correctos.
  • 116. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 116 22/06/2021 Brecha en la Comunicación (Scharer ’90) Según desarrolladores, los usuarios... Según usuarios, los desarrolladores... no saben lo que quieren no captan las necesidades operativas no pueden articular lo que quieren ponen excesivo énfasis en aspectos meramente técnicos muchas necesidades por motivos políticos pretenden indicarnos cómo hacer nuestro trabajo quieren todo ya no son capaces de traducir necesidades claramente establecidas en un sistema son incapaces de definir prioridades entre sus necesidades siempre dicen que no rehúsan asumir responsabilidades por el sistema siempre están pasados del presupuesto incapaces de dar un enunciado utilizable de sus necesidades siempre están atrasados no están comprometidos con los proyectos de desarrollo nos exigen tiempo y esfuerzo aún a costa de las obligaciones esenciales no aceptan soluciones de compromiso establecen estándares no realistas para la definición de requisitos no pueden mantener el cronograma son incapaces de responder rápidamente a cambios en las necesidades
  • 117. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 117 22/06/2021 Comunicación • Presentación de requisitos • Lenguaje accesible al stakeholder • Nivel de Abstracción adecuado • Participación e integración • Relacionada con etapa de modelización
  • 118. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 118 22/06/2021 Contenido • Requerimientos – Definición – Tipos – Importancia – División – Características – Dificultades para definir requerimientos – Formas de documentar los requerimientos – Lenguajes y modelos para representar los requerimientos
  • 119. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 119 22/06/2021 Formas de documentar los requerimientos • Para la especificación del sistema se usan tres tipos de recursos: – Descripción del proyecto: Documento textual que describe de forma concisa el objetivo del sistema, su oportunidad de mercado y el análisis de riesgos (DOCUMENTO VISIÓN). – Análisis del contexto: Modelo de objetos que identifica las interacciones externas y los mecanismos de interacción física entre los actores que constituyen el entorno y el propio sistema (MODELO DE DOMINIO Y DE NEGOCIO). – Casos de uso: Recursos UML para describir la funcionalidad del sistema. Identifican los límites del sistema a través de la captura de los tipos de usuario, de los elementos básicos de funcionalidad a través de casos de uso, y de los protocolos de interacción a través de diagramas de secuencia o de interacción.
  • 120. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 120 22/06/2021 Contenido • Requerimientos – Definición – Tipos – Importancia – División – Características – Dificultades para definir requerimientos – Formas de documentar los requerimientos – Lenguajes y modelos para representar los requerimientos
  • 121. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 121 22/06/2021 Formas de documentar los requerimientos • Lenguaje Natural – Comprensible para el Cliente/Usuario – Ambiguo (glosario) – Poca legibilidad (plantilla, formateo del texto) – Difícil de tratar (Verificar correctitud, consistencia, completitud) • Notaciones Especiales (más formales) – Poca o ninguna ambigüedad – Facilita tratamiento – Necesidad de entrenamiento en la notación – Dificultades de comprensión por Cliente/Usuario
  • 122. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 122 22/06/2021 Notaciones Especiales • Gráficas vs. Basadas en texto • Estáticas vs. Dinámicas • Descripciones Estáticas – Se especifican entidades y sus atributos, los requisitos se pueden ver como las relaciones entre las entidades. – No describe como cambian las relaciones con el tiempo • Descripciones Dinámicas – Especifican estados y las transiciones entre estados en el tiempo
  • 123. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 123 22/06/2021 Formas de representar los requisitos
  • 124. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 124 22/06/2021 Ejemplos FR 1.0: FR 1.1: FR 1.2: etc. FR 2.0 etc. Nota: FR= Requerimiento funcional Diagrama de árbol En forma Textual (leng. Natural)
  • 125. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 125 22/06/2021 Ejemplos Requisitos como modelos
  • 126. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 126 22/06/2021 Lección 3 Procesos Unidad 1 Material docente compilado por el profesor Ph.D. Franklin Parrales para uso de los cursos de Ingeniería de Requerimientos
  • 127. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 127 22/06/2021 Contenido • Procesos – Definición y elementos: entradas, salidas, recursos y controles – Diagrama de actividades
  • 128. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 128 22/06/2021 Descripción y documentación de un proceso Misión del proceso. • Un proceso puede ser definido como un conjunto de actividades enlazadas entre sí que, partiendo de uno o más inputs los transforma, generando un output. Documentación de proceso. • Es un método estructurado que utiliza un preciso manual para comprender el contexto y los detalles de los procesos claves. Siempre que un proceso vaya a ser rediseñado o mejorado, su documentación es esencial como punto de partida. Los pasos que deben llevarse a cabo para la realización de la documentación de procesos y la creación de un manual son: • 1º paso la selección del proceso a documentar. • 2º la recolección de la información relacionada con el proceso. • 3º análisis de la información. • 4º desarrollo de un manual de documentación de procesos, que implica la creación de un modelo o formato de procesos.
  • 129. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 129 22/06/2021 Controles Todo aquello que regula el proceso: Pasos/pautas Reglas/normas Descripción y documentación de un proceso Proceso Entradas Materiales, equipos, información, personas Recursos económicos, etc Salidas Producto o servicio que s creado por el proceso, que es entregado al cliente. Herramientas, funciones y habilidades Medios o recursos para llevar a cabo el proceso y funciones , habilidades o capacidades requeridas para desempeñar eficazmente el proceso.
  • 130. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 130 22/06/2021 Contenido • Procesos – Definición y elementos: entradas, salidas, recursos y controles – Diagrama de actividades
  • 131. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 131 22/06/2021 • ¿Qué son los diagramas de actividad? –Es una notación que forma parte de UML y que se utiliza principalmente para modelar procesos de negocio, especificando: ✓ La secuencia de actividades que componen los procesos de negocio. ✓ Los actores que realizan las actividades (opcional). ✓ La información que fluye de unas actividades a otras (opcional). –Dentro del proceso de ingeniería de requisitos, se utilizarán para modelar los procesos de negocio, tanto actuales como a implantar, de la organización para la que se va a desarrollar el sistema software. –A partir del modelo del negocio al que el sistema software debe dar soporte, se plantean los objetivos y requisitos del sistema a desarrollar. Diagrama de Actividades
  • 132. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 132 22/06/2021 Gestión de Pedidos Ejemplo: gestión de pedidos Recibir Pedido Enviar Factura Factura Recibir Pago Satisfacer Pedido Pedido Cerrar Pedido Producción Actividad inicial Indica el comienzo del proceso de negocio. Actividad final Indica el final del proceso de negocio. Calles Permiten especificar qué actividades hace cada actor. Nodo de objeto Representa información o documentos (objetos) que se generan en una actividad y se consumen en otra. Comienzo de paralelismo Indica que a partir de ahí se realizan varias actividades en paralelo. Fin de paralelismo Indica la terminación de todas las actividades que se realizaban en paralelo. Transición Indica que una actividad ha terminado y se pasa a la siguiente. Flujo de objeto Representa un flujo de información (objetos) entre actividades. Actividad compleja Son actividades complejas que necesitan un diagrama de actividades propio para ser descritas. Facturación Servicio al Cliente Entregar Pedido Actividad Representa un paso en el proceso de negocio.
  • 133. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 133 22/06/2021 • Actividades – Una actividad representa un paso dentro de proceso de negocio. • Su nombre, que debe ser siempre una forma verbal, debe ser representativo y coherente dentro del proceso de negocio. • Si una actividad es compleja, puede ser necesario mostrar su descomposición en actividades más simples en otro diagrama. • En cada diagrama de actividades, las actividades deben tener un nivel de abstracción similar. • Actividades iniciales y finales – La actividad inicial, que debe ser única, indica dónde comienza el proceso de negocio. – Una actividad final, de las que puede haber varias o ninguna (proceso sin fin), indica dónde puede terminar el proceso Diagrama de Actividades Actividad Actividad compleja Actividad inicial Actividad final
  • 134. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 134 22/06/2021 • Transiciones – Indican la secuencia de actividades que componen el proceso de negocio. – Cuando una actividad termina de realizarse se produce la transición hacia la siguiente actividad. • Transiciones condicionales – Indican que la siguiente actividad a realizar depende de cierta condición. – Como mínimo y como máximo, sólo puede haber una opción válida al evaluar la condición Diagrama de Actividades Actividad 1 Actividad 2 – El símbolo de condición se puede usar también para unir varios caminos condicionales (opcional). Entrega de pedido [otro caso] [urgente] Entrega Ordinaria Entrega Urgente
  • 135. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 135 22/06/2021 Ejemplo: Cajero ATM Se abren Flujos Paralelos Sincronización Guarda de decisión
  • 136. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 136 22/06/2021 Ejemplo Diagrama de Actividad para calcular el Fibonacci de un numero.
  • 137. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 137 22/06/2021 • Paralelismo – A veces, algunos pasos de un proceso de negocio se realizan simultáneamente (en paralelo) o sin un orden definido. – Para indicar que comienzan varias actividades a la vez se usa un símbolo de comienzo de paralelismo (fork), al que llega una transición y del que salen varias (al menos dos). – Para indicar que todas las actividades que se hacían en paralelo han terminado se usa un símbolo de fin de paralelismo (join), al que llegan varias transiciones (al menos dos) y del que sale una sola transición. – La transición de salida del join sólo se realiza cuando han terminado todas las actividades que se realizaban en paralelo. Diagrama de Actividades Realizar Práctica* Seleccionar Sistema Presentar Práctica Estudiar Negocio Elaborar Requisitos Realizar Modelos *Proceso muy, muy simplificado.
  • 138. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 138 22/06/2021 • Calles (marcos de responsabilidad) – La división en calles permite asociar actividades con aquellos actores que las realizan. Cada calle corresponde a un actor del proceso de negocio. Diagrama de Actividades Gestión de fondosbibliotecarios Director Bibliotecario Usuario Catalogar nuevo libro Registrar préstamo Leer libro Registrar devolución [libro OK] Retirar libro [libro deteriorado]
  • 139. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 139 22/06/2021 • Flujos de objetos – Lo normal es que fluya información entre las actividades de un proceso de negocio. – En el caso de que resulte interesante mostrar ese flujo (no siempre lo es), se pueden usar flujos de objetos. – Si la información de salida de una actividad es la entrada de otra actividad, se asume que existe una transición implícita entre ambas. Diagrama de Actividades Aseguramiento de la calidad de losrequisitos Validación Verificación Requisitos [borrador] Requisitos [analizados] Requisitos [verificados] Requisitos [validados] Análisis transiciones implícitas (no es necesario dibujarlas)
  • 140. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 140 22/06/2021 Ejemplo: venta por caja Cliente Banco Incluir compras del carrito Calcular tasas y descuentos Recibo Caja Carrito Solicitar Autorización Pago [pago al contado] [otro caso] Autorizar pago Emitir Recibo Comprar y llenar carrito Entregar compras Venta por caja Cajero
  • 141. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 141 22/06/2021 Ejemplo: Veamos el caso de una firma de consultoría y el proceso de negociación involucrado en una junta con un cliente. 1. Un vendedor realiza una llamada a un cliente y concierta una cita. 2. Si la cita es en la oficina del consultor, los técnicos corporativos prepararán una sala de conferencia. 3. Si es en la oficina del cliente, el consultor preparará una presentación. 4. El consultor y el vendedor se reunirán con el cliente en un sitio a la hora convenida. 5. El vendedor crea una minuta. 6. Si la reunión ha planteado la solución del problema, el consultor creará una propuesta y la enviará al cliente. Ejemplo: Proceso de negociación
  • 142. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 142 22/06/2021 Diagrama de Actividad con Marcos de Responsabilidad.
  • 143. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 143 22/06/2021 Resumen: Diagrama de Actividad • Se construye para modelar el flujo del control (workflow) • Elementos: • Permite modelar el flujo del trabajo – En un sistema – En una organización Estado de Actividad (o de Acción) Estado Inicial Estado Final Transiciones Actividades concurrentes Bifurcaciones Condiciones de la bifurcación [ guarda ] Andariveles
  • 144. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 144 22/06/2021 Lección 4 Procesos de la IDR Unidad 1 Material docente compilado por el profesor Ph.D. Franklin Parrales para uso de los cursos de Ingeniería de Requerimientos
  • 145. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 145 22/06/2021 Contenido • Elementos de procesos aplicados a la IDR – Fases y documentos – Modelo de espiral del proceso de IDR – Mapeo de procesos AS-IS / TO-BE
  • 146. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 146 22/06/2021 Proceso de ingeniería de requisitos Estudio de viabilidad Obtención y análisis de requisitos Especificación de requisitos Validación de requisitos Informe de viabilidad Requisitos Requisitos especificados Requisitos validados Determina si el sistema es útil para la empresa Descubrimiento de los requerimientos Transformación de requerimientos en estándares. Verificar que los requerimientos realmente definen el sistema que el cliente requiere
  • 147. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 147 22/06/2021 Proceso de ingeniería de requisitos Estudio de viabilidad Obtención y análisis de requisitos Especificación de requisitos Validación de requisitos Informe de viabilidad Requisitos Requisitos especificados Requisitos validados Determina si el sistema es útil para la empresa Descubrimiento de los requerimientos Transformación de requerimientos en estándares. Verificar que los requerimientos realmente definen el sistema que el cliente requiere
  • 148. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 148 22/06/2021 1.- Estudio de factibilidad (viabilidad): • Entradas: – Conjunto de requerimientos de negocio preliminares – Descripción resumida del sistema – Contribución pretendida del sistema a los procesos del negocio • Salida: – Informe que indique si se debe realizar o no el sistema.
  • 149. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 149 22/06/2021 1.- Estudio de factibilidad (viabilidad): • Llevar a cabo un estudio de viabilidad comprende la evaluación y recopilación de la in formación, y la redacción de informes. • La fase de evaluación de la información identifica la información requerida para contestar las tres preguntas anteriores. • Una vez que dicha información se ha identificado, se debería hablar con las fuentes de información para descubrir las respuestas a estas preguntas. • Algunos ejemplos de preguntas posibles son: – ¿Cómo se las arreglaría la organización si no se implementara este sistema? – ¿Cuáles son los problemas con los procesos actuales y cómo ayudaría un sistema nuevo a aliviarlos? – ¿Cuál es la contribución directa que hará el sistema a los objetivos y requerimientos del negocio? – ¿La información se puede obtener y transferir a otros sistemas de la organización? – ¿Requiere el sistema tecnología que no se ha utilizado previamente en la organiza- ción? – ¿A qué debe ayudar el sistema y a qué no necesita ayudar?
  • 150. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 150 22/06/2021 1.- Estudio de factibilidad (viabilidad): Fuentes -Jefes de departamentos donde se utilizara el sistema -Ingenieros de software que están familiarizados -Expertos en tecnología -Expertos en el área -Usuarios finales Informe final: -Recomendación para realizar o no el sistema -Proponer cambios en el alcance, presupuesto y/o agenda -Sugerir requerimientos adicionales
  • 151. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 151 22/06/2021 Proceso de ingeniería de requisitos Estudio de viabilidad Obtención y análisis de requisitos Especificación de requisitos Validación de requisitos Informe de viabilidad Requisitos Requisitos especificados Requisitos validados Determina si el sistema es útil para la empresa Descubrimiento de los requerimientos Transformación de requerimientos en estándares. Verificar que los requerimientos realmente definen el sistema que el cliente requiere
  • 152. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 152 22/06/2021 2.- Adquisición y análisis de requerimientos. Se trabaja con los stakeholders para definir: -Dominio de aplicación -Servicios que debe proporcionar el sistema -Desempeño requerido -Restricciones, etc. En su proyecto ¿quienes son los stakeholders? ¿Cuál es el dominio de aplicación ?
  • 153. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 153 22/06/2021 2.- Adquisición y análisis de requerimientos Razones que dificultan el proceso de adquisición de requerimientos
  • 154. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 154 22/06/2021 2.- Adquisición y análisis de requerimientos
  • 155. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 155 22/06/2021 Proceso de ingeniería de requisitos Estudio de viabilidad Obtención y análisis de requisitos Especificación de requisitos Validación de requisitos Informe de viabilidad Requisitos Requisitos especificados Requisitos validados Determina si el sistema es útil para la empresa Descubrimiento de los requerimientos Transformación de requerimientos en estándares. Verificar que los requerimientos realmente definen el sistema que el cliente requiere
  • 156. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 156 22/06/2021 3- Especificación de requerimientos Requerimientos del usuario → Se expresan en lenguaje natural Incluyen requerimientos funcionales y no funcionales
  • 157. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 157 22/06/2021 3- Especificación de requerimientos Requerimientos del sistema → describen el comportamiento del sistema, pueden requerir diferentes técnicas de representación.
  • 158. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 158 22/06/2021 Documento requerimientos de basado en el estándar IEEE830
  • 159. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 159 22/06/2021 3- Especificación de requerimientos Usuarios del documento de requerimientos:
  • 160. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 160 22/06/2021 Proceso de ingeniería de requisitos Estudio de viabilidad Obtención y análisis de requisitos Especificación de requisitos Validación de requisitos Informe de viabilidad Requisitos Requisitos especificados Requisitos validados Determina si el sistema es útil para la empresa Descubrimiento de los requerimientos Transformación de requerimientos en estándares. Verificar que los requerimientos realmente definen el sistema que el cliente requiere
  • 161. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 161 22/06/2021 4- Validación de requerimientos Es el proceso de verificar que los requerimientos definan realmente lo que el cliente desea Esta etapa es muy importante, ya que resulta muy costoso corregir errores en el sistema implementado ! Debe realizarse en cada etapa del proceso para asegurarse que lo que se esta realizando se esta haciendo bien. Durante el proceso de validación deben realizarse varias comprobaciones.
  • 162. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 162 22/06/2021 4- Validación de requerimientos
  • 163. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 163 22/06/2021 4- Validación de requerimientos
  • 164. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 164 22/06/2021 Proceso de ingeniería de requisitos Estudio de viabilidad Obtención y análisis de requisitos Especificación de requisitos Validación de requisitos Informe de viabilidad Requisitos Requisitos especificados Requisitos validados Determina si el sistema es útil para la empresa Descubrimiento de los requerimientos Transformación de requerimientos en estándares. Verificar que los requerimientos realmente definen el sistema que el cliente requiere Administración (gestión) de los requerimientos
  • 165. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 165 22/06/2021 Ingeniería de Requerimientos Proceso de los Requerimientos Obtención Análisis Validación Administración de los Requisitos Línea Base de Requerimientos Línea base actual Línea base corregida Planificación Administración del Cambio Cambios en requerimientos Cambios en el proyecto Planifica- ción Verificación Trazabilidad Especifica- ción
  • 166. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 166 22/06/2021 Administración de requerimientos Los requerimientos iniciales pueden cambiar, es necesario llevar a cabo la administración/ actualizacion de requerimientos La administración de requerimientos tiene dos etapas: 1.- Planeación (planificación) de la administración de requerimientos. 2. Administración del cambio de requerimientos.
  • 167. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 167 22/06/2021 Administración de requerimientos Planeación de la administración de requerimientos Establece el nivel de detalle que se desea en la administración de requerimientos. En esta etapa se define lo siguiente:
  • 168. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 168 22/06/2021 Administración de requerimientos Sistemas pequeños pueden no requerir estas herramientas
  • 169. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 169 22/06/2021 Administración de requerimientos Administración del cambio de requerimientos Debe aplicarse a todos los cambios propuestos después de elaborarse y aprobarse el documento de requerimientos. La administración del cambio es esencial ya que debe determinarse si se justifica o no la realización del cambio Se tienen tres etapas principales:
  • 170. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 170 22/06/2021 Administración de requerimientos l. Análisis del problema y especificación del cambio El proceso cornienza con la identificación de un problema en los requerimientos o, en ocasiones, con una pro puesta de cambio específica. Durante esta etapa , el problema o la propuesta de cambio se analizan para comprobar que es válida. Este análisis retroalimenta al soli citante del cambio, quien responderá con una propuesta de cambio de requerimien tos más específica, o decidirá retirar la petición. 2. Análisis del cambio y estimación del costo El efecto del cambio propuesto se valora usando información de seguinúento y conocimiento general de los requerimientos del sistema. El costo por realizar el cambio se estima en términos de modificaciones al documento de requerimientos y, si es adecuado, al diseño y la implementación del sistema. Una vez completado este análisis, se toma una decisión acerca de si se procede o no con el cambio de requerimientos. 3. Impl ementación del cambio Se modifican el documento de requerimientos y, donde sea necesario, el diseño y la implementación del sistema. Hay que organizar el docu mento de requerimientos de forma que sea posible realizar cambios sin reescritura o reorganización extensos. Conforme a los programas , la variabilidad en los docu mentos se logra al minimizar las referencias externas y al hacer las secciones del documento tan modulare s como sea posible. De esta manera , secciones individuales pueden modificarse y sustituirse sin afectar otras partes del documento.
  • 171. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 171 22/06/2021 Proceso de Requisitos Artefactos Análisis Especificación Validación Actividades Especificación de Requisitos Documento de Requisitos Modelo del Sistema Planificación Obtención Verificación Documento de Visión
  • 172. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 172 22/06/2021 Documentación de requisitos • Qué documentar: – lo que hace el sistema actual – lo que el cliente pide – lo que el sistema va a hacer – criterios de aceptación – criterios de verificación • Recomendaciones: – agrupar por temas – formular los reqs. como reqs. positivos y no negativos – expresarlos en voz activa y no pasiva – indicar si se está documentando solo lo que va en el alcance o todo lo que se pidió. – representar reqs. con múltiples vistas (ejemplo de los ciegos y el elefante).
  • 173. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 173 22/06/2021 Documentos de Requisitos • Definición de Requisitos: lista completa de lo que el cliente espera que el sistema haga, escrita de forma que el cliente la pueda entender 1. Se debe proveer un medio para acceder a archivos externos creados por otras herramientas • Especificación de Requisitos (SRS): reformula la definición en términos técnicos para que los diseñadores puedan comenzar el diseño 1.1 Se proveerá al usuario los recursos para definir el tipo de archivo externo 1.2 Cada tipo de archivo tendrá una herramienta asociada y un ícono que lo identifica 1.3 Cuando el usuario seleccione el ícono que representa un archivo externo, el efecto es aplicar la herramienta asociada con ese tipo de archivo al archivo seleccionado
  • 174. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 174 22/06/2021 Documentos de Requisitos (2) • Usar un mismo documento: Entendimiento común entre Cliente, usuario, analistas, desarrolladores • Usar dos documentos: Se debe aplicar Gestión de Configuración: necesaria para asegurar la correspondencia entre ambos (si existen por separado) • Permite seguir la pista y correspondencia entre: – Definición de Requisitos – Especificación de Requisitos – Módulos de Diseño – Código que implementa los módulos – Pruebas para verificar la funcionalidad – Documentos que describen el sistema
  • 175. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 175 22/06/2021 Documento Definición de Requisitos • Registrar los requisitos en los términos del cliente 1. Delinear el propósito general del sistema: Incluir referencias a otros sistemas, glosario y abreviaciones 2. Describir el contexto y objetivos del desarrollo del sistema 3. Delinear visión global del sistema: Incluir restricciones generales 4. Definir en detalle las características del sistema propuesto, definir la frontera del sistema e interfaces. 5. Discutir el ambiente en el que el sistema va a operar (hardware, comunicaciones, personal).
  • 176. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 176 22/06/2021 Contenido • Elementos de procesos aplicados a la IDR – Fases y documentos – Modelo de espiral del proceso de IDR – Mapeo de procesos AS-IS / TO-BE
  • 177. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 177 22/06/2021 Proceso espiral de IR Validación de requerimientos Adquisición de requerimientos Adquisición de requerimientos del usuario Prototipos Revisiones Documento de requerimientos del sistema Inicio Adquisición de requerimientos del sistema Estudio de factibilidad Especificación de requerimientos Especificación y modelado de requerimientos del sistema Especificación de requerimientos del usuario Especificación de requerimientos de la empresa
  • 178. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 178 22/06/2021 Contenido • Elementos de procesos aplicados a la IDR – Fases y documentos – Modelo de espiral del proceso de IDR – Mapeo de procesos AS-IS / TO-BE
  • 179. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 179 22/06/2021 As is / To be • Se intenta responder 3 preguntas básicas: Temas Preguntas a los usuarios ¿Cuáles son las operaciones y procesos comerciales? ¿Qué haces? ¿Cómo se deben realizar esas operaciones? ¿Cómo haces aquello? ¿Qué pasos sigues? ¿Qué información se necesita para realizar esas operaciones? ¿Qué información utilizas? ¿Qué formularios o reportes utilizas?
  • 180. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 180 22/06/2021 As is / To be 1. Procesos actuales 2. Procesos futuros 3. Requerimientos
  • 181. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 181 22/06/2021 1. Procesos actuales • Dibuje diagramas de actividades que describan cómo se ejecutan los eventos empresariales clave en la actualidad. • Asegúrese de resaltar los problemas actuales del proceso en los diagramas. • Proporcione una narrativa (párrafo) que vaya con los diagramas. • Ejemplo. Si está considerando el registro de estudiantes, puede desarrollar diagramas para lo siguiente: – Determinar cursos / secciones a tomar – Registrarse para cursos – Generar horario
  • 182. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 182 22/06/2021 Inscribirse en un curso: situación actual Estudiante Profesor Registrador Reg. Form ¿Inscripciones abiertas? ¿Estudiante necesita otro curso? Y N Y ¿Puede inscribirse? N Y N Y N ¿Formulario correcto? Seleccionar cursos Esperar en la fila, generalmente bajo la lluvia Esperar en la fila para ser atendido por el profesor Solicitud de revisión Determinar si el estudiante cumple los requisitos previos. Reg. Form Determinar si hay espacio disponible en las secciones bajo su cargo. Reg. Form Inscribir estudiante, actualizar formulario Reg. Form Llevar el formulario completo a la mesa del registrador Reg. Form Revisar los formularios para detectar problemas / errores Almacenar los datos de registro en el ordenador
  • 183. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 183 22/06/2021 As is / To be 1. Procesos actuales 2. Procesos futuros 3. Requerimientos
  • 184. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 184 22/06/2021 2. Procesos futuros • Construya diagramas de actividades que describan la forma en que las transacciones deben ejecutarse en el futuro, con el nuevo sistema de información. • Proporcione una narrativa para describir los pasos del proceso.
  • 185. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 185 22/06/2021 Estudiante Sistema ¿Inscripciones abiertas? Y N ¿Se requiere más cursos? Y N Inscribirse en un curso: situación propuesta Seleccionar cursos Sentarse frente a la computadora. Beber café. Proporcionar nombre de usuario y contraseña Autenticar usuario Comprobar que el estudiante cumple los prerequisitos de los cursos Ingresar los cursos a inscribirse Consultar disponibilidad en los paralelos solicitados Registrar asignación del cupo en la base de datos Presentar al estudiante los cursos en los que se ha podido inscribir.
  • 186. Ingeniería de requerimientos Carrera de Software Ph.D. Franklin Parrales 186 22/06/2021 As is / To be 1. Procesos actuales 2. Procesos futuros 3. Requerimientos