Taller 5 - Ensayo de requerimientos
Se realizo un ensayo acerca de la ingeniería de requerimientos utilizando lo aprendido en clase y apoyándonos en artículos de la base por suscripción ACM.
Los requerimientos son una parte esencial en la elaboración de cualquier sistema de información ya que representan las necesidades de los usuarios dentro de estos, es decir, describen las funcionalidades que va a tener el sistema de información, a partir de este punto surge las mayores problemáticas del análisis de requerimientos: las restricciones que se puedan desarrollar a lo largo de su desarrollo o en el entorno y entender por completo el contexto en el que se va a desarrollar el sistema de información. Según William Bail (2010), sugiere que los requerimientos son responsables de casi la mitad de todas las fallas en el desarrollo de sistemas. Esto es especialmente cierto para sistemas críticos que trabajan en tiempo real e integrados.
Expectativas para la tolerancia a fallas, los modos de rendimiento degradados y los desafíos temporales (latencia y sincronización) son aquellos aspectos que por lo general general no suelen ser satisfechos a la hora de realizar el análisis de requisitos por la práctica común. Para entender las bases de esta problemática hay que entender que la ingeniería de requerimientos forma parte de la ingeniería de software, entonces la problemática de una errónea toma de requerimientos parte desde la falta de apropiación de algunas habilidades y conocimiento desarrollados en las prácticas por parte de los estudiantes ya que muchos problemas que enfrentan estos en la educación de ingeniería de requerimientos se presentan de la literatura. En el estudio realizado por Ahmad, R., Naz, R. & Salwah, S. (2010), se utilizó un cuestionario para adquirir una comprensión más profunda de tales problemas. La investigación en desarrollo de software ha revelado que las fallas y las deficiencias en los proyectos de software a menudo se deben a las actividades de ingeniería de requerimientos realizadas por los desarrolladores de software. La literatura de educación de ingeniería de requerimientos presenta algunos problemas que han sido categorizados desde el punto de vista de estudiantes, educadores e industrias, por ejemplo: desde el punto de vista de los estudiantes se plantean opiniones como “La gestión de requisitos cambia y la incertidumbre persiste con todos los desconocidos e incognoscibles asociados” y “Trabajando en diferentes dominios de problemas en la educación de ingeniería de requisitos”, desde el punto de los educadores se concluyen algunas problemáticas tales como “Enseñar a definir el alcance del problema y evitar especificaciones generales y vagas”, “Enseñar a los estudiantes a diseñar soluciones que son necesarias en lugar de soluciones que se piden” y “Preparar a los estudiantes para las actividades de ingeniería de requisitos en las relaciones globales entre clientes y desarrolladores”, y por ultimo por parte de las industrias se tomaron opiniones como “Barreras de comunicación que existen entre desarrollador y cliente”, “Selección y combinación de técnicas de ingeniería de requerimientos adecuadas para un proyecto en particular según las características del proyecto” y “Hacer que la educación en ingeniería de requerimientos sea relevante desde el punto de vista industrial y brindar experiencia organizativa a los estudiantes”.
Existen algunos autores que realizaron una investigación que supone solventar estas problemáticas en dentro de este proceso, por ejemplo, Mohebzada, J., Ruhe, G., & Eberlein, A. (2012), nos dicen “Nuestro análisis de los estudios muestra que no hay ninguna o solo una evaluación limitada de los sistemas o métodos de recomendación. En la mayoría de los casos, un sistema de recomendaciones se evalúa en un solo conjunto de datos, y el 86% de los sistemas presentados no se evalúan en un entorno industrial. La evaluación de los sistemas de recomendación en general es costosa y requiere mucho tiempo, pero es necesaria para comprender realmente la efectividad del sistema y ayudar a la adopción de los sistemas en proyectos de la vida real.”, proponiendo como solución a esto emplear el uso de sistemas de recomendación.
Como conclusión los ingenieros de requisitos tienen que lidiar con un gran espacio de información. También es importante tener en cuenta que la especificación de requisitos no es una tarea única, sino que evoluciona con el tiempo para reflejar las realidades del proyecto. Esto hace que la tarea sea aún más desafiante, y viendo todas las problemáticas que parten desde la posible falla de herramientas que nos da la literatura del análisis de requisitos en la educación de la ingeniería de requerimientos hasta la posible falta de comprensión del entorno en que se encontrara el proyecto por parte del ingeniero de software, es posible afirmar que estas problemáticas podrían ser disminuidas con un mayor enfoque de la realidad a la hora de desarrollar los proyectos, ya que las habilidades desarrolladas dentro de la practica serian de vital importancia para el desarrollo de las experiencias del ingeniero de software y así evitar el fallo de sistemas o inclusive proyectos.
Referencias - formato ACM
• Jamshaid G. Mohebzada, Guenther Ruhe, and Armin Eberlein. 2012. Systematic mapping of recommendation systems for requirements engineering. In Proceedings of the International Conference on Software and System Process (ICSSP '12). IEEE Press, Piscataway, NJ, USA, 200-209.
• Rafia Naz Memon, Rodina Ahmad, and Siti Salwah Salim. 2010. Problems in requirements engineering education: a survey. In Proceedings of the 8th International Conference on Frontiers of Information Technology (FIT '10). ACM, New York, NY, USA, , Article 5 , 6 pages. DOI=http://dx.doi.org.bdbiblioteca.ufps.edu.co:2048/10.1145/1943628.1943633
• William Bail. 2010. Effective requirements engineering. In Proceedings of the ACM SIGAda annual international conference on SIGAda (SIGAda '10). ACM, New York, NY, USA, 1-2. DOI=http://dx.doi.org.bdbiblioteca.ufps.edu.co:2048/10.1145/1879063.1879065
Comentarios
Publicar un comentario