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. 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. 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. (PPTX) 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. Conceptual Systems Design 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. Requirements engineering processes Different perspectives on requirements engineering processes. Why there cannot be a definitive RE process. RE process problems. Requirements management. 6. 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. 7. 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 8. LSCITS engineering The challenges of LSCITS engineering and why conventional engineering approaches based on reductionism start to break down when we are engineering LSCITS. 9. Design for 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 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. |