Course: Systems Engineering for LSCITS

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. 

Aim of the course

The aim of this course is to give you an understanding of what is meant by a large-scale complex IT system, why these are important and some of the activities that are part of LSCITS engineering.

Lectures

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.

Restrictions on use

You may use any of the material made available here under the  Creative Commons Attribution-Noncommercial-Sharealike International 4.0 license. You must attribute the material to Ian Sommerville.

WARNING: The lecture material may contain copyright images that have been included under the provision for ‘academic fair use’. The material is intended for non-commercial use only. It is not licensed for commercial use and MUST NOT be used for this purpose.

Lecture topics

Large-scale Complex IT Systems

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.

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.

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)

Envisioning An LSCITS

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. 

Dependability requirements engineering for LSCITS

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.

Requirements reality

Different perspectives on requirements engineering

LSCITS engineering

The challenges of LSCITS engineering and why conventional engineering approaches based on reductionism start to break down when we are engineering LSCITS. 

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.

Designing software for a million users

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.

Responsibility modelling of sociotechnical systems.

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. 

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. 

Further reading

Ultra-Large Scale Systems . L. Northrop et. al. Software Engineering Institute. 2006.

An important book that introduces the idea of an ultra-large scale system and discusses the research required to help us understand how to build these systems.

Large-Scale Complex IT Systems . Ian Sommerville et.al. Communications of the ACM, 55 (7), pp71-77. July 2012.

A paper that I wrote summarising some of the issues underlying the engineering of LSCITS that suggests that current techniques of software engineering are not adequate for LSCITS engineering.

Dependability Requirements Engineering

A paper that I wrote describing an approach to the derivation of dependability requirements.

Designing for the don’t cares: A story about a socio-technical system.

A report of some of the problems and difficulties that can arise when specifying and designing a large-scale system.