Ingeniería de requerimientos UNIVERSIDAD NACIONAL DE LA RIOJA MG. MARCELO F. ROLDÁN IS2022 INGENIERÍA DE REQUERIMIENTOS 1 Requerimientos funcionales y no funcionales Procesos de ingeniería de requerimientos Obtención de requerimientos Temas tratados Especificación de requerimientos Validación de requerimientos Cambio de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 2 El proceso de establecer los servicios que el cliente requiere de un sistema y las restricciones bajo las cuales opera y se desarrolla. Ingeniería de requerimientos Los requerimientos del sistema son las descripciones de los servicios del sistema y las restricciones que se generan durante el proceso de ingeniería de requerimientos. IS2022 INGENIERÍA DE REQUERIMIENTOS 3 ¿Qué es un requerimiento? Puede ir desde una declaración abstracta de alto nivel de un servicio o de una restricción del sistema hasta una especificación funcional matemática detallada. Esto es inevitable, ya que los requerimientos pueden cumplir una doble función ◦ Pueden ser la base de una oferta para un contrato, por lo que deben estar abiertos a la interpretación; ◦ Pueden ser la base del propio contrato, por lo que deben definirse en detalle; ◦ Ambas afirmaciones pueden denominarse requerimientos. IS2022 INGENIERÍA DE REQUERIMIENTOS 4 Tipos de requerimientos requerimientos del usuario ◦ Declaraciones en lenguaje natural y diagramas de los servicios que ofrece el sistema y sus limitaciones operativas. Escritos para los clientes. requerimientos del sistema ◦ Documento estructurado en el que se describen detalladamente las funciones, los servicios y las limitaciones operativas del sistema. Define lo que debe implementarse, por lo que puede formar parte de un contrato entre el cliente y el contratista. IS2022 INGENIERÍA DE REQUERIMIENTOS 6 Lectores de diferentes tipos de especificación de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 8 Métodos y requerimientos ágiles Muchos métodos ágiles sostienen que elaborar requerimientos detallados del sistema es una pérdida de tiempo, ya que los requerimientos cambian muy rápidamente. Por lo tanto, el documento de requerimientos siempre está desactualizado. Los métodos ágiles suelen utilizar la ingeniería de requerimientos incremental y pueden expresar los requerimientos como "historias de usuario". IS2022 INGENIERÍA DE REQUERIMIENTOS 12 Requerimientos funcionales y no funcionales IS2022 INGENIERÍA DE REQUERIMIENTOS 13 Requerimientos funcionales y no funcionales Requerimientos funcionales ◦ Declaraciones de los servicios que el sistema debe proporcionar, cómo debe reaccionar el sistema ante determinadas entradas y cómo debe comportarse el sistema en determinadas situaciones. ◦ Pueden indicar lo que el sistema no debe hacer. Requerimientos no funcionales ◦ Restricciones de los servicios o funciones que ofrece el sistema, como limitaciones de tiempo, restricciones del proceso de desarrollo, normas, etc. ◦ Suelen aplicarse al sistema en su conjunto y no a características o servicios individuales. Requerimientos de dominio ◦ Restricciones en el sistema desde el dominio de operación IS2022 INGENIERÍA DE REQUERIMIENTOS 14 Describir la funcionalidad o los servicios del sistema. Depende del tipo de software, de los usuarios previstos y del tipo de sistema en el que se utiliza el software. Los requerimientos funcionales del usuario pueden ser declaraciones de alto nivel sobre lo que debe hacer el sistema. Los requerimientos funcionales del sistema deben describir los servicios del sistema en detalle. Requerimientos funcionales IS2022 INGENIERÍA DE REQUERIMIENTOS Definen las propiedades y limitaciones del sistema, por ejemplo, la fiabilidad, el tiempo de respuesta y los requerimientos de almacenamiento. Las restricciones son la capacidad de los dispositivos de E/S, las representaciones del sistema, etc. También se pueden especificar requerimientos de proceso que exijan un IDE, un lenguaje de programación o un método de desarrollo concretos. Requerimientos no funcionales Los requerimientos no funcionales pueden ser más críticos que los funcionales. Si no se cumplen, el sistema puede resultar inútil. IS2022 INGENIERÍA DE REQUERIMIENTOS 19 Tipos de requerimientos no funcionales IS2022 INGENIERÍA DE REQUERIMIENTOS 20 Clasificaciones no funcionales requerimientos del producto ◦ requerimientos que especifican que el producto entregado debe comportarse de una manera determinada, por ejemplo, velocidad de ejecución, fiabilidad, etc. requerimientos organizativos ◦ requerimientos que son consecuencia de las políticas y procedimientos de la organización, por ejemplo, normas de proceso utilizadas, requerimientos de aplicación, etc. requerimientos externos ◦ requerimientos que surgen de factores externos al sistema y a su proceso de desarrollo, por ejemplo, requerimientos de interoperabilidad, requerimientos legislativos, etc. IS2022 INGENIERÍA DE REQUERIMIENTOS 22 Objetivos y requerimientos Los requerimientos no funcionales pueden ser muy difíciles de enunciar con precisión y los requerimientos imprecisos pueden ser difíciles de verificar. Objetivo ◦ Una intención general del usuario, como la facilidad de uso. Requisito no funcional verificable ◦ Una declaración que utiliza alguna medida que puede ser probada objetivamente. Los objetivos son útiles para los desarrolladores, ya que transmiten las intenciones de los usuarios del sistema. IS2022 INGENIERÍA DE REQUERIMIENTOS 24 Requerimientos de usabilidad El sistema debe ser fácil de usar por el personal y debe estar organizado de tal manera que se minimicen los errores del usuario. (Objetivo) El personal deberá ser capaz de utilizar todas las funciones del sistema tras cuatro horas de formación. Después de esta formación, la media de errores cometidos por los usuarios experimentados no deberá superar los dos por hora de uso del sistema. (Requisito no funcional comprobable) IS2022 INGENIERÍA DE REQUERIMIENTOS 25 Métrica para la especificación de requerimientos no funcionales Propiedad Medida Velocidad Transacciones procesadas/segundo Tiempo de respuesta del usuario/evento Tiempo de actualización de la pantalla Tamaño Mbytes Número de chips ROM Facilidad de uso Tiempo de entrenamiento Número de cuadros de ayuda Fiabilidad Tiempo medio hasta el fallo Probabilidad de indisponibilidad Tasa de ocurrencia de fallos Disponibilidad Robustez Tiempo de reinicio tras un fallo Probabilidad de corrupción de datos en caso de fallo Portabilidad Porcentaje de declaraciones dependientes del objetivo Número de sistemas de destino IS2022 INGENIERÍA DE REQUERIMIENTOS 26 Formas de escribir especificaciones de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 17 Procesos de ingeniería de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 27 Procesos de ingeniería de requerimientos Los procesos utilizados para la IR varían mucho en función del ámbito de aplicación, las personas implicadas y la organización que desarrolla los requerimientos. Sin embargo, hay una serie de actividades genéricas comunes a todos los procesos ◦ Obtención de requerimientos; ◦ Análisis de requerimientos; ◦ Validación de requerimientos; ◦ Gestión de requerimientos. En la práctica, la ER es una actividad iterativa en la que se intercalan estos procesos. IS2022 INGENIERÍA DE REQUERIMIENTOS 28 Una visión en espiral del proceso de ingeniería de requerimientos IS2022 29 Obtención de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 30 Obtención y análisis de requerimientos A veces se denomina obtención de requerimientos o descubrimiento de requerimientos. Consiste en que el personal técnico trabaje con los clientes para conocer el ámbito de la aplicación, los servicios que debe proporcionar el sistema y las limitaciones operativas del mismo. Puede implicar a los usuarios finales, a los gestores, a los ingenieros encargados del mantenimiento, a los expertos del sector, a los sindicatos, etc. Se les denomina partes interesadas. IS2022 INGENIERÍA DE REQUERIMIENTOS 31 Obtención de requerimientos Los ingenieros de software trabajan con una serie de partes interesadas en el sistema para conocer el dominio de la aplicación, los servicios que debe proporcionar el sistema, el rendimiento requerido del sistema, las limitaciones de hardware, otros sistemas, etc. Las etapas incluyen: ◦ Descubrimiento de requerimientos, ◦ Clasificación y organización de los requerimientos, ◦ Priorización y negociación de requerimientos, ◦ Especificación de requerimientos. IS2022 INGENIERÍA DE REQUERIMIENTOS 33 El proceso de obtención y análisis de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 35 Actividades del proceso Descubrimiento de requerimientos ◦ Interacción con las partes interesadas para descubrir sus requerimientos. En esta fase también se descubren los requerimientos del dominio. Clasificación y organización de los requerimientos ◦ Agrupa los requerimientos relacionados y los organiza en grupos coherentes. Priorización y negociación ◦ Prioriza los requerimientos y resuelve los conflictos de requerimientos. Especificación de requerimientos ◦ Los requerimientos se documentan y se introducen en la siguiente ronda de la espiral. IS2022 INGENIERÍA DE REQUERIMIENTOS 36 Descubrimiento de requerimientos El proceso de recopilación de información sobre los sistemas necesarios y existentes y de destilación de los requerimientos del usuario y del sistema a partir de esta información. La interacción se produce con las partes interesadas del sistema, desde los directivos hasta los reguladores externos. Los sistemas suelen tener una serie de partes interesadas. IS2022 INGENIERÍA DE REQUERIMIENTOS 37 Entrevistas Las entrevistas formales o informales con las partes interesadas forman parte de la mayoría de los procesos de ER. Tipos de entrevista ◦ Entrevistas cerradas basadas en una lista predeterminada de preguntas ◦ Entrevistas abiertas en las que se exploran diversas cuestiones con las partes interesadas. Entrevistas eficaces ◦ Tener la mente abierta, evitar ideas preconcebidas sobre los requerimientos y estar dispuesto a escuchar a las partes interesadas. ◦ Estimule al entrevistado para que inicie el debate mediante una pregunta inicial, una propuesta de requerimientos o trabajando juntos en un prototipo de sistema. IS2022 INGENIERÍA DE REQUERIMIENTOS 38 Historias y escenarios Los escenarios y las historias de usuario son ejemplos reales de cómo se puede utilizar un sistema. Las historias y los escenarios son una descripción de cómo se puede utilizar un sistema para una tarea concreta. Como se basan en una situación práctica, los interesados pueden relacionarse con ellos y comentar su situación con respecto a la historia. IS2022 INGENIERÍA DE REQUERIMIENTOS 45 Escenarios Una forma estructurada de historia de usuario Los escenarios deben incluir ◦ Una descripción de la situación inicial; ◦ Una descripción del flujo normal de los acontecimientos; ◦ Una descripción de lo que puede ir mal; ◦ Información sobre otras actividades concurrentes; ◦ Una descripción del estado cuando el escenario termina. IS2022 INGENIERÍA DE REQUERIMIENTOS 47 Carga de fotos iLearn Supuesto inicial: Un usuario o un grupo de usuarios tienen una o varias fotografías digitales para subir al sitio de intercambio de imágenes. Éstas están guardadas en una tableta o en un ordenador portátil. Han iniciado correctamente la sesión en KidsTakePics. Normal: El usuario elige subir fotos y se le pide que seleccione las fotos que va a subir en su ordenador y que seleccione el nombre del proyecto bajo el que se guardarán las fotos. También se le da la opción de introducir las palabras clave que se asociarán a cada foto cargada. Las fotos cargadas se nombran creando una conjunción del nombre del usuario con el nombre del archivo de la foto en el ordenador local. Al finalizar la subida, el sistema envía automáticamente un correo electrónico al moderador del proyecto pidiéndole que compruebe el nuevo contenido y genera un mensaje en pantalla para que el usuario sepa que esto se ha hecho. IS2022 INGENIERÍA DE REQUERIMIENTOS 48 Carga de fotos Lo que puede salir mal No hay ningún moderador asociado al proyecto seleccionado. Se genera automáticamente un correo electrónico al administrador de la escuela pidiéndole que designe un moderador del proyecto. Los usuarios deben ser informados de que podría haber un retraso en la visibilidad de sus fotos. Las fotos con el mismo nombre ya han sido cargadas por el mismo usuario. Se debe preguntar al usuario si desea volver a subir las fotos con el mismo nombre, cambiar el nombre de las fotos o cancelar la subida. Si elige volver a subir las fotos, las originales se sobrescribirán. Si elige cambiar el nombre de las fotos, se genera automáticamente un nuevo nombre añadiendo un número al nombre del archivo existente. Otras actividades: El moderador puede conectarse al sistema y aprobar las fotos a medida que se suben. Estado del sistema al finalizar: El usuario está conectado. Las fotos seleccionadas se han subido y se les ha asignado el estado "en espera de moderación". Las fotos son visibles para el moderador y para el usuario que las subió. IS2022 INGENIERÍA DE REQUERIMIENTOS 49 Especificación de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 50 Especificación de requerimientos El proceso de escribir los requerimientos del usuario y del sistema en un documento de requerimientos. Los requerimientos del usuario deben ser comprensibles para los usuarios finales y los clientes que no tienen formación técnica. Los requerimientos del sistema son más detallados y pueden incluir más información técnica. Los requerimientos pueden formar parte de un contrato para el desarrollo del sistema ◦ Por lo tanto, es importante que sean lo más completos posible. IS2022 INGENIERÍA DE REQUERIMIENTOS 51 Notación Descripción Lenguaje natural Los requerimientos se redactan mediante frases numeradas en lenguaje natural. Cada frase debe expresar un requisito. Lenguaje natural estructurado Los requerimientos se escriben en lenguaje natural en un formulario o plantilla estándar. Cada campo proporciona información sobre un aspecto del requisito. Lenguajes de descripción del Este enfoque utiliza un lenguaje como el de la programación, pero con características más abstractas para especificar los requerimientos definiendo un modelo operativo del sistema. En la actualidad, este enfoque diseño se utiliza muy poco, aunque puede ser útil para las especificaciones de las interfaces. Anotaciones gráficas Los modelos gráficos, complementados con anotaciones de texto, se utilizan para definir los requerimientos funcionales del sistema; se suelen utilizar los diagramas de casos de uso y de secuencia de UML. Especificaciones matemáticas Estas notaciones se basan en conceptos matemáticos como las máquinas de estado finito o los conjuntos. Aunque estas especificaciones inequívocas pueden reducir la ambigüedad de un documento de requerimientos, la mayoría de los clientes no entienden una especificación formal. No pueden comprobar que representa lo que quieren y son reacios a aceptarla como contrato del sistema. Formas de redactar una especificación de requerimientos del sistema IS2022 INGENIERÍA DE REQUERIMIENTOS 52 Requerimientos y diseño En principio, los requerimientos deben indicar qué debe hacer el sistema y el diseño debe describir cómo lo hace. En la práctica, los requerimientos y el diseño son inseparables ◦ Se puede diseñar una arquitectura del sistema para estructurar los requerimientos; ◦ El sistema puede interoperar con otros sistemas que generan requerimientos de diseño; ◦ El uso de una arquitectura específica para satisfacer los requerimientos no funcionales puede ser un requisito de dominio. ◦ Puede ser la consecuencia de un requisito normativo. IS2022 INGENIERÍA DE REQUERIMIENTOS 53 Directrices para la redacción de requerimientos Inventa un formato estándar y utilízalo para todos los requerimientos. Utiliza el lenguaje de forma coherente. Utilice “deberá" para los requerimientos obligatorios y “debería" para los deseables. Utiliza el resaltado de texto para identificar las partes clave del requisito. Evita el uso de la jerga informática. Incluya una explicación (justificación) de por qué es necesario un requisito. IS2022 INGENIERÍA DE REQUERIMIENTOS 55 3.2 El sistema deberá medir el azúcar en sangre y suministrar insulina, si es necesario, cada 10 minutos. (Los cambios en el azúcar en sangre son relativamente lentos, por lo que no es necesario realizar mediciones más frecuentes; las mediciones menos frecuentes podrían conducir a niveles de azúcar innecesariamente altos). 3.6 El sistema deberá ejecutar una rutina de autocomprobación cada minuto con las condiciones que se comprueben y las acciones asociadas definidas en la Tabla 1. (Una rutina de autocomprobación puede descubrir problemas de hardware y software y alertar al usuario de que el funcionamiento normal puede ser imposible). IS2022 INGENIERÍA DE REQUERIMIENTOS Ejemplo de requerimientos para el sistema de software de la bomba de insulina 57 Los casos de uso son un tipo de escenario que se incluye en el UML. Los casos de uso identifican a los actores de una interacción y que describen la propia interacción. Casos de uso Un conjunto de casos de uso debe describir todas las posibles interacciones con el sistema. Modelo gráfico de alto nivel complementado con una descripción tabular más detallada. Los diagramas de secuencia UML pueden utilizarse para añadir detalles a los casos de uso mostrando la secuencia de procesamiento de eventos en el sistema. IS2022 INGENIERÍA DE REQUERIMIENTOS 64 Casos de uso del sistema Mentcare IS2022 INGENIERÍA DE REQUERIMIENTOS 65 El documento de requerimientos del software El documento de requerimientos del software es la declaración oficial de lo que se exige a los desarrolladores del sistema. Debe incluir tanto una definición de los requerimientos del usuario como una especificación de los requerimientos del sistema. NO es un documento de diseño. En la medida de lo posible, debe establecer QUÉ debe hacer el sistema en lugar de CÓMO debe hacerlo. IS2022 INGENIERÍA DE REQUERIMIENTOS 66 Capítulo Descripción Prefacio Debe definir los lectores previstos del documento y describir su historial de versiones, incluyendo una justificación para la creación de una nueva versión y un resumen de los cambios realizados en cada versión. Introducción Debe describir la necesidad del sistema. Debe describir brevemente las funciones del sistema y explicar cómo funcionará con otros sistemas. También debe describir cómo encaja el sistema en los objetivos empresariales o estratégicos generales de la organización que encarga el software. Glosario Debe definir los términos técnicos utilizados en el documento. No debe hacer suposiciones sobre la experiencia o los conocimientos del lector. Definición de requerimientos los usuarios los Aquí se describen los servicios prestados al usuario. Los de requerimientos no funcionales del sistema también deben describirse en esta sección. Esta descripción puede utilizar un lenguaje natural, diagramas u otras notaciones que sean comprensibles para los clientes. Deben especificarse las normas de producto y proceso que deben seguirse. Arquitectura sistema del Este capítulo debe presentar una visión general de alto nivel de la arquitectura del sistema prevista, mostrando la distribución de las funciones entre los módulos del sistema. Deben destacarse los componentes arquitectónicos que se reutilizan. IS2022 INGENIERÍA DE REQUERIMIENTOS La estructura de un documento de requerimientos 69 La estructura de un documento de requerimientos Capítulo Descripción Especificación de Aquí se describen con más detalle los requerimientos funcionales y no los requerimientos funcionales. Si es necesario, se pueden añadir más detalles a los requerimientos del sistema no funcionales. Pueden definirse las interfaces con otros sistemas. Modelos sistema del Esto puede incluir modelos gráficos del sistema que muestren las relaciones entre los componentes del sistema y el sistema y su entorno. Algunos ejemplos de modelos posibles son los modelos de objetos, los modelos de flujo de datos o los modelos de datos semánticos. Evolución sistema del En esta sección se describen los supuestos fundamentales en los que se basa el sistema, así como cualquier cambio previsto debido a la evolución del hardware, los cambios en las necesidades de los usuarios, etc. Esta sección es útil para los diseñadores de sistemas, ya que puede ayudarles a evitar decisiones de diseño que limiten los posibles cambios futuros del sistema. Apéndices These should provide detailed, specific information that is related to the application being developed; for example, hardware and database descriptions. Hardware requirements define the minimal and optimal configurations for the system. Database requirements define the logical organization of the data used by the system and the relationships between data. Índice Pueden incluirse varios índices del documento. Además de un índice alfabético normal, puede haber un índice de diagramas, un índice de funciones, etc. IS2022 INGENIERÍA DE REQUERIMIENTOS 70 Validación de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 71 Validación de requerimientos Se ocupa de demostrar que los requerimientos definen el sistema que el cliente realmente desea. Los costes de error de los requerimientos son elevados, por lo que la validación es muy importante ◦ Corregir un error de requerimientos después de la entrega puede costar hasta 100 veces más que corregir un error de implementación. IS2022 INGENIERÍA DE REQUERIMIENTOS 72 Comprobación de requerimientos Validez. ¿Proporciona el sistema las funciones que mejor satisfacen las necesidades del cliente? Coherencia. ¿Existen conflictos de requerimientos? Exhaustividad. ¿Están incluidas todas las funciones requeridas por el cliente? Realismo. ¿Pueden aplicarse los requerimientos teniendo en cuenta el presupuesto y la tecnología disponibles? Verificabilidad. ¿Pueden comprobarse los requerimientos? IS2022 INGENIERÍA DE REQUERIMIENTOS 73 Técnicas de validación de requerimientos Revisión de requerimientos ◦ Análisis manual sistemático de los requerimientos Creación de prototipos ◦ Uso de un modelo ejecutable del sistema para comprobar los requerimientos. Se trata en el capítulo 2. Generación de casos de prueba ◦ Desarrollo de pruebas para los requerimientos con el fin de comprobar la comprobabilidad. IS2022 INGENIERÍA DE REQUERIMIENTOS 74 Revisión de requerimientos Deben realizarse revisiones periódicas mientras se formula la definición de los requerimientos. Tanto el personal del cliente como el del contratista deben participar en las revisiones. Las revisiones pueden ser formales (con documentos completos) o informales. Una buena comunicación entre desarrolladores, clientes y usuarios puede resolver los problemas en una fase temprana. IS2022 INGENIERÍA DE REQUERIMIENTOS 75 Cambio de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 77 Cambio de requerimientos El entorno empresarial y técnico del sistema siempre cambia después de la instalación. ◦ Es posible que se introduzca un nuevo hardware, que sea necesario interconectar el sistema con otros sistemas, que cambien los profesionales de la empresa (con los consiguientes cambios en el soporte del sistema que se requiere) y que se introduzcan nuevas legislaciones y normativas que el sistema deba cumplir necesariamente. Las personas que pagan por un sistema y los usuarios del mismo no suelen ser las mismas. ◦ Los clientes del sistema imponen requerimientos debido a limitaciones organizativas y presupuestarias. Éstos pueden entrar en conflicto con los requerimientos del usuario final y, después de la entrega, es posible que haya que añadir nuevas características para el apoyo del usuario si se quiere que el sistema cumpla sus objetivos. IS2022 INGENIERÍA DE REQUERIMIENTOS 78 Cambio de requerimientos Los grandes sistemas suelen tener una comunidad de usuarios diversa, con muchos usuarios que tienen diferentes requerimientos y prioridades que pueden ser conflictivos o contradictorios. ◦ Los requerimientos finales del sistema son inevitablemente un compromiso entre ellos y, con la experiencia, a menudo se descubre que hay que cambiar el equilibrio del apoyo dado a los diferentes usuarios. IS2022 INGENIERÍA DE REQUERIMIENTOS 79 Evolución de los requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 80 Gestión de requerimientos La gestión de requerimientos es el proceso de gestión de los requerimientos cambiantes durante el proceso de ingeniería de requerimientos y el desarrollo del sistema. Los nuevos requerimientos surgen a medida que se desarrolla un sistema y después de que se haya puesto en marcha. Es necesario hacer un seguimiento de los requerimientos individuales y mantener los vínculos entre los requerimientos dependientes para poder evaluar el impacto de los cambios en los requerimientos. Hay que establecer un proceso formal para hacer propuestas de cambio y vincularlas a los requerimientos del sistema. IS2022 INGENIERÍA DE REQUERIMIENTOS 81 Planificación de la gestión de requerimientos Establece el nivel de detalle de la gestión de requerimientos que se requiere. Decisiones de gestión de requerimientos: ◦ Identificación de los requerimientos Cada requisito debe ser identificado de forma única para que pueda ser referenciado con otros requerimientos. ◦ Proceso de gestión de cambios Es el conjunto de actividades que evalúan el impacto y el coste de los cambios. En la siguiente sección se analiza este proceso con más detalle. ◦ Políticas de trazabilidad Estas políticas definen las relaciones entre cada requisito y entre los requerimientos y el diseño del sistema que deben registrarse. ◦ Soporte de herramientas Las herramientas que pueden utilizarse van desde los sistemas especializados de gestión de requerimientos hasta las hojas de cálculo y los sistemas sencillos de bases de datos. IS2022 INGENIERÍA DE REQUERIMIENTOS 82 Gestión del cambio de requerimientos Decidir si un cambio de requerimientos debe ser aceptado ◦ Análisis de problemas y especificación de cambios ◦ Durante esta etapa, se analiza el problema o la propuesta de cambio para comprobar que es válida. Este análisis se transmite al solicitante del cambio, que puede responder con una propuesta de cambio de requerimientos más específica o decidir retirar la solicitud. ◦ Change analysis and costing ◦ El efecto del cambio propuesto se evalúa utilizando la información de trazabilidad y el conocimiento general de los requerimientos del sistema. Una vez completado este análisis, se toma la decisión de proceder o no con el cambio de requerimientos. ◦ Implementación del cambio ◦ Se modifica el documento de requerimientos y, si es necesario, el diseño y la implementación del sistema. Lo ideal es que el documento se organice de forma que los cambios puedan implementarse fácilmente. IS2022 INGENIERÍA DE REQUERIMIENTOS 83 Gestión del cambio de requerimientos IS2022 INGENIERÍA DE REQUERIMIENTOS 84 Puntos clave Los requerimientos de un sistema de software establecen lo que el sistema debe hacer y definen las restricciones de su funcionamiento e implementación. Los requerimientos funcionales son declaraciones de los servicios que el sistema debe proporcionar o son descripciones de cómo deben realizarse algunos cálculos. Los requerimientos no funcionales suelen limitar el sistema que se desarrolla y el proceso de desarrollo que se utiliza. Suelen estar relacionados con las propiedades emergentes del sistema y, por tanto, se aplican al sistema en su conjunto. IS2022 INGENIERÍA DE REQUERIMIENTOS 85 Puntos clave El proceso de ingeniería de requerimientos es un proceso iterativo que incluye la obtención, especificación y validación de los requerimientos. La obtención de requerimientos es un proceso iterativo que puede representarse como una espiral de actividades: descubrimiento de requerimientos, clasificación y organización de requerimientos, negociación de requerimientos y documentación de requerimientos. Se puede utilizar una serie de técnicas para la obtención de requerimientos, como las entrevistas y la etnografía. Se pueden utilizar historias de usuario y escenarios para facilitar las discusiones. IS2022 INGENIERÍA DE REQUERIMIENTOS 86 Puntos clave La especificación de requerimientos es el proceso de documentar formalmente los requerimientos del usuario y del sistema y crear un documento de requerimientos de software. IS2022 El documento de requerimientos del software es una declaración acordada de los requerimientos del sistema. Debe organizarse de forma que tanto los clientes del sistema como los desarrolladores de software puedan utilizarlo. INGENIERÍA DE REQUERIMIENTOS 87 Puntos clave La validación de requerimientos es el proceso de comprobación de la validez, coherencia, integridad, realismo y verificabilidad de los requerimientos. Los cambios empresariales, organizativos y técnicos conducen inevitablemente a cambios en los requerimientos de un sistema de software. La gestión de requerimientos es el proceso de gestión y control de estos cambios. IS2022 INGENIERÍA DE REQUERIMIENTOS 88 Template https://github.com/jam01/SRS-Template Actividad IS2022 INGENIERÍA DE REQUERIMIENTOS 60
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )