Proyectos de Software. Ingeniería de Requerimientos
Enviado por Gaby Cobain • 6 de Marzo de 2020 • Ensayo • 3.259 Palabras (14 Páginas) • 110 Visitas
[pic 1]
Ingeniería en Telecomunicaciones Sistemas y Electrónica
Proyectos de Software
Ingeniería de Requerimientos
Gabriela Ortiz Vargas
Miguel David Díaz Lozano
03/11 /19
Facultad de Estudios Superiores Cuautitlán
En este trabajo se desarrollarán los fundamentos, la adquisición y validación de la ingeniería de requerimientos, de tal manera que considero importante comenzar por definir lo que es la ingeniería de requerimientos. Como primera parte se debe entender el uso del término ingeniería porque esto implica que se utilizarán técnicas repetibles y sistemáticas para asegurar que los requerimientos del sistema son completos, consistentes y relevantes. (Briseño). Y respecto a la parte de requerimientos para un sistema computacional se habla entonces de los servicios proporcionados por el sistema y sus restricciones operativas. (Sommerville, 2005). Para ampliar la idea de lo que implican los requerimientos tenemos que de acuerdo al estándar IEEE 830 un requerimiento es: Una condición o capacidad que debe estar presente en un sistema o componentes de un sistema para satisfacer un contrato, estándar, especificación o cualquier otro documento formal. Una representación documentada de una condición o necesidad de un sistema.
El conjunto de ambos términos resulta en la ingeniería de requerimientos que de forma general y más completa se entiende como el proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema de software. Tiene como objetivo entregar un reporte con las especificaciones necesarias de los requerimientos de un software de manera correcta y completa. ((SEDICI)). Las especificaciones pretenden comunicar las necesidades del sistema del cliente a los desarrolladores del sistema. Trata de los principios, métodos, técnicas y herramientas que permiten descubrir, documentar y mantener los requisitos para sistemas basados en computadora, de forma sistemática y repetible. (ECURED).
Para abrir paso al proceso y captura de la ingeniería de requerimientos a continuación se mencionan las principales clasificaciones y características de los requerimientos según (Sommerville, 2005).
- Requerimientos del usuario: Son declaraciones en lenguaje natural y en diagramas informales, de los servicios que se espera que el sistema proporcione y de las restricciones bajo las cuales debe funcionar. Comprenden a los Administradores, Clientes, Usuarios finales del sistema, Ingenieros, Contratistas y Arquitectos del Sistema.
- Requerimientos del sistema: Establecen con detalle las funciones, servicios y restricciones operativas del sistema. El documento de requerimientos del sistema debe ser preciso. (Se incluye en el contrato). Comprende a los Usuarios finales del sistema, Ingenieros, Clientes, Arquitectos del sistema y Desarrolladores de software.
- Especificaciones del diseño de software: Se obtienen de las especificaciones del sistema. Están definidas de manera formal en el documento de Especificaciones de Requerimientos del Software. Están dirigidos únicamente a Arquitectos del Sistema y Desarrolladores de Software.
Para procesar y capturar las especificaciones que un cliente desea obtener de un proyecto de software se pueden o deben seguir ciertos protocolos de recaudación para determinar la viabilidad del producto tanto para el mismo cliente, así como para la empresa desarrolladora. El estudio de la viabilidad corresponde a una fase fundamental, pues determina que se pueda o no concretar un proyecto, por lo cual comprende la evaluación y recopilación de la información, y la redacción de informes. Aunado a esto la fase de evaluación de la información identifica si el sistema contribuye a los objetivos generales de la organización, si se puede implementar el sistema dentro de las restricciones de tiempo y presupuesto, así como si se puede implementar a través de otros sistemas existentes.
Estos criterios se basan en requerimientos funcionales y no funcionales:
- Funcionales: Son declaraciones de los servicios que debe proporcionar el sistema, de la manera en que éste debe reaccionar a entradas particulares y de cómo se debe comportar en situaciones particulares. En algunos casos, los requerimientos funcionales de los sistemas también pueden declarar explícitamente lo que el sistema no debe hacer. Los requerimientos Funcionales definen: cuáles entradas debe aceptar el sistema, cuáles salidas debe producir el sistema, qué datos debe almacenar el sistema que utilizarán otros sistemas, qué operaciones debe realizar el sistema, así como la sincronización y cronometraje de las actividades anteriores.
- No Funcionales (De calidad): Se refieren a las propiedades emergentes como la fiabilidad, el tiempo de respuesta y la capacidad de almacenamiento. También definen las restricciones del sistema como la capacidad de los dispositivos de entrada/salida y las representaciones de datos que se utilizan en las interfaces del sistema, pueden especificar, el rendimiento del sistema, la protección, la disponibilidad, y otras propiedades emergentes. Los requerimientos no funcionales surgen de las necesidades del usuario, debido a las restricciones en el presupuesto, a las políticas de la organización, a la necesidad de interoperabilidad con otros sistemas software o hardware, o a factores externos como regulaciones de seguridad o legislaciones sobre privacidad.
Dentro de la adquisición y análisis de requerimientos se debe tener muy en cuenta que existen varios factores por los cuales se pueden presentar dificultades durante estos pasos. Respecto al cliente se da el caso en el que no pueda definir lo que espera del software deseado, es decir; que no logren determinar el alcance de las peticiones, así como el funcionamiento a detalle.
También por parte de los ingenieros y/o desarrolladores se puede presentar cierto grado de dificultad al conseguir una buena interpretación de lo que busca el cliente, pues deben saber identificar los conflictos potenciales ante alguna petición, así como las probabilidades de cumplir con las entregas correspondientes.
Para complementar las posibilidades en las que se puede desarrollar la adquisición de requerimientos, así como, delimitar lo que pueden abarcar o no los requerimientos a continuación se mencionan algunos los parámetros que se deben cumplir para la adquisición de la información.
1) Entender el dominio de aplicación: Se refiere adquirir conocimiento o comprender el funcionamiento de términos relacionados con la aplicación del sistema.
2) Entender el problema: Se deben entender los detalles del problema donde se utilizará el sistema.
...