XSL Content

Automation-based Development in Softare Engineering26240

Centre
Faculty of Informatics
Degree
Bachelor's Degree in Informatics Engineering
Academic course
2024/25
Academic year
X
No. of credits
6
Languages
Spanish
Basque
Code
26240

TeachingToggle Navigation

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based4070
Applied laboratory-based groups2020

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation



******* PLEASE NOTE THAT THIS SUBJECT IS TAUGHT ONLY IN SPANISH/BASQUE *******



La asignatura de "Desarrollo Industrial del Software", de tercer curso, está integrada en la especialidad de Ingeniería del Software en el grado de Ingeniería Informática, y se basa en los conceptos aprendidos en las asignaturas de "Ingeniería del Software I", "Ingeniería del Software II", "Lenguajes, Computación y Sistemas Inteligentes" y "Diseño de Bases de Datos".



Durante los últimos años la complejidad del software a desarrollar ha aumentado de una manera importante. En sus proyectos, el equipo desarrollador se enfrenta con requisitos complejos, variabilidad en familias de aplicaciones similares, reducción en los plazos para la presentación de la aplicación en el mercado. Todo ello ha dado lugar a nuevas metodologías de desarrollo del software que garanticen productos de calidad. Esta asignatura trabajará en dos de ellas: la ingeniería del software dirigida por modelos y la ingeniería de líneas de producto software.



Con la primera se presentarán conceptos como el metamodelado, los lenguajes de dominio específico, los lenguajes de transformación, y la generación automática de código. Con la segunda se verán los principios de la variabilidad en el software y técnicas para la especificación y soporte de la misma. En los dos casos se verán diferentes herramientas con las que poder practicar y probar los conceptos.



Para poder entender todos estos conceptos avanzados es imprescindible que el o la estudiante haya superado con éxito las asignaturas antes mencionadas, y que domine el diseño y modelado de datos, la construcción de gramáticas y el modelado de casos de uso. Además, es necesario que tenga habilidades de programación en Java.

Skills/Learning outcomes of the subjectToggle Navigation

Como resultado del aprendizaje, el alumno o alumna deberá demostrar que:

* Sabe las características básicas de la Arquitectura dirigida por Modelos (MDA), el Modelado basado en Dominios (DSM), y el enfoque de líneas de productos software (SPL)

* Describe un metamodelo, dada una descripción de requisitos, y Construye un modelo conforme al mismo

* Implementa las reglas de transformación entre metamodelos

* Describe un lenguaje específico del dominio (DSL), utilizando gramáticas, e implementa un generador de código para el mismo

* Diseña un diagrama de características y un diagrama de casos de uso para una SPL, dada una descripción de requisitos

* Conoce y aplica las técnicas básicas para la implementación de características de una SPL



Theoretical and practical contentToggle Navigation

1. Ingeniería de líneas de producto software (SPLE)

1.1 Características generales del SPLE

1.2 Caracterización de la Variabilidad. Modelado de características

1.3 Análisis y diseño de SPLs con UML (diagramas de casos de uso y clases)



2. Ingeniería dirigida por modelos (MDE)

2.1 Características generales y ventajas del MDE

2.2 Definición de metamodelo y modelo, y los cuatro niveles de modelado de MDA

2.3 OCL Lenguaje de descripción de restricciones y consultas sobre modelos

2.4 ATL Lenguaje de transformación entre metamodelos

2.5 Lenguajes específicos del Dominio (DSLs): definición y clasificación

MethodologyToggle Navigation

La mitad de las sesiones presenciales seguirán un modelo magistral donde el profesor o profesora expondrá las definiciones y características básicas de los temas a tratar. El resto de sesiones se dedicarán a que el estudiante ponga en práctica dichos conceptos mediante el desarrollo de ejercicios y laboratorios.



El desarrollo de los ejercicios se podrá hacer de manera individual o en grupos, fomentando la discusión y puesta en común en clase. Los ejercicios de laboratorio se desarrollarán de manera individual, siempre y cuando los recursos disponibles así lo permitan (los y las estudiantes podrán utilizar su propio ordenador portátil).



El tiempo no presencial se deberá dedicar a terminar los ejercicios de laboratorio propuestos y a desarrollar ejercicios extra de la colección que se publicará al comienzo de cada sección de la asignatura. En la colección se incluyen ejercicios de exámenes de cursos anteriores, luego es una muestra del nivel a alcanzar en la evaluación.



Esta es una asignatura que exige tiempo de dedicación para trabajar los ejercicios prácticos en casa. El alumnado que por sus otras obligaciones no pueda realizar un seguimiento continuado de la asignatura debería estudiar cuidadosamente su planificación y dejar la asignatura para el curso siguiente o adecuar su planificación.

Assessment systemsToggle Navigation

  • Continuous Assessment System
  • Final Assessment System
  • Tools and qualification percentages:
    • Written test to be taken (%): 5
    • Multiple-Choice Test (%): 15
    • Realization of Practical Work (exercises, cases or problems) (%): 80

Ordinary Call: Orientations and DisclaimerToggle Navigation

(1) Evaluación Continua.

Cada sección [MDE y SPLE] se evaluará con una prueba de examen (70% de la asignatura)

• La prueba de examen constará de 1 test y varios ejercicios prácticos.

• Los ejercicios y preguntas se distribuirán a lo largo del cuatrimestre.

• MDE: 4 puntos, SPL: 3 puntos.

• Para aprobar la asignatura, en la sección de SPLE se deberá obtener un mínimo de 1,5 puntos.

Laboratorios (30%). Se utilizarán diferentes plugins de Eclipse. Para medir la destreza adquirida con la herramienta utilizada en cada caso, se realizará un ejercicio práctico. En total serán 3 ejercicios de 1 punto cada uno, distribuidos a lo largo del cuatrimestre.



A todos los y las estudiantes, independientemente del método de evaluación explicado a continuación, se les exigirá el cumplimiento de un comportamiento ético e integridad académica durante todas las tareas de evaluación (evitando la copia, falsedad y plagio en los ejercicios, prácticas y laboratorios). Romper con la confianza que el profesorado tiene en que el alumnado cumplirá con dichas mínimas normas de comportamiento académico tendrá como resultado la no superación de la prueba de evaluación.



(1) EVALUACIÓN CONTINUA

Cada sección [MDE y SPLE] tiene el siguiente peso: MDE: 6 puntos (MDA: 2 ptos; ATL: 2 ptos; DSL: 2 ptos) y SPLE: 4 puntos.



A lo largo del cuatrimestre se distribuirán diferentes pruebas de evaluación para medir las competencias logradas en los diferentes temas. Las pruebas de evaluación constarán de tests y/o ejercicios prácticos. Estos ejercicios prácticos podrán ser a desarrollar en papel o utilizando las herramientas software de la asignatura. Los resultados obtenidos formarán parte de la evaluación.



Para aprobar la asignatura, se podría establecer un mínimo de puntos a obtener en cada sección.



La preinscripción en el modo de evaluación continua se realizará, de forma tácita, acudiendo a la primera prueba de evaluación en la fecha establecida. Una vez evaluado el 80% de la asignatura (es decir, la sección de SPLE y MDE (MDA+ATL)), el alumnado tendrá que decidir si continuar en la evaluación continua o no. La recomendación del profesorado será la de "no continuar" si la nota intermedia es inferior a 4 puntos. En el periodo establecido, y utilizando la encuesta de eGela correspondiente, el alumno o alumna deberá confirmar (o renunciar) su inscripción definitiva en evaluación continua.



(2) EVALUACIÓN GLOBAL

Cada sección [MDE y SPLE] tiene el siguiente peso: MDE: 6 puntos (MDA: 2 ptos; ATL: 2 ptos; DSL: 2 ptos) y SPLE: 4 puntos.



El examen constará de tests para medir conceptos básicos y/o ejercicios prácticos, por cada subsección, para demostrar conocimiento de diseño y desarrollo. Los ejercicios se realizarán en papel.

Extraordinary Call: Orientations and DisclaimerToggle Navigation

Cada sección [MDE y SPLE] tiene el siguiente peso: MDE: 6 puntos (MDA: 2 ptos; ATL: 2 ptos; DSL: 2 ptos) y SPLE: 4 puntos.



El examen constará de tests para medir conceptos básicos y/o ejercicios prácticos, por cada subsección, para demostrar conocimiento de diseño y desarrollo. Los ejercicios se realizarán en papel.



A todos los y las estudiantes se les exigirá el cumplimiento de un comportamiento ético e integridad académica durante todas las tareas de evaluación (evitando la copia, falsedad y plagio en los ejercicios, prácticas y laboratorios). Romper con la confianza que el profesorado tiene en que el alumnado cumplirá con dichas mínimas normas de comportamiento académico tendrá como resultado la no superación de la prueba de evaluación.

Compulsory materialsToggle Navigation

Para los ejercicios de laboratorio se utilizará la herramienta de desarrollo Eclipse Modeling Tools con los plugins de EMF, OCL, ATL, xText y FeatureIDE. El equipo docente proporcionará todo el paquete completo. La utilización de otras versiones aparte de la proporcionada quedará bajo la responsabilidad de cada estudiante.


BibliographyToggle Navigation

Basic bibliography

* Desarrollo de Software Dirigido por Modelos. Conceptos, Métodos y Herramientas. J. García Molina et al. Ra-Ma, 2013

* Model-Driven Software Engineering in Practice. M. Brambilla, J. Cabot, M. Wimmer. Morgan&Claypool, 2012

* Model-Driven Software Development: Technology, Engineering, Management. T. Stahl, M. Voelter, K. Czarnecki. Wiley, 2006

* Domain-Specific Modeling: Enabling Full Code Generation. S. Kelly, J. Tolvanen. Wiley, 2008

* Mda Explained: The Model Driven Architecture: Practice And Promise. A. Kleppe, W. Bast, J.B. Warmer. Pearson Education, 2003

* Software Language Engineering. Creating Domain-Specific Languages using metamodels. A. Kleppe. Addison-Wesley, 2009

* Feature-Oriented Software Product Lines. Concepts and Implementation. S. Apel, D. Batory, C. Kästner, G. Saake. Springer, 2013

* Software Product Lines: Practices and Patterns (SEI Series in Software Engineering). P. Clements, L. Northrop. Addison-Wesley, 2001

* Software Product Line Engineering: Foundations, Principles, and Techniques. K. Pohl, G. Böckle, F. van der Linden. Springer Berlin Heidelberg, 2010

* Designing Software Product Lines with UML. From Use Cases to Pattern-based Software Architectures. H. Gomaa. Addison-Wesley, 2005

* Software Product Lines in Action. The Best Industrial Practice in Product Line Engineering. F.J. van der Linden, K. Schmid, E. Rommes. Springer Berlin Heidelberg, 2009

In-depth bibliography

* Mda Distilled. Principles of Model Driven Architecture. S. Mellor, K. Scott, A. Uhl, D. Weise. Addison-Wesley, 2004
* Model Driven Architecture. Applying MDA to Enterprise Computing. D. Frankel. Wiley, 2003
* Domain-Specific Languages. M. Fowler. Addison-Wesley, 2010.
* EMF: Eclipse Modeling Framework. D. Steinberg, F. Budinsky, M. Paternostro , E. Merks. Addison-Wesley, 2008
* Generative Programming. Methods, Tools and Applications. K. Czarnecki, U.W. Eisenecker. Addison-Wesley, 2000
* Software Product-Line Engineering: A Family-Based Software Development Process. D.M. Weiss, C.T.R. Lai. Addison-Wesley, 1999.

Web addresses

http://modeling-languages.com/
http://www.dsmforum.org/
http://www.sei.cmu.edu/productlines/
http://www.softwareproductlines.com/
http://www.eclipse.org/modeling/
http://modeldrivensoftware.net/

GroupsToggle Navigation

16 Teórico (Spanish - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

17:00-18:30 (1)

14:00-15:30 (2)

Teaching staff

16 Applied laboratory-based groups-1 (Spanish - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

15:30-17:00 (1)

Teaching staff

16 Applied laboratory-based groups-2 (Spanish - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

14:00-15:30 (1)

Teaching staff

31 Teórico (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

12:00-13:30 (1)

09:00-10:30 (2)

Teaching staff

31 Applied laboratory-based groups-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

10:30-12:00 (1)

Teaching staff

31 Applied laboratory-based groups-2 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

09:00-10:30 (1)

Teaching staff