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
- Introduction and foundations
- Theoretical foundations of software engineering (SE)
- Organizational foundations of SE
- Ecosystems centered in software and its definition
- Sociotechnical ecosystems centered in software products
- The Sensemaking-Coevolution-Implementation paradigm
- Activity theory and its use to software ecosystems definition
- Software engineering techniques oriented to products
- Methodology basis
- State of the practice
- Introduction to the theoretical basis of Software Engineering
- Theories as a basis of other engineering
- Approaches to theories as a basis to Software Engineering. Problems
Recommended Reading
- Y. Wang: "Software Engineering Foundations: A Software Science Perspective", 1st ed. AUERBACH / CRC Press, July 2007
- B. H. Cheng and J. M. Atlee: "Current and future research directions in requirements engineering", Lecture Notes in Business Information Processing, 2009, pp. 11-43
- M. A. Jackson: "Problem Frames: Analysing & Structuring Software Development Problems". Addison-Wesley Professional, November 2000.
- G. Matturro and A. Silva: "A model for capturing and managing software engineering knowledge and experience", Journal of Universal Computer Science, vol. 16, no. 3, pp. 479-505, 2010.
- J. G. Hall and A. Silva: "A conceptual model for the analysis of mishaps in human-operated safety-critical systems", Safety Science, vol. 46, no. 1, pp. 22-37, January 2008.
- N. Juristo, A. M. Moreno, and A. Silva: "Is the European industry moving toward solving requirements engineering problems?", IEEE Software, vol. 19, no. 6, pp. 70-77, 2002.
- J. Andrade et al.: "A methodological framework for generic conceptualisation: problem-sensitivity in software engineering", Information and Software Technology, vol. 46, no. 10, pp. 635-649, August 2004.
- J. Andrade et al.: "Computer-assisted discrepancy management: A case study in research transfer to industry", Journal of Research and Practice in Information Technology, vol. 36, no. 4, pp. 295-315, November 2004
- J. L. Mate and A. Silva: "Requirements Engineering for Sociotechnical Systems", Information Science Publishing, February, 2005.
- I. Sommerville: "Engineering Software Products: an Introduction to Modern Software Engineering", Pearson, 2020.
Tuition language
Spanish
Subject-Specific Competences
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 | 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