La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería del Software UMG Ingeniería en Sistemas Ingeniería de Requisitos Ing. David González.

Presentaciones similares


Presentación del tema: "Ingeniería del Software UMG Ingeniería en Sistemas Ingeniería de Requisitos Ing. David González."— Transcripción de la presentación:

1 Ingeniería del Software UMG Ingeniería en Sistemas Ingeniería de Requisitos Ing. David González

2 Objetivos Introducción a la Noción de Ingeniería 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. 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 como deben ser organizados los documentos de un Sistema de Requerimientos. Describir la validación del Proceso de Requerimientos. Describir la validación del Proceso de Requerimientos. Explicar porque los Requerimientos se involucran durante el tiempo de vida de un sistema. Explicar porque los Requerimientos se involucran durante el tiempo de vida de un sistema.

3 Problemas Los usuarios no saben lo que quieren. Los usuarios no saben lo que quieren. Un sistema tiene muchos usuarios y ninguno tiene una visión de conjunto. Un sistema tiene muchos usuarios y ninguno tiene una visión de conjunto. No saben cómo hacer más eficiente la operación en su conjunto No saben cómo hacer más eficiente la operación en su conjunto No saben qué partes de su trabajo pueden transformarse en software. No saben qué partes de su trabajo pueden transformarse en software. No saben detallar lo que saben de forma precisa. No saben detallar lo que saben de forma precisa.

4 Ingeniería de Requerimientos El proceso de establecer los servicios que el cliente requiere de un sistema y los limites bajo los cuales opera y se desarrolla. El proceso de establecer los servicios que el cliente requiere de un sistema y los limites bajo los cuales opera y se desarrolla. Un requerimiento es una necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio. Un requerimiento es una necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio.

5 Características Necesario: Lo que pida un requerimiento debe ser necesario para el producto. Necesario: Lo que pida un requerimiento debe ser necesario para el producto. No ambiguo: El texto debe ser claro, preciso y tener una única interpretación posible. No ambiguo: El texto debe ser claro, preciso y tener una única interpretación posible. Conciso: Debe redactarse en un lenguaje comprensible por los inversores en lugar de uno de tipo técnico y especializado, aunque aún así debe referenciar los aspectos importantes Conciso: Debe redactarse en un lenguaje comprensible por los inversores en lugar de uno de tipo técnico y especializado, aunque aún así debe referenciar los aspectos importantes Consistente: Ningún requerimiento debe entrar en conflicto con otro requerimiento diferente, ni con parte de otro. Asimismo, el lenguaje empleado entre los distintos requerimientos debe ser consistente también. Consistente: Ningún requerimiento debe entrar en conflicto con otro requerimiento diferente, ni con parte de otro. Asimismo, el lenguaje empleado entre los distintos requerimientos debe ser consistente también.

6 Características Completo: Los requerimientos deben contener en sí mismos toda la información necesaria, y no remitir a otras fuentes externas que los expliquen con más detalle. Completo: Los requerimientos deben contener en sí mismos toda la información necesaria, y no remitir a otras fuentes externas que los expliquen con más detalle. Alcanzable: Un requerimiento debe ser un objetivo realista, posible de ser alcanzado con el dinero, el tiempo y los recursos disponibles. Alcanzable: Un requerimiento debe ser un objetivo realista, posible de ser alcanzado con el dinero, el tiempo y los recursos disponibles. Verificable: Se debe poder verificar con absoluta certeza, si el requerimiento fue satisfecho o no. Esta verificación puede lograrse mediante inspección, análisis, demostración o testeo. Verificable: Se debe poder verificar con absoluta certeza, si el requerimiento fue satisfecho o no. Esta verificación puede lograrse mediante inspección, análisis, demostración o testeo.

7 Requisitos funcionales Definen lo que el sistema tiene que hacer, los servicios que debe proporcionar al usuario Definen lo que el sistema tiene que hacer, los servicios que debe proporcionar al usuario Describen la funcionalidad del sistema Describen la funcionalidad del sistema

8 Requisitos no funcionales Delimitan las condiciones en que el sistema presta servicios a los usuarios Delimitan las condiciones en que el sistema presta servicios a los usuarios Velocidad de respuesta Velocidad de respuesta Ancho de banda requerido Ancho de banda requerido Espacio en memoria o en disco Espacio en memoria o en disco

9 ¿Qué es un Requerimiento? Es un rango de instrucciones abstractas de alto nivel de un servicio o de un sistema, limitado a detallar una especificación funcional matemática. Es un rango de instrucciones abstractas de alto nivel de un servicio o de un sistema, limitado a detallar una especificación funcional matemática. Así es inevitable como los Requerimientos pueden servir en una función dual Así es inevitable como los Requerimientos pueden servir en una función dual Puede ser la base para una declaración de un contrato, por lo tanto, deber estar abierto a interpretación. Puede ser la base para una declaración de un contrato, por lo tanto, deber estar abierto a interpretación. Puede ser la base para el contrato en sí, por lo tanto, debe ser definido en detalle. Puede ser la base para el contrato en sí, por lo tanto, debe ser definido en detalle. Ambas declaraciones serán llamadas Requerimientos. Ambas declaraciones serán llamadas Requerimientos.

10 Requerimientos Definición/Especificación Definición de Requerimientos Definición de Requerimientos Una declaración en un Lenguaje Natural incluye los diagramas de los servicios del sistema y sus límites operacionales. Escrito para clientes. Una declaración en un Lenguaje Natural incluye los diagramas de los servicios del sistema y sus límites operacionales. Escrito para clientes. Especificación de Requerimientos Especificación de Requerimientos Un documento estructurado con descripción o detalle de los servicios del sistema. Escrito como un contrato entre el cliente y el contratista. Un documento estructurado con descripción o detalle de los servicios del sistema. Escrito como un contrato entre el cliente y el contratista. Especificación de Software Especificación de Software Descripción detallada de software, la cual, puede servir como una base para diseño o implementación. Escrito para desarrolladores. Descripción detallada de software, la cual, puede servir como una base para diseño o implementación. Escrito para desarrolladores.

11 Problemas Desagradables Sistemas de Software grandes con problemas de direccionamiento. Sistemas de Software grandes con problemas de direccionamiento. Problemas de tal manera complejos que puede ser que nunca se comprendan completamente y donde los desarrolladores van comprendiendo el sistema durante su desarrollo Problemas de tal manera complejos que puede ser que nunca se comprendan completamente y donde los desarrolladores van comprendiendo el sistema durante su desarrollo Por lo tanto, los requerimientos son normalmente incompletos e inconsistentes. Por lo tanto, los requerimientos son normalmente incompletos e inconsistentes.

12 Razones de Inconsistencia Los sistemas de software grandes deben mejorar su actual situación. Es difícil anticipar los efectos que el sistema tendrá en la organización. Los sistemas de software grandes deben mejorar su actual situación. Es difícil anticipar los efectos que el sistema tendrá en la organización. Usuarios diferentes tienen requerimientos y prioridades diferentes. Hay constantemente compromiso de cambios en los requerimientos. Usuarios diferentes tienen requerimientos y prioridades diferentes. Hay constantemente compromiso de cambios en los requerimientos. Los usuarios finales del sistema y la organización que paga por el sistema tienen requerimientos diferentes. Los usuarios finales del sistema y la organización que paga por el sistema tienen requerimientos diferentes.

13 Documento de Requerimientos Es la declaración oficial de lo que es requerido para que el sistema sea desarrollado. 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. 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 como lo hará. No es un documento de diseño. Tanto como sea posible, es un conjunto de lo que es el sistema y como lo hará.

14 Documento de Requerimientos Especificación de la conducta externa del sistema. Especificación de la conducta externa del sistema. Especificar los límites de la implementación. Especificar los límites de la implementación. Fácil de cambiar. Fácil de cambiar. Sirve como una herramienta de referencia para mantenimiento. Sirve como una herramienta de referencia para mantenimiento. Recuerda el ciclo de vida del sistema, esto es, predice cambios. Recuerda el ciclo de vida del sistema, esto es, predice cambios. Proporciona respuestas características a un evento no esperado. Proporciona respuestas características a un evento no esperado.

15 Estructura del Documento de Requerimientos Introducción. Introducción. Describe la necesidad de crear el sistema y cuales son sus objetivos. Describe la necesidad de crear el sistema y cuales son sus objetivos. Glosario. Glosario. Define los términos técnicos usados. Define los términos técnicos usados. Modelos del Sistema. Modelos del Sistema. Define los modelos que muestran los componentes del sistema y las relaciones entre ellos. Define los modelos que muestran los componentes del sistema y las relaciones entre ellos. Definición de Requerimientos Funcionales. Definición de Requerimientos Funcionales.

16 Estructura del Documento de Requerimientos Definición de Requerimientos No-funcionales. Definición de Requerimientos No-funcionales. Evolución del Sistema. Evolución del Sistema. Definir las suposiciones fundamentales en las cuales el sistema se basa y se anticipan los cambios. Definir las suposiciones fundamentales en las cuales el sistema se basa y se anticipan los cambios. Especificación de Requerimientos. Especificación de Requerimientos. Especificación detallada de los requerimientos funcionales del sistema. Especificación detallada de los requerimientos funcionales del sistema. Apéndices. Apéndices. Descripción de la plataforma de Hardware del Sistema. Descripción de la plataforma de Hardware del Sistema. Requerimientos de la base de Datos (quizá como un modelo ER) Requerimientos de la base de Datos (quizá como un modelo ER) Indice. Indice.

17 Identificación de Requerimientos Preguntar al cliente, a los usuarios y a los que están involucrados en los objetivos del sistema o producto y sean expertos, investigar como los sistemas o productos se ajustan a las necesidades del negocio, y finalmente, cómo el sistema o producto va a ser utilizado en el día a día. Una relación de necesidades y características Una relación de necesidades y características Un informe del alcance del sistema Un informe del alcance del sistema Una lista de clientes, usuarios y otros intervinientes Una lista de clientes, usuarios y otros intervinientes Escenarios que permiten ver al sistema o producto bajo diferentes condiciones operativas. Escenarios que permiten ver al sistema o producto bajo diferentes condiciones operativas.

18 Análisis y Negociación de Requisitos Una vez recopilados, los requisitos se agrupan por categorías y se organizan en subconjuntos, se estudia cada requisito en relación con el resto. Una vez recopilados, los requisitos se agrupan por categorías y se organizan en subconjuntos, se estudia cada requisito en relación con el resto. Utilizando un proceso iterativo, se irán eliminando requisitos, se irán combinando y/o modificando para conseguir satisfacer los objetivos planteados. Utilizando un proceso iterativo, se irán eliminando requisitos, se irán combinando y/o modificando para conseguir satisfacer los objetivos planteados.

19 Validación de Requerimientos Demostración de que los requerimientos que definen el sistema son lo que el cliente realmente quiere. 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. 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. 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 de la validación de requerimientos. El Prototipado es una técnica importante de la validación de requerimientos.

20 Chequeando Requerimientos Validación. Provee al sistema las funciones que mejor soporten las necesidades del cliente? Validación. Provee al sistema las funciones que mejor soporten las necesidades del cliente? Consistencia. Existe cualquier conflicto en los requerimientos? Consistencia. Existe cualquier conflicto en los requerimientos? Completo. Están incluidas todas las funciones requeridas por el cliente? Completo. Están incluidas todas las funciones requeridas por el cliente? Realismo. Pueden los requerimientos ser implementados con la tecnología y el presupuesto disponible? Realismo. Pueden los requerimientos ser implementados con la tecnología y el presupuesto disponible?

21 Revisión de Requerimientos Una revisión regular puede ayudar mientras la definición de requerimientos está siendo hecha. Una revisión regular puede ayudar mientras la definición de requerimientos está siendo hecha. Tanto el cliente como el usuario y todas las personas relacionadas deben estar involucrados en la revisión. Tanto el cliente como el usuario y todas las personas relacionadas deben estar involucrados en la revisión. La revisión debe ser formal (con los documentos completos) o informal. Una buena comunicación entre desarrolladores, clientes y usuarios puede resolver problemas en las primeras etapas. La revisión debe ser formal (con los documentos completos) o informal. Una buena comunicación entre desarrolladores, clientes y usuarios puede resolver problemas en las primeras etapas.

22 Chequeo de la Revisión Verificabilidad. Es el Requerimiento realmente probable? Verificabilidad. Es el Requerimiento realmente probable? Entendibilidad. Es el Requerimiento comprendido propiamente? Entendibilidad. Es el Requerimiento comprendido propiamente? Probabilidad. Es el origen de los requerimientos claramente establecido? Probabilidad. Es el origen de los requerimientos claramente establecido? Adaptabilidad. Puede el requerimiento ser cambiado sin causar un gran impacto en otros requerimientos? Adaptabilidad. Puede el requerimiento ser cambiado sin causar un gran impacto en otros requerimientos?

23 Evolución de Requerimientos Los requerimientos siempre involucran como comprender mejor el desarrollo de las necesidades de los usuarios y como los objetivos de la organización pueden cambiar. Los requerimientos siempre involucran como comprender mejor el desarrollo de las necesidades de los usuarios y como los objetivos de la organización pueden cambiar. Es esencial planear posibles cambios en los requerimientos cuando el sistema sea desarrollado y utilizado. Es esencial planear posibles cambios en los requerimientos cuando el sistema sea desarrollado y utilizado.

24 Evolución de Requerimientos Comprensión Inicial del Problema Comprensión de los Cambios del Problema Requerimientos Iniciales Cambios en los Requerimientos Tiempo

25 Cambios en el Documento de Requerimientos El documento de requerimientos debe ser organizado, de tal forma que los cambios en los requerimientos puedan ser hechos sin tener que re- escribir demasiado. El documento de requerimientos debe ser organizado, de tal forma que los cambios en los requerimientos puedan ser hechos sin tener que re- escribir demasiado. Las referencias externas deben ser minimizadas y las secciones del documento deben ser tan modulares como sea posible. Las referencias externas deben ser minimizadas y las secciones del documento deben ser tan modulares como sea posible. Los cambios son fáciles cuando se trata de un documento electrónico. Sin embargo, la falta de estándares para documentos electrónicos lo hace difícil. Los cambios son fáciles cuando se trata de un documento electrónico. Sin embargo, la falta de estándares para documentos electrónicos lo hace difícil.

26 Resumen Los errores en los requerimientos son usualmente muy caros de corregir una vez desarrollado el sistema. Los errores en los requerimientos son usualmente muy caros de corregir una vez desarrollado el sistema. La revisión debe involucrar al cliente y a todas las personas involucradas para validar los requerimientos del sistema. La revisión debe involucrar al cliente y a todas las personas involucradas para validar los requerimientos del sistema. El establecer requerimientos está relacionado con las actividades del cliente para el Software. El establecer requerimientos está relacionado con las actividades del cliente para el Software. El Documento de Requerimientos es una descripción para clientes y desarrolladores. El Documento de Requerimientos es una descripción para clientes y desarrolladores.


Descargar ppt "Ingeniería del Software UMG Ingeniería en Sistemas Ingeniería de Requisitos Ing. David González."

Presentaciones similares


Anuncios Google