Large-scale complex IT systems (LSCITS) are organizational systems, used by a range of stakeholders with differing goals and priorities. Their scale and complexity means that they may exhibit unexpected behaviour and performance and changing these systems can be difficult and have unpredictable consequences. Usually, LSCITS are made up of a number of other systems (sometimes, they are referred to as a system of systems) with the component systems independently managed.
LSCITS are deeply embedded in organizational socio-technical systems and so their procurement, development and operation is influenced by human, social, organizational and cultural factors. Because of this, any analysis that is simply based on technical considerations is likely to be simplistic so we have to be aware of the socio-technical issues that affect these systems.
This short course consists of a number of presentations that introduce the notion of an LSCITS, discuss the socio-technical environment for these systems, introduce requirements engineering as a systems engineering activity and discuss the differences between LSCITS engineering and 'conventional' systems engineering. Each of the presentations is a stand-alone item but, together, they make up a short introduction to systems engineering for LSCITS.
January 2014: I am not maintaining or updating this page but it will remain available indefinitely.
All slides are available to view on Slideshare and as PDF downloads. The links below are to PPTX versions. All material is made available under a creative commons attribution licence. You may use the material as you wish and derive new material from it but you must attribute Ian Sommerville as the author of the material.
What do we mean by an LSCITS. Why are LSCITS important. Different types of complexity e.g. physical complexity and socio-technical complexity; Scale. Socio-technical systems.
2. LSCITS and Socio-technical Systems
What do we mean by a socio-technical system? The relationship between LSCITS and socio-technical systems. LSCITS processes and LSCITS engineering.
3. Introduction to Requirements Engineering
What are requirements and why requirements engineering is critical in systems engineering processes. Some requirements engineering processes, methods and tools. (PPTX)
4. Envisioning Complex Systems
The notion of conceptual systems design where abstract requirements for a complex system are generated and an overall system concept is proposed. Based on a case study of a system for UK motorway (autoroute) road pricing.
5. Dependability requirements engineering
Why dependability requirements engineering should be an inherent part fo requirements engineering processes. Concerns as a basis for deriving dependability requirements. Based on a case study of a system for managing information about patients with mental healthcare problems
6. Requirements reality
Different perspectives on requirements engineering processes. Why there cannot be a definitive RE process. RE process problems. Requirements management.
7. LSCITS engineering
The challenges of LSCITS engineering and why conventional engineering approaches based on reductionism start to break down when we are engineering LSCITS.
8. Resilience and recovery
Why its important that we anticipate failures and design systems for recovery and not just failure avoidance. Problems of current approaches to design and suggestions for how to design for recovery.
This talk discusses practical experiences in developing the conceptual design and high level requirements for an LSCITS, intended to provide digital learning support for 1 million+ users.
Other topics (not presented in lectures)
9. Responsibility modelling for requirements engineering
An introduction to a technique developed at Lancaster and St Andrews Universities, where the responsibilities of the agents in a socio-technical system are modelled. This model can then be used as a basis for generating the information requirements of these agents.
10. Ultra-large scale systems (ULSS)
A set of slides based on a slideset from Linda Northrop of the Software Engineering Institute where I introduce the notion of the next step up from LSCITS, namely Ultra-large Scale Systems. If you use these slides, please credit Linda and the SEI.
All of the material provided by Ian Sommerville is licensed under a Creative Commons Attribution 2.5 UK: Scotland Licence.