©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technical Systems.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering.
Advertisements

1 Notes content copyright © 2004 Ian Sommerville. NU-specific content © 2004 M. E. Kabay. All rights reserved. Socio-technical Systems IS301 – Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 2.
Chapter 10 – Sociotechnical Systems Lecture 1 1Chapter 10 Sociotechnical Systems.
The Big Picture.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 2 Slide 1 Socio-technical Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Evolution Managing the processes of software system change
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
Socio-technical Systems
The Big Picture.
©Ian Sommerville 2000Software Engineering, 6th edition Slide 1 Introduction l Getting started with software engineering l Objectives To introduce software.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Software Engineering General Project Management Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Chapter 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technical Systems.
Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Requirements Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 10 – Sociotechnical Systems 1Chapter 10 Sociotechnical Systems.
1 Chapter 2 Socio-technical Systems (Computer-based System Engineering)
2. Socio-Technical Systems
3- System modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between.
Socio-technical Systems. Objectives l To explain what a socio-technical system is and the distinction between this and a computer-based system. l To introduce.
Philosophical, Ethical, Socio- Technical Aspects of ISD.
Socio-technical Systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Software Engineering Chapter 2: Computer-based System Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Systems Engineering l Designing, implementing, deploying and operating systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Software Requirements Engineering CSE 305 Lecture-2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Socio-technical Systems (Computer-based System Engineering)
1 Chapter 2 Socio-technical Systems (Computer-based System Engineering)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Systems Engineering l Specifying, designing, implementing, validating, deploying.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Socio-technical Systems. Objectives To explain what a socio-technical system is and the distinction between this and a computer-based system To introduce.
Chapter 10 – Sociotechnical Systems 1Chapter 10 Sociotechnical Systems CS 425 November 14, 2013 Ian Sommerville, Software Engineering, 9 th Edition Pearson.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Software Engineering, 8th edition. Chapter 2 Courtesy: ©Ian Sommerville 2006 Feb 12 th, 2009 Lecture # 3 Socio-technical Systems.
1. 2 An Introduction to Software Engineering 3 What is software? Computer programs and associated documentation such as requirements, design models and.
Socio-Technical Systems, York EngD Programme, 2009Slide 1 LSCITS and Socio-technical Systems Prof Ian Sommerville.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 2 Slide 1 Socio-technical Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technical Systems.
Slide 1 CS 310 Chapter 2 Socio Technical Systems A system that includes people, software, and hardware Technical computer-based systems include hardware.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter2: Systems Engineering l Designing, implementing, deploying and operating.
CHAPTER 2. Designing, implementing, deploying and operating systems which include hardware, software and people.
Socio-technical Systems
DT249/4 Information Systems Engineering
Systems Engineering Designing, implementing, deploying and operating systems which include hardware, software and people.
Presentation transcript:

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technical Systems

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 2 Objectives l To explain what a socio-technical system is and the distinction between this and a computer-based system l To introduce the concept of emergent system properties such as reliability and security l To explain system engineering and system procurement processes l To explain why the organisational context of a system affects its design and use l To discuss legacy systems and why these are critical to many businesses

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 3 Topics covered l Emergent system properties l Systems engineering l Organizations, people and computer systems l Legacy systems

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 4 What is a system? l A purposeful collection of inter-related components working together to achieve some common objective. l A system may include software, mechanical, electrical and electronic hardware and be operated by people. l System components are dependent on other system components l The properties and behaviour of system components are inextricably inter-mingled

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 5 System categories l Technical computer-based systems Systems that include hardware and software but where the operators and operational processes are not normally considered to be part of the system. l Socio-technical systems Systems that include technical systems but also operational processes and people who use and interact with the technical system. Socio-technical systems are governed by organisational policies and rules.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 6 Socio-technical system characteristics l Emergent properties Properties of the system of a whole that depend on the system components and their relationships. l Non-deterministic They do not always produce the same output when presented with the same input. l Complex relationships with organisational objectives The extent to which the system supports organisational objectives does not just depend on the system itself.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 7 Emergent properties l Properties of the system as a whole rather than properties that can be derived from the properties of components of a system l Emergent properties are a consequence of the relationships between system components l They can therefore only be assessed and measured once the components have been integrated into a system

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 8 Examples of emergent properties

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 9 Types of emergent property l Functional properties These appear when all the parts of a system work together to achieve some objective. For example, a bicycle has the functional property of being a transportation device once it has been assembled from its components. l Non-functional emergent properties Examples are reliability, performance, safety, and security. These relate to the behaviour of the system in its operational environment. They are often critical for computer-based systems as failure to achieve some minimal defined level in these properties may make the system unusable.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 10 l Because of component inter-dependencies, faults can be propagated through the system. (Round-off Errors – Hyatt Regency Collapse) l System failures often occur because of unforeseen inter-relationships between components. l It is probably impossible to anticipate all possible component relationships. l Software reliability measures may give a false picture of the system reliability. System reliability engineering

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 11 l Hardware reliability What is the probability of a hardware component failing and how long does it take to repair that component? l Software reliability How likely is it that a software component will produce an incorrect output. Software failure is usually distinct from hardware failure in that software does not wear out. l Operator reliability How likely is it that the operator of a system will make an error? Influences on reliability

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 12 Reliability relationships l Hardware failure can generate spurious signals that are outside the range of inputs expected by the software. l The environment in which a system is installed can affect its reliability.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 13 The ‘shall-not’ properties l Properties such as performance and reliability can be measured. l However, some properties are properties that the system should not exhibit Safety - the system should not behave in an unsafe way; Security - the system should not permit unauthorised use. l Measuring or assessing these properties is very hard.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 14 Systems engineering l Specifying, designing, implementing, validating, deploying and maintaining systems.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 15 The systems engineering process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 16 Inter-disciplinary involvement

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 17 System requirements definition l Three types of requirement defined at this stage Abstract functional requirements. System functions are defined in an abstract way; System properties. Non-functional requirements for the system in general are defined; Undesirable characteristics. Unacceptable system behaviour is specified. l Should also define overall organisational objectives for the system.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 18 System objectives l Should define why a system is being procured for a particular environment. l Functional objectives l Organisational objectives

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 19 System requirements problems l Complex systems are usually developed to address wicked problems Problems that are not fully understood; Changing as the system is being specified. l Must anticipate hardware/communications developments over the lifetime of the system. l Hard to define non-functional requirements (particularly) without knowing the component structure of the system.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 20 The system design process l Partition requirements Organise requirements into related groups. l Identify sub-systems Identify a set of sub-systems which collectively can meet the system requirements. l Assign requirements to sub-systems Causes particular problems when COTS are integrated. l Specify sub-system functionality. l Define sub-system interfaces Critical activity for parallel sub-system development.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 21 The system design process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 22 System design problems l Requirements partitioning to hardware, software and human components may involve a lot of negotiation. l Difficult design problems are often assumed to be readily solved using software. l Hardware platforms may be inappropriate for software requirements so software must compensate for this.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 23 Requirements and design l Requirements engineering and system design are inextricably linked. l Constraints posed by the system’s environment and other systems limit design choices so the actual design to be used may be a requirement. l Initial design may be necessary to structure the requirements. l As you do design, you learn more about the requirements.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 24 Spiral model of requirements/design

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 25 System modelling l An architectural model presents an abstract view of the sub-systems making up a system l May include major information flows between sub-systems l Usually presented as a block diagram l May identify different types of functional component in the model

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 26 Burglar alarm system

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 27 Sub-system description

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 28 ATC system architecture

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 29 Sub-system development l Typically parallel projects developing the hardware, software and communications. l May involve some COTS (Commercial Off-the- Shelf) systems procurement. l Lack of communication across implementation teams. l Bureaucratic and slow mechanism for proposing system changes.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 30 l The process of putting hardware, software and people together to make a system. l Should be tackled incrementally so that sub- systems are integrated one at a time. l Interface problems between sub-systems are usually found at this stage. l May be problems with uncoordinated deliveries of system components. System integration

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 31 l After completion, the system has to be installed in the customer’s environment Environmental assumptions may be incorrect; May be human resistance to the introduction of a new system; System may have to coexist with alternative systems for some time; May be physical installation problems (e.g. cabling problems); Operator training has to be identified. System installation

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 32 System evolution l Large systems have a long lifetime. They must evolve to meet changing requirements. l Evolution is inherently costly Changes must be analysed from a technical and business perspective; Sub-systems interact so unanticipated problems can arise; There is rarely a rationale for original design decisions; System structure is corrupted as changes are made to it. l Existing systems which must be maintained are sometimes called legacy systems.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 33 System decommissioning l Taking the system out of service after its useful lifetime. l May require removal of materials (e.g. dangerous chemicals) which pollute the environment Should be planned for in the system design by encapsulation. l May require data to be restructured and converted to be used in some other system.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 34 Organisations/people/systems l Socio-technical systems are organisational systems intended to help deliver some organisational or business goal. l If you do not understand the organisational environment where a system is used, the system is less likely to meet the real needs of the business and its users.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 35 Human and organisational factors l Process changes Does the system require changes to the work processes in the environment? l Job changes Does the system de-skill the users in an environment or cause them to change the way they work? l Organisational changes Does the system change the political power structure in an organisation?

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 36 Organisational processes l The processes of systems engineering overlap and interact with organisational procurement processes. l Operational processes are the processes involved in using the system for its intended purpose. l Operational processes should be designed to be flexible and should not force operations to be done in a particular way.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 37 Procurement/development processes

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 38 System procurement l Acquiring a system for an organization to meet some need l Some system specification and architectural design is usually necessary before procurement You need a specification to let a contract for system development The specification may allow you to buy a commercial off-the- shelf (COTS) system. Almost always cheaper than developing a system from scratch l Large complex systems usually consist of a mix of off the shelf and specially designed components.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 39 The system procurement process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 40 Procurement issues l Requirements may have to be modified to match the capabilities of off-the-shelf components. l The requirements specification may be part of the contract for the development of the system. l There is usually a contract negotiation period to agree changes after the contractor to build a system has been selected.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 41 Contractors and sub-contractors l The procurement of large hardware/software systems is usually based around some principal contractor. l Sub-contracts are issued to other suppliers to supply parts of the system. l Customer liases with the principal contractor and does not deal directly with sub-contractors.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 42 Contractor/Sub-contractor model

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 43 Legacy systems l Socio-technical systems that have been developed using old or obsolete technology. l Crucial to the operation of a business and it is often too risky to discard these systems l Legacy systems constrain new business processes and consume a high proportion of company budgets.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 44 Entity-Relation Diagram

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 45 Legacy system components l Hardware - may be obsolete mainframe hardware. l Support software - may rely on support software from suppliers who are no longer in business. l Application software - may be written in obsolete programming languages. l Application data - often incomplete and inconsistent. l Business processes - may be constrained by software structure and functionality. l Business policies and rules - may be implicit and embedded in the system software.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 46

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 47 Key points l Socio-technical systems include computer hardware, software and people and are designed to meet some business goal. l Emergent properties are properties that are characteristic of the system as a whole and not its component parts. l The systems engineering process includes specification, design, development, integration and testing. System integration is particularly critical.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 48 Key points l Human and organisational factors have a significant effect on the operation of socio-technical systems. l There are complex interactions between the processes of system procurement, development and operation. l A legacy system is an old system that continues to provide essential services. l Legacy systems include business processes, application software, support software and system hardware.