Está en la página 1de 44

Especificación de reqerimientos

Identificación de Requerimientos Funcionales


Especificación de Requerimientos Funcionales

Especificación de requerimientos
Curso: Ingenierı́a de Software

Prof. Ulises Vélez Saldaña

Escuela Superior de Computo I.P.N.


ulises.velez.ipn@gmail.com

15 de abril de 2022

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

1 Especificación de reqerimientos
¿Por que especificar?
¿Que especificar?
¿Que dice XP y Agile?
SMART Requirements

2 Identificación de Requerimientos Funcionales

3 Especificación de Requerimientos Funcionales

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Objetivo de la especificación de requerimientos

Evitar conflictos y organizar el trabajo.


Comunicar el trabajo.
Regir el proyecto.
Capturar la toma de decisiones.
Capturar el conocimiento.
Validar la entrega del software.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Proceso de especificación de requerimientos

El proceso de análisis consiste en definir una solución con base en un


conjunto de requerimientos.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Proceso de especificación de requerimientos


La solución es expresada mediante Requerimientos Funcionales y no
funcionales del sistema, en este proceso el usuario es el experto en el
negocio, mientras que nosotros somos los expertos en el sistema.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Proceso de especificación de requerimientos


Durante el proceso de análisis el usuario suele proporcionar información
tanto de su negocio y necesidades como ideas o propuestas sobre el
sistema que desea.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Proceso de especificación de requerimientos

En el proceso de transformación de requerimientos de usuario hacia


requerimientos del sistema no debemos olvidar que “cada requerimiento
funcional tiene al menos un requerimiento de usuario y viceversa”.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Contenido de una especificación

No escriba algo que nadie va a leer.


si a usted no le interesa lo que está escribiendo, a nadie más le
interesará.
Organice la información.
Utilice Técnicas de estructuración.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

¿Que significa ser ágil?

No documentes más que lo indispensable.


Utiliza pizarrones y mantén al equipo unido.
Es más fácil preguntarle al usuario o al analista que leerlo de un
documento.
El esfuerzo que implica tener un documento bien organizado y
actualizado deberı́a dedicarse a programar.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Contras de XP

No todos los proyectos son “pequeños”.


No en todos los proyectos se tiene un equipo adecuado (eficiente,
serio, organizado).
La rotación de personal genera serios problemas.
Los requerimientos suelen cambiar a lo largo del proyecto.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Los requerimientos deberı́an ser S.M.A.R.T.

Simple: Debe estar descrito solo una vez, en un solo lugar y de


manera clara y simple.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Los requerimientos deberı́an ser S.M.A.R.T.

Simple: Debe estar descrito solo una vez, en un solo lugar y de


manera clara y simple.
Measurable: Debe ser fácil identificar el punto en el que el
requerimiento se ha alcanzado.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Los requerimientos deberı́an ser S.M.A.R.T.

Simple: Debe estar descrito solo una vez, en un solo lugar y de


manera clara y simple.
Measurable: Debe ser fácil identificar el punto en el que el
requerimiento se ha alcanzado.
Atainable: Debe ser un requerimiento realizable.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Los requerimientos deberı́an ser S.M.A.R.T.

Simple: Debe estar descrito solo una vez, en un solo lugar y de


manera clara y simple.
Measurable: Debe ser fácil identificar el punto en el que el
requerimiento se ha alcanzado.
Atainable: Debe ser un requerimiento realizable.
Realistic: Debe ser realista para las condiciones del proyecto.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Los requerimientos deberı́an ser S.M.A.R.T.

Simple: Debe estar descrito solo una vez, en un solo lugar y de


manera clara y simple.
Measurable: Debe ser fácil identificar el punto en el que el
requerimiento se ha alcanzado.
Atainable: Debe ser un requerimiento realizable.
Realistic: Debe ser realista para las condiciones del proyecto.
Traceable: Debe ser fácil “rastrear” un requerimiento desde su
identificación hasta su implementación y pruebas.

U. Vélez Ing. Soft – Requerimientos


¿Por que especificar?
Especificación de reqerimientos
¿Que especificar?
Identificación de Requerimientos Funcionales
¿Que dice XP y Agile?
Especificación de Requerimientos Funcionales
SMART Requirements

Técnicas de especificación

Escritura en prosa.
Texto estructurado: Sprint backlog, Use Case, CRC, User Histories,
etc.
Gráfico: UML, BPMN, DFD’s, E/R, etc.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Requerimientos funcionales
Identificación de Requerimientos Funcionales Identificación
Especificación de Requerimientos Funcionales Ejemplo

1 Especificación de reqerimientos

2 Identificación de Requerimientos Funcionales


Requerimientos funcionales
Prosa
Identificación
Ejemplo

3 Especificación de Requerimientos Funcionales

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Requerimientos funcionales
Identificación de Requerimientos Funcionales Identificación
Especificación de Requerimientos Funcionales Ejemplo

Requerimientos funcionales

Los Requerimientos Funcionales expresan una responsabilidad,


función, operación o tarea que deberá realizar el sistema.
Generalmente los Requerimientos Funcionales implican la
programación de una parte del sistema.
Los Requerimientos Funcionales son Fáciles de medir (esfuerzo,
tiempo o costo).
Los Requerimientos Funcionales son Fáciles de verificar.
Los Requerimientos Funcionales y no Funcionales están asociados
con al menos un Requerimiento del Usuario.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Requerimientos funcionales
Identificación de Requerimientos Funcionales Identificación
Especificación de Requerimientos Funcionales Ejemplo

Elementos mı́nimos

Identificador. Ası́gnele un identificador único para poder llevar un


control, ası́ sabrá distinguir cada requerimiento y saber cuantos son.
Nombre corto. Escriba un nombre corto que le ayude a reconocer
rápidamente a que requerimiento se refiere.
Descripción. Escriba una descripción SMART de la naturaleza del
requerimiento.
Prioridad. Ası́gnele al requerimiento un nivel o valor que le permita
tomar decisiones en relación al requerimiento.
Requerimientos del Usuario. Liste los requerimientos del usuario que
satisface este Requerimiento Funcional.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Requerimientos funcionales
Identificación de Requerimientos Funcionales Identificación
Especificación de Requerimientos Funcionales Ejemplo

Ejemplo: Requerimientos del usuario

id nombre descripción
1 Registro de El usuario necesita tener un registro de todos sus pro-
productos ductos y con sus precios y existencias.
2 Seguridad Se necesita que el sistema tenga seguridad.
3 Publicar Los alumnos necesitan poder consultar los cursos que se
Horarios impartirán.
4 Inscripción Los alumnos necesitan inscribirse a u curso.
a cursos
5 Registro de El sistema debe ir dirigido solo a alumnos registrados.
alumnos

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Requerimientos funcionales
Identificación de Requerimientos Funcionales Identificación
Especificación de Requerimientos Funcionales Ejemplo

Ejemplo: Requerimientos Funcionales

id nombre descripción Pr. Req


1 Catálogo de El sistema debe permitir llevar un registro M 1
productos actualizado de los productos.
2 Control de El sistema debe controlar el acceso solo A 5,2
acceso a usuarios registrados.
3 Publicar El sistema debe mostrar el horario de cla- B 3
horario ses disponible a todos los usuarios.
4 Registrar Los usuarios registrados podrán solicitar A 4
solicitud su inscripción a alguno de los cursos.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

1 Especificación de reqerimientos

2 Identificación de Requerimientos Funcionales

3 Especificación de Requerimientos Funcionales


Técnicas estructuradas
User Stories
Use cases

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Especificación en prosa: ejemplo.

El gerente de Ventas debe poder registrar un nuevo producto


proporcionando los datos id, nombre, descripción, etc.
El jefe de capital humano debe poder registrar, modificar, eliminar y
actualizar la información de los empleados de la empresa de una
manera fácil y cómoda, verificando que los datos introducidos sean
válidos, que el puesto que se le asigna al empleado nuevo sea válido
y se le estipule un salario adecuado.
Para emitir una factura se debe tener al cliente registrado y este
debió haber realizado al menos una venta, la venta debe haberse
realizado en el mismo mes o en su defecto el mes pasado si no han
pasado mas de 5 dı́as del mes actual. Para generar la factura se debe
contar con los datos fiscales del cliente y se debe solicitar el
timbrado de la factura mediante el portal del SAT.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

¿Cuales son los datos del segundo y tercer requerimiento?


¿Se permite que el ID o el nombre del producto a registrar se repita?
¿Qué es un “salario adecuado”?
¿Que se entiende por “fácil y cómoda”?
¿Hay forma de completar los requerimientos para que sean
homogéneos?

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Especificación en prosa: Ejercicio.

Haga una redacción completa de uno de los siguientes requerimientos:


El gerente de Ventas debe poder registrar un nuevo producto
proporcionando los datos id, nombre, descripción, etc.
El jefe de capital humano debe poder registrar, modificar, eliminar y
actualizar la información de los empleados de la empresa de una
manera fácil y cómoda, verificando que los datos introducidos sean
válidos, que el puesto que se le asigna al empleado nuevo sea válido
y se le estipule un salario adecuado.
Para emitir una factura se debe tener al cliente registrado y este
debió haber realizado al menos una venta, la venta debe haberse
realizado en el mismo mes o en su defecto el mes pasado si no han
pasado mas de 5 dı́as del mes actual. Para generar la factura se debe
contar con los datos fiscales del cliente y se debe solicitar el
timbrado de la factura mediante el portal del SAT.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Especificación en prosa

Desventajas:
Es muy difı́cil tener una redacción organizada y no repetir elementos.
Es difı́cil ser SMART.
Es difı́cil consultar un requerimiento en particular.
Es difı́cil verificar que estén completos.
Es difı́cil de modificar.
Cada analista los redacta como puede.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Puntos de función

El objetivo es establecer las funciones de la manera más puntual


posible.
Cada punto de función se especifica utilizando una plantilla que
describe los elementos comunes a todas las funciones.
La plantilla ayuda a establecer un “check list” de los elementos que
se deben destacar de todos los requerimientos, haciendo que sea mas
difı́cil omitir algo que puede ser relevante.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Puntos de función
Id Identificador del requerimiento funcional
Nombre Nombre corto del RF.
Descripción Descripción en prosa.
Entradas Datos que ingresan al sistema durante la función.
Origen Por donde deben ingresar las entradas.
Salidas Datos que arroja el sistema como salida.
Destino En donde deben aparecer las salidas.
Precondiciones Cosas que debieron ocurrir antes para que se pueda
ejecutar la función.
Postcondiciones Cosas que cambian en el sistema una vez ejecutada la
función.
Errores Que cosas podrı́an fallar durante la función.
Observaciones Cualquier otro aspecto relevante a tomar en cuenta
durante la programación de la función.
U. Vélez Ing. Soft – Requerimientos
Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Historias de usuario

Esta técnica permite captura requerimientos funcionales y asociar


pequeños requerimientos no funcionales.
Su atractivo es intentar colocar un requerimiento en una sola
“tarjetita” que se puede leer y comprender en un solo vistazo.
Está mas centrada a los usuarios
Suele ser mas breve que un Caso de uso, con todas las ventajas y
desventajas que implica.
Si un requerimiento es demasiado complejo para caber en una
“tarjetita”, se denomina Epic y puede contener otras User stories.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Ejemplos de User Stories

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Ejemplos de User Stories

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Ejemplos de User Stories

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Especificación mediante Casos de Uso

Los casos de uso son una forma muy estructurada de especificar


requerimientos funcionales.
Retoma la idea de los puntos de función pero establece una
definición más homogénea para su definición.
Los Casos de uso o Use Cases son un elemento de UML, por lo que
es una técnica basada en los siguientes principios:
Orientada a Objetos.
Basada en la reutilización.
Su construcción se basa en el refinamiento.
Usa polimorfismos.
Son elementos Gráficos.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Diagrama de Casos de uso

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Diagrama de Casos de uso

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Diagrama de Casos de uso

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Especificación de Casos de uso

El Caso de Uso es el único elemento de UML que además de ser


gráfico es textual.
Los casos de uso se pueden especificar y su estilo es muy variado.
Se parecen mucho a los requerimientos funcionales excepto por una
diferencia básica: Los casos de uso son transacciones con un valor
agregado para el usuario.
Además de la información de un requerimiento funcional está la
transacción.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Ejemplo: Caso de uso (1/4)

Atributos:
Id: CU 1
Nombre: Registrar Producto.
Resumen: El Gerente de Ventas podrá registrar un producto nuevo
proporcionando sus datos y el sistema lo guardará y
pondrá a disposición en el catálogo de la tienda.
Actores: Gerente de Ventas, Asistente del departamento de Ventas.
Entradas: Id (opcional), Nombre, Descripción, Precio, Categorı́a,
Subcategorı́a, Presentación, Variantes (nombre,
descripción).
Origen: Teclado y Mouse.
Salidas: Id, mensaje de confirmación.
Destino: Pantalla.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Ejemplo: Caso de uso (2/4)


Precondiciones: Que no haya un producto registrado en el sistema con el
mismo Id ni Nombre.
Postcondiciones:
Habrá un nuevo producto registrado en el sistema.
El producto registrado podrá consultarse en el
catálogo con Existencias = 0.
Errores:
Cuando haya un producto registrado con el Id se le
notificará al usuario pidiéndole que escriba otro o que
deje el campo vacı́o para que el sistema lo genere.
Cuando haya un producto con el mismo nombre se le
notificará al usuario pidiéndole que proporcione otro.
Cuando el precio proporcionado por el usuario sea
menor o igual a cero el sistema le notificará al usuario
y le pedirá que proporcione otro precio.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Ejemplo: Caso de uso (3/4)

Trayectoria:
1 El actor indica al sistema que desea registrar un Producto
presionando el botón Registrar nuevo producto de la pantalla de
Ventas.
2 El sistema solicita los datos del producto mediante la pantalla
Registrar Producto.
3 El actor proporciona los datos del producto.
4 El actor selecciona la categorı́a y subcategorı́a del producto.
5 El actor proporciona los datos de una variante.
6 El actor solicita el registro del producto presionando el botón
Registrar
7 El sistema genera el identificador del nuevo Producto.
– – – continúa en la siguiente página...

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Ejemplo: Caso de uso (4/4)

Trayectoria (continuación):
7 El sistema verifica que no haya un producto registrado con el mismo
nombre.
8 El sistema verifica que el precio sea mayor o igual a cero.
9 El sistema registra el producto nuevo con existencias = 0.
10 El sistema registra las variantes proporcionadas.
11 El sistema muestra el identificador del nuevo producto junto con un
mensaje indicando que el producto y sus variantes se registraron
correctamente.
– – – Fin del caso de uso.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Wireframe

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Ejercicio

Elabore de manera individual el caso de uso para Modificar producto


considerando todo lo que ya conoce del caso de uso de Registrar
Producto.
Tome nota de todas sus dudas durante el proceso.
Tiempo: 15 minutos.
Revise con otro compañero su Caso de uso y compartan sus
impresiones.
Tiempo: 10 minutos.
Discuta sus resultados.

U. Vélez Ing. Soft – Requerimientos


Especificación de reqerimientos Técnicas estructuradas
Identificación de Requerimientos Funcionales User Stories
Especificación de Requerimientos Funcionales Use cases

Preguntas sobre el ejemplo y el ejercicio

¿Dónde debe iniciar una transacción?


¿Que hacer cuando una transacción no es lineal?
¿Que tan detallado debe ser el Caso de Uso?
¿Que reglas se deben seguir?
Revise la siguiente presentación titulada Casos de Uso.

U. Vélez Ing. Soft – Requerimientos

También podría gustarte