Unidad I: Ingeniería de Requerimientos: Docente: Teresa Tapia Soto
Unidad I: Ingeniería de Requerimientos: Docente: Teresa Tapia Soto
Unidad I: Ingeniería de Requerimientos: Docente: Teresa Tapia Soto
Aprendizaje Esperado
1.1.-Reconoce los tipos de requerimientos, considerando su rol en las
organizaciones actuales.
Criterios de evaluación
1.1.1.-Identifica los conceptos básicos que conforman un proceso de análisis de
requerimientos.
1.1.2.-Identifica los elementos y estructura de un Ciclo de Vida del Software,
asociándolo al proceso de requerimientos a través de un problema.
1.1.3.-Reconoce alternativas para obtener requerimientos dado un caso real.
1.1.4.-Reconoce las diferentes categorías de requerimientos relacionándolos a
casos reales.
1.1.5.-Reconoce la importancia de los requerimientos dada sus características
asociados a los desafíos gerenciales y el ambiente de competencia global de los
negocios.
1.1.6.-Identifica roles y responsabilidades asociadas a los requerimientos dado un
caso real.
Contenidos
Conceptos y Características:
- Requerimiento.
- Importancia en el proceso del Ciclo de Vida del Software.
- Alternativas para Obtener Requerimientos.
- Tipos de Requerimientos.
- Características.
- Roles y responsabilidades
Unidad I: Ingeniería de requerimientos
Unidad I: Ingeniería de requerimientos
Conceptos
Definición de requerimiento [IEEE]
Condición o capacidad de un sistema requerida por el usuario para
resolver un problema o alcanzar un objetivo.
Condición o capacidad que debe poseer un sistema para satisfacer
un contrato, estándar, especificación, u otro documento
formalmente impuesto.
Definición de requisito [ISO]
Requisito: necesidad o expectativa establecida, generalmente
implícita u obligatoria.
Nota: "generalmente implícita" significa que es habitual o una
práctica común para la organización, clientes y otras partes
interesadas.
Unidad I: Ingeniería de requerimientos
Conceptos
Definición de requerimiento
Los requerimientos/requisitos de un sistema describen los
servicios que ha de ofrecer el sistema y las restricciones asociadas
a su funcionamiento.
Unidad I: Ingeniería de requerimientos
Niveles de Requerimientos
Requerimientos de negocio
Representan los objetivos de
alto nivel de la organización
que quieren alcanzar con el
sistema.
Requerimientos de usuario
Definición de las funciones que
debe proveer el sistema y de
las restricciones dentro de las
cuales debe operar.
Requerimientos de sistema
Definición detallada de las
funciones, servicios y
restricciones operativas del
sistema.
Unidad I: Ingeniería de requerimientos
Conceptos
Unidad I: Ingeniería de requerimientos
Tipos de Requerimientos Ejemplos
Requerimientos funcionales
Ejemplo de requerimientos funcionales
Especifican de los servicios que
El sistema debe emitir un informe de
el sistema debe proveer. estado de situación patrimonial.
Definen QUE hace el sistema. El sistema debe realizar la liquidación
Describen todas las entradas y de haberes a personal contratado y
todas las salidas del sistema y personal estable.
la forma en que se relacionan. El sistema debe capturar cualquier
regla de liquidación de haberes sin
necesidad de intervención del
fabricante del producto.
El sistema debe tener un archivo de
movimientos.
Unidad I: Ingeniería de requerimientos
Tipos de Requerimientos Ejemplos
Requerimientos no funcionales
Ejemplo de requerimientos no funcionales
Especifican restricciones o
El sistema debe correr sobre Windows 98
propiedades que el sistema debe o superior.
cumplir relacionadas con: El sistema debe ser fácil de aprender.
Características de calidad El sistema debe estar desarrollado en ANSI
Modelo de calidad ISO 9126 C++.
• Calidad interna, externa El sistema deberá ser desarrollado en 10
y en uso. meses.
Reglas de negocio El sistema debe encriptar los datos
Vocabulario y terminología almacenados.
del negocio
Estándares y políticas
organizacionales
Restricciones de entorno
Hardware y software de base
Interfaces externas
Unidad I: Ingeniería de requerimientos
Requerimientos No Funcionales del Producto
Características de Calidad
Unidad I: Ingeniería de requerimientos
Requerimientos No Funcionales
Características de Calidad
Funcionalidad
Grado en el que el software cumple con las
especificaciones de los usuarios y clientes.
Estas especificaciones son aquellas que
satisfacen necesidades explícitas o
implícitas.
Adecuación (Suitability)
Precisión (Accuracy)
Interoperabilidad (Interoperability)
Seguridad (Security)
Unidad I: Ingeniería de requerimientos
Requerimientos No Funcionales
Características de Calidad
Confidencialidad
Grado en el que puede esperarse que el
software realice la función requerida con el
nivel de desempeño requerido bajo
circunstancias especificadas.
Grado de madurez (Maturity)
Tolerancia a fallas (Fault tolerance)
Capacidad de recuperación
(Recoverability)
Unidad I: Ingeniería de requerimientos
Requerimientos No Funcionales
Características de Calidad
Usabilidad
Esfuerzo requerido para entender, aprender
y usar. Capacidad del software para ser
atractivo al usuario.
Facilidad de comprensión
(Understandability)
Facilidad de aprendizaje (Learnability)
Facilidad de operación (Operability)
Atractivo del producto (Atractivness)
Unidad I: Ingeniería de requerimientos
Requerimientos No Funcionales
Características de Calidad
Eficiencia
Capacidad del software para proveer tiempos
de respuesta adecuados, relativo a los recursos
utilizados, bajo condiciones específicas.
Tiempos de respuesta (Time behaviour)
Utilización de recursos (Resource
utilisation)
Unidad I: Ingeniería de requerimientos
Requerimientos No Funcionales
Características de Calidad
Mantenibilidad
Capacidad del producto de software para ser
modificado (correcciones, mejoras o
adaptaciones por cambios en el ambiente, en
los requerimientos o en las especificaciones).
Facilidad de análisis (Analysability)
Modificabilidad (Changeability)
Estabilidad (Stability)
Facilidad para realizar pruebas
(Testability)
Unidad I: Ingeniería de requerimientos
Requerimientos No Funcionales
Características de Calidad
Portabilidad
Capacidad para transferir un producto de
software de un ambiente a otro.
El ambiente puede ser organizacional,
hardware o software.
Adaptabilidad (Adaptability)
Facilidad de instalación ( Installability)
Capacidad para co-existir (Co-
existence)
Facilidad de reemplazo (Replaceability)
Unidad I: Ingeniería de requerimientos
Características de los Requerimientos
No ambigüedad.
Correctitud.
Completitud.
Consistencia.
Verificabilidad.
Factibilidad.
Unidad I: Ingeniería de requerimientos
Características de los Requerimientos
No ambigüedad
Un requerimiento es no ambiguo si y solo si tiene un única interpretación para
cualquier lector (usuario, cliente, constructor, analista, desarrollador, etc.).
Ejemplo: los intereses se calcularán mensualmente y se pagarán trimestralmente
según calendario comercial.
Correctitud
Un requerimiento es correcto si y solo si “cae” dentro del espacio del producto.
Ejemplo: un sistema de contabilidad no es correcto si realiza liquidación de
haberes.
Completitud
Un requerimiento es completo si y solo si cumple que:
1. Todas las necesidades del usuario se ven reflejadas.
2. Existe mapeo completo entre las entradas y salidas del sistema.
Unidad I: Ingeniería de requerimientos
Características de los Requerimientos
Consistencia
Un requerimiento es consistente si y solo si no contradice a otro requerimiento.
Ejemplo:
R1: para el cálculo de todos los haberes generados se considerará el calendario
comercial.
R2: para el cálculo del salario vacacional se considerará el calendario civil.
Verificabilidad
Un requerimiento es verificable si y solo si es posible determinar sin ambigüedad,
a través de un proceso finito, cuando una implementación lo satisface.
Ejemplo: el sistema debe poder soportar el trabajo sobre varias terminales a la vez.
Factibilidad
Un requerimiento debe poder ser implementado dentro de las capacidades y
restricciones del sistema y su entorno operativo.
Unidad I: Ingeniería de requerimientos
Desarrollo de los Requerimientos
Unidad I: Ingeniería de requerimientos
Ingeniería de los Requerimientos
Unidad I: Ingeniería de requerimientos
Roles y Responsabilidades
Interesados (stakeholders)
Son todos aquellas personas u
organizaciones que tienen
“intereses” en el sistema.
Pueden ser usuarios, clientes,
gerentes, desarrolladores, etc.
Identificación de interesados
Quiénes son los usuarios del
sistema ?
Quién paga el sistema ?
Quiénes se van a ver
afectados por los resultados
del sistema ?
Quién va a mantener el
sistema ?
Unidad I: Ingeniería de requerimientos
Roles y Responsabilidades
Consultas