21st Century Challenges for Software Engineering

Lecturer (Coordinator):
Andrés Silva
asilva@fi.upm.es
Lecturer:
Óscar Dieste
odieste@fi.upm.es

Semester

First semester

Credits

4 ECTS

Outline

The major technological innovations taking place in the 21st century will in one way or another be connected to software development and how software is permeating all walks of life. Many of these innovations are actually technical and/or sociotechnical challenges that will not go away. When software enters new fields, it can lead to changes in work methods, cultural clashes and open the door to risk situations that should be dealt with promptly.

This subject aims to acquaint students with some software engineering problem areas warranting research on the grounds of their importance and durability. Another goal is to equip students with the knowledge and basic skills to be able to understand these problems, their importance, the state of the art and ongoing research.

Dictated by the profile of the Master in Software and Systems, the content of the subject will be linked to the lecturer's research experience and professional career.

Learning Goals

Examination of the state of the art to identify research problems related to the design, construction, use and evaluation of complex software-intensive sociotechnical systems

Syllabus

  1. Introduction and foundations
    1. Theoretical foundations of software engineering (SE)
    2. Organizational foundations of SE
  2. Ecosystems centered in software and its definition
    1. Sociotechnical ecosystems centered in software products
    2. The Sensemaking-Coevolution-Implementation paradigm
    3. Activity theory and its use to software ecosystems definition
  3. Software engineering techniques oriented to products
    1. Methodology basis
    2. State of the practice
  4. Introduction to the theoretical basis of Software Engineering
    1. Theories as a basis of other engineering
    2. Approaches to theories as a basis to Software Engineering. Problems

Recommended Reading

Tuition language

Spanish

Subject-Specific Competences

Code, description and proficiency level for each subject-specific competence
Code Competence Proficiency Level
CEM1 Examination of the state of the art to identify research problems related to the design, construction, use and evaluation of complex software-intensive sociotechnical systems S
CEM3 Application of relevant research methods to open problems in the field of software engineering related to both the particular features of software and software development management S

Learning Outcomes

Code, description and proficiency level for each subject learning outcome
Code Learning Outcome Associated competences Proficiency level
RA-IS-4 Analyse groundbreaking research aimed at remedying the weaknesses in project requirements and design activities carried out using non-classical methodologies CEM1 S
RA-IS-7 Be able to coherently and clearly summarize the key aspects worth investigating related to different software engineering challenges CEM1 S
RA-IS-8 Be able to put together different research paths, structured as small-scale project proposals rooted in the weaknesses of the state of the art for aspects that are on the boundaries of knowledge in different software engineering fields CEM1, CEM3 S
RA-IS-31 Enables the learner to model a procedurally structured programme from a problem statement
RA-IS-32 Allows the learner to assess whether a programme with a procedural structure is appropriate to the problem statement
RA-IS-87 Model a program with the structure of a programming paradigm from a problem statement
RA-IS-88 Assess whether a program has been properly developed following a programming paradigm based on the problem statement

Learning Guide

Learning Guide: 21st Century Challenges for Software Engineering