::Revista Quaderns Digitals :: nº 64 :: ISSN 1575-9393 ::


Metodología para el desarrollo de un portal educativo basada en especificación de requerimientos

Alejandra Tuesta, Zulma Cataldi y Carlos Neil


Alejandra.Tuesta@UAI.edu.ar, Zulma.Cataldi@UAI.edu.ar, Carlos.Neil@UAI.edu.ar


Facultad de Tecnología Informática. Universidad Abierta Interamericana

Chacabuco 90, 1er Piso. Capital Federal (C1069AAB)

Buenos Aires. ARGENTINA

Resumen


En este artículo se presenta un proyecto que se inició en razón de que los portales educativos hoy día no se basan en una buena definición de requerimientos. Por este motivo se propone elaborar una metodología que permita incorporar los principios de la ingeniería de requerimientos en el desarrollo de un portal. Para ello, se siguen las bases de las teorías de aprendizaje más actúales y los principios de ingeniería de requerimientos.


Palabras clave: portales educativos, ingeniería de requerimientos



1. Introducción


En la actualidad los portales educativos no se observa que se desarrollen siguiendo los criterios y pautas de la Ingeniería de Requerimientos, no se especifican claramente los requerimientos. Por este motivo se propone una metodología de desarrollo que contemple los conceptos de especificación de requerimientos, la cual permitirá minimizar errores en etapas de desarrollo posteriores y comprender claramente las necesidades de los usuarios.

Piattini (1996) dice que no hay un consenso sobre el concepto de metodología y que no existe una definición universalmente aceptada. Se la puede considerar como un conjunto de pasos y procedimientos que deben seguirse para el desarrollo del software. En función de esta definición la investigación se basará en proponer para el desarrollo de portales educativos, ya que su objetivo es proporcionar procedimientos, técnicas y herramientas, que ayuden a los desarrolladores a integrar las actividades de la ingeniería de requerimientos en forma adecuada.

En relación a la definición de portal, algunas coinciden al señalar que los portales son aplicaciones Web, que representan un punto de acceso a Internet y se basan en el perfil del usuario para mostrarle información, además permiten personalizar el contenido de la interfaz de acuerdo a las características del usuario. (Toral, 2001; Greenberg, 2003). El análisis de los requisitos es fundamental en el desarrollo de aplicaciones Web, y es por ello que la propuesta metodológica pondrá énfasis en su integración. En este sentido, la ingeniería de requerimientos cumple un rol importante en el proceso de producción.

Bruner (1998), habla del proceso educativo como proceso de incorporación a las formas de comprensión y adecuación para la vida, en una sociedad y una cultura , donde las formas habituales de educación se generan en contextos de acción en los que el aprendizaje se produce casi como subproducto de operar en general, directamente con el mundo.


La forma tradicional de aprendizaje por recepción ha cambiado, la tecnología aporta nuevas formas de comunicación, de aprender, de enseñar etc., el manejo responsable de las nuevas herramientas propone un desafío para el nivel de educadores y educandos.

La Tecnología educativa al igual que la Didáctica, se preocupa por las prácticas de la enseñanza, pero a diferencia de esta, incluye entre sus preocupaciones el análisis de la teoría de la comunicación y de los nuevos desarrollos tecnológicos: la informática, el video, la tv, la radio, el audio, etc. Litwin (1993).


Los portales brindan nuevas oportunidades de aprendizaje con acceso a Internet. Los contenidos se distinguen por su hipertextualidad, estructura multimedial e interactividad. La combinación de dichas características permite al usuario desempeñar un rol activo en la selección, construcción y en el intercambio de conocimientos. La creación y el desarrollo de portales educativos abiertos son de gran importancia para la Educación Superior en América Latina (Cyranek, 2010).


Sobre el término de Tecnología, el Diccionario de la Real Academia (1992) daba las siguientes acepciones: a) Conjunto de los conocimientos propios de un oficio mecánico o arte industrial. Esta acepción era incompleta porque hay tecnologías que no corresponden a oficios mecánicos, como las informáticas. Era ambigua porque sugería una inexistente relación entre tecnologías y artes. Era tautológica porque las que antiguamente se denominaban artes industriales hoy se denominan técnicas, concepto que en el habla cotidiana es sinónimo de tecnología, b) Tratado de los términos técnicos. Esta acepción se refiere sólo a la terminología técnica, la parte verbalmente expresable de los saberes tecnológicos, c) Lenguaje propio de una ciencia o de un arte. Esta acepción es similar a la anterior, d) Conjunto de los instrumentos y procedimientos industriales de un determinado sector o producto. Esta acepción es sólo aplicable a las tecnologías industriales.


La versión 2006 del Diccionario de la Real Academia ha reemplazado la primera acepción por la siguiente: Conjunto de teorías y de técnicas que permiten el aprovechamiento práctico del conocimiento científico. Esta acepción asimila la tecnología a ciencia aplicada o tecno-ciencia, lo que sólo es válido para algunas tecnologías, las basadas en saberes científicos.


El desarrollo de la tecnología ha hecho posible vivir en algunos aspectos, mejor de lo que se podía pensar en el pasado, la tecnología informática continúa mejorando nuestra calidad de vida tanto a nivel laboral como personal. Se suma también el manejo de Internet, la gran red de redes que involucra no solo el manejo operacional, sino el análisis del contenido que allí se encuentra. Desde que Internet se hizo de uso público, ha cambiado y mejorado de muchas maneras, es tan común que se ha convertido en parte de nuestra vida diaria, cambiando el método de cómo compartimos y encontramos información, estamos en contacto, solicitamos servicios, etc.


Navegar por Internet es un fenómeno global, su influencia y expansión no tienen fronteras, siendo sus posibilidades muy extensas. Para poder realizar cualquier desarrollo, en este caso en relación a la web es importante conocer claramente cuál es el dominio del problema y realizar un proceso de elicitación.


Se Identificaron las siguiente prioridades para aumentar el impacto de recursos educativos abiertos 1) sensibilización y promoción; 2) capacitación; 3) comunidades de investigación y trabajo en red; 4) herramientas tecnológicas; 5) servicios de apoyo al aprendizaje; 6) investigación; 7) marco político; 8) certificación de la calidad; 9) financiamiento y 10) sustentabilidad. La utilidad de los recursos educativos abiertos para la construcción de sociedades del conocimiento es un esfuerzo conjunto de la comunidad académica que podrá brindar avances significativos en las áreas prioritarias especificadas (Cyranek, 2010).


Se requiere la creación y el desarrollo de una infraestructura tecnológica para soportar el alojamiento, gestión y distribución de contenidos digitales de todo tipo (documentos, presentaciones, imágenes, audio y video) a un bajo muy costo, con un alto índice de fiabilidad, un alto grado de usabilidad, de fácil implementación, que cumpla con los estándares actuales de la web, que garantice la accesibilidad a personas con discapacidad y que sus requerimientos de hardware  sean mínimos. Estas características garantizarían el desarrollo e impulso exitoso de diversos proyectos a varios niveles educativos, gracias a la baja inversión que tendrían que realizar las instituciones para poder crear, alojar, gestionar y distribuir los recursos educativos abiertos (Navas Piñate y Rodríguez Febres, 2010).

Una infraestructura tecnológica de este tipo, debe desarrollarse desde las instituciones educativas y centros de investigación que posean la experiencia y el conocimiento necesario para garantizar una plataforma idónea para el uso de los recursos educativos abiertos y debe enmarcarse dentro de las políticas gubernamentales para el impulso y desarrollo de las tecnologías de información y comunicación en el campo educativo con la intencionalidad de obtener el apoyo financiero e institucional que garantice el éxito y la continuidad del proyecto en el tiempo” (Navas Piñate y Rodrígez Febres, 2010).


2. La ingeniería de requerimientos


La Ingeniería de requerimientos es un proceso que comprende las actividades a realizar para establecer lo que requiere el cliente, y con esos requerimientos identificados y validados se lleva a cabo el desarrollo del sistema.

Según Goguen (1994): “uno de los aspectos más importantes de la ingeniería de requerimientos es la comunicación, característica esta que vuelve el proceso complejo por la alta presencia del factor humano que contiene y es la responsable de que la disciplina contenga aspectos sociales y culturales y no solo de índole técnica”.


Entonces la ingeniería de requerimientos utiliza métodos, técnicas y herramientas que le permiten descubrir, documentar y mantener requerimientos de los usuarios del sistema a desarrollar. Teniendo como meta entregar una especificación de requerimientos de software correcta y completa.

Loucopoulos, (1995) define elicitación como el proceso de adquirir todo el conocimiento relevante necesario para producir un modelo de los requerimientos de un dominio de problema. Según la Real Academia Española (2006): a) Requisito es la circunstancia o condición necesaria para algo, b) Requerimiento es la acción y efecto de requerir.


Para realizar esta tarea se aplican técnicas para facilitar las especificaciones de la aplicación , este enfoque es partidario de la creación de un grupo compuesto por clientes y desarrolladores que trabajaran en conjunto para identificar el problema, brindar diferentes enfoques y especificar un conjunto preliminar de requisitos. (Pressman, 2002). La Ingeniería de Requerimientos desarrolla un papel fundamental en el proceso de producción de software, se encarga de definir claramente aquello que se desea realizar. Se desarrollan especificaciones correctas que describen con claridad, sin ambigüedades, en forma consistente, el comportamiento del sistema, de esta manera se logra minimizar los problemas relacionados al desarrollo de sistemas, que de otra manera se arrastrarían en etapas posteriores.


El éxito del software depende de desarrollar una sociedad de colaboración entre el grupo de desarrolladores y sus clientes, es importante establecer claramente los requerimientos para ser cumplidos (Wiegers, 1995). La Ingeniería de Requerimientos ayuda a los ingenieros de software a entender mejor el problema en cuya solución trabajarán. Incluye el conjunto de tareas que conducen a comprender cuál será el impacto del software sobre el negocio, qué es lo que el cliente quiere y cómo interactuarán los usuarios finales con el software. (Pressman, 2006).


Sommerville, (2005) define a la Ingeniería de Requerimientos como el proceso de desarrollar una especificación de software, las cuales pretenden comunicar las necesidades del sistema del cliente a los desarrolladores del sistema. (Sommerville, 2005). Algunos proyectos fracasan por no haber realizado un estudio previo de los requerimientos, es por esta razón que se pretende especificar la importancia que tiene la Ingeniería de Requerimientos dentro del ciclo de desarrollo de un sistema, para lo cual es recomendable seguir el estándar de las especificaciones de requerimientos elaborada por la IEEE (1984).


Los desarrolladores de diferentes empresas, no solo deben conocer los aspectos técnicos, sino los de planeación y coordinación de soluciones que permitan progresar tecnológicamente (Salinas, 2007). Es importante establecer las prioridades de los requerimientos, los clientes y los desarrolladores deben colaborar en la priorización de los requisitos. Si los clientes no distinguen sus requisitos por importancia y urgencia, el gestor de proyecto debe tomar estas decisiones. Se deben balancear funciones, necesidades del negocio, costos, etc. (Wiegers, 1999).


Los requerimientos puedes dividirse en requerimientos funcionales y requerimientos no funcionales. Los requerimientos funcionales definen las funciones que el sistema será capaz de realizar. Describen las transformaciones que el sistema realiza sobre las entradas para producir salidas. Los requerimientos no funcionales tienen que ver con características que de una u otra forma puedan limitar el sistema, como el rendimiento, interfaces de usuario, fiabilidad, mantenimiento, seguridad, etc.


Las características de un requerimiento son sus propiedades principales, estas características permiten al ser especificas poder cumplirse y de esta forma lograr la satisfacción del usuario. Existen ciertas dificultades para definir los requerimientos, en muchos casos no son obvios y vienen de muchas fuentes, la cantidad puede ser extensa y de diferentes niveles, puede ser que se relacionen unos con otros. Puede ocurrir que un requerimiento cambie a lo largo del desarrollo y por otro lado también son difíciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada proyecto. Cada requerimiento tiene propiedades únicas y se refiere a aéreas funcionales especificas.


Un requerimiento debe tener las siguientes características:

  1. Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir, y además su capacidad, características físicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso.

  2. Conciso: Un requerimiento es conciso si es fácil de leer y entender. Su redacción debe ser simple y clara para aquellos que vayan a consultarlo en un futuro.

  3. Completo: Un requerimiento está completo si no necesita ampliar detalles en su redacción, es decir, si se proporciona la información suficiente para su comprensión.

  4. Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento.

  5. No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola interpretación. El lenguaje usado en su definición, no debe causar confusiones. al lector, y

  6. Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes métodos de verificación: inspección, análisis, demostración o pruebas.


El objetivo de la Ingeniería de Requerimientos es entregar una especificación de requisitos de software correcta y completa.

A través de la metodología que se desarrolle se podrá sistematizar el conocimiento en el área que integra la ingeniería de requerimientos para los portales educativos, permitiendo responder satisfactoriamente a las necesidades de los usuarios y evitar errores que puedan arrastrarse a etapas de desarrollo posteriores.

La parte más difícil en la construcción de un sistema es saber qué es lo que se desea construir. Establecer los requerimientos técnicos detallados, incluyendo todas las interfaces con gente, máquinas y otros sistemas es difícil ya que ninguna otra parte del trabajo afecta tanto el sistema como los requisitos del mismo ya que es muy difícil de corregir más adelante. Por ello, la tarea que el ingeniero de software hace para el cliente es la extracción en forma iterativa y el refinamiento de los requerimientos del producto (Brooks, 1987).

La ingeniería de requerimientos dispone de las siguientes actividades:

  1. Extracción: Esta fase representa el comienzo de cada ciclo. Se refiere a las actividades involucradas en el descubrimiento de los requerimientos del sistema.

  2. Análisis: Esta fase se enfoca en descubrir problemas con los requerimientos del sistema identificados hasta el momento.

  3. Especificación: En esta fase se documentan los requerimientos acordados con el cliente, en un nivel apropiado de detalle.

  4. Validación: La validación es la etapa final de los requerimientos y su objetivo es, ratificar los requerimientos verificando los requerimientos que aparecen en el documento especificado para asegurarse que representan una descripción, aceptable del sistema que se debe implementar. Esto significa verificar que los requerimientos sean consistentes y que estén completos.


Entre las técnicas y herramientas empleadas en las actividades de ingeniería de requerimientos se pueden destacar: a) Entrevistas y cuestionarios b) Sistemas existentes, c) Grabaciones de video y de audio, d) Brainstorming (tormenta de ideas), e) Arqueología de documentos, f ) Observación, d) Prototipos, e) Análisis FODA (Fortalezas, Oportunidades, Debilidades y Amenazas), f) Modelo de clase conceptual, Diagrama Conceptual, Diagrama de Clases Conceptual, g) Casos de uso, etc.


El desarrollo de aplicaciones Web involucra decisiones importantes de diseño y de implementación que influyen en todo el proceso de desarrollo; el alcance de la aplicación y el tipo de usuarios son consideraciones tan importantes como las tecnologías elegidas para realizar la implementación. De esta forma, así como las tecnologías pueden limitar la funcionalidad de la aplicación, decisiones de diseño equivocadas también pueden reducir la satisfacción del usuario. Por lo tanto, desde el punto de vista de la ingeniería del software, es importante proveer mecanismos adecuados que influyan directamente en su construcción, para que la realización de este tipo de aplicaciones satisfaga las necesidades tanto de los usuarios como de los clientes que contratan el desarrollo de este tipo de aplicaciones (Giugni y Loaiza, 2008).


3. Metodología de trabajo

Para poder llevar a cabo la propuesta he pensado dividir el proyecto en las siguientes etapas.

Etapa 1: Se analizará la bibliografía para determinar el estado del arte. Esto Involucra la lectura, análisis y clasificación del material que será utilizado para la confección del trabajo. Consta de revisión de la literatura a través de de libros, bases bibliográficas, sitios web de Centros de investigación congresos, tesis, etc.

Etapa 2: Se realizará el análisis de los requerimientos para la confección de los Portales Educativos.

Etapa 3: Se desarrollará el diseño y desarrollo de la metodología

Etapa 4: Se efectuará la evaluación de la metodología medinate un conjunto de expertos en la temática. Se les entregará un cuestionario que permitirá establecer el grado de acercamiento a los objetivos propuestos.


Finalmente se elaborarán las conclusiones y mejoras según corresponda.


La investigación se desarrollará en el CAETI (Centro de Altos Estudios en Tecnología Informática) cuya misión es originar, coordinar y desarrollar proyectos de investigación dentro de la Universidad Abierta Interamericana. Se utilizara toda la infraestructura con la que cuenta dicha la Universidad, laboratorios, bases de datos bibliográficas y su Biblioteca para el acceso a Journals de la temática.

4. Conclusiones y pasos a seguir

Se ha detectado una carencia en el diseño de los portales educativos. Por ello, se propone la metodología que se basa en la incorporación de la ingeniería de requerimientos en el diseño y desarrollo de los mismos.

Es importante señalar que la especificación de requerimientos completa y consistente, es esencial para obtener un desarrollo de software de calidad, “La parte más difícil en  la construcción de sistemas de software es decidir precisamente qué construir” (Brooks, 1987). El desarrollador entender el contexto por lo que una comprensión correcta de las fases tempranas del desarrollo reducirá la ocurrencia de errores.

El proyecto permitirá un desarrollo que se pueda ajustar a las necesidades educativas de los usuarios. Se pudo establecer que para una buena definición de las necesidades se debe aplicar las técnicas y métodos de las ingenierías de requerimientos a fin de poder logara un marco de trabajo que permita desarrollar portales mejor definidos.

La propuesta metodológica, se podrá reforzar integrando estándares de usabilidad a fin de obtener una metodología más completa y logara mayor calidad en el producto.

Referencias


BROOKS, F. P. (1987). No Silver Bullet: Essence and Accidents of Software Engineering. Computer, 20(4), 10-19.

BRUNER, J., (1988) Desarrollo cognitivo y educación, Madrid: Ediciones Morata.

CYRANEK, G, (2010) El papel de portales educativos para la construcción de sociedades del conocimiento. Oficina Regional de Ciencia de la UNESCO. Boletín IALSEC informa de Educación Superior setiembre.

DICCIONARIO DE LA REAL ACADEMIA ESPAÑOLA Ediciones 1992 y 2006

GIUGNI, M. O. y LOAIZA, B. (2008) Metodología para el desarrollo de portales centrada en el usuario para una evaluación empírica. Volumen 7 Edición No 3.

GOGUEN, J: (1994) Requirements Engineering as the Reconciliation of social and Technical Issue. Academic Press.

GREENBERG, P. (2003). CRM Gestión de relaciones con los clientes. Mc Graw Hill Interamericana de España

IEEE 830-1984 Especificación de Requerimientos de Software ERS Estándar 830-1993 IEEE (revisión del std IEEE 830-1984 - 1984)

LITWIN, E. Los cambios educativos: Calidad e innovación en el marco de la Tecnología Educativa . Paidos Bs. As., 2000

LOUCOPOULOS, P y KARAKOSTAS,V. System Requirements Engineering. Mc Graw-Hill, 1995

NAVAS PIÑATE, E. y RODRÍGUEZ FEBRES, M. (2010) ¿Cuáles son los retos que debemos enfrentar para darle mayor cabida a los Recursos Educativos Abiertos en los procesosde enseñanza y aprendizaje? Boletín IALSEC informa de Educación Superior setiembre.

PIATTINI, M. (1996). Análisis y Diseño Detallado de Aplicaciones Informáticas de Gestión. Rama. Madrid.

PRESSMAN, R.S. Ingeniería del Software.Un enfoque practico. Mc Graw Hill, 2006

SALINAS, A. Obstáculos en la Gestión de Proyectos en Tecnologías de Información y Comunicación, 2007

SOMMERVILLE, I. Ingenieria de Software·. Pearson, 2005

TORAL, L., (2001). De página a portal y de portal a... Universidad Nacional Autónoma de México. Dirección General de Servicios de Cómputo Académico. Nro. 1. Septiembre. http://www.enterate.unam.mx/Articulos/2001/septiembre/depagina.htm. Consultado el 02/09/10.

WIEGERS, K. Customer Right and Responsabilities. Journal of the Quality Assurance Institute, January 1995a.

WIEGERS, K. First Things First: Prioritizing Requirements Software Development, September 1999.

WIEGERS, K. In Search of excellent requirements Journal of the Quality Assurance Institute, January 1995a.



Los autores son profesores investigadores de la carrera de Ingenieria en Sistemas Informáticos de la Facultad de Tecnología Informática. Universidad Abierta Interamericana.