SlideShare una empresa de Scribd logo
1 de 61
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Ingeniería de Requerimientos
Estableciendo lo que el cliente
requiere de un Sistema de
Software.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Curva de Fallo del Software
• Todo el mundo exige que se realicen cambios sobre el Software
como respuesta a pequeños cambios del entorno.
• Además no es fácil comprender su comportamiento, según
Pressman:
– La curva de fallos del Hardware.
– La curva ideal de fallos del Software.
– La curva real de fallos del Software.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Tiempo
Indicedefallos
Defectos fabricación Estropeado
Obsolescencia
Curva de Fallo del Hardware
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Indicedefallos
Defectos fabricación
Mismo nivel hasta obsoleto
Obsolescencia
Tiempo
Curva de Fallo del Hardware
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Tiempo
Indicedefallos
Defectos fabricación
Curva ideal
Cambio Cambio Cambio
Curva
realObsolescencia
Curva de Fallo del Hardware
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Etapas De Un Proyecto De Software
1. Planificación y/o Levantamiento de requerimientos
Productos que se obtienen de esta etapa:
• Requerimientos del sistema
• Especificaciones generales del sistema
• Costo y tiempos de ejecución del proyecto
• Recursos requeridos para el sistema
• Factibilidad del sistema
2. Análisis y diseño
Análisis y diseño
Productos generales que se obtienen de esta etapa:
• Modelos de casos de uso (reglas del negocio)
• Interfaces de entrada y salida del sistema
• Modelo relacional de la base de datos
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Definición de Requisitos y Requerimientos
Los requisitos de un sistema son los aspectos que el sistema desarrollado
debe cumplir. Surgen de las necesidades del cliente, de las limitaciones
del entorno donde se va a implantar o de la propia gestión de la
información que debe realizar el sistema.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Características del Software
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Tipos de Requerimientos
Los requisitos van a delimitar cómo quiere el cliente que se comporte el sistema,
que información tiene que manejar y cómo la debe procesar y presentar. Para
identificar todos estos aspectos se deben estudiar y analizar los requerimientos
funcionales y no funcionales:
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Los Requerimientos pueden ser Funcionales o
No-Funcionales
• Los Requerimientos funcionales describen servicios o funciones
• Los Requerimientos No-funcionales son un límite en el sistema
o en el proceso de desarrollo.
Requerimientos de Dominio
• Requerimientos que se obtienen de el dominio de la
aplicacion del sistema y que reflejan sus
caracteristicas.
Tipos de Requerimientos
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
.
1.1 Requisitos de Actores
Son los que afectan a los diferentes actores del sistema, que van a
proporcionarle la información de entrada y van a recibir la información de
salida del sistema. Por ejemplo:
Usuarios Son los responsables de interactuar con el sistemaSon los responsables de interactuar con el sistema
Grupos
Permite realizar conjuntos de usuarios con
características comunes, para simplificar las reglas de
interacción entre los usuarios y el sistema
Permite realizar conjuntos de usuarios con
características comunes, para simplificar las reglas de
interacción entre los usuarios y el sistema
Perfiles
Permite agrupar todas las características que distinguen
a un usuario o grupo
Permite agrupar todas las características que distinguen
a un usuario o grupo
Papeles
(roles)
Permite asignar grupos de funcionalidades a los
usuarios y grupos, permitiendo diferenciar el
comportamiento de los usuarios con el sistema según la
actividad o proceso a realizar en el mismo
Permite asignar grupos de funcionalidades a los
usuarios y grupos, permitiendo diferenciar el
comportamiento de los usuarios con el sistema según la
actividad o proceso a realizar en el mismo
Tipos de Requerimientos
1. REQUERIMIENTOS FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
1.2 Requisitos de Interfaz
Refleja todos los requisitos que definen la forma de enviar la información a
procesar por los usuarios al sistema, y la forma de recibir la respuesta del
sistema por el usuario. Entre ellos podemos distinguir:
Medios de
interacción
Aplicación de escritorio, páginas Web,Aplicación de escritorio, páginas Web,
Pantallas formularios y demás elementos de la interfaz de usuarioformularios y demás elementos de la interfaz de usuario
Mensajes
intercambios y protocolos de comunicación,
fundamentales para describir las interacciones entre
sistemas
intercambios y protocolos de comunicación,
fundamentales para describir las interacciones entre
sistemas
CLAMB
Pantallas de gestión normalizadas: consultas, listados,
altas, modificaciones y bajas.
Pantallas de gestión normalizadas: consultas, listados,
altas, modificaciones y bajas.
Informes
documentos, archivos y datos en general generados por
el sistema.
documentos, archivos y datos en general generados por
el sistema.
Tipos de Requerimientos
1. REQUERIMIENTOS FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
2.1 Requisitos de Rendimiento
Se tiene en cuenta las métricas de rendimiento, pues suelen ser fácilmente medibles.
Entre ellos podemos sugerir los siguientes:
• Velocidad de las peticiones al sistema (número de peticiones que debe responder
en cierto tiempo)
• Tiempo medio de respuesta por tipo de petición, que sería el tiempo máximo (en
media) que debería tardar el sistema en contestar a una petición
• Velocidad en la comunicación con el sistema
• Velocidad en la gestión de la interfaz del usuario
Tipos de Requerimientos
2. REQUERIMIENTOS NO FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
2.3 Requisitos de Calidad
Aquí recogemos los requisitos que afectan a la gestión de la Calidad en el
desarrollo del proyecto. Entre ellos podemos destacar:
• Normativas y procedimientos de gestión del proyecto
• Normativas y procedimientos de desarrollo
• Normativas y procedimientos de documentación
• Normativas y Procedimientos de generación de entregables
• Normativas de calidad del Cliente
• Pruebas de Certificación de Calidad que deben superar los entregables.
Tipos de Requerimientos
2. REQUERIMIENTOS NO FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
2.4 Requisitos de Almacenamiento
Aquí se recogen todos los requisitos que especifican el cómo, dónde y
cuándo guardar los datos persistentes del sistema, así como la capacidad
del sistema de almacenamiento de los mismos, su seguridad, su fiabilidad,
su protección contra fallos o intento de acceso no autorizado y su política
de respaldo.
Tipos de Requerimientos
2. REQUERIMIENTOS NO FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
2.5 Requisitos de Seguridad
Aquí se recogen todos los requisitos relativos a la seguridad del sistema, como
pueden ser:
• Control de acceso al sistema y autenticación de usuarios.
• Políticas de usuarios y contraseñas, si las hubiere.
• Desactivación de usuarios.
• Control y auditoría de las acciones de los usuarios.
• Políticas de gestión de la seguridad y de los elementos y funcionalidades del
sistema.
Tipos de Requerimientos
2. REQUERIMIENTOS NO FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
2.5 Requisitos de Seguridad
• Métodos de agrupación de usuarios, y de permisos. Esquemas de administración y
almacenamiento de la seguridad.
• Gestión de los roles de los usuarios, si hubiese.
• Medidas de protección del sistema frente a ataques externos.
• Normativas y protocolos de seguridad que debe cumplir el sistema.
• Auditorías de seguridad y alarmas.
Tipos de Requerimientos
2. REQUERIMIENTOS NO FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
2.6 Requisitos de Escalabilidad
Aquí se recogen los requisitos de capacidad del sistema y cómo se debe
poder ampliar si es necesario. Si el sistema es utilizado por múltiples
usuarios simultáneos, debe disponer de un plan para redimensionar el
sistema al crecer el número de usuarios.
Tipos de Requerimientos
2. REQUERIMIENTOS NO FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
2.7 Requisitos Legales y Normativas
En este apartado se recogen los requisitos legales que debe cumplir el
sistema, es decir, toda la normativa legal que aplica al sistema, las
restricciones legales de su uso y las normativas de gestión de la
información confidencial. También se incluyen los requisitos de destrucción
de información confidencial al final del ciclo de vida de la misma.
Tipos de Requerimientos
2. REQUERIMIENTOS NO FUNCIONALES
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Recogen todos los requisitos que debe cumplir el sistema,
independientemente de la funcionalidad que debe cubrir.
3.1 Requisitos de Arquitectura
Estos requisitos definen arquitectura y componentes del sistema, cuando es
un sistema creado a partir de varios, modúlalos.
Tipos de Requerimientos
3. REQUERIMIENTOS DEL SISTEMA
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
3.2 Requisitos de Software
Se recogen todos los requisitos de software que se aplicarán al sistema,
como pueden ser:
•Sistemas operativos de los diferentes módulos que forman el sistema,
incluyendo versiones y actualizaciones.
•Software adicional necesario en el sistema
•Requisitos de actualización del software de base del sistema
Tipos de Requerimientos
3. REQUERIMIENTOS DEL SISTEMA
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
3.3 Requisitos de Hardware
Se recogen los requisitos de hardware de los componentes del sistema.
Entre ellos; tipos de servidores, configuración de los mismos, tipos de
unidades de disco y configuración, sistemas de backup, etc.
Tipos de Requerimientos
3. REQUERIMIENTOS DEL SISTEMA
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
3.4 Requisitos de Comunicaciones
Aquí se recogen los requisitos para interconectar el sistema se definen los
parámetros de red requeridos, topología, tipos de enlace, anchos de banda,
etc.
Tipos de Requerimientos
3. REQUERIMIENTOS DEL SISTEMA
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
3.5 Requisitos de Integración
Se recogen los requisitos de integración del sistema con otros sistemas
externos o del cliente. Se debe incluir los protocolos que se deben
soportar, los servicios que nos proporcionan o que debemos proporcionar,
las aplicaciones con las que debemos interactuar, etc.
Tipos de Requerimientos
3. REQUERIMIENTOS DEL SISTEMA
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
3.6 Requisitos de Contingencia
Aquí enunciaremos los requisitos que debe cumplir nuestro sistema en caso
de contingencia, y que servirán de base para desarrollar el plan de
contingencia del sistema.
Tipos de Requerimientos
3. REQUERIMIENTOS DEL SISTEMA
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Riesgo, incertidumbre, perdida
Incertidumbre: Puede o no
ocurrir, no hay riesgos del 100%
de probabilidad.
Pérdida: Si el riesgo ocurre, hay
pérdidas.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Categorías
de riesgos
de software
1. Riesgos del proyecto:
2. Riesgos del producto:
3. Riesgos del negocio:
Amenazan al plan del proyecto; la
planificación temporal y los costos.
Ej: Pérdida de un diseñador
experimentado.
Amenazan la calidad y la
planificación temporal; la
implementación puede llegar a ser
difícil o imposible. Ej: Rendimiento
de un componente menor al
esperado.
Amenazan la viabilidad del
software a construir. Ej: Un
competidor introduzca un nuevo
producto.
Riesgo del Software
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
28
Ingenieria de Requerimientos: Pasos principales
1. Entender el problema: definicion
2. Describir el problema: especificacion
3. Verificar la naturaleza del problema: validacion
4. Ponerse de acuerdo en los limites del problema:
negociacion
Este es un proceso iterativo
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
29
Marco del proceso de requerimientos
definicion
negociacion
especification
validaciondoc & admon
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Características de los requerimientos
En principio los requerimientos deben ser
precisos, completos y consistentes.
Precisos
• Deben extraer con precisión lo que se desea del sistema
Completos
• Deben incluir todas las descripciones y componentes requeridos
Consistente
• No debe haber conflictos o contradicciones en las descripciones
de los requerimientos
En la practica es difícil producir un documento
con estas características.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Especificaciones de Requerimientos
1.1 El usuario debe proporcionar facilidades para definir el tipo de archivos
externos.
1.2 Cada tipo de archivo externo puede tener una herramienta asociada. La
cual, será
aplicada para el archivo.
1.3 Cada tipo de archivo externo será representado como un icono específico
mostrado al usuario.
1.4 Las facilidades proporcionadas para la representación del icono en un tipo
de archivo
externo será definido por el usuario.
1.5 Cuando un usuario selecciona una representación de icono de un archivo
externo, el
efecto de la selección es aplicar las herramientas asociadas con el tipo de
archivo externo al archivo representado por la selección del icono.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Lectores de Requerimientos
Gerencia de Cliente
Usuarios Finales del Sistema
Ingenieros de Clientes
Gerencia de Contratistas
Arquitectos del Sistema
Definición de
Requerimientos
Especificacion de
Requerimientos
Usuarios Finales del Sistema
Ingenieros de Cliente
Arquitectos del Sistema
Desarrolladores de Software
Especificación de
Software
Ingenieros de Clientes
Arquitectos del Sistema
Desarrolladores de Software
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Razones de Inconsistencia
Los sistemas de software grandes deben permitir una
mejora en la situación actual de la empresa. Es difícil
anticipar los efectos que el sistema tendrá en la
organización.
Usuarios diferentes tienen requerimientos y prioridades
diferentes. Hay constantemente cambios en los
requerimientos.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Razones de Inconsistencia
Los usuarios finales del sistema y la organización que
paga por el sistema tienen requerimientos diferentes.
El prototipado es requerido para clarificar requerimientos
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Proceso de Ingeniería de Requerimientos
Estudio de Factibilidad
• Encontrar si las necesidades de los usuarios son satisfechas
dada la tecnología y el presupuesto disponible?
Análisis de Requerimientos
• Detallar que es lo que los usuarios requieren del sistema.
Definición de Requerimientos
• Definir los requerimientos en una forma comprensible para el
cliente.
Especificación de Requerimientos
• Define los requerimientos en detalle.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
El Proceso de Ingeniería de Requerimientos
Estudio de
Factibilidad
Análisis de
Requerimientos
Definición de
Requerimientos
Especificación
de Requerimientos
Reporte de
Factibilidad
Modelos del
Sistema
Documento de
Requerimientos
Definición de
Requerimientos
Especificación de
Requerimientos
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Documento de Requerimientos
Es la declaración oficial de lo que es requerido
para que el sistema sea desarrollado.
Incluye la definición y especificación de
requerimientos.
No es un documento de diseño. Tanto como sea
posible, es un conjunto de lo que es el sistema y
no de como lo hará.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Requerimientos del Documento
Especificación del comportamiento externa del
sistema.
Especificar las restricciones de la implementación.
Fácil de cambiar.
Sirve como una herramienta de referencia para el
mantenimiento.
Registro del ciclo de vida del sistema, con el fin de
predecir cambios.
Caracteriza respuestas a eventos inesperados.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Estructura del Documento de Requerimientos
Introducción.
• Describe la necesidad de crear el sistema y cuales son sus
objetivos de negocio.
Glosario.
• Define los términos técnicos usados.
Modelos del Sistema.
• Define los modelos mediante los cuales se muestran los
componentes del sistema y las relaciones entre ellos.
Definición de Requerimientos Funcionales.
• Define los servicios que serán proporcionados.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Definición de Requerimientos No-funcionales.
• Definir las restricciones del sistema y el proceso de desarrollo.
Evolución del Sistema.
• Definir las suposiciones fundamentales en las cuales el sistema se basa
y los cambios que preveen.
Especificación de Requerimientos.
• Especificación detallada de los requerimientos funcionales del sistema.
Apéndices.
• Descripción de la plataforma de Hardware del Sistema.
• Requerimientos de la base de Datos (quizá como un modelo Entidad
Relacion)
Indice.
Estructura del Documento de Requerimientos
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
El Analista de Requerimientos
Analista de Requerimientos
Patrocinador del Proyecto Administrador del Proyecto
Desarrolladores
PruebasOtros interesados
en el sistema
Cliente y
Usuarios
requerimientos
del negocio
requerimientos
del cliente/usuario
restricciones y
requerimientos
requerimientos funcionales
y no-funcionales
requerimientos funcionales
y no-funcionales
Factibilidad,
Tiempos y costos
Analista de Requerimientos
Patrocinador del Proyecto Administrador del Proyecto
Desarrolladores
PruebasOtros interesados
en el sistema
Cliente y
Usuarios
requerimientos
del negocio
requerimientos
del cliente/usuario
restricciones y
requerimientos
requerimientos funcionales
y no-funcionales
requerimientos funcionales
y no-funcionales
Factibilidad,
Tiempos y costos
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
El Analista de Requerimientos
Actividades:
Definir los objetivos del proyecto y los beneficios al negocio.
Identificar el problema a resolver y obtener los requerimientos.
Identificar a los involucrados en el desarrollo del proyecto así
como a las clases de clientes y usuarios.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
El Analista de Requerimientos
Actividades:
Identificar el ambiente del dominio a desarrollar y estar
preparado para desarrollar el sistema requerido.
Administrar los requerimientos utilizando un proceso y un plan
de requerimientos.
Modelar los requerimientos.
Realizar control de cambios en los requerimientos.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Habilidades:
Capacidad de comunicación.
Capacidad de análisis y observación.
Capacidad de organización.
Analizar los riesgos del desarrollo del software.
El Analista de Requerimientos
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
El Cliente
Actividades y responsabilidades:
Educar al analista de requerimientos acerca del negocio y sus
objetivos.
Ser claro y preciso acerca del problema que se quiere resolver.
Colaborar con el analista en la definición de los requerimientos.
Revisar los documentos de requerimientos y el avance del proyecto.
Comunicar a los analistas sobre cambios en los requerimientos.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Actividades y responsabilidades:
Plantear costos y tiempos esperados de desarrollo y estar abierto a
discutir cambios en los costos y tiempos de entrega.
Estar siempre dispuesto a reunirse con los desarrolladores para
discutir distintos aspectos del proyecto.
Respetar los procesos que implementarán los desarrolladores para
implementar el producto
El Cliente
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
El Usuario
Clasificación de los usuarios:
La frecuencia con la que usan el sistema.
Las funciones que usan del sistema y su frecuencia.
La experiencia en el dominio de la aplicación y su experiencia con
otros sistemas similares.
El tipo de uso que le dan al sistema (operación, administración,
mantenimiento, supervisión).
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
El Usuario
Clasificación de los usuarios:
Las tareas que desempeñan en soporte de los procesos de la
organización.
Sus privilegios de acceso o niveles de seguridad (tales como usuario
invitado, administrador o usuario de nivel interno).
Tipo de usuarios necesarios para operar el sistema (persona, grupo de
personas, robot, u otra computadora).
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Problemas asociados al proceso
Problemas de alcance, en los cuales se describen
el ámbito y los límites de operación del software.
En esta categoría algunos de los problemas
podrían ser, que el ambiente del sistema no esta
bien delimitado, o que no exista información
suficiente del flujo de información de la
organización.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Problemas asociados al proceso
Problemas de comprensión de lo que se quiere construir,
con los clientes, usuarios y con los grupos de
desarrolladores. En esta categoría podrían aparecer
distintos problemas:
• Los clientes y usuarios no entienden completamente todo lo que
requieren o no cuentan con toda la información que de soporte a
sus necesidades.
• Los clientes y usuarios tienen poco conocimiento de las
capacidades y limitaciones de los sistemas de cómputo.
• Los analistas de requerimientos tienen poco conocimiento del
dominio de la aplicación.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Problemas de volatilidad debidos a los
continuos cambios en los requerimientos. En esta
categoría se trata de resolver los problemas que
existen cuando los requerimientos deben cambiar
razones tecnológicas, por errores, o por mejoras.
Problemas de conflictos entre requerimientos.
Problemas asociados al proceso
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Validación de Requerimientos
Demostración de que los requerimientos que definen el
sistema son lo que el cliente realmente quiere.
Los costos de errores en los requerimientos son altos, por
lo cual, la validación es muy importante.
• Fijar un error de requerimiento después del desarrollo puede resultar
en un costo 100 veces mayor que fijar un error en la implementación.
El Prototipado es una técnica importante en la validación
de requerimientos.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Chequeo de Requerimientos
Validez. Provee al sistema las funciones que mejor
soportan las necesidades del cliente?
Consistencia. Existen conflictos en los
requerimientos?
Completitud. Están incluidas todas las funciones
requeridas por el cliente?
Realismo. Pueden los requerimientos ser
implementados con la tecnología y el presupuesto
disponible?
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Revisión de Requerimientos
Revisiones frecuentes deben llevarse a cabo mientras
la definición de requerimientos está siendo hecha.
Tanto el cliente como el staff de contratistas deben
estar involucrados en la revisión.
La revisión pueden ser formales (con los documentos
completos) o informales. Una buena comunicación
entre desarrolladores, clientes y usuarios puede
resolver problemas en las primeras etapas.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Chequeo de la Revisión
Verificabilidad. Pueden hacerse pruebas de los
requerimientos?
Entendibilidad. Se comprenden los requerimientos?
Busqueda (trace). El origen de los requerimientos
esta claramente establecido?
Adaptabilidad. Puede el requerimiento ser cambiado
sin causar un gran impacto en otros requerimientos?
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Chequeo de Consistencia Automatizado
Requerimientos en un
Lenguaje Formal
Proceso de
Requerimientos
Base de Datos
de Requerimientos
Reporte de los problemas
de Requerimientos
Análisis de
Requerimientos
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Evolución de Requerimientos
Comprensión Inicial
del Problema
Comprensión de los
Cambios del Problema
Requerimientos
Iniciales
Cambios en los
Requerimientos
Tiempo
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Factores sociales y organizacionales
Los sistemas de software se usan dentro de un
contexto social y organizacional. Estos pueden influir
o dominar los requerimientos del sistema.
Los factores sociales y organizacionales tienen
influencia en todos los puntos de vista.
Los analistas deben ser sencibles a estos factores
aunque no exista una forma sistematica de
enfrentarlos.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Ejemplo
Considere un sistema que permite a los administradores
accesar informacion sin consultar con los operadores del
sistema.
• Estatus de la Administracion. Los adminstradores consideran
que ellos son demasiado importantes como para tener que usar
un teclado de computadora. Esto podria limitar el tipo de
interfaz hombre-maquina a diseñar.
• Responsabilidades de la administracion. Los administradores
podrian no tener tiempo para aprender a usar el sistema.
• Resistencia organizacional. Los administradores podrian no dar
informacion completa o incluso dar informacion erronea para
que el sistema falle.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Resumen
Es muy difícil formular una especificación de
requerimientos completa y consistente.
Una definición de requerimientos, una especificación de
requerimientos y una especificación de Software son
una manera de especificar el Software para diferentes
tipos de lectores.
El Documento de Requerimientos es una descripción
para clientes y desarrolladores.
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Algoritmos y Computación Avanzada
Tutor: Eliezer Córdova
Los errores en los requerimientos son usualmente muy
caros de corregir una vez desarrollado el sistema.
La revisión debe involucrar al cliente y al staff de
contratistas para validar los requerimientos del
sistema.
El establecer requerimientos está relacionado con las
actividades del cliente.
Resumen

Más contenido relacionado

La actualidad más candente

Evaluacion de algoritmo
Evaluacion de algoritmoEvaluacion de algoritmo
Evaluacion de algoritmoSergioERondon
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicoscbertolotti
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoJohanCaro5
 
Introduciòn
IntroduciònIntroduciòn
Introduciònomarzon
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programarCelestino Duran
 
Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmoTAMELIMAR
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónMarco Chunab
 
ACTIVIDAD NUMERO 3
ACTIVIDAD NUMERO 3ACTIVIDAD NUMERO 3
ACTIVIDAD NUMERO 3areliyesica
 
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...JosAngelLaraMendoza
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónjusto morales
 
Teoria Algoritmia
Teoria AlgoritmiaTeoria Algoritmia
Teoria Algoritmiadarioc77
 
ALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOSALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOSeliaaaramos
 
Algoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigoAlgoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigoAdolfoReyes24
 
Algoritmos
Algoritmos Algoritmos
Algoritmos ANIMEFLV
 
Ingeniería introducción completa
Ingeniería introducción completaIngeniería introducción completa
Ingeniería introducción completaANIMEFLV
 

La actualidad más candente (20)

Evaluacion de algoritmo
Evaluacion de algoritmoEvaluacion de algoritmo
Evaluacion de algoritmo
 
ACTIVIDAD 3
ACTIVIDAD 3ACTIVIDAD 3
ACTIVIDAD 3
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicos
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
ACT.- 3 CUESTIONARIO
ACT.- 3 CUESTIONARIOACT.- 3 CUESTIONARIO
ACT.- 3 CUESTIONARIO
 
Introduciòn
IntroduciònIntroduciòn
Introduciòn
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmo
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
ACTIVIDAD NUMERO 3
ACTIVIDAD NUMERO 3ACTIVIDAD NUMERO 3
ACTIVIDAD NUMERO 3
 
Act 3
Act 3Act 3
Act 3
 
Act 3w
Act 3wAct 3w
Act 3w
 
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Teoria Algoritmia
Teoria AlgoritmiaTeoria Algoritmia
Teoria Algoritmia
 
ALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOSALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOS
 
Algoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigoAlgoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigo
 
Algoritmos
Algoritmos Algoritmos
Algoritmos
 
Ingeniería introducción completa
Ingeniería introducción completaIngeniería introducción completa
Ingeniería introducción completa
 

Similar a Requerimientos

conceptos 1.pdf
conceptos 1.pdfconceptos 1.pdf
conceptos 1.pdfCESARAS4
 
Requerimientos tipos-y-definiciones
Requerimientos tipos-y-definicionesRequerimientos tipos-y-definiciones
Requerimientos tipos-y-definicionesJuan Restrepo
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones Juan Restrepo
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones Juan Restrepo
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definicionesrequerimientos-tipos-y-definiciones
requerimientos-tipos-y-definicionesJuan Restrepo
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones Juan Restrepo
 
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
 
Clasificación de los requerimientos
Clasificación de los requerimientosClasificación de los requerimientos
Clasificación de los requerimientosFSILSCA
 
IngenieriaDeRequisitos2.pptx
IngenieriaDeRequisitos2.pptxIngenieriaDeRequisitos2.pptx
IngenieriaDeRequisitos2.pptxssuser8c00ad
 
Tema 4 Fundamentos_y_Metodos_de_Analisis_de_Requerimientos_P.pdf
Tema 4 Fundamentos_y_Metodos_de_Analisis_de_Requerimientos_P.pdfTema 4 Fundamentos_y_Metodos_de_Analisis_de_Requerimientos_P.pdf
Tema 4 Fundamentos_y_Metodos_de_Analisis_de_Requerimientos_P.pdfNinoskaChuraLlojlla1
 
2007_lunes8_inicio.ppt
2007_lunes8_inicio.ppt2007_lunes8_inicio.ppt
2007_lunes8_inicio.pptTICSEPERU1
 
Requerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionalesRequerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionalesLeidyChavarria8
 
Requerimientos.ppt
Requerimientos.pptRequerimientos.ppt
Requerimientos.pptTereBestene
 
Especificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSEspecificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSsullinsan
 
Analisis y Diseño de Sistemas
Analisis y Diseño de SistemasAnalisis y Diseño de Sistemas
Analisis y Diseño de Sistemascardan2007i
 

Similar a Requerimientos (20)

conceptos 1.pdf
conceptos 1.pdfconceptos 1.pdf
conceptos 1.pdf
 
Requisitos
RequisitosRequisitos
Requisitos
 
Requerimientos tipos-y-definiciones
Requerimientos tipos-y-definicionesRequerimientos tipos-y-definiciones
Requerimientos tipos-y-definiciones
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definicionesrequerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 
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í...
 
Clasificación de los requerimientos
Clasificación de los requerimientosClasificación de los requerimientos
Clasificación de los requerimientos
 
IngenieriaDeRequisitos2.pptx
IngenieriaDeRequisitos2.pptxIngenieriaDeRequisitos2.pptx
IngenieriaDeRequisitos2.pptx
 
Ender mendoza
Ender mendozaEnder mendoza
Ender mendoza
 
Tema 4 Fundamentos_y_Metodos_de_Analisis_de_Requerimientos_P.pdf
Tema 4 Fundamentos_y_Metodos_de_Analisis_de_Requerimientos_P.pdfTema 4 Fundamentos_y_Metodos_de_Analisis_de_Requerimientos_P.pdf
Tema 4 Fundamentos_y_Metodos_de_Analisis_de_Requerimientos_P.pdf
 
2007_lunes8_inicio.ppt
2007_lunes8_inicio.ppt2007_lunes8_inicio.ppt
2007_lunes8_inicio.ppt
 
ing de requisitos.ppt
ing de requisitos.ppting de requisitos.ppt
ing de requisitos.ppt
 
Requerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionalesRequerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionales
 
Requerimientos.ppt
Requerimientos.pptRequerimientos.ppt
Requerimientos.ppt
 
2007 lunes8 inicio
2007 lunes8 inicio2007 lunes8 inicio
2007 lunes8 inicio
 
Especificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSEspecificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRS
 
Analisis y Diseño de Sistemas
Analisis y Diseño de SistemasAnalisis y Diseño de Sistemas
Analisis y Diseño de Sistemas
 
02 captura de requisitos
02 captura de requisitos02 captura de requisitos
02 captura de requisitos
 

Más de Eliezer Cordova (20)

Tipos de comunicacion
Tipos de comunicacionTipos de comunicacion
Tipos de comunicacion
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 1
Presentacion 1Presentacion 1
Presentacion 1
 
Introduccion publisher
Introduccion publisherIntroduccion publisher
Introduccion publisher
 
Presentaciones efectivas
Presentaciones efectivasPresentaciones efectivas
Presentaciones efectivas
 
Programación
ProgramaciónProgramación
Programación
 
Presentacion aula virtual videoconferencia
Presentacion aula virtual videoconferenciaPresentacion aula virtual videoconferencia
Presentacion aula virtual videoconferencia
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
2 arboles
2 arboles2 arboles
2 arboles
 
1 árbol
1 árbol1 árbol
1 árbol
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
3 funciones
3 funciones3 funciones
3 funciones
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 
1 estructura programa-c
1 estructura programa-c1 estructura programa-c
1 estructura programa-c
 
Introduccion ia
Introduccion iaIntroduccion ia
Introduccion ia
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Sistemas operativos 3
Sistemas operativos 3Sistemas operativos 3
Sistemas operativos 3
 

Último

2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdfMiguelHuaman31
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 

Último (20)

2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 

Requerimientos

  • 1. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Ingeniería de Requerimientos Estableciendo lo que el cliente requiere de un Sistema de Software.
  • 2. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Curva de Fallo del Software • Todo el mundo exige que se realicen cambios sobre el Software como respuesta a pequeños cambios del entorno. • Además no es fácil comprender su comportamiento, según Pressman: – La curva de fallos del Hardware. – La curva ideal de fallos del Software. – La curva real de fallos del Software.
  • 3. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Tiempo Indicedefallos Defectos fabricación Estropeado Obsolescencia Curva de Fallo del Hardware
  • 4. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Indicedefallos Defectos fabricación Mismo nivel hasta obsoleto Obsolescencia Tiempo Curva de Fallo del Hardware
  • 5. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Tiempo Indicedefallos Defectos fabricación Curva ideal Cambio Cambio Cambio Curva realObsolescencia Curva de Fallo del Hardware
  • 6. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Etapas De Un Proyecto De Software 1. Planificación y/o Levantamiento de requerimientos Productos que se obtienen de esta etapa: • Requerimientos del sistema • Especificaciones generales del sistema • Costo y tiempos de ejecución del proyecto • Recursos requeridos para el sistema • Factibilidad del sistema 2. Análisis y diseño Análisis y diseño Productos generales que se obtienen de esta etapa: • Modelos de casos de uso (reglas del negocio) • Interfaces de entrada y salida del sistema • Modelo relacional de la base de datos
  • 7. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Definición de Requisitos y Requerimientos Los requisitos de un sistema son los aspectos que el sistema desarrollado debe cumplir. Surgen de las necesidades del cliente, de las limitaciones del entorno donde se va a implantar o de la propia gestión de la información que debe realizar el sistema.
  • 8. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Características del Software
  • 9. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Tipos de Requerimientos Los requisitos van a delimitar cómo quiere el cliente que se comporte el sistema, que información tiene que manejar y cómo la debe procesar y presentar. Para identificar todos estos aspectos se deben estudiar y analizar los requerimientos funcionales y no funcionales:
  • 10. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Los Requerimientos pueden ser Funcionales o No-Funcionales • Los Requerimientos funcionales describen servicios o funciones • Los Requerimientos No-funcionales son un límite en el sistema o en el proceso de desarrollo. Requerimientos de Dominio • Requerimientos que se obtienen de el dominio de la aplicacion del sistema y que reflejan sus caracteristicas. Tipos de Requerimientos
  • 11. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova . 1.1 Requisitos de Actores Son los que afectan a los diferentes actores del sistema, que van a proporcionarle la información de entrada y van a recibir la información de salida del sistema. Por ejemplo: Usuarios Son los responsables de interactuar con el sistemaSon los responsables de interactuar con el sistema Grupos Permite realizar conjuntos de usuarios con características comunes, para simplificar las reglas de interacción entre los usuarios y el sistema Permite realizar conjuntos de usuarios con características comunes, para simplificar las reglas de interacción entre los usuarios y el sistema Perfiles Permite agrupar todas las características que distinguen a un usuario o grupo Permite agrupar todas las características que distinguen a un usuario o grupo Papeles (roles) Permite asignar grupos de funcionalidades a los usuarios y grupos, permitiendo diferenciar el comportamiento de los usuarios con el sistema según la actividad o proceso a realizar en el mismo Permite asignar grupos de funcionalidades a los usuarios y grupos, permitiendo diferenciar el comportamiento de los usuarios con el sistema según la actividad o proceso a realizar en el mismo Tipos de Requerimientos 1. REQUERIMIENTOS FUNCIONALES
  • 12. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 1.2 Requisitos de Interfaz Refleja todos los requisitos que definen la forma de enviar la información a procesar por los usuarios al sistema, y la forma de recibir la respuesta del sistema por el usuario. Entre ellos podemos distinguir: Medios de interacción Aplicación de escritorio, páginas Web,Aplicación de escritorio, páginas Web, Pantallas formularios y demás elementos de la interfaz de usuarioformularios y demás elementos de la interfaz de usuario Mensajes intercambios y protocolos de comunicación, fundamentales para describir las interacciones entre sistemas intercambios y protocolos de comunicación, fundamentales para describir las interacciones entre sistemas CLAMB Pantallas de gestión normalizadas: consultas, listados, altas, modificaciones y bajas. Pantallas de gestión normalizadas: consultas, listados, altas, modificaciones y bajas. Informes documentos, archivos y datos en general generados por el sistema. documentos, archivos y datos en general generados por el sistema. Tipos de Requerimientos 1. REQUERIMIENTOS FUNCIONALES
  • 13. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 2.1 Requisitos de Rendimiento Se tiene en cuenta las métricas de rendimiento, pues suelen ser fácilmente medibles. Entre ellos podemos sugerir los siguientes: • Velocidad de las peticiones al sistema (número de peticiones que debe responder en cierto tiempo) • Tiempo medio de respuesta por tipo de petición, que sería el tiempo máximo (en media) que debería tardar el sistema en contestar a una petición • Velocidad en la comunicación con el sistema • Velocidad en la gestión de la interfaz del usuario Tipos de Requerimientos 2. REQUERIMIENTOS NO FUNCIONALES
  • 14. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 2.3 Requisitos de Calidad Aquí recogemos los requisitos que afectan a la gestión de la Calidad en el desarrollo del proyecto. Entre ellos podemos destacar: • Normativas y procedimientos de gestión del proyecto • Normativas y procedimientos de desarrollo • Normativas y procedimientos de documentación • Normativas y Procedimientos de generación de entregables • Normativas de calidad del Cliente • Pruebas de Certificación de Calidad que deben superar los entregables. Tipos de Requerimientos 2. REQUERIMIENTOS NO FUNCIONALES
  • 15. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 2.4 Requisitos de Almacenamiento Aquí se recogen todos los requisitos que especifican el cómo, dónde y cuándo guardar los datos persistentes del sistema, así como la capacidad del sistema de almacenamiento de los mismos, su seguridad, su fiabilidad, su protección contra fallos o intento de acceso no autorizado y su política de respaldo. Tipos de Requerimientos 2. REQUERIMIENTOS NO FUNCIONALES
  • 16. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 2.5 Requisitos de Seguridad Aquí se recogen todos los requisitos relativos a la seguridad del sistema, como pueden ser: • Control de acceso al sistema y autenticación de usuarios. • Políticas de usuarios y contraseñas, si las hubiere. • Desactivación de usuarios. • Control y auditoría de las acciones de los usuarios. • Políticas de gestión de la seguridad y de los elementos y funcionalidades del sistema. Tipos de Requerimientos 2. REQUERIMIENTOS NO FUNCIONALES
  • 17. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 2.5 Requisitos de Seguridad • Métodos de agrupación de usuarios, y de permisos. Esquemas de administración y almacenamiento de la seguridad. • Gestión de los roles de los usuarios, si hubiese. • Medidas de protección del sistema frente a ataques externos. • Normativas y protocolos de seguridad que debe cumplir el sistema. • Auditorías de seguridad y alarmas. Tipos de Requerimientos 2. REQUERIMIENTOS NO FUNCIONALES
  • 18. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 2.6 Requisitos de Escalabilidad Aquí se recogen los requisitos de capacidad del sistema y cómo se debe poder ampliar si es necesario. Si el sistema es utilizado por múltiples usuarios simultáneos, debe disponer de un plan para redimensionar el sistema al crecer el número de usuarios. Tipos de Requerimientos 2. REQUERIMIENTOS NO FUNCIONALES
  • 19. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 2.7 Requisitos Legales y Normativas En este apartado se recogen los requisitos legales que debe cumplir el sistema, es decir, toda la normativa legal que aplica al sistema, las restricciones legales de su uso y las normativas de gestión de la información confidencial. También se incluyen los requisitos de destrucción de información confidencial al final del ciclo de vida de la misma. Tipos de Requerimientos 2. REQUERIMIENTOS NO FUNCIONALES
  • 20. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Recogen todos los requisitos que debe cumplir el sistema, independientemente de la funcionalidad que debe cubrir. 3.1 Requisitos de Arquitectura Estos requisitos definen arquitectura y componentes del sistema, cuando es un sistema creado a partir de varios, modúlalos. Tipos de Requerimientos 3. REQUERIMIENTOS DEL SISTEMA
  • 21. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 3.2 Requisitos de Software Se recogen todos los requisitos de software que se aplicarán al sistema, como pueden ser: •Sistemas operativos de los diferentes módulos que forman el sistema, incluyendo versiones y actualizaciones. •Software adicional necesario en el sistema •Requisitos de actualización del software de base del sistema Tipos de Requerimientos 3. REQUERIMIENTOS DEL SISTEMA
  • 22. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 3.3 Requisitos de Hardware Se recogen los requisitos de hardware de los componentes del sistema. Entre ellos; tipos de servidores, configuración de los mismos, tipos de unidades de disco y configuración, sistemas de backup, etc. Tipos de Requerimientos 3. REQUERIMIENTOS DEL SISTEMA
  • 23. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 3.4 Requisitos de Comunicaciones Aquí se recogen los requisitos para interconectar el sistema se definen los parámetros de red requeridos, topología, tipos de enlace, anchos de banda, etc. Tipos de Requerimientos 3. REQUERIMIENTOS DEL SISTEMA
  • 24. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 3.5 Requisitos de Integración Se recogen los requisitos de integración del sistema con otros sistemas externos o del cliente. Se debe incluir los protocolos que se deben soportar, los servicios que nos proporcionan o que debemos proporcionar, las aplicaciones con las que debemos interactuar, etc. Tipos de Requerimientos 3. REQUERIMIENTOS DEL SISTEMA
  • 25. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 3.6 Requisitos de Contingencia Aquí enunciaremos los requisitos que debe cumplir nuestro sistema en caso de contingencia, y que servirán de base para desarrollar el plan de contingencia del sistema. Tipos de Requerimientos 3. REQUERIMIENTOS DEL SISTEMA
  • 26. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Riesgo, incertidumbre, perdida Incertidumbre: Puede o no ocurrir, no hay riesgos del 100% de probabilidad. Pérdida: Si el riesgo ocurre, hay pérdidas.
  • 27. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Categorías de riesgos de software 1. Riesgos del proyecto: 2. Riesgos del producto: 3. Riesgos del negocio: Amenazan al plan del proyecto; la planificación temporal y los costos. Ej: Pérdida de un diseñador experimentado. Amenazan la calidad y la planificación temporal; la implementación puede llegar a ser difícil o imposible. Ej: Rendimiento de un componente menor al esperado. Amenazan la viabilidad del software a construir. Ej: Un competidor introduzca un nuevo producto. Riesgo del Software
  • 28. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 28 Ingenieria de Requerimientos: Pasos principales 1. Entender el problema: definicion 2. Describir el problema: especificacion 3. Verificar la naturaleza del problema: validacion 4. Ponerse de acuerdo en los limites del problema: negociacion Este es un proceso iterativo
  • 29. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova 29 Marco del proceso de requerimientos definicion negociacion especification validaciondoc & admon
  • 30. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Características de los requerimientos En principio los requerimientos deben ser precisos, completos y consistentes. Precisos • Deben extraer con precisión lo que se desea del sistema Completos • Deben incluir todas las descripciones y componentes requeridos Consistente • No debe haber conflictos o contradicciones en las descripciones de los requerimientos En la practica es difícil producir un documento con estas características.
  • 31. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Especificaciones de Requerimientos 1.1 El usuario debe proporcionar facilidades para definir el tipo de archivos externos. 1.2 Cada tipo de archivo externo puede tener una herramienta asociada. La cual, será aplicada para el archivo. 1.3 Cada tipo de archivo externo será representado como un icono específico mostrado al usuario. 1.4 Las facilidades proporcionadas para la representación del icono en un tipo de archivo externo será definido por el usuario. 1.5 Cuando un usuario selecciona una representación de icono de un archivo externo, el efecto de la selección es aplicar las herramientas asociadas con el tipo de archivo externo al archivo representado por la selección del icono.
  • 32. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Lectores de Requerimientos Gerencia de Cliente Usuarios Finales del Sistema Ingenieros de Clientes Gerencia de Contratistas Arquitectos del Sistema Definición de Requerimientos Especificacion de Requerimientos Usuarios Finales del Sistema Ingenieros de Cliente Arquitectos del Sistema Desarrolladores de Software Especificación de Software Ingenieros de Clientes Arquitectos del Sistema Desarrolladores de Software
  • 33. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Razones de Inconsistencia Los sistemas de software grandes deben permitir una mejora en la situación actual de la empresa. Es difícil anticipar los efectos que el sistema tendrá en la organización. Usuarios diferentes tienen requerimientos y prioridades diferentes. Hay constantemente cambios en los requerimientos.
  • 34. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Razones de Inconsistencia Los usuarios finales del sistema y la organización que paga por el sistema tienen requerimientos diferentes. El prototipado es requerido para clarificar requerimientos
  • 35. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Proceso de Ingeniería de Requerimientos Estudio de Factibilidad • Encontrar si las necesidades de los usuarios son satisfechas dada la tecnología y el presupuesto disponible? Análisis de Requerimientos • Detallar que es lo que los usuarios requieren del sistema. Definición de Requerimientos • Definir los requerimientos en una forma comprensible para el cliente. Especificación de Requerimientos • Define los requerimientos en detalle.
  • 36. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova El Proceso de Ingeniería de Requerimientos Estudio de Factibilidad Análisis de Requerimientos Definición de Requerimientos Especificación de Requerimientos Reporte de Factibilidad Modelos del Sistema Documento de Requerimientos Definición de Requerimientos Especificación de Requerimientos
  • 37. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Documento de Requerimientos Es la declaración oficial de lo que es requerido para que el sistema sea desarrollado. Incluye la definición y especificación de requerimientos. No es un documento de diseño. Tanto como sea posible, es un conjunto de lo que es el sistema y no de como lo hará.
  • 38. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Requerimientos del Documento Especificación del comportamiento externa del sistema. Especificar las restricciones de la implementación. Fácil de cambiar. Sirve como una herramienta de referencia para el mantenimiento. Registro del ciclo de vida del sistema, con el fin de predecir cambios. Caracteriza respuestas a eventos inesperados.
  • 39. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Estructura del Documento de Requerimientos Introducción. • Describe la necesidad de crear el sistema y cuales son sus objetivos de negocio. Glosario. • Define los términos técnicos usados. Modelos del Sistema. • Define los modelos mediante los cuales se muestran los componentes del sistema y las relaciones entre ellos. Definición de Requerimientos Funcionales. • Define los servicios que serán proporcionados.
  • 40. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Definición de Requerimientos No-funcionales. • Definir las restricciones del sistema y el proceso de desarrollo. Evolución del Sistema. • Definir las suposiciones fundamentales en las cuales el sistema se basa y los cambios que preveen. Especificación de Requerimientos. • Especificación detallada de los requerimientos funcionales del sistema. Apéndices. • Descripción de la plataforma de Hardware del Sistema. • Requerimientos de la base de Datos (quizá como un modelo Entidad Relacion) Indice. Estructura del Documento de Requerimientos
  • 41. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova El Analista de Requerimientos Analista de Requerimientos Patrocinador del Proyecto Administrador del Proyecto Desarrolladores PruebasOtros interesados en el sistema Cliente y Usuarios requerimientos del negocio requerimientos del cliente/usuario restricciones y requerimientos requerimientos funcionales y no-funcionales requerimientos funcionales y no-funcionales Factibilidad, Tiempos y costos Analista de Requerimientos Patrocinador del Proyecto Administrador del Proyecto Desarrolladores PruebasOtros interesados en el sistema Cliente y Usuarios requerimientos del negocio requerimientos del cliente/usuario restricciones y requerimientos requerimientos funcionales y no-funcionales requerimientos funcionales y no-funcionales Factibilidad, Tiempos y costos
  • 42. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova El Analista de Requerimientos Actividades: Definir los objetivos del proyecto y los beneficios al negocio. Identificar el problema a resolver y obtener los requerimientos. Identificar a los involucrados en el desarrollo del proyecto así como a las clases de clientes y usuarios.
  • 43. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova El Analista de Requerimientos Actividades: Identificar el ambiente del dominio a desarrollar y estar preparado para desarrollar el sistema requerido. Administrar los requerimientos utilizando un proceso y un plan de requerimientos. Modelar los requerimientos. Realizar control de cambios en los requerimientos.
  • 44. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Habilidades: Capacidad de comunicación. Capacidad de análisis y observación. Capacidad de organización. Analizar los riesgos del desarrollo del software. El Analista de Requerimientos
  • 45. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova El Cliente Actividades y responsabilidades: Educar al analista de requerimientos acerca del negocio y sus objetivos. Ser claro y preciso acerca del problema que se quiere resolver. Colaborar con el analista en la definición de los requerimientos. Revisar los documentos de requerimientos y el avance del proyecto. Comunicar a los analistas sobre cambios en los requerimientos.
  • 46. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Actividades y responsabilidades: Plantear costos y tiempos esperados de desarrollo y estar abierto a discutir cambios en los costos y tiempos de entrega. Estar siempre dispuesto a reunirse con los desarrolladores para discutir distintos aspectos del proyecto. Respetar los procesos que implementarán los desarrolladores para implementar el producto El Cliente
  • 47. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova El Usuario Clasificación de los usuarios: La frecuencia con la que usan el sistema. Las funciones que usan del sistema y su frecuencia. La experiencia en el dominio de la aplicación y su experiencia con otros sistemas similares. El tipo de uso que le dan al sistema (operación, administración, mantenimiento, supervisión).
  • 48. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova El Usuario Clasificación de los usuarios: Las tareas que desempeñan en soporte de los procesos de la organización. Sus privilegios de acceso o niveles de seguridad (tales como usuario invitado, administrador o usuario de nivel interno). Tipo de usuarios necesarios para operar el sistema (persona, grupo de personas, robot, u otra computadora).
  • 49. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Problemas asociados al proceso Problemas de alcance, en los cuales se describen el ámbito y los límites de operación del software. En esta categoría algunos de los problemas podrían ser, que el ambiente del sistema no esta bien delimitado, o que no exista información suficiente del flujo de información de la organización.
  • 50. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Problemas asociados al proceso Problemas de comprensión de lo que se quiere construir, con los clientes, usuarios y con los grupos de desarrolladores. En esta categoría podrían aparecer distintos problemas: • Los clientes y usuarios no entienden completamente todo lo que requieren o no cuentan con toda la información que de soporte a sus necesidades. • Los clientes y usuarios tienen poco conocimiento de las capacidades y limitaciones de los sistemas de cómputo. • Los analistas de requerimientos tienen poco conocimiento del dominio de la aplicación.
  • 51. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Problemas de volatilidad debidos a los continuos cambios en los requerimientos. En esta categoría se trata de resolver los problemas que existen cuando los requerimientos deben cambiar razones tecnológicas, por errores, o por mejoras. Problemas de conflictos entre requerimientos. Problemas asociados al proceso
  • 52. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Validación de Requerimientos Demostración de que los requerimientos que definen el sistema son lo que el cliente realmente quiere. Los costos de errores en los requerimientos son altos, por lo cual, la validación es muy importante. • Fijar un error de requerimiento después del desarrollo puede resultar en un costo 100 veces mayor que fijar un error en la implementación. El Prototipado es una técnica importante en la validación de requerimientos.
  • 53. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Chequeo de Requerimientos Validez. Provee al sistema las funciones que mejor soportan las necesidades del cliente? Consistencia. Existen conflictos en los requerimientos? Completitud. Están incluidas todas las funciones requeridas por el cliente? Realismo. Pueden los requerimientos ser implementados con la tecnología y el presupuesto disponible?
  • 54. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Revisión de Requerimientos Revisiones frecuentes deben llevarse a cabo mientras la definición de requerimientos está siendo hecha. Tanto el cliente como el staff de contratistas deben estar involucrados en la revisión. La revisión pueden ser formales (con los documentos completos) o informales. Una buena comunicación entre desarrolladores, clientes y usuarios puede resolver problemas en las primeras etapas.
  • 55. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Chequeo de la Revisión Verificabilidad. Pueden hacerse pruebas de los requerimientos? Entendibilidad. Se comprenden los requerimientos? Busqueda (trace). El origen de los requerimientos esta claramente establecido? Adaptabilidad. Puede el requerimiento ser cambiado sin causar un gran impacto en otros requerimientos?
  • 56. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Chequeo de Consistencia Automatizado Requerimientos en un Lenguaje Formal Proceso de Requerimientos Base de Datos de Requerimientos Reporte de los problemas de Requerimientos Análisis de Requerimientos
  • 57. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Evolución de Requerimientos Comprensión Inicial del Problema Comprensión de los Cambios del Problema Requerimientos Iniciales Cambios en los Requerimientos Tiempo
  • 58. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Factores sociales y organizacionales Los sistemas de software se usan dentro de un contexto social y organizacional. Estos pueden influir o dominar los requerimientos del sistema. Los factores sociales y organizacionales tienen influencia en todos los puntos de vista. Los analistas deben ser sencibles a estos factores aunque no exista una forma sistematica de enfrentarlos.
  • 59. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Ejemplo Considere un sistema que permite a los administradores accesar informacion sin consultar con los operadores del sistema. • Estatus de la Administracion. Los adminstradores consideran que ellos son demasiado importantes como para tener que usar un teclado de computadora. Esto podria limitar el tipo de interfaz hombre-maquina a diseñar. • Responsabilidades de la administracion. Los administradores podrian no tener tiempo para aprender a usar el sistema. • Resistencia organizacional. Los administradores podrian no dar informacion completa o incluso dar informacion erronea para que el sistema falle.
  • 60. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Resumen Es muy difícil formular una especificación de requerimientos completa y consistente. Una definición de requerimientos, una especificación de requerimientos y una especificación de Software son una manera de especificar el Software para diferentes tipos de lectores. El Documento de Requerimientos es una descripción para clientes y desarrolladores.
  • 61. Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Algoritmos y Computación Avanzada Tutor: Eliezer Córdova Los errores en los requerimientos son usualmente muy caros de corregir una vez desarrollado el sistema. La revisión debe involucrar al cliente y al staff de contratistas para validar los requerimientos del sistema. El establecer requerimientos está relacionado con las actividades del cliente. Resumen