Académique Documents
Professionnel Documents
Culture Documents
50-200X
Coste de la
corrección
50-200X
Fase en la que se
detecta el fallo
Requisitos 1X
Arquitectura 1X
Diseño detallado
Construcción
Requisitos Especificación
Posibles Completa
Necesarios Correcta
Priorizados Consistente
Concretos Modificable
Verificables Trazable
Defectos
Los defectos comunes en los requisitos y sus consecuencias
Pérdida de tiempo en
Requisitos ambiguos
re-codificación
Requisitos
Trabajo innecesario
innecesarios
TÉCNICAS
Prototipos rápidos
PROTOTIPOS prototipos evolutivos
Introspección
OBSERVACIÓN análisis de protocolo
documentación, otros sistemas
Ingeniería de Requisitos
Desarrollo de Requisitos
Proceso de Extraer, analizar, especificar y verificar los requisitos
El proceso de desarrollo de requisitos varía radicalmente de una organización a
otra dependiendo de su madurez, cultura de la organización, dominio de
aplicación, implicación, etc.
No existen procesos ―ideales‖ de desarrollo requisitos y gestión de los requisitos.
Desarrollo de Requisitos
Desarrollo de Requisitos
Buenas Prácticas
Gestión de Requisitos
Funcionales:
Definen el comportamiento del sistema o Requisito
tareas que el sistema debe realizar.
Funcionales
Restricción
No Funcionales:
Definen aspectos, que sin ser
funcionalidades, (tareas que el sistema debe Requisito
realizar) resultan deseables desde el punto Tiipos de No
de vista del usuario. Generalmente Requisitos Funcionales
comprenden atributos de calidad: Restricción
• Tiempos de respuesta.
• Características de usabilidad.
Requisito
• Facilidad de mantenimiento.
De Interfaz
De Interfaz: Restricción
Definen las interacciones del sistema con su
entorno.
Tipos de Requisitos
Clasificación de los requisitos (Según Amador Durán)
Catálogo de Requisitos
…
• Objetivos del sistema
• Requisitos de información
• Requisitos funcionales
- Diagramas de casos de uso
- Definición de actores
- Casos de uso del sistema
• Requisitos no funcionales
…
Tipos de Requisitos
Tipos de Requisitos
Desde la perspectiva Funcional
Manejo de los Requisitos Funcionales
Visibles Vía Ejecución
Atributo de Descripción
Calidad
Disponibilidad Es la medida de disponibilidad del sistema para el uso
(Availability) (Barbacci et al.,1995)
Confidencialidad Es la ausencia de acceso no autorizado a la información
(Confidentiality) (Barbacci et al., 1995)
Funcionalidad Habilidad del sistema para realizar el trabajo para el cual fue concebido
(Functionality) (Kazman et al., 2001)
Es el grado en el cual un sistema o componente cumple con sus
Desempeño
funciones designadas, dentro de ciertas restricciones dadas, como
(Performance)
velocidad, exactitud o uso de memoria (IEEE 610.12)
Confiabilidad Es la medida de la habilidad de un sistema a mantenerse operativo a lo
(Reliability) largo del tiempo (Barbacci et al., 1995)
Ausencia de consecuencias catastróficas en el ambiente. Es la medida
Seguridad externa
de ausencia de errores que generan pérdidas de información (Barbacci
(Safety)
et al.,1995)
Es la medida de la habilidad del sistema para resistir a intentos de uso
Seguridad interna
no autorizados y negación del servicio, mientras se sirve a usuarios
(Security)
legítimos (Kazman et al., 2001)
No Visibles Vía Ejecución (1)
Atributo de Descripción
Calidad
Configurabilidad Posibilidad que se otorga a un usuario experto a realizar ciertos cambios
(Configurability) al sistema (Bosch et al., 1999)
Es la medida en que trabajan correctamente componentes del sistema
Interoperabilidad
que fueron desarrollados separadamente al ser integrados (Bass et al.
(Interoperability)
1998)
Integridad Es la ausencia de alteraciones inapropiadas de la información (Barbacci
(Integrity) et al., 1995)
Modificabilidad Es la habilidad de realizar cambios futuros al sistema
(Modifiability) (Bosch et al. 1999)
Es la capacidad de someter a un sistema a reparaciones y evolución
Mantenibilidad (Barbacci et al., 1995)
(Maintainability) Capacidad de modificar el sistema de manera rápida y a bajo costo
(Bosch et al. 1999)
No Visibles Vía Ejecución (2)
Atributo de Descripción
Calidad
Es la habilidad del sistema para ser ejecutado en diferentes ambientes de
Portabilidad computación. Estos ambientes pueden ser hardware, software o una
(Portability) combinación de los dos
(Kazman et al., 2001)
Es la capacidad de diseñar un sistema de forma tal que su estructura o
Reusabilidad
parte de sus componentes puedan ser reutilizados en futuras aplicaciones
(Reusability)
(Bass et al. 1998)
Escalabilidad Es el grado con el que se pueden ampliar el diseño arquitectónico, de
(Scalability) datos o procedimental (Pressman, 2002)
Es la medida de la facilidad con la que el software, al ser sometido a una
Capacidad serie de pruebas, puede demostrar sus fallas. Es la probabilidad de que,
de Prueba asumiendo que tiene al menos una falla, el software fallará en su próxima
(Testability) ejecución de prueba
(Bass et al. 1998)
Modelo de McCall (1977)
Factor Criterio
Rastreabilidad
Correctitud Completitud
Consistencia
Consistencia
Confiabilidad Exactitud
Tolerancia a fallas
Eficiencia de ejecución
Eficiencia
Eficiencia de almacenamiento
Control de acceso
Integridad
Auditoría de acceso
Operabilidad
Usabilidad Entrenamiento
Comunicación
Simplicidad
Mantenibilidad
Concreción
Modelo de McCall (2)
Factor Criterio
Simplicidad
Instrumentación
Capacidad de Prueba
Auto-descriptividad
Modularidad
Auto-descriptividad
Capacidad de expansión
Flexibilidad
Generalidad
Modularidad
Auto-descriptividad
Portabilidad Independencia del sistema
Independencia de máquina
Auto-descriptividad
Generalidad
Reusabilidad Modularidad
Independencia del sistema
Independencia de máquina
Modularidad
Interoperabilidad Similitud de comunicación
Similitud de datos
Modelo FURPS (1987)
Functionality: Funcionalidad.
Usability: Usabilidad.
Reliability: Confiabilidad.
Performance: Desempeño.
Supportability: Capacidad de soporte.
Modelo FURPS
Factor de Calidad Atributos
Características y capacidades del programa
Funcionalidad Generalidad de las funciones
Seguridad del sistema
Factores humanos
Factores estéticos
Facilidad de uso
Consistencia de la interfaz
Documentación
Frecuencia y severidad de las fallas
Exactitud de las salidas
Confiabilidad Tiempo medio de fallos
Capacidad de recuperación ante fallas
Capacidad de predicción
Velocidad del procesamiento
Tiempo de respuesta
Rendimiento Consumo de recursos
Rendimiento efectivo total
Eficacia
Extensibilidad
Adaptabilidad
Capacidad de pruebas
Capacidad de Soporte Capacidad de configuración
Compatibilidad
Requisitos de instalación
Modelo ISO/IEC 9126
Efecto del
Proceso Producto producto
proveedor usuario
Modelo ISO/IEC 9126
Internas
Externas
Modelo ISO/IEC 9126
Característica Subcaracterística
Adecuación
Exactitud
Funcionalidad Interoperabilidad
Seguridad
Madurez
Confiabilidad Tolerancia a falla
Recuperabilidad
Entendibilidad
Usabilidad Capacidad de aprendizaje
Operabilidad
Comportamiento en tiempo
Eficiencia Comportamiento de recursos
Analizabilidad
Modificabilidad
Mantenibilidad Estabilidad
Capacidad de pruebas
Adaptabilidad
Portabilidad Instalabilidad
Reemplazabilidad
Modelo ISO/IEC 9126 (1991)
Modelo ISO/IEC 9126
Evaluación del producto software: ISO 14598
Efecto del
Recursos y Proceso de Producto
producto
entorno evaluación software
software
14598-1
14598-4
14598-6 9126-3 9126-2 9126-4
14598-5
Modelo de Dromey (1996)
1. Especificación de los atributos de calidad de alto nivel (por
ejemplo, confiabilidad, mantenibilidad)
Mantenibilidad
Reusabilidad
Descriptivas Portabilidad
Usabilidad
ISO/IEC 9126
Adaptado para Arquitecturas de Software (2003)
Manifiestas
Operacionales
Evolutivas
Calidades Sistémicas - Manifiestas
Observables por los usuarios del sistema.
Booch, G., Rumbaugh, J., & Jacobson, I. (1999). The UML Modeling
LanguageUser Guide. Adisson-Wesley