Soporte para la ingeniería de requerimientos orientada a aspectos en documentos de gran tamaño
La ingeniería de requerimientos es una tarea fundamental en el proceso de comprensión de cómo debe comportarse el sistema que está siendo construido. Los sistemas complejos incluyen cientos o miles de requerimientos sobre múltiples incumbencias, tanto funcionales como no funcionales. Para algunos sistemas, las fuentes de requerimientos son muchas, resultando en varios -en muchos casos extensos- documentos. En ciertos casos, los requerimientos coinciden de forma directa con las incumbencias de la aplicación, lo que les permite ser limpiamente encapsulados en diferentes módulos del sistema resultante. Sin embargo es común encontrar situaciones donde esta premisa no se cumple, tomando por ejemplo la obligación de registrar (logging) todas las acciones del sistema. La correspondiente incumbencia, el registro, no puede ser limpiamente encapsulada en un módulo, ya que afecta a muchas de las partes del sistema. Las incumbencias transversales atraviesan la estructura de requerimientos a lo largo de los diferentes documentos que componen la especificación del sistema. El seguimiento de este tipo de incumbencias a lo largo de todo el documento de requerimientos, viendo a qué requerimiento afecta, es una tarea compleja. AORE ataca la problemática de los requerimientos complejos cuando estos son difíciles o imposibles de encapsular en módulos separados. Conocida también esta práctica como Early Aspects, AORE modela una primera impresión de estas incumbencias transversales como aspectos (en sentido de Aspect Oriented Programming), identificando y caracterizando la influencia que cada uno tiene sobre otros requerimientos del sistema. Estos requerimientos que afectan a muchos otros se los conocen con el nombre de Cross Cutting Concerns (CCC). El trabajo desarrolla una herramienta para el seguimiento de las incumbencias transversales, para ayudar al Ingeniero de Requerimientos.