Unidad 3. Requerimientos.
Francisco Javier Reyes Santamand.
¿Porque falla un Proyecto de Software?
Principales factores que hacen cancelar un proyecto de Software.
Factores
Porcentaje
Requerimientos incompletos
13.1%
El usuario no se involucra
12.5%
Falta de recursos
10.6%
Expectativas no reales
9.9%
Falta de Soporte Ejecutivo
9.3%
Otros factores
44.6%
Principales factores que hacen que un proyecto exitoso. Factores
Porcentaje
Usuarios involucrados
15.9%
Soporte ejecutivo
13.9%
Clara especificación de requerimientos
13.0%
Buena planeación
9.6%
Especificaciones reales
8.2%
Otros factores
39.4%
Requerimientos.
Requerimiento. !
Condición o capacidad que: !
!
Necesita un usuario para resolver un problema o alcanzar un objetivo. Debe cumplirse o poseer un sistema o componente del sistema para satisfacer un contrato, estándar, especificación un otro documento formalmente impuesto.
¿Quienes intervienen en su especificación? 0 8 3 E E E I
Usuarios
Clientes
Desarrolladores
Personal de Venta y Soporte
Analista de Requerimientos. Requerimientos.
Tipos de Requerimientos. !
Existen 2 tipos de requerimientos: !
Requerimientos Funcionales.
!
Requerimientos no funcionales.
Requerimientos funcionales. !
!
Describen lo que el software debe de hacer. Se conocen como requerimientos conductuales u operacionales ya que describen las entradas al sistema y las respuestas al sistema, así como las relaciones entre ellos.
Requerimientos No Funcionales. !
Describen consideraciones sobre confiabilidad y seguridad en el software. !
Del Producto.
!
Organizacionales.
!
Externos.
¿Para que sirven los requerimientos? !
Describen precisamente lo que los clientes quieren saber. saber.
!
Proveen las bases para el posterior desarrollo de software.
!
Facilitan la planeación: !
Gestión de los riesgos.
!
Control de Cambios.
!
Planeación del proyecto.
Especificación de los requerimientos de software (Software Requirements Specification) - SRS Documentación de los Requerimientos esenciales del software y sus interfaces externas.
Especificación de requerimientos de software. Obtención Análisis
Especificación de Requerimientos de Software.
Aspectos a Considerar
Atributos de los Requerimientos
Aspectos a considerar. considerar. !
Funcionalidad.
!
!
Interfaces externas.
!
!
¿Qué va a hacer el software?
¿Cómo interactua reciprocamente con las personas y otros software?
Rendimiento.
!
¿Cuál es la disponibilidad, tiempo de la recuperación de varias funciones del software, etc?
Aspectos a considerar. considerar. !
Atributos.
!
!
¿Qué portabilidad tiene, exactitud, el mantenimiento, la seguridad, etc.?
Restricciones del diseño.
!
¿Hay algún requerimiento empresarial, Standard, lenguaje de aplicación, políticas para la integridad de los datos, los limites de los recursos, de ambiente, etc.?
Atributos de los requerimientos. !
Considerados en conjunto:
!
!
Correcto, no ambiguo, Completo, Consistente, Jerarquizado.
Considerados individualmente:
!
Verificable, Modificable y Rastreable.
Atributo: Correcto. !
!
!
Un SRS es correcto, si y solo si, cada requisito declarado se encuentra en el software. Alternativamente el cliente y el usuario pueden determinar determinar si los requerimientos reflejan las necesidades reales. Identificar los requerimientos hace este procedimiento mas fácil y hay menos probabilidad de error.
Atributo: No Ambiguo. !
!
!
Cada requisito declarado debe tener una sola interpretación. En casos donde un término en un contexto particular tenga significados múltiples, el término debe de ser incluido en un glosario donde su significado es mas específico. Evitar la ambigüedad:
!
Confusiones del idioma natural.
!
Idiomas de especificación de requisitos.
!
Representación hecha con herramienta.
Atributo: Completo. !
!
!
Los requisitos están relacionados a los aspectos básicos a considerar.. En particular debe reconocerse cualquier requisito considerar externo impuesto por una especificación del sistema. s istema. Las definiciones de las respuestas del software a todos los posibles datos de la entrada del sistema y a toda clase de situaciones. Identificar los requerimientos y referencias a todas las figuras y tablas.
Atributo: Completo. !
Si existen requerimientos pendientes de determinar (To Be Determined - TBD). Debe especificarse: !
!
Una descripción de las condiciones que causan la l a condición TBD para que la situación pueda resolverse. Una descripción de lo que debe de hacerse para eliminar la TBD.
Atributo: Consistente. !
!
!
Las características especificadas en el mundo real de los objetos pueden chocar chocar.. Puede haber conflictos lógicos o temporal entre dos acciones especificadas. Dos o más requerimientos pueden describir el mismo objeto, pero deben de usar condiciones diferentes para el mismo.
Atributo: Jerarquía. !
!
Grado de estabilidad. Puede expresarse la estabilidad por lo que se refiere al número de cambios esperados o cualquier requerimiento basado en la experiencia. Grado de necesidad: alinear los requerimientos por su grado de necesidad del proyecto.
!
Esenciales.
!
Condicionales.
!
Optativos.
Atributo: Verificable. Verificable. !
Cuando existe existe algún proceso proceso costo - efectivo finito con que una persona o sistema puede verificar que el product producto o de software cumple con el requerimient requerimiento. o.
Atributo: Modificable. !
!
!
!
!
Puede hacerse cualquier cambio facilmente y consistentemente. Es fácil de usar usar,, contiene un índice í ndice y referencias cruzadas y explícitas. No es redundante. Expresar cada requisito separadamente, en lugar de intercalarlos con otros requisitos. La redundancia no es un error, pero puede llevar fácilmente a los errores.
Atributo: Rastreable. !
!
!
Es claro y facilita las referencias de cada requerimiento en el desarrollo futuro o la documentación. Rastreable hacia atrás (Fases Rastreable anteriores):: Referenciar la fuente de anteriores) donde proviente. Rastreable hacia adelante (Fases Rastreable posteriores): posteriores ): Cada documento debe tener un único nombre o número de referencia.
Obtención de requerimientos.
Obtención de requerimientos.
Identificación.
Obtención de requerimientos. Investigación.
Identificación.
Obtención de requerimientos. Investigación.
Identificación.
Preparación para la recolección de datos.
Obtención de requerimientos. Investigación.
Identificación.
Preparación para la recolección de datos.
Recolección de Requerimientos.
Obtención de requerimientos. Investigación.
Identificación.
Preparación para la recolección de datos.
Recolección de Requerimientos.
Documentación.
Obtención de requerimientos. Investigación. Preparación para la recolección de datos.
Identificación.
Recolección de Requerimientos.
Verificación. Verificación. Documentación.
Obtención de requerimientos. Investigación. Preparación para la recolección de datos.
Identificación.
Recolección de Requerimientos.
Obtención de Compromisos. Verificación. Verificación.
Documentación.
Preparación para recolectar datos. !
Identificar la información a recolectar.
!
Preparar cuestionarios e informes.
!
Preparar y Realizar entrevistas. !
Cada cuestionario, entrevista, resumen y reunión de trabajo; debe encaminarse a recolectar datos específicos. Nota:
Recolectar Requerimientos. !
Enviar cuestionarios.
!
Efectuar entrevistas.
!
Revisar documentación existente.
!
Tomar notas.
!
Organizar la información recolectada: !
En carpetas.
!
Un sistema con índice.
Recolectar Requerimientos. !
Documentar requerimientos requerimientos necesita de un análisis para: !
Eliminar redundan redundancia. cia.
!
Identificar los impactos de diferentes puntos de vista.
!
Organizarlos en algo coherent coherente. e.
!
Identificar ambigüedades.
Entrevistas. !
Puntos fuertes:
!
!
Permite conocer a los posibles usuarios en un ambiente controlado.
Puntos vulnerables: las personas no siempre están dispuestas a ser entrevistadas, ya que:
!
Temen hacer un mal papel.
!
Temen perder poder si revelan lo que saben.
!
No se sienten en confianza con el analista.
Prototipos. !
!
El prototipo se realiza y se muestra a los usuarios cuando ya se están comprendiendo los requerimientos. Los prototipos deben ser evolutivos:
!
Al entender los requerimientos los prototipos prototipos se siguen desarrollando.
!
Se le agregan nuevas funcionalidades iterativamente.
!
Es la base para la versión final que se entrega al cliente.
Cuestionarios. !
Hay varios tipos: nominal, ordinal, radio - escalas e intervalos.
!
Puntos fuertes: !
!
!
Obtiene información cuando la gente se encuentra dispersa y/o y /o hay mucha gente involucrada en el sistema. Para conocer y sensibilizar a los interesados antes de ser entrevistados.
Puntos vulnerables: !
El lenguaje utilizado debe de ser muy preciso.
!
Se necesita bastante práctica.
Cuestionario: nominal. !
!
El departamento en que trabaja es: !
Inversiones.
!
Operaciones.
!
Ventas.
Mi nivel de estudios es: !
Preparatoria.
!
Licenciatura.
!
Maestría.
!
Doctorado.
Cuestionario: Ordinal y de Intervalo. !
El soporte dado por el personal del centro de cómputo es: Extremadamente útil
Inútil 1
!
2
3
4
5
d) 1000 a 10000
e)10000 en adelante.
El volumen de movimientos mensuales es: a)1 a 10
b) 10 a 100
c) 100 a 1000
Como se debe de redactar un requerimiento. !
!
!
Los requerimientos se redactan iniciando con un verbo en infinitivo siempre y cuando el requerimiento sea funcional. Un requerimiento debe de especificar una sola tarea nada mas. En la redacción de los requerimientos funcionales, normalmente se debe de hacer mención a los actores que participan en los mismos.