24
Mejia-Alvarez, 2009 Introduccion a los Requerimientos Obtencion de Requerimientos Extraer lo que el cliente requiere de un Sistema de Software.

Obtencion Requerimientos

  • Upload
    mark-lb

  • View
    262

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Obtencion Requerimientos

Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 1

Obtencion de Requerimientos

Extraer lo que el cliente requiere de un Sistema de Software.

Page 2: Obtencion Requerimientos

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.

Page 3: Obtencion Requerimientos

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.

Page 4: Obtencion Requerimientos

Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 4

Proceso de Obtencion de Requerimientos

Page 5: Obtencion 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.

Page 6: Obtencion Requerimientos

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.

Page 7: Obtencion Requerimientos

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.

Page 8: Obtencion Requerimientos

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).

Page 9: Obtencion Requerimientos

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.

Page 10: Obtencion Requerimientos

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.

Page 11: Obtencion Requerimientos

Mejia-Alvarez, 2009 Introduccion a los Requerimientos Diapositiva 11

Definición de Límites y Restricciones

Diagrama de Contexto de un Sistema de Inscripciones.

Page 12: Obtencion Requerimientos

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.

Page 13: Obtencion Requerimientos

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.

Page 14: Obtencion Requerimientos

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).

Page 15: Obtencion Requerimientos

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.

Page 16: Obtencion Requerimientos

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.

Page 17: Obtencion Requerimientos

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.

Page 18: Obtencion Requerimientos

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

Page 19: Obtencion Requerimientos

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.

Page 20: Obtencion Requerimientos

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.

Page 21: Obtencion Requerimientos

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.

Page 22: Obtencion Requerimientos

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.

Page 23: Obtencion Requerimientos

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.

Page 24: Obtencion Requerimientos

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.