Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 1 Obtencion de Requerimientos u...
-
Upload
soledad-sahagun -
Category
Documents
-
view
218 -
download
0
Transcript of Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 1 Obtencion de Requerimientos u...
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 1
Obtencion de Requerimientos
Extraer lo que el cliente requiere de un Sistema de Software.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 2
Tareas en la Obtencion de Requerimientos
Introducción a la Noción de Ingeniería de Requerimientos.
Explicación de los diferentes niveles de detalle de requerimientos que se necesiten.
Describir como deben ser organizados los documentos de un Sistema de Requerimientos.
Describir la validación del Proceso de Requerimientos. Explicar porque los Requerimientos se involucran
durante el tiempo de vida de un sistema.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 3
Tareas en la Obtencion de Requerimientos Comprender el problema que se va a resolver, para lo cual es
necesario estudiar el dominio o entorno en el que el sistema va a operar.
Buscar y recolectar información acerca del sistema a desarrollar, de manuales de operación y mantenimiento, de manuales organizacionales y políticas de operación.
Definir los límites y restricciones del sistema para determinar con precisión que es lo que el sistema va a hacer y también especificar lo que no va a hacer.
Identificar a las personas o usuarios interesados en el sistema, ya que ellos conocen el medio ambiente en que operará el sistema y pueden ayudar describiendo sus necesidades.
Recolectar y clasificar requerimientos, los desarrolladores pueden iniciar definiendo un bosquejo general del sistema, su funcionamiento básico y estableciendo su alcance.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 4
Proceso de Obtencion de Requerimientos
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 5
Comprension del Problema
Que se quiere hacer. Que problema se quiere resolver. Para que se quiere hacer el sistema. Problemas:
• El cliente no siempre define claramente el problema.
• El analista de requerimientos y los desarrolladores no comprenden la naturaleza del problema.
• El analista y los desarrolladores entienden el problema pero no saben como llevarlo a cabo.
• El problema es muy amplio, vago, poco factible, o muy volátil.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 6
Comprensión del dominio de la aplicación. Ambiente operacional. Permite definir el ambiente sobre el cual el sistema estará
operando y todos sus componentes. Sistemas de hardware. Estos sistemas comprenden, los sistemas de cómputo, las
redes utilizadas y sus protocolos, así como cualquier otros sistemas eléctricos y mecánicos.
Sistemas de Software. Estos sistemas comprenden los sistemas operativos, bases de datos, lenguajes, sistemas de manejo de archivos, software de aplicación, sistemas de seguridad, entre otros.
Interfaces Hombre-Maquina. Estos sistemas son aquellos con los que los usuarios tendrán contacto directo para llevar a cabo sus labores.
Conexiones externas. Estos sistemas son aquellos que provienen del exterior del sistema y que reciben datos del sistema o a quienes el sistema envía datos.
Procedimientos operacionales. Estos procedimientos definen las funciones que realiza el sistema actual.
Capacidad del Sistema Actual. Este aspecto permite identificar cual es la capacidad de procesamiento y de almacenamiento requeridos por el sistema.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 7
Comprensión de las necesidades de los clientes y usuarios.
Las siguientes actividades ayudan a comprender las necesidades del cliente y los usuarios:
Identificar las tareas o funciones que describen las necesidades del cliente (identificar los casos de uso).
Identificar los eventos del sistema y sus respuestas. Observar a los usuarios en sus labores. Observar reportes de problemas de los usuarios del
sistema actual.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 8
Requerimientos del negocio Antecedentes. En los antecedentes se resumen las razones y el contexto
del nuevo producto. Proveen una descripción general de la historia o la situación que llevó a la decisión de construir el producto o sistema.
Oportunidades de negocio. Para un producto comercial, describen la oportunidad de mercado que existe y el mercado en el cual el producto estará compitiendo.
Visión del producto. Es una descripción general de lo que se persigue con la construcción del software y de los beneficios que se esperan.
Alcances del proyecto a través de los requerimientos del negocio. Los alcances del proyecto permiten al cliente y a los desarrolladores, identificar las implicaciones del desarrollo como son, el tiempo de construcción, los costos y las personas involucradas en desarrollo (por parte del cliente y por parte de los desarrolladores).
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 9
Requerimientos del negocio Comprensión del negocio. No es posible llevar a cabo ningún proyecto si no se
conoce el negocio que la organización del cliente lleva a cabo. En la comprensión del negocio es necesario conocer:
• La estructura organizacional.
• Los procesos del negocio.
• Los sistemas existentes, y
• El personal clave relacionado con el proyecto. Riesgos del negocio. En este aspecto, los riesgos definen los problemas que se
contemplan dentro del desarrollo del proyecto; una vez que el comienzo de éste ha sido ha sido aprobado.
• la habilidad de poder controlar y administrar efectivamente el desarrollo del proyecto,
• la competencia del mercado,
• el nivel de aceptación del usuario,
• los posibles problemas con la implementación y operación del sistema, y
• los posibles impactos negativos en la organización.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 10
Búsqueda y Recolección de Información Información sobre el sistema actual. Esta información provee detalles sobre el
sistema que se quiere remplazar y que actualmente está en funcionamiento. Si se trata de un producto a desarrollar de uso genérico, ésta información deberá ser aquella que describe los productos similares actualmente en el mercado, contra quienes el producto tendrá que competir.
Necesidades de los clientes y usuarios. La información recolectada anteriormente, derivada de las entrevistas con los clientes, usuarios y con los interesados en el sistema, debe documentarse.
Estándares organizacionales. Esta información comprende todos aquellos manuales de procedimientos que la organización sigue en sus procesos.
Regulaciones Nacionales e Internacionales. Esta información es aquella que provea estándares o normas para reglamentar al sistema o a los productos de software a construir. Usualmente todo país cuenta con un organismo de gobierno que regula las actividades de las organizaciones y que provee reglas de competencia y de calidad.
Información sobre el dominio de la aplicación. Esta información comprende toda aquella información que permita descubrir el dominio.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 11
Definición de Límites y Restricciones
Diagrama de Contexto de un Sistema de Inscripciones.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 12
Definición de los interesados en el sistemaLos interesados deben clasificarse de acuerdo a su actividad y a su perfil. Clientes: Estos normalmente son quienes contratan, financian o autorizan el
desarrollo del proyecto. Usuarios: Estos son aquellos que terminarán operando el software requerido,
después de que el sistema esté completamente desarrollado. Ingenieros de Desarrollo de Software: Son todos aquellos involucrados en el
desarrollo del software, en cualquiera de sus etapas (diseño, implementación, pruebas o mantenimiento).
Ingenieros del cliente. Son todos aquellos especialistas que asesoran o trabajan dentro de la organización del cliente y que ayudan a especificar los detalles técnicos de la aplicación a desarrollar.
Administradores o jefes del proyecto de software: Son aquellos que dirigen y/o administran el proyecto de software.
Contratistas externos. Son aquellos desarrolladores externos a quienes se les contrata para realizar una parte del sistema.
Reguladores externos: es todo aquel personal que indirectamente verifica que todo reglamento o ley que aplique al desarrollo del proyecto se cumpla.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 13
Definición de los interesados en el sistemaEl perfil de los interesados en el sistema debe incluir la siguiente información: El valor o beneficio que recibirá el interesado del producto o del sistema y la forma
en que el producto satisfacerá al interesado. Los beneficios que podría obtener el interesado podrían ser:
• Mejoras en su productividad.
• Reducción de trabajo redundante.
• Ahorro de costos.
• Mejoras en el proceso del negocio.
• Automatización de tareas que previamente se realizaban de forma manual.
• Aprendizaje de nuevas tareas.
• Cumplimiento de estándares o normas.
• Mejoras en la calidad con respecto a otros productos o sistemas. Su disposición o actitud hacia el sistema. La forma en como el sistema afectará a su trabajo en la organización. Su rol o función en la organización.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 14
Definición de los interesados en el sistemaAdemás de clasificar a los interesados en el sistema, es necesario proveer detalles acerca
de los tipos de usuarios que utilizaran directamente el sistema. A los usuarios de sistema
de software se les puede clasificar de acuerdo a los siguientes aspectos:
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). 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 necesario para operar el sistema (persona, grupo de personas, robot,
o otra computadora).
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 15
Roles y Actividades
Rol ActividadesAnalista de Requerimientos, Experto del dominio, usuario
Este personal estará a cargo de entender el problema y su definición.
Analista de requerimientos, usuario Están a cargo de especificar a detalle los requerimientos.
Ingeniero de desarrollo de software, administrador del proyecto
Están a cargo de seleccionar posibles prototipos del sistema.
Ingeniero de requerimientos, Ingeniero de desarrollo de software
Estarán a cargo de desarrollar el sistema o prototipo.
Usuario, experto del dominio, analista de requerimiento e Ingeniero de Desarrollo
Estarán a cargo de evaluar el sistema final o prototipo.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 16
Recolección de RequerimientosDe forma general los requerimientos provienen de las siguientes fuentes:
Los interesados en el sistema. Todos los interesados en el sistema, principalmente el cliente y los usuario son quienes mas información deben proporcionar sobre los requerimientos.
El dominio de la aplicación. El dominio de la aplicación es una fuente de información que permite ubicar el contexto del desarrollo. Permite obtener información acerca de las características de funcionamiento del sistema de forma general, y permite establecer sus restricciones.
La organización. No puede validarse la información de los requerimientos a no ser que esta esté de acuerdo a los estándares utilizados en la organización. De hecho la organización también provee algunos de los requerimientos funcionales y principalmente los no-funcionales, por ejemplo, los requerimientos de calidad, confiabilidad y seguridad del sistema.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 17
Fuentes de Obtencion de Requerimientos
Fuentes potenciales y las formas de obtención de requerimientos.
•Entrevistas y discusiones con clientes y usuarios. •Documentos que describen sistemas actuales o productos de la competencia. •Reportes de problemas técnicos del sistema actual. •Estudio de la organización ó cuestionarios de usuarios. •Observación de los usuarios futuros y de su medio ambiente. •Análisis de los escenarios de las tareas del usuario. •Análisis de Eventos y Respuestas.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 18
Clasificacion de Requerimientos
Requerimientos
del negocio
Definiciones
de datos
Restricciones
Reglas del
negocio
Requerimientos
funcionales
y no-funcionales
Casos de uso
y escenarios
Ideas y
solucioness
Requerimientos
de interfaces
externas
Atributos de
Calidad
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 19
Clasificación de Requerimientos
•Requerimientos de negocio: Todo lo que describa beneficios de mercado, financieros o del negocio para los clientes o su organización, y que sean obtenidos del producto de software.•Casos de uso y escenarios: Los casos de uso son descripciones
generales de metas del cliente o tareas del negocio que los usuarios deben realizar. Un patrón único del caso de uso se conoce como escenario. •Reglas del negocio: Las reglas de negocio definen hechos,
restricciones, acciones que habilitan funciones, formulas de cómputo o inferencias derivadas de actividades de la organización.•Requerimientos funcionales: Los requerimientos funcionales
describen el funcionamiento que el sistema observará bajo ciertas condiciones y las acciones que permitirá el sistema llevar a cabo a los usuarios.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 20
Clasificación de Requerimientos
•Atributos de calidad: Los atributos de calidad son requerimientos no-funcionales, los cuales indican la forma en que el sistema debe realizar alguna actividad. •Requerimientos de interfaces externas: Los requerimientos de esta clase definen
conexiones entre el sistema y el mundo externo. Estas interfaces pueden ser interfaces de usuarios, interfaces de hardware o software o redes de conexión.•Restricciones: Las restricciones de diseño e implementación restringen las
opciones del desarrollador.•Definiciones de datos: Las definiciones de datos permiten identificar formato de
los datos o archivos, rango de valores permitidos, valores por defecto, o estructura la base de datos. •Ideas de solución: Mucho de lo que los clientes presentan como requerimientos
podría considerarse mas bien como ideas de solución. Algún cliente que describe como debería comportase el sistema ante el operador, tal vez solo está describiendo sus ideas sobre posibles soluciones. Las ideas de solución podrían derivar en requerimientos, si estas son validadas y son factibles de implementar, pero en otras ocasiones estas solo podrían ser alternativas de diseño.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 21
Ejemplos de Requerimientos
Requerimientos de negocio
•Incrementa el porcentaje del mercado en 30 %.•Ahorra 20% en costos de producción por la
automatización instalada.•Ahorra 40% en costos de mantenimiento.
Casos de uso y escenarios
•Yo necesito imprimir una etiqueta de correo para el paquete.•Yo necesito administrar una cola de reactivos químicos
que esperan ser analizados.•Yo necesito calibrar las maquinas para control numérico.
Reglas del negocio
•Debe de seguir el estándar de acuerdo con alguna ley o política de la organización.•El formato del saldo de contabilidad esta definido en los
manuales de la organización.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 22
Ejemplo de Requerimientos
Requerimientos funcionales
•Si el voltaje rebasa los 20 v. enciende la alarma amarilla.•El sistema envía un e-mail de confirmación cuando recibe
cualquier e-mail.•El sistema debe ordenar los productos del inventario en
orden alfabético.
Requerimientos de interfaces externas
•Las señales de voltaje se leen de los convertidores analógico-digital.•Los mensajes se envían a través de la Internet.•El software debe controlar el tablero de diagramas
eléctricos.•Los archivos recibidos electrónicamente deben leerse del
disco externo•El usuario debe poder ver paginas de web amigables.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 23
Ejemplos de Requerimientos de Calidad
Propiedad Medida
Velocidad Transacciones por segundoTiempo de respuesta a eventos
Tamaño Numero de líneas de códigoNumero de Bytes de Memoria disponible
Facilidad de uso Tiempo de entrenamientoNumero de ayudas
Confiabilidad Errores permitidos por unidad de tiempoMedia de tiempo por falloDisponibilidad en tiempo
Robustes Tiempo para restablecer despues de fallo.Porcentaje de fallos que causan caida
Portabilidad Facilidad de transportar a otro S.O o lenguaje.
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 24
Ejemplos de Requerimientos
Restricciones •Los archivos recibidos no deben exceder los 10 Mbytes.•La Base de Datos debe manejar archivos en formato
relacional.•El envío de paquetes en la red, debe de usar encriptación
de 128 Bits.
Definiciones de datos •Los números enteros capturados no deben sobre pasar el valor de 10,000.•El numero de asientos inicial a vender por la aerolínea
debe ser 400.•El valor de temperatura limite es de 40 grados
centígrados.
Ideas de solución Un cliente podría indicar que para proporcionar seguridad al sistema ante ataques externos, este debe pedir un pasword, o podría construirse un “firewall” o hacer que los datos usen encriptación.