Está en la página 1de 62

Ingenierı́a de Requerimientos

–Análisis y especificación de
requerimientos– Modelo de dominio–

Angel Cuenca Ortega


Email: angel.cuencao@ug.edu.ec

2021-2022
Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 1/49
Contenido

1 Introducción

2 Análisis de requerimientos

3 Modelo del Negocio

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

5 Ejercicios

6 Del Modelo de Dominio al Modelo de Análisis

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 2/49


Outline

1 Introducción

2 Análisis de requerimientos

3 Modelo del Negocio

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

5 Ejercicios

6 Del Modelo de Dominio al Modelo de Análisis

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 3/49


Introducción

¿Qué definen los requerimientos del software?

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 4/49


Introducción

¿Qué definen los requerimientos del software?

Lo que el sistema debe hacer:


Las funciones que debe ejecutar
Los datos que debe capturar y almacenar
La información que debe producir

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 4/49


Introducción

¿Qué definen los requerimientos del software?

La interacción sistema-usuario y sistema-sistema:


La interfaz gráfica usuario-sistema
La comunicación con otros sistemas

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 5/49


Introducción

¿Qué definen los requerimientos del software?

Las restricciones bajo las cuales el sistema debe operar:


La plataforma de operación del sistema
La tecnologı́a de información que debe utilizar el sistema

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 6/49


Introducción

¿Qué definen los requerimientos del software?

Los atributos de calidad que el sistema debe satisfacer:


Estándares
Modelos de calidad
···

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 7/49


Introducción

¿Por qué determinar los requerimientos del software?

El software está integrado por muchos componentes


El costo de cambiar requerimientos crece a medida que
avanza el proyecto

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 8/49


Introducción

Problemas al determinar los requerimientos del software

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 9/49


Introducción

Problemas al determinar los requerimientos del software

El usuario o cliente no siempre sabe lo que quiere del sistema


El usuario no tiene tiempo para participar en el proyecto
Problemas de comunicación (cliente/usuario-analista o
analistas-lenguaje del dominio de la aplicación)
Los requerimientos pueden interpretarse de diferentes maneras
Requerimientos mal definidos
···

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 9/49


Introducción

Solución a los problemas de los requerimientos del software

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 10/49


Introducción

Solución a los problemas de los requerimientos del software

Entender la naturaleza del software (cambios)


Entender el espacio del problema (modelo del negocio)
Establecer un lenguaje común entre clientes y desarrolladores
(modelo del dominio)
Utilizar un proceso de desarrollo bien definido y probado
Incorporar al cliente
Emplear personal especializado
···

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 10/49


Objetivos

Analizar los requerimientos de software elicitados


Saber cómo se representa un modelo de negocio
Saber qué es un modelo de dominio
Crear modelos de dominios de problemas analizados

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 11/49


Outline

1 Introducción

2 Análisis de requerimientos

3 Modelo del Negocio

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

5 Ejercicios

6 Del Modelo de Dominio al Modelo de Análisis

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 12/49


Análisis de requerimientos

Importancia

El análisis de requerimientos consiste en refinar los requisitos


para asegurar que todos los Stakeholders entienden y examinan
errores, omisiones, y otras deficiencias. El análisis incluye la
descomposición al detalle de requisitos de alto nivel, la
construcción de prototipos, evaluación de viabilidad, y la
negociación de prioridades.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 13/49


Análisis de requerimientos

Importancia

El objetivo es desarrollar los requisitos de suficiente calidad y


detalle que los gerentes pueden construir estimaciones realistas del
proyecto y el personal técnico pueda proceder con el diseño,
construcción y pruebas.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 14/49


Análisis de requerimientos

Importancia

Los requisitos elicitados desde los stakeholders y articulados


usando modelos de análisis necesitan ser lo suficientemente
claros y completos para posteriormente validar el proceso de
requerimientos de software.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 15/49


Análisis de requerimientos

Importancia

El análisis de los requisitos es principalmente responsabilidad del


analista, pero puede involucrar a los actores clave, tales como
usuarios, clientes y personal técnico quienes son necesarios para
entender las necesidades del usuario.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 16/49


Análisis de requerimientos

¿Por qué se deberı́an crear modelos de requerimientos?

Facilitar la comunicación entre personal técnico y empresarios.


Descubrir requisitos faltantes, erróneos, ambiguos y
contradictorios.
Varios modelos juntos permiten al equipo conocer los
requerimientos relacionados e inconsistencia entre ellos.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 17/49


Análisis de requerimientos
Ciclo de análisis de requerimientos

Es importante analizar las necesidades a medida que los provocan:


las personas, documentos y fuentes externas.

Proceso para realizar la fase de análisis de requerimientos.


(Gottesdiener E. , 2005)

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 18/49


Análisis de requerimientos

¿Qué modelos se pueden crear?

Modelos de requerimientos basados en un enfoque de usuario

Se puede usar una variedad de modelos de requerimientos de


usuarios para analizar los requerimientos. Los modelos representan
respuestas a las “4W’s + H” (¿Quién? ¿Qué? ¿Cuándo? ¿Por qué?
y ¿Cómo?) – siglas en inglés.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 19/49


Análisis de requerimientos

¿Qué modelos se pueden crear?

Modelos de requerimientos basados en un enfoque de usuario

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 20/49


Análisis de requerimientos
¿Qué modelos se pueden crear?

Modelos de requerimientos basados en un enfoque de usuario

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 20/49


Análisis de requerimientos

¿Qué modelos se pueden crear?

Modelos de requerimientos basados en un enfoque de usuario

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 20/49


Análisis de requerimientos

¿Qué modelos se pueden crear?

Modelos de requerimientos basados en un enfoque de usuario

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 20/49


Análisis de requerimientos

¿Qué modelos se pueden crear?

Modelos de requerimientos basados en un enfoque de usuario

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 20/49


Outline

1 Introducción

2 Análisis de requerimientos

3 Modelo del Negocio

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

5 Ejercicios

6 Del Modelo de Dominio al Modelo de Análisis

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 21/49


Modelo del Negocio

Identifican y nombran los procesos, las tareas, los objetivos


y/o las necesidades de la organización estudiada
El resultado es habitualmente un modelo o conjunto de
modelos que describen dicha organización
Procesos / Comportamiento (flujos de trabajo workflows
Trabajadores, responsabilidades y operaciones (tareas, Gantt,
···)
Objetivos, metas, · · · (modelos de objetivos, de valor, · · · )

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 22/49


Modelo del Negocio

Los modelos pueden ser estáticos o dinámicos


Los modelos estáticos describen objetivos, necesidades,. . . de
la organización
Los modelos dinámicos describen el
comportamiento/funcionamiento de la organización. Estos
modelos dinámicos de la organización son también llamados:
Modelos de Procesos de Negocio
Decidir cuándo/cómo construir un modelo del negocio /
modelo del proceso del negocio dependiendo de las
necesidades de la organización

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 23/49


Outline

1 Introducción

2 Análisis de requerimientos

3 Modelo del Negocio

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

5 Ejercicios

6 Del Modelo de Dominio al Modelo de Análisis

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 24/49


Modelo de Dominio
Su objetivo es establecer un lenguaje común entre clientes
y desarrolladores. Esto puede verse como un glosario gráfico
para conceptos del dominio del problema
Se busca identificar y nombrar conceptos importantes en el
contexto del sistema a desarrollar: entidades que se deben
manipular o sobre los que se registra información (Ej. artı́culo,
cliente, etc.) y eventos que ocurren en el contexto del sistema
(Ej. venta, devolución, etc.)
Identificar y nombrar las relaciones entre estos conceptos
(simples y multiplicidades)
La notación que se usa es la de los Diagrama de Clases
(UML)
Se origina a partir de glosario, requisitos de información,
stakeholders, experto, · · ·
Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 25/49
Modelo de Dominio

Se centran en el dominio no en los aspectos de diseño


Las clases estarán sin servicios (opcionalmente atributos
relevantes)
Solo relaciones de asociación y cardinalidades (opcionalmente
herencia)

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 26/49


Outline

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 27/49


Modelo de Dominio

Clases

Una clase se representa gráficamente de la siguiente manera:

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 28/49


Modelo de Dominio

Clases

Una clase se representa gráficamente de la siguiente manera:

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 28/49


Modelo de Dominio

Clases

Una clase se representa gráficamente de la siguiente manera:

Para nuestros intereses es suficiente esta representación.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 28/49


Outline

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 29/49


Modelo de Dominio

Asociaciones

Una asociación es una relación estructural que especifica


que los objetos de un elemento están conectados con los
objetos de otro.
Las asociaciones aparecen en el diagrama de clases.
Dada una asociación entre dos clases, se puede navegar en
los dos sentidos, desde objetos de una clase a objetos de la
otra.
Asociaciones binarias son aquellas que conectan dos clases.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 30/49


Modelo de Dominio

Asociaciones

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 31/49


Modelo de Dominio

Asociaciones

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 32/49


Modelo de Dominio

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 33/49


Modelo de Dominio

Terminal de punto de venta


En una termina de punto de ventas, que está atendida por un
Cajero, se realizan ventas y devoluciones de artı́culos. Las ventas
son exclusivas del cajero y las devoluciones de los supervisores.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 34/49


Modelo de Dominio

Terminal de punto de venta


En una termina de punto de ventas, que está atendida por un
Cajero, se realizan ventas y devoluciones de artı́culos. Las ventas
son exclusivas del cajero y las devoluciones de los supervisores.

¿Cuáles serı́an los conceptos para ser representados como


clases?

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 34/49


Modelo de Dominio

Terminal de punto de venta


En una termina de punto de ventas, que está atendida por un
Cajero, se realizan ventas y devoluciones de artı́culos. Las ventas
son exclusivas del cajero y las devoluciones de los supervisores.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 35/49


Modelo de Dominio

Terminal de punto de venta


En una termina de punto de ventas, que está atendida por un
Cajero, se realizan ventas y devoluciones de artı́culos. Las ventas
son exclusivas del cajero y las devoluciones de los supervisores.
Artı́culo
Venta
Cajero
Devolución
Supervisor

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 35/49


Modelo de Dominio

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 36/49


Outline

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 37/49


Modelo de Dominio

Generalización
Las jerarquı́as de clases permiten gestionar la complejidad
mediante un ordenamiento taxonómico.
A partir de un conjunto de clases, si estas tienen en común
una serie de atributos y operaciones, por generalización se
puede crear una versión más general (superclase) de las clases
iniciales (subclases).
Los atributos y operaciones comunes a estas se sitúan en la
superclase y son compartidos por todas las subclases.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 38/49


Modelo de Dominio

Especialización
La especialización es la relación contraria, parte de una
superclase y se dirige hacia un conjunto de subclases.
Las subclases heredan los atributos y las operaciones definidas
en la superclase, pudiendo añadir atributos y operaciones
propios.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 39/49


Modelo de Dominio

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 40/49


Generalización y especialización
Especialización

Dos tipos de restricciones:


Completa: Todos los hijos de la generalización se han
especificado en el modelo.
Incompleta: No se han especificado todos los hijos y se
permiten hijos adicionales.

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 41/49


Outline

1 Introducción

2 Análisis de requerimientos

3 Modelo del Negocio

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

5 Ejercicios

6 Del Modelo de Dominio al Modelo de Análisis

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 42/49


Ejercicios
Centro hospitalario
Después de una reunión con los responsables de un centro hospitalario se obtuvo la
siguiente información:
Hospital, con los datos: nombre, dirección y teléfono
Habitación, con los datos: número y cantidad de camas
Médico, con los datos: CI, nombre y especialidad
Paciente, con los datos: CI, nombre, dirección, fecha de nacimiento, ingresado
(sı́/no)
Por otra parte, las relaciones relevadas entre dichos conceptos son:
Cada hospital tiene varias habitaciones
Todas y cada una de ellas pertenecen a un hospital (y solo a uno)
Los médicos trabajan en un único hospital
Un paciente puede estar internado; si lo está, estará en una habitación (y sólo
en una)
Cada paciente puede ser atendido regularmente por más de un médico (pero por
lo menos por uno cuando está ingresado), y, a su vez, cada médico puede
atender varios pacientes.

Se pide realizar el modelo de dominio


Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 43/49
Ejercicios

Solución 1

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 44/49


Ejercicios

Solución 2

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 45/49


Ejercicios
Reservas de pistas de tenis

Se desea desarrollar una aplicación de gestión de reservas para


un club de tenis. El uso de las pistas está reservado a los
socios del club (de cuya gestión se encarga otra aplicación). El
club tiene cinco pistas, que los socios pueden reservar por
horas a un precio especial.
Las reservas pueden cancelarse gratuitamente, si no son para
el mismo dı́a. Pueden realizarse reservas hasta con un mes de
antelación.
Hay tres tarifas T1 para fines de semana y horarios nocturnos
en dı́as laborables, T2 para el resto de horarios y T3 para
cancelaciones con menos de 24 horas.
Cada mes deben generarse las facturas de los socios,
detallando el uso que han hecho de las pistas.
Se pide realizar el modelo de dominio
Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 46/49
Ejercicios
Gestión de reservas de billetes de avión

Se desea desarrollar una aplicación de reservas para una


compañı́a aérea. Cada vuelo tiene plazas de distintos tipos:
primera, business o turista (de cuya gestión se encarga otra
aplicación)
Si ya no quedan plazas para un vuelo y una tarifa
determinada, la reserva se anota en una lista de espera por si
algún cliente cancela una reserva.
Las reservas se mantienen hasta 15 dı́as antes del vuelo,
momento en el que el cliente debe decidir entre hacer efectiva
la reserva comprando el billete de avión o perder la reserva.
Las plazas no vendidas deben ofrecerse a quienes tienen
reservas en lista de espera de ese vuelo. Un billete vendido
también puede devolverse.
Realice el modelo de dominio
Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 47/49
Outline

1 Introducción

2 Análisis de requerimientos

3 Modelo del Negocio

4 Modelo de Dominio
Clases
Asociaciones
Generalización y especialización

5 Ejercicios

6 Del Modelo de Dominio al Modelo de Análisis

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 48/49


Del Modelo de Dominio al Modelo de
Análisis
Habitualmente, a medida que aumenta la información del dominio
del problema, el modelo de dominio evoluciona a un modelo de
análisis/diseño:
Factorización
Especialización
Generalización
Asociación/Agregación/Composición
Atributos
Servicios
Paquetes y Dependencias
···

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 49/49


Del Modelo de Dominio al Modelo de
Análisis

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 50/49


Del Modelo de Dominio al Modelo de
Análisis

Ejemplo
Factorizar “Artı́culo” teniendo en cuenta que un artı́culo
puede tener uno o muchos “Proveedores”
Especializar “Venta” ya que existen “Ventas al contado” o
“Ventas con tarjeta”
Los conceptos “Cajero” y “Supervisor” comparten
propiedades comunes, se puede generalizar
···

Angel Cuenca Ortega (FCMF) Ingenierı́a de Requerimientos 51/49

También podría gustarte