Gestión de Requerimientos

Slides:



Advertisements
Presentaciones similares
Ciclo de Vida de Desarrollo de los Sistemas de Información
Advertisements

Gestión de requerimientos
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Ingeniería del Software UMG Ingeniería en Sistemas
Gestión de Recursos Informáticos Unidad Nº 3: Gestión de calidad y eficiencia.
INGENIERIA DE REQUISITOS
NORMALIZACIÓN ISO 9000: GESTION DE LA CALIDAD.
ANÁLISIS DE REQUERIMIENTOS
Ingeniería de Software
2. Diseño y Desarrollo del Producto
Casos de Uso y el Proceso del Requerimiento
INGENIERIA DE REQUERIMIENTOS
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
CALIDAD EN EL DESARROLLO DE SOFTWARE
Administración de Procesos de Pruebas
INSTITUTO TECNOLÓGICO SUPERIO DE LIBRES
REQUISITOS DE SOFTWARE
Ingeniería de Requisitos
Representación de Requerimientos
“Especificación de Requerimientos”
IS ILic. Patricia Pesado.1 INGENIERIA DE REQUERIMIENTOS.
Ingeniería de Sistemas Requerimientos
¿Quienes Somos? Scorpion Computer Services es una compañía diversificada en el área de la informática, nuestros servicios están orientados a la automatización.
Bases de Datos Orientadas a Objetos (BDOO)
Fundamentos de programación
Las etapas de un proyecto
Ingenieria de software
BASE DE DATOS BY: Julián Villar Vázquez.
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Requerimientos.
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Análisis y Diseño Orientado a Objetos utilizando UML
DIRECTRICES PARA LA MEJORA DEL DESEMPEÑO
Ciclo de Vida del Software
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Página 1 19/04/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Repaso.
Ingeniería de Requerimiento
VII Congreso de Expotecnología UVM 2007 Jonás A. Montilva C.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Notas de Clase Modelado de Procesos de Negocio
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Trainning DFD.
Ingeniería del Software
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
REQUISITOS.
Metodología de Desarrollo Unidad Educativa Bolívar Sebastián Torres 6° 18°
Capítulo 1 Calidad de Software
Ingeniería de Requisitos
FACTIBILIDAD DE LOS SISTEMAS DE INFORMACIÓN
Ingeniería de Requerimientos
Introducción al proceso de verificación y validación.
NOMBRE DE LA ASIGNATURA: VERIFICACIÓN Y VALIDACIÓN DEL SOFTWARE
Ingeniería del Software I
Mejores Prácticas para el Desarrollo de Software Omar de Jesús Rosales Hernández.
Calidad de Software. AGENDA: Introducción: Mas allá de la codificación El ciclo de vida: Desde la concepción hasta la descontinuación Calidad: Lugar de.
ANGIE PAOLA SOLANO CASTIBLANCO DAR SOPORTE A LOS PROCESOS NORMAS ISO DOC. JOHANA LÓPEZ CHAVEZ SENA 2010.
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
Análisis de Requerimientos
Organización y Métodos. ©Ian Sommerville 1995 Ingeniería de Software, 5a. edición Capitulo 4 Diapositiva * Ingeniería de Requerimientos ● Estableciendo.
¿Por qué falla el software?  ¿Qué son los requerimientos de un producto de software?  ¿Cuál es la relevancia de la ingeniería de requerimientos en.
¿Qué es la Ingeniería De Software? Ingeniería de Software.
ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Entregables del Proyecto
INGENIERÍA WEB FORMULACIÓN Y PLANEACIÓN PARA INGENIERÍA WEB.
Junio, 2013.
Transcripción de la presentación:

Gestión de Requerimientos

Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Requerimiento Restricción sobre el espacio de soluciones de software. Condición que debe ser cumplida por el software para que pueda ser recibido por el cliente. Se negocia/determina de mutuo acuerdo con el cliente. No todas las necesidades y expectativas de los clientes son requerimientos.

¿Es un requerimiento? Necesito pasar todo a “web” antes de 3 meses ¿esta completo? ¿podremos cumplir?

Unas definiciones iniciales Requerimiento Característica requerida para recibir, aceptar o adquirir un producto. Restricción sobre el espacio de soluciones. Si No

Unas definiciones iniciales El conjunto de requerimientos define el espacio de soluciones aceptables. Soluciones Aceptables

¿Cómo así un conjunto de restricciones? ¿Manejamos requerimientos en otros contextos? ¿un encargo de alguien? ¿la lista del mercado? ¿en el software es algo diferente?

Unas definiciones iniciales Ejemplo... Comprar una videocasetera Debe ser Sony Debe manejar VHS Debe costar menos de $200.000.oo Debe poderse pagar con tarjeta de crédito

Unas definiciones iniciales Ejemplo... Comprar una videocasetera ¿Compraría una grabadora de audio, Sony, de menos de $300.000?. ¿Compraría una videocasetera Panasonic, de menos de $300.000? ¿Compraría una videocasetera Sony de $450.000?

Unas definiciones iniciales Los requerimientos deben negociarse con los clientes Las necesidades y expectativas de los clientes son requerimientos potenciales. La negociación permite determinar los requerimientos del sistema/software. Los requerimientos deben ser parte integral de los contratos.

Unas definiciones iniciales Requerimientos Potenciales Necesidades, Deseos, Expectativas del cliente Requerimientos Acuerdos entre Desarrolladores y Clientes Entrevistas Especificación Negociación

¿Es un requerimiento? Necesito pasar todo a “web” antes de 3 meses ¿Qué es todo? ¿Qué significa pasarlo a web? ¿se tendría que desarrollar internamente? ¿podría comprarse?

Caso de Ejemplo En una licitación para el software de recaudo y control de impuestos… ¿El software maneja fondos?

¿Qué tipos de requerimientos se manejan? ¿Qué se debe especificar? ¿Qué se debe negociar? ¿Cuáles son los requerimentos?

Tipos de Requerimientos No todos los requerimientos son requerimientos del software. Existen muchos requerimientos del sistema Redes Equipos Personal Controles Etc. Existen también requerimientos de soporte y mantenimiento. (¿Se deben manejar igual?)

Tipos de Requerimientos Al trabajar con requerimientos de software suelen diferenciarse varios tipos: Funcionales De Datos Técnicos Reglas

Tipos de Requerimientos Requerimientos funcionales Sobre la funcionalidad del software No son aspectos procedimentales Representan las funciones que deben realizarse con el software Representan las funcionalidades esperadas del producto

¿Es un requerimiento funcional? El software deberá utilizar el sistema de colas implementado en PL/SQL para mejorar el nivel de responsibidad ante los usuarios

¿Es un requerimiento funcional? El software deberá ser parametrizable

¿Cuáles son requerimientos funcionales? Para un equipo de comunicación personal (como un teléfono celular) ¿Qué quisiera como cliente? ¿Cuáles son requerimientos de software?

Tipos de Requerimientos Requerimientos funcionales Los usuarios “perciben primero” los requerimientos funcionales Deseo que el software genere un reporte de ventas… El reporte debe contener los siguientes datos…

Tipos de Requerimientos Requerimientos de datos Sobre los datos que se manejan al interior del software Sobre la información que debe generarse a partir de ella No solo estructuras de almacenamiento (MER) También pantallas, reportes, estructuras en memoria, etc.

¿Cuáles son requerimientos de datos? Para un equipo de comunicación personal (como un teléfono celular) ¿Qué datos le gustaría se manejaran en las diferentes funcionalidades?

Tipos de Requerimientos Requerimientos técnicos Otros requerimientos, exigencias del usuario, que determinan aspectos del proyecto Tiempo de Desarrollo Costo Personal

Tipos de Requerimientos Requerimientos técnicos Tiempo de Respuesta Plataforma de Desarrollo Plataforma de Operación Lenguaje de programación Impacto en memoria Impacto en disco Confiabilidad Tolerancia a Fallos Seguridad (etc.)

¿Cuáles son requerimientos técnicos? Para un equipo de comunicación personal (como un teléfono celular) ¿Qué otros requerimientos se le ocurren?

Tipos de Requerimientos Requerimientos de decisión (reglas) Los requerimientos son contradictorios Soluciones Aceptables

Tipos de Requerimientos Requerimientos de decisión (reglas) Deben existir reglas o priorizaciones que determinen cuales requerimientos prevalecen sobre otros. Idealmente deberían definirse en la etapa de requerimientos, antes de empezar el desarrollo

Caso de Ejemplo En un software transaccional sobre la web para manejo de giros ¿Tiempo de respuesta? ¿Confiabilidad? ¿Seguridad?

¿Cuáles son sus prioridades? Para un equipo de comunicación personal (como un teléfono celular) ¿Qué requerimientos deberían prevalecer?

Priorización de Requerimientos Un aspecto que hace parte de la etapa, y que debe realizarse siempre, es la priorización de los requerimientos. ¿Cómo priorizar?

Priorización de Requerimientos La priorización de los requerimientos obedece a una lógica de administración del proyecto Relación Costo / beneficio El modelo de Karl Weigers Importancia Criticidad Complejidad Riesgo

¿Cuáles son sus prioridades? Un proyecto de auditoria médica que opera sobre Palm, celulares y PDAs ¿Cuáles son las prioridades?

¿Cómo se escriben los requerimientos en su empresa? ¿Existe una forma de escribir los requerimientos en la empresa? ¿Cómo se validan? ¿Todos los requerimientos se “escriben” igual?

Especificación de Requerimientos La Especificación es: El documento final que detalla, de manera completa y no ambigüa, los requerimientos del software a desarrollar. El proceso de construcción de ese documento.

Especificación de Requerimientos La Especificación puede realizarse de acuerdo a estándares internacionales reconocidos o a formatos de métodos formales de Ingeniería de Software ANSI/IEEE NSA NASA RUP Otros.

Especificación de Requerimientos Construir un documento “perfecto” de requerimientos de software no es posible Hay requerimientos contradictorios. Fácil de Entender vs. No Ambigüo Fácil de Entender vs. Completo

¿Cómo se manejan los requerimientos en su empresa? ¿Existe una forma de manejar los requerimientos en la empresa? ¿Cómo se manejan? ¿Qué problemas se tienen?

Problemas con los Requerimientos El proceso de requerimientos no es fácil. No es simplemente “tomar nota” de las necesidades del cliente. Es un proceso de comunicación. Es necesario entender que es lo que quiere el cliente. Es un proceso de negociación. Es necesario determinar que cosas podemos comprometernos a hacer.

Problemas con los Requerimientos No hay acuerdos en los Requerimientos No se hizo ningún tipo de negociación y no hay acuerdos reales entre los usuarios y desarrolladores. No se ha realizado ningún tipo de verificación que posibilite determinar si los desarrolladores han comprendido las exigencias de los usuarios. Los Requerimientos no se han priorizado No se ha hecho ningún estudio costo-beneficio, ni de ningún otro tipo que posibilite la definición de prioridades y/o cronogramas basados en los requerimientos.

Problemas con los Requerimientos Requerimientos incompletos El listado de los requerimientos no incluye cosas que son necesarias para que el software funcione. Requerimientos contradictorios Unos requerimientos parecen contradecir a otros requerimientos. Si el software cumple a cabalidad con algunos requerimientos, ni puede cumplir con los otros.

Problemas con los Requerimientos Requerimientos ambigüos Existen múltiples interpretaciones para el requerimiento. Cada usuario y/o desarrollador puede entender algo distinto. (Puede no existir ningún acuerdo). Requerimientos de Desarrollador. El desarrollador introduce requerimientos que no fueron solicitados por el cliente, y que hacen díficil satisfacer los requerimientos reales. (Presunciones de Diseño).

Problemas con los Requerimientos ¿Cómo solucionar el problema? Un proceso disciplinado que busque determinar y solucionar los diferentes problemas de los requerimientos. Un sistema de especificaciones que posibilite comunicar y negociar los requerimientos eficientemente con los usuarios.

Procesos de Requerimientos En la actualidad, a diferencia de los métodos tradicionales, existe una separación marcada entre los procesos de requerimientos y de análisis de requerimientos. Existen varias opciones en torno a los procesos de Requerimientos Ingeniería de Requerimientos

Procesos de Requerimientos ¿Se pueden aplicar los métodos tal cual como están en los libros?

Procesos de Requerimientos Aplicando UML y Patrones, Larman Casos de Uso Reales Declaración de Trabajo Listado de Casos de Uso Casos de Uso Esenciales Prototipos

Procesos de Requerimientos Use Case in Context, Kulak Listado de Casos de Uso Casos de Uso Terminados Declaración de Trabajo Casos de Uso Fachada Casos de Uso Completos Casos de Uso Enfocados Listado de Actores Prototipos

Procesos de Requerimientos Use Cases, Texell Declaración de Trabajo Entrevistas Listado de Casos de Uso Priorización Especificación de Casos de Uso

Procesos de Requerimientos RUP Casos de Uso Prototipos Especificación con Casos de Uso Visión de Producto Glosario de Términos

Procesos de Requerimientos Iconix Declaración de Trabajo Prototipos Casos de Uso

Procesos de Requerimientos “Nuestra Clase” Declaración de Trabajo Listado de Casos de Uso Fachada Terminados Prototipos Actores Completos Enfocados Priorizar Especific. De Req.

Proceso de Requerimientos El prototipo es el mecanismo para “revisar” las especificaciones de requerimientos. La Especificación es el mecanismo para “formalizar” los acuerdos entre desarrolladores y usuarios.

Proceso de Requerimientos Algunos métodos y autores sugieren comenzar con la definición de los prototipos ¿Será conveniente? ¿Qué pasa si el usuario no sabe “a ciencia cierta” que es lo que quiere? La realización de los prototipos puede ser un “arma de doble filo”.