21st Century Challenges for Software Engineering
- Lecturer (Coordinator):
- Andrés Silva
- Nelson Medinilla
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.
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
- 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
- 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.
|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|
|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|
Learning Guide: 21st Century Challenges for Software Engineering