Sei sulla pagina 1di 14

Herramienta para la construcción de metamodelos de

código java, para estudiantes de Ingeniería de Sistemas


en la universidad CESMAG

NOMBRE ESTUDIANTE

Datos universidad
Pasto-Colombia
7correo@gmail.com

1. Objeto o tema de investigación

El tema de investigación tratado son los metamodelos usados en el


paradigma de desarrollo dirigido por modelos (MDD).

2. Área de investigación

Tecnologías de la información y la comunicación (TIC) Se denomina


Tecnologías de la Información y la Comunicación al conjunto de procesos y
productos, basados en herramientas de hardware y software para el
almacenamiento, procesamiento, gestión y transmisión de información,
experimentando un espacio de reflexión en torno a la educación como
proceso de formación del hombre como ser multidimensional. (Revelo
Zambrano, 2015)

3. Línea de investigación

Desarrollo de aplicativos para la gestión de la información (DAGI), esta línea


se orienta al estudio de aspectos formales para afrontar el reto de una buena
gestión de la información, para garantizar el éxito de esta etapa es
fundamental acometer el proceso siguiendo tres pasos claramente definidos:
la planificación, el almacenamiento y la implementación de soluciones
tecnológicas bajo software libre. (Revelo Zambrano, 2015)

4. Planteamiento del problema

Los grupos de trabajo del desarrollo de software como los diseñadores,


desarrolladores, analistas entre otros, en la fase de construcción se suele
tomar como tarea principal los diseños del producto, que luego se tomará
como guía por los desarrolladores al momento de escribir el código fuente, el
problema se encuentra en que el software no es un elemento estático sino
que por el contrario en algo que siempre está en constante crecimiento, esto
hace que se deba hacer un constante mantenimiento al producto pero este
mantenimiento y actualización solo se realiza en el código fuente y en la
mayoría de los casos todos los diseños se dejan de lado y se mantienen
desactualizados.

Cada día nuevas herramientas y aplicaciones salen al mercado con un


desarrollo tecnológico o enfoque novedoso que los usuarios adoptan
rápidamente, lo cual no solo es algo que solo pasa hoy en día, como lo
muestra (Escuela superior de ingenieros de la universidad de sevilla) en
donde uno de los problemas que resalta del desarrollo incluso antes del 2009
fue que el software era complejo y el rápido cambio de las tecnologías era
difícil seguir para todos , esto hoy en día ha convertido al desarrollo de
software en un ambiente caótico en donde es difícil saber a ciencia cierta qué
puede pasar, esto hace que un producto que no sea novedoso o que no
tenga las tecnologías del mercado actual sea considerado por los usuarios
como algo obsoleto que al final nadie va a utilizar.

El mundo actual en el que vivimos partiendo un poco del contexto que nos da
(Durán Muños, Troya Castilla, & Vallecillo Moreno), las aplicaciones y
herramientas de software se han vuelto tan grandes y complejas que no solo
el hecho de construir software se vuelve una tarea compleja si no también el
mantenerlas en funcionamiento, actualizadas y seguras es una proeza en sí
mismo.

De acuerdo a lo anterior podemos detectar que existe un gran bache entre en


desarrollo y la documentación del proyecto ya que la documentación puede
llegar a convertirse en una tarea tediosa para algunos desarrolladores lo cual
conlleva a dejar de lado o enfocar pocos recursos a este aspecto tan
importante del proyecto.

El problema que se presenta es complicado y difícil de mitigar el cual puede


convertir al mundo del desarrollo de software un mudo difícil de entender y
estudiar, ya que si no se presta atención a la documentación y a los
diagramas con los cuales se basa todo el software no ayudaran si no que por
el contrario confundirán a los desarrolladores que traten de actualizar o
cambiar aspectos de un producto de software.

5. Formulación del problema

¿Cuál es el impacto que puede tener en los estudiantes de ingeniería de


sistemas de la universidad CESMAG, el uso herramientas que le faciliten la
construcción de software de forma rápida y efectiva?
6. Objetivos

6.1. Objetivo general

Construir una herramienta con la cual los estudiantes puedan importar


código fuente escrito en java con metamodelos de forma gráfica.

6.2. Objetivos específicos

● Caracterizar el modelo que siguen los estudiantes para escribir


el código de sus proyectos de software, comenzando desde la
planificación, hasta el momento en que determinan las
principales características que priorizan, al momento de escribir
código
● Diseñar una interfaz que tenga las herramientas necesarias
para ser productiva y que sea sencilla de entender.
● Validar el aplicativo mediante pruebas de caja negra
● Evaluar el aplicativo teniendo en cuenta la adaptación de los
estudiantes con el sistema

7. Justificación

Se pueden resolver diferentes problemas asociados a la construcción de


software a gran escala ya que se automatizan procesos haciendo el proceso
de construcción mucho más rápido, ya que los metamodelos hacen parte de
un concepto fundamental del desarrollo dirigido por modelos (MDD), el cual
tiene algunos puntos claves definidos por (Pons, Glandini, & Pérez, 2010) “el
aumento de confianza en la automatización asistida por computadores,
añadir un mayor nivel de abstracción en la especificación tanto del problema
a resolver como de la solución correspondiente”.

Esto con el fin de tener como objetivo principal según (Cedillo, 2012) elevar el
nivel de abstracción en el que operan los desarrolladores y al mismo tiempo
reducir tanto la cantidad de esfuerzo del desarrollador como la complejidad
de los artefactos de software que usan los desarrolladores. Todo esto se
traduce en menos tiempo de producción y menos costos al momento de
producir software.

Puede parecer que algunos de los puntos fundamentales de MDD como el


elevar el nivel de abstracción con el que se construyen programas conlleve a
un menor control del mismo, cuando realmente podemos ver que el problema
que se trata de resolver puede estar mucho mejor estructurado, y de esta
manera un proyecto complejo se puede reducir a algo comprensible y
manejable; llevando estos beneficios a un contexto educativo según un
artículo llamado “Desarrollo dirigido por modelos (MDD) en el contexto
educativo” (Pascuas Rengifo, Mendoza Suarez, & Cordoba Correa, 2015)
investigan cual es el impacto que pueden presentar adaptar el paradigma de
MDD según diferentes autores, los cuales coinciden en que a pesar de ser un
enfoque de desarrollo actual cada vez más popular, aún no está
completamente claro en la industria, es un reto en sí mismo tratar de cambiar
en una empresa el modelo con el que trabajan y desarrollan software, puesto
que con este paradigma el proceso de arquitectónico es más estructurado y
riguroso; también manifiestan el desafío relacionado con el uso con el uso de
MDD cuando este es implementado, incluso a pesar de las grandes ventajas
que este proporciona, el apoyo de al proceso MDD todavía no está bien
establecido, hay información dispersa y se encuentra poco material publicado
sobre su uso.

Entonces, dadas las problemáticas que presentan gran parte de las


empresas que tratan de adoptar este paradigma, se ve como una necesidad
enseñar o cualificar a los estudiantes por lo menos de manera en que los
aspirantes que empiezan a trabajar contribuyendo en una empresa o
montando su propia empresa, puedan abordar el paradigma de MDD no
como un reto complejo y visto casi imposible de implementar sino como una
herramienta que les brinde ventajas y un valor agregado a sus proyectos de
software.

8. Delimitación

Esta investigación será realizada en la universidad CESMAG, con el tema


propuesto de herramienta para la construcción de metamodelos de código
java, para estudiantes de ingeniería de sistemas en la universidad CESAMG,
la realización de esta investigación se llevará a cabo desde el 10 de febrero
del 2020 hasta el 29 de agosto del 2020, teniendo este una totalidad de 7
meses en los cuales se realizarán las distintas fases de la investigación.

9. Antecedentes iniciales
9.1. Antecedentes internacionales

9.1.1. Título del articulo: The pragmatics of model-driven


development
Autores: Bran Selic
Año de publicación: 2003
Resumen: Using models to design complex systems is de rigeur in
traditional engineering disciplines. No one would imagine constructing
an edifice as complex as a bridge or an automobile without first
constructing a variety of specialized system models. Models help us
understand a complex problem and its potential solutions through
abstraction. Therefore, it seems obvious that software systems, which
are often among the most complex engineering systems, can benefit
greatly from using models and modeling techniques. However, for
historical reasons, models in software engineering are infrequent and,
even when used, they often play a secondary role. Yet, as we shall
see, the potential benefits of using models are significantly greater in
software than in any other engineering discipline. Model-driven
development methods were devised to take advantage of this
opportunity, and the accompanying technologies have matured to the
point where they are generally useful. A key characteristic of these
methods is their fundamental reliance on automation and the benefits
that it brings. However, as with all new technologies, MDD's success
relies on carefully introducing it into the existing technological and
social mix. To that end, I cite several pragmatic criteria-all drawn from
industrial experience with MDD. (Selic, 2003)

9.1.2. Titulo del articulo: Model-Driven Development


Autores: Anthony Clark, Takao Futagami, Sthephen Mellor
Resumen: Model-driven development is simply the notion that we can
construct a model of a system that we can then transform into the real
thing.By this definition, we are all—right now—model-driven
developers. When we write a program in Smalltalk, Java, or C#, we
don't expect it to execute directly. We expect it to be transformed into
the language of some virtual machine that can cause our model to do
its job.But this is not how many developers think about "models" today.
Too often, they equate models with simply drawing pictures—removed
from real systems development and needlessly heavy on process.
Before deconstructing this narrow perception, let's take a deeper look
at what a model is and isn't. (Clark, Futagami, & Mellor, 2003)

9.1.3. Título del proyecto: Un enfoque MDD para el desarrollo de


aplicaciones móviles nativas enfocadas en la capa de datos.
Autores: Manuel Núñez
Resumen: Diariamente nos beneficiamos con el uso de los teléfonos
móviles inteligentes, constituyendo una parte esencial de nuestra vida
diaria. La variedad de teléfonos móviles inteligentes disponibles hoy día
en el mercado es muy amplia. Este ambiente fragmentado es uno de los
principales retos para los desarrolladores de aplicaciones móviles en la
actualidad, donde el esfuerzo de desarrollo de aplicaciones específicas
para cada plataforma se incrementa casi linealmente ante tan profundas
diferencias, afectando la portabilidad de las mismas y teniendo que
desarrollar cada aplicación prácticamente de cero. Por otra parte, el
desarrollo de aplicaciones móviles implica manejar los recursos
limitados del dispositivo, en especial, la conectividad. La mayoría de las
aplicaciones se encuentran en constante conexión con datos remotos,
y no tener en cuenta este aspecto puede resultar en aplicaciones con
poca usabilidad, que sin conexión de red quedan prácticamente
inutilizables, sin contenido para mostrar. Ante esto, se recomienda usar
el almacenamiento en caché para mejorar el rendimiento de la
aplicación, permitiendo el acceso a la información y servicios cuando no
haya conexión a red. Del estudio que llevamos a cabo, destacamos la
necesidad de especificaciones para describir la persistencia en el
modelado de aplicaciones móviles y la poca adopción de la Arquitectura
Dirigida por Modelos (MDA). Pretendemos cubrir conceptualmente la
persistencia en el desarrollo de aplicaciones móviles, mediante
elementos específicos que permitan tener en cuenta las distintas
opciones y mecanismos de persistencia en el modelado, a fin de
posibilitar el almacenamiento de datos incluso sin conexión de red, y
considerando la conexión con fuentes remotas. En una arquitectura
multicapas, estos conceptos se ubicarían en la capa de datos. Existen
distintas tendencias para el desarrollo de aplicaciones móviles.
Destacando aquellos enfoques (semi)automatizados, encontramos los
frameworks y los enfoques de Desarrollo Dirigido por Modelos (MDD).
Como parte del marco investigativo de este proyecto, el Enfoque de
Desarrollo Web Orientado a Modelos (MoWebA) es un enfoque
metodológico MDD para el desarrollo de aplicaciones web que adopta
el estándar MDA..Entre los aspectos de MoWebA que podrían tener
impacto positivo en el problema de la portabilidad en el desarrollo de
aplicaciones móviles, destacamos el enriquecimiento de los modelos
existentes en orden a considerar aspectos relacionados a la arquitectura
final del sistema, gracias a su Modelo Específico de la Arquitectura
(ASM). Mediante este modelo se podría analizar la posibilidad de
representar aplicaciones móviles, utilizando conceptos específicos de la
arquitectura y plataforma móvil. Este Proyecto Final de Carrera propone
un enfoque MDD, mediante la extensión de MoWebA, para el desarrollo
de aplicaciones móviles nativas enfocadas en la capa de datos. Nuestra
propuesta MoWebA Mobile parte de la extensión del metamodelo y perfil
de MoWebA. A partir de las extensiones al Modelo Independiente de la
Plataforma (PIM) de MoWebA, obtuvimos el ASM móvil para el
desarrollo de aplicaciones móviles enfocadas en la capa de datos,
posibilitando el diseño de la persistencia, así como los proveedores de
datos de la aplicación móvil. (Nuñez, 2017)

9.1.4. Titulo del proyecto: Desarrollo dirigido por modelos


Autores: Duran Muños, Troya Castilla, Vallecillo Moreno
Resumen: El desarrollo de software dirigido por modelos (denominado MDD
por su acrónimo en inglés, model-driven development) es una propuesta para
el desarrollo de software en la que se atribuye a los modelos el papel
principal, frente a las propuestas tradicionales basadas en lenguajes de
programación y plataformas de objetos y componentes software. El propósito
de MDD es tratar de reducir los costes y tiempos de desarrollo de las
aplicaciones software y mejorar la calidad de los sistemas que se construyen,
con independencia de la plataforma en la que el software será ejecutado y
garantizando las inversiones empresariales frente a la rápida evolución de la
tecnología. Los pilares básicos sobre los que se apoya MDD son los
modelos, las transformaciones entre modelos y los lenguajes específicos de
dominio. Estos son precisamente los temas que se cubren en este módulo.
También discutiremos las ventajas que ofrece MDD, así como los principales
retos y riesgos que implica su adopción en la actualidad. (Durán Muños,
Troya Castilla, & Vallecillo Moreno)

9.1.5. Titulo del articulo: Model-driven development: The good, the


bad, and the ugly
Autores: Hailpern, Brent; Tarr, Peri
Resumen: In large software development organizations, increased
complexity of products, shortened development cycles, and heightened
expectations of quality have created major challenges at all the stages of the
software life cycle. As this issue of the IBM Systems Journal illustrates, there
are exciting improvements in the technologies of model-driven development
(MDD) to meet many of these challenges. Even though the prevalent
software-development practices in the industry are still immature, tools that
embody MDD technologies are finally being incorporated in large-scale
commercial software development. Assuming MDD pervades the industry
over the next several years, there is reason to hope for significant
improvements in software quality and time to value, but it is far from a
foregone conclusion that MDD will succeed where previous software-
engineering approaches have failed. (Hailpern & Tarr, 2006)

9.1.6. Título del proyecto: Desarrollo dirigido por modelos basado en


componentes de interfaz de usuario.
Autor: Pablo Martín Vera
Resumen: Esta tesis presenta una metodología de modelado para
aplicaciones web móviles utilizando técnicas de desarrollo dirigido por
modelos (MDD). Mediante la creación de sólo dos diagramas, un
diagrama de datos y un diagrama de interfaz de usuario (que además
incluye la navegación) es posible definir el comportamiento completo
de una aplicación. Por estar esta metodología basada en MDD
incorpora dos transformaciones; la primera desde el modelo de datos a
una versión inicial del modelo de interfaz de usuario, lo que reduce
considerablemente el esfuerzo de modelado, ya que luego ese
segundo modelo solo deberá ser adaptado a las necesidades
particulares. La segunda transformación toma los modelos realizados y
genera el código fuente completo, 100% funcional de una aplicación
web móvil, además del script de la base de datos correspondiente.
Ambos modelos están basados en una extensión conservativa de
UML. El modelo de datos está basado en el diagrama de clases y el
modelo de interfaz de usuario utiliza el diagrama de componentes de
UML. Para poder especificar el comportamiento de la interfaz de
usuario se definen una serie de componentes que a su vez pueden ser
configurados con información tomada del modelo de datos. La
configuración se basa en valores etiquetados propios para cada tipo
de componente. Para facilitar el proceso de construcción de los
modelos y su configuración se ha desarrollado una herramienta de
soporte, que permite no solo modelar, sino también realizar las
transformaciones establecidas en la metodología, obteniendo como
resultado final una aplicación funcional sin escribir una sola línea de
código. Además, esta tesis establece las ventajas de utilizar
componentes configurables en el desarrollo dirigido por modelos,
haciendo que el esfuerzo de programación se realice una única vez al
establecer las transformaciones y que luego pueda ser aplicado a una
amplia gama de aplicaciones de distintos dominios. (Vera, 2015)

9.2. Antecedentes nacionales

9.2.1. Título del proyecto: Desarrollo dirigido por modelos para la


creación de laboratorios virtuales
Autores: Yois Smith Pascuas Rengifo, José Joaquín Bocanegra García,
Edson Johann Ortiz Lozada, José Nelson Pérez Castillo
Resumen: Los laboratorios virtuales apoyan y promueven el
aprendizaje de los estudiantes y aumentan las opciones de
experimentos disponibles en las instituciones educativas. A pesar de
las ventajas pedagógicas que tienen los laboratorios virtuales, se ha
identificado que estas herramientas no cumplen con una
estandarización que permita su interoperabilidad, reutilización y
accesibilidad. Esto ocasiona, entre otras cosas, la creación de
aplicaciones no reutilizables y la inversión en tiempo y costo que esto
supone. Como una posible solución a los problemas mencionados, se
propone la utilización del desarrollo dirigido por modelos para generar
laboratorios virtuales que puedan ser empaquetados en el estándar
SCORM (Sharable Content Object Reference Model) y de esta forma,
estar disponibles para su uso en sistemas de gestión de aprendizaje.
En el caso de estudio, se define, por una parte, un conjunto de
metamodelos que muestran la estructura y funcionalidades genéricas
de los laboratorios virtuales, y por otra parte, una serie de
transformaciones de esos modelos a código para que sean
interoperables con el estándar SCORM. Esta aproximación inicial,
permite elevar el nivel de abstracción y reutilización, ya que los
laboratorios virtuales deben tener la capacidad de ser usados en
diferentes contextos y propósitos educativos, reduciendo
significativamente el tiempo y esfuerzo en su construcción. (Pascuas
Rengifo, Bocanegra Garcia, Ortiz Lozada, & Pérez Castillo, 2012)

9.2.2. Título del proyecto: Herramienta prototipo para generación


automática de servicios web semánticos a través del desarrollo
de software dirigido por modelos.
Autor: Wilman José Vega Castilla
Resumen: Los Servicios Web Semánticos ofrecen beneficios que
coadyuvan a la evolución de la Web. Beneficios como el descubrimiento,
invocación y composición dinámica y automática de recursos, habilitan
efectivamente la interoperabilidad entre sistemas, permitiendo una amplia
gama de nuevos servicios y oportunidades de negocios en la Internet. La
estructura necesaria para proveer estos beneficios por parte de los
Servicios Web Semánticos hace que su desarrollo sea un proceso
complejo. Es necesario establecer formas más fáciles y dinámicas de
desarrollar este tipo de software, que garanticen reutilización, calidad y
rapidez en el proceso de desarrollo. El desarrollo dirigido por modelos
realiza una contribución eficiente en estos aspectos, dado que trabaja de
manera intrínseca conceptos relacionados con estos aspectos:
Separación de conceptos, reusabilidad e interoperabilidad entre
componentes. En el presente trabajo se presenta un enfoque para
desarrollo de software dirigido por modelos, orientado al desarrollo de los
servicios web semánticos, generando las especificaciones más utilizadas
para este tipo de aplicaciones. (Vega Castilla, 2013)

10. Metodología

11. Talento humano


Tiempo de
Orden Nombre y Título trabajo
apellido Cargo

7 meses
1 Diego Ferley Estudiante de VI Product
semestre del Owner
Urrea Burgos
programa de /Development
ingeniería de team
sistemas.

2 Jorge Albeiro Ingeniero de Development 7 meses


Rivera sistemas team

3 Roxana Silvia Doctora en 7 meses


Giandini Ciencias Experto en
Informáticas MDD

4 Alberto Ingeniero de Scrum Master 7 meses


Posada sistemas
Castilla

5 Adriana Lucia Diseñadora Diseñadora 3 semanas


UX/UI

12. Recursos físicos

Orden Descripción
Cantidad

1. Computadores 4

2. Resma de papel tamaño carta 3

3. Impresora multifuncional 1

13. Presupuesto

COSTOS DIRECTOS

No Descripción Valor Cantid Valor total(pesos)


unitario(pes ad
os)

1 Scrum Master 4.000.000 1 28.000.000

2 Computador 1.300.000 4 5.200.000

3 Impresora multifuncional 395.000 1 395.000

4 Resma de papel tamaño carta 10.000 3 30.000

5 Software de desarrollo JDK9 0 1 0

6 Software gestor de bases de 0 1 0


datos

7 Experto en MDD 10.156.145 1 71.093.015


8 Ingeniero de sistemas 3.288.000 1 23.016.000

9 Ingeniero de sistemas 2.050.000 1 14.350.000


(Estudiante)

10 Diseñador UX/UI 6.532.000 1 2.177.333

SUBTOTAL 144.261.348

COSTOS INDIRECTOS

No Descripción Valor Cantid Valor total


unitario ad

1 Internet 60.000 7 420.000

SUBTOTAL 420.000

SUBTOTAL COSTOS DIRECTO + COSTOS INDIRECTOS 144.681.348

IMPREVISTOS (5$) 7.234.067

COSTO TOTAL 151.915.415

14. Financiación

Los gastos generados para el desarrollo de la investigación serán


proporcionados por PSL, los cuales se especializan en desplegar servicios de
TI bajo metodologías agiles.

15. Cronograma de actividades


16.Referencias
Cedillo, S. (2012). Software Guru. Obtenido de Software Guru:
https://sg.com.mx/content/view/219
Clark, A., Futagami, T., & Mellor, S. (2003). Model-Driven Development. The software, 14-
18.
Durán Muños, F., Troya Castilla, J., & Vallecillo Moreno, A. (s.f.). Desarrollo dirigido por
modelos. Universitat Oberta de Catalunya.
Escuela superior de ingenieros de la universidad de sevilla. (s.f.). Obtenido de
http://bibing.us.es/proyectos/abreproy/70193/fichero/5.+PROBLEM%C3%81TICA+D
E+LOS+PROYECTOS+SOFTWARE.pdf
Hailpern, B., & Tarr, P. (2006). Model-driven development: The good, the bad, and the ugly.
IBM Systems Journal, 451-461.
Nuñez, M. (2017). Un enfoque MDD para el desarrollo de aplicaciones móviles nativas
enfocadas en la capa de datos. Asunción.
Pascuas Rengifo, Y. S., Bocanegra Garcia, J. J., Ortiz Lozada, E. J., & Pérez Castillo, J. N.
(2012). Desarrollo dirigiod por modelos para la creación de laboratorios virtuales .
Pereira: Scientia et Technica.
Pascuas Rengifo, Y. S., Mendoza Suarez, J. A., & Cordoba Correa, E. D. (2015). Desarrollo
dirigido por modelos (MDD) en el contexto educativo. 172-181.
Pons, C., Glandini, R. S., & Pérez, G. (2010). Desarrollo de software dirigido por modelos:
Conceptos teóricos y su aplicacion práctica. Argentina.
Revelo Zambrano, O. A. (2015). Yumpu. Obtenido de
https://www.yumpu.com/es/document/read/58088602/anexo-15-areas-y-lineas-de-
investigacion
Selic, B. (2003). The Pragmatics of Model-Driven Development. IEE Software, 19-25.
Vega Castilla, W. J. (2013). Herramienta prototipo para generación automatica de servicios
web semanticos a través del desarrollo de software dirigido por modelos. Bogota.
Vera, P. M. (2015). Desarrollo dirigido por modelos basado en componentes de interfaz de
usuario. La laguna.

Potrebbero piacerti anche