XSL Content

Automation-based Development in Softare Engineering26240

Centre
Faculty of Informatics
Degree
Bachelor's Degree in Informatics Engineering
Academic course
2023/24
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

La asignatura de "Desarrollo Industrial del Software" está integrada en la especialidad de Ingeniería del Software, 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 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á, principalmente, 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/la estudiante haya superado con éxito las asignaturas antes mencionadas, y que dominen 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 tengan habilidades de programación en Java.

Skills/Learning outcomes of the subjectToggle Navigation

Revisión del proceso de desarrollo de software. Ingeniería dirigida por modelos: lenguajes específicos del dominio (DSL) y Arquitectura dirigida por Modelos (MDA). Ingeniería de líneas de producto: variabilidad del software, ingeniería de dominio e ingeniería de aplicación. Outsourcing de aplicaciones

Theoretical and practical contentToggle Navigation



Tema 1 Revisión del proceso de desarrollo de software Motivar la necesidad de un cambio de paradigma en el desarrollo de software: incremento en la complejidad de los sistemas, cambios en los requisitos, variabilidad en familias de aplicaciones similares. Repasar los aspectos fundamentales del desarrollo de software.

Justificar la necesidad de la generación automática de código.

Tema 2 Ingeniería dirigida por modelos Presentar los fundamentos del Modelado basado en Dominios (Domain-Specific Modelling). Definición de DSLs. Generador de código. Herramientas para DSM. Proceso de desarrollo con DSM.

Presentar los fundamentos de MDA (Model-driven Architecture). Metamodelos. Lenguaje para la transformación de modelos. MOF. Herramientas para MDA. Proceso de desarrollo con MDA.

Presentar algunas técnicas para la generación de código.

Tema 3 Ingeniería de líneas de producto Presentar los principios de la variabilidad. Técnicas para la especificación y soporte de la variabilidad en el software. Introducir la ingeniería de dominio y la ingeniería de aplicación. Presentar algunas aplicaciones prácticas de líneas de producto.

Tema 4 El outsourcing de aplicaciones Motivar la necesidad de subcontratar a terceras partes (`outsorcing¿) el desarrollo de sistemas, y explicar los problemas y errores asociados. Analizar los requisitos para un outsorcing efectivo. Presentar algunos modelos y estrategias para el outsorcing.

MethodologyToggle Navigation

Para poder seguir esta asignatura adecuadamente se recomienda haber cursado las siguientes asignaturas: Lenguajes, Computación y Sistemas Inteligentes; Bases de Datos; Ingeniería de Software I; Diseño de Bases de Datos.



Para poder hacer la evaluación continua de esta asignatura se requiere haber aprobado las asignaturas: Lenguajes, Computación y Sistemas Inteligentes; Bases de Datos; Ingeniería de Software I;

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.



Los ejercicios de laboratorio podrían utilizarse para matizar la nota final en la asignatura.



Una vez evaluado el 60% de la asignatura (es decir, la sección de MDE), el alumno/a tendrá que decidir si continuar en la evaluación continua o no. La recomendación del profesor/a será la de “no continuar” si la nota intermedia es inferior a 3 puntos.



(2) Evaluación Global

Tiene las mismas condiciones y estructura que la Evaluación Continua.

El día del examen final, además de las pruebas escritas (tests y ejercicios prácticos), el alumno/a deberá realizar dos ejercicios con el ordenador, para medir su destreza con dos de las herramientas utilizadas en el curso.





Charlas divulgativas. Al final de cada sección, y dependiendo de la disponibilidad, se pueden organizar 1 ó 2 charlas divulgativas. Se podrán utilizar para matizar la nota final en la asignatura.

Extraordinary Call: Orientations and DisclaimerToggle Navigation

Evaluación Global



código ético









Laboratorios (40%). 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 4 ejercicios de 1 punto cada uno, distribuidos a lo largo del cuatrimestre.

Compulsory materialsToggle Navigation

Eclipse .... se proporcionará por el equipo docente

BibliographyToggle Navigation

Basic bibliography

¿ Model-Driven Software Development: Technology, Engineering, Management. T. Stahl, M. Voelter, and Krzysztof Czarnecki, 2006

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

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

¿ Software Product Line Engineering: Foundations, Principles, and Techniques. K. Pohl, G. Böckle, F. van der Linden., 2005

¿ Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. J. Greenfield, K. Short, S. Cook, S. Kent.

¿ IT, Software and Services: Outsourcing and Offshoring. R. Sood , 2005

¿ Software Product Lines in Action. The Best Industrial Practice in Product Line Engineering. F.J. van der Linden, K. Schmid, E. Rommes. 2007

In-depth bibliography

* IT, Software and Services: Outsourcing and Offshoring. R. Sood. Edit: , 2005

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/

Examining board of the 5th, 6th and exceptional callToggle Navigation

  • BERGES GONZALEZ, IDOIA
  • IBAÑEZ ANFURRUTIA, FELIPE
  • PEREZ FERNANDEZ, TOMAS ANTONIO

GroupsToggle Navigation

01 Teórico (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

09:00-10:30 (1)

12:00-13:30 (2)

Teaching staff

01 Applied laboratory-based groups-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

10:30-12:00 (1)

Teaching staff

01 Applied laboratory-based groups-2 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

09:00-10:30 (1)

Teaching staff

46 Teórico (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

14:00-15:30 (1)

17:00-18:30 (2)

Teaching staff

46 Applied laboratory-based groups-1 (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

15:30-17:00 (1)

Teaching staff