Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang [email protected]...

47
Software Engineering Software Engineering Chapter 2 Chapter 2 Socio-technical Socio-technical systems systems Ku-Yaw Chang Ku-Yaw Chang [email protected] [email protected] Assistant Professor Assistant Professor Department of Computer Science and Information Department of Computer Science and Information Engineering Engineering Da-Yeh University Da-Yeh University

Transcript of Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang [email protected]...

Page 1: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

Software EngineeringSoftware Engineering

Chapter 2 Chapter 2 Socio-technical systemsSocio-technical systems

Ku-Yaw ChangKu-Yaw [email protected]@mail.dyu.edu.tw

Assistant ProfessorAssistant ProfessorDepartment of Computer Science and Information EngineeringDepartment of Computer Science and Information Engineering

Da-Yeh UniversityDa-Yeh University

Page 2: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

22Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

ObjectivesObjectives

Know what is meant by socio-technical system and Know what is meant by socio-technical system and understand the difference between a technical computer-understand the difference between a technical computer-based system and a socio-technical systembased system and a socio-technical systemHave been introduced to the concept of emergent Have been introduced to the concept of emergent system properties such as reliability, performance, safety system properties such as reliability, performance, safety and securityand securityUnderstand the activities that are involved in the systems Understand the activities that are involved in the systems engineering processengineering processUnderstand why the organizational context of a system Understand why the organizational context of a system affects its design and useaffects its design and useKnow what is meant by a ‘legacy system’, and why these Know what is meant by a ‘legacy system’, and why these systems are often critical to the operation of many systems are often critical to the operation of many businessbusiness

Page 3: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

33Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

PreamblePreamble

What is a system?What is a system? A purposeful collection of inter-related components A purposeful collection of inter-related components

that work together to achieve some objective.that work together to achieve some objective. A system may include software, mechanical, electrical A system may include software, mechanical, electrical

and electronic hardware and be operated by people.and electronic hardware and be operated by people. System components are dependent on other System components are dependent on other

system componentssystem components The properties and behavior of system components The properties and behavior of system components

are inextricably inter-mingledare inextricably inter-mingled

Page 4: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

44Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

PreamblePreamble

System categoriesSystem categories Technical computer-based systemsTechnical computer-based systems

Systems that include Systems that include hardwarehardware and and softwaresoftware but where the but where the operators and operational processes are not normally operators and operational processes are not normally considered to be part of the system. The system is not self-considered to be part of the system. The system is not self-aware.aware.

Socio-technical systemsSocio-technical systemsSystems that include technical systems but also Systems that include technical systems but also operational operational processesprocesses and and peoplepeople who use and interact with the who use and interact with the technical system. Socio-technical systems are governed by technical system. Socio-technical systems are governed by organizational policies and rules.organizational policies and rules.

Page 5: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

55Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

PreamblePreamble

Socio-technical system characteristicsSocio-technical system characteristics Emergent propertiesEmergent properties

Properties of the system of a whole that depend on the Properties of the system of a whole that depend on the system components and their relationships.system components and their relationships.

Non-deterministicNon-deterministicThey do not always produce the same output when They do not always produce the same output when presented with the same input because the system’s presented with the same input because the system’s behavior is partially dependent on human operators.behavior is partially dependent on human operators.

Complex relationships with organizational objectivesComplex relationships with organizational objectivesThe extent to which the system supports organizational The extent to which the system supports organizational objectives does not just depend on the system itself.objectives does not just depend on the system itself.

Page 6: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

66Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

ContentsContents

2.1 Emergent system properties2.1 Emergent system properties

2.2 System engineering2.2 System engineering

2.3 Organizations, people and computer systems2.3 Organizations, people and computer systems

2.4 Legacy systems2.4 Legacy systems

2.5 Exercises2.5 Exercises

Page 7: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

77Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.1 Emergent system properties2.1 Emergent system properties

Properties of the system as a wholeProperties of the system as a whole rather than rather than properties that can be derived from the properties that can be derived from the properties of components of a systemproperties of components of a system a consequence of the relationships between system a consequence of the relationships between system

componentscomponents only be assessed and measured once the only be assessed and measured once the

components have been integrated into a systemcomponents have been integrated into a system

Page 8: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

88Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Examples of emergent propertiesExamples of emergent properties

VolumeVolume Total space occupiedTotal space occupied

ReliabilityReliability Depends on component reliabilityDepends on component reliability Unexpected interactions cause new failureUnexpected interactions cause new failure

SecuritySecurity Ability to resist attackAbility to resist attack

ReparabilityReparability How easy to fix a problemHow easy to fix a problem

UsabilityUsability How easy to use the systemHow easy to use the system

Page 9: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

99Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Types of emergent propertiesTypes of emergent properties

Functional emergent propertiesFunctional emergent properties All the parts of a system work together to achieve All the parts of a system work together to achieve

some objectivesome objectivea bicycle has the functional property of being a transportation a bicycle has the functional property of being a transportation device once it has been assembled from its components.device once it has been assembled from its components.

Non-functional emergent propertiesNon-functional emergent properties Relate to the behavior of the system in its operational Relate to the behavior of the system in its operational

environmentenvironmentReliability, performance, safety, and securityReliability, performance, safety, and security

Critical for computer-based systemsCritical for computer-based systemsFailure to achieve some minimal defined level in these Failure to achieve some minimal defined level in these properties may make the system unusable.properties may make the system unusable.

Page 10: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1010Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Complexity of emergent propertiesComplexity of emergent properties

Consider the property of system reliabilityConsider the property of system reliability Because of component inter-dependencies, Because of component inter-dependencies,

faults can be propagated through the system.faults can be propagated through the system. System failures often occur because of System failures often occur because of

unforeseen inter-relationships between unforeseen inter-relationships between components.components.

It is probably impossible to anticipate all It is probably impossible to anticipate all possible component relationships.possible component relationships.

Software reliability measures may give a false Software reliability measures may give a false picture of the system reliability.picture of the system reliability.

Page 11: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1111Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Influences on reliabilityInfluences on reliability

Hardware reliabilityHardware reliability What is the probability of a hardware component What is the probability of a hardware component

failing and how long does it take to repair that failing and how long does it take to repair that component?component?

Software reliabilitySoftware reliability How likely is it that a software component will produce How likely is it that a software component will produce

an incorrect output.an incorrect output. Software failure is usually distinct from hardware Software failure is usually distinct from hardware

failure in that software does not wear out. failure in that software does not wear out.

Operator reliabilityOperator reliability How likely is it that the operator of a system will make How likely is it that the operator of a system will make

an error?an error?

Page 12: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1212Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Reliability relationshipsReliability relationships

Hardware failure can generate spurious signals Hardware failure can generate spurious signals that are outside the range of inputs expected by that are outside the range of inputs expected by the software.the software.

Software errors can cause alarms to be Software errors can cause alarms to be activated which cause operator stress and lead activated which cause operator stress and lead to operator errors.to operator errors.

The environment in which a system is installed The environment in which a system is installed can affect its reliability.can affect its reliability.

Page 13: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1313Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

The ‘shall-not’ propertiesThe ‘shall-not’ properties

Properties such as performance and reliability Properties such as performance and reliability can be measured.can be measured.However, some properties are properties that However, some properties are properties that the system the system should not exhibitshould not exhibit Safety - the system should not behave in an unsafe Safety - the system should not behave in an unsafe

way;way; Security - the system should not permit unauthorised Security - the system should not permit unauthorised

use.use.

Measuring or assessing these properties is very Measuring or assessing these properties is very hardhard Knowing a system is insecure only when someone Knowing a system is insecure only when someone

breaks into itbreaks into it

Page 14: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1414Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

ContentsContents

2.1 Emergent system properties2.1 Emergent system properties

2.2 System engineering2.2 System engineering

2.3 Organizations, people and computer systems2.3 Organizations, people and computer systems

2.4 Legacy systems2.4 Legacy systems

2.5 Exercises2.5 Exercises

Page 15: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1515Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

System engineeringSystem engineering

The activity of specifying, designing, The activity of specifying, designing, implementing, validating, deploying and implementing, validating, deploying and maintaining socio-technical systemsmaintaining socio-technical systems

Concerned withConcerned with SoftwareSoftware HardwareHardware System’s interactions with users and its environmentSystem’s interactions with users and its environment

Page 16: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1616Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

The systems engineering processThe systems engineering process

Systemintegration

Sub-systemdevelopment

System

design

Requirementsdefinition

Systeminstallation

System

evolution

Systemdecommissioning

Page 17: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1717Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Important distinctionsImportant distinctions

Limited scope for rework during system Limited scope for rework during system developmentdevelopment Little scope for iteration between phases because Little scope for iteration between phases because

hardware changes are very expensivehardware changes are very expensive

Interdisciplinary involvementInterdisciplinary involvement Inevitably involve engineers from different disciplines Inevitably involve engineers from different disciplines

who must work togetherwho must work together Different engineers use different terminology and Different engineers use different terminology and

conventionsconventions

Page 18: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1818Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Inter-disciplinary involvementInter-disciplinary involvement

ATC systems

engineering

Electronic

engineering

Electrical

engineering

User interface

design

Mechanical

engineering

Architecture

Structural

engineering

Software

engineering

Civil

engineering

Page 19: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

1919Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.1 System requirements definition2.2.1 System requirements definition

SpecifySpecify What the system should do (its functions)What the system should do (its functions) Essential and desirable system propertiesEssential and desirable system properties

Involve consultations with system customers/end-usersInvolve consultations with system customers/end-users

Derive three types of requirementDerive three types of requirement Abstract functional requirementsAbstract functional requirements

Basic functions at an abstract levelBasic functions at an abstract level System propertiesSystem properties

Non-functional emergent system propertiesNon-functional emergent system properties Characteristics that the system must no exhibitCharacteristics that the system must no exhibit

Must not do vs. should doMust not do vs. should do e.g. Too much information should not be presented to the controllere.g. Too much information should not be presented to the controller

Page 20: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2020Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.1 System requirements definition2.2.1 System requirements definition

To establish a set of overall objectives that the To establish a set of overall objectives that the system should meetsystem should meet Functional objectivesFunctional objectives

To provide a fire and intruder alarm system for the building To provide a fire and intruder alarm system for the building which will provide internal and external warning of fire or which will provide internal and external warning of fire or unauthorized intrusion.unauthorized intrusion.

Organizational objectivesOrganizational objectivesTo ensure that the normal functioning of work carried out in To ensure that the normal functioning of work carried out in the building is not seriously disrupted by events such as fire the building is not seriously disrupted by events such as fire and unauthorized intrusion.and unauthorized intrusion.

Page 21: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2121Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.1 System requirements definition2.2.1 System requirements definition

Complex systems are usually developed to Complex systems are usually developed to address address wicked problemswicked problems So many related entities that there is no definitive So many related entities that there is no definitive

problem specificationproblem specification An extreme exampleAn extreme example

Earthquake planningEarthquake planning

Page 22: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2222Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.2 System design2.2.2 System design

How the system functionality is to be provided by How the system functionality is to be provided by the components of the systemthe components of the system Partition requirementsPartition requirements

Analyze requirements and organize them into related groupsAnalyze requirements and organize them into related groups Identify sub-systemsIdentify sub-systems

Individually or collectively meet the requirementsIndividually or collectively meet the requirements Assign requirements to sub-systemsAssign requirements to sub-systems

Never a clean match between requirements partitions and Never a clean match between requirements partitions and identified sub-systemsidentified sub-systems

Specify sub-system functionalitySpecify sub-system functionality Define sub-system interfacesDefine sub-system interfaces

Page 23: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2323Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

The system design processThe system design process

Partitionrequirements

Identifysub-systems

Assign requirementsto sub-systems

Specify sub-systemfunctionality

Define sub-systeminterfaces

Double-ended arrowsDouble-ended arrows A lot of feedback and iteration from one stage to another in the A lot of feedback and iteration from one stage to another in the

design processdesign process

Page 24: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2424Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Requirements and designRequirements and design

Requirements affect design decisions and vice Requirements affect design decisions and vice versaversa In practice, the are inextricably linkedIn practice, the are inextricably linked

Constraints posed by the existing systems mayConstraints posed by the existing systems may Limit design choicesLimit design choices These choices may be specified in the requirementsThese choices may be specified in the requirements Initial design may be necessary to structure the Initial design may be necessary to structure the

requirements.requirements.

As you do design, you learn more about the As you do design, you learn more about the requirements.requirements.

Page 25: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2525Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Spiral model of requirements/designSpiral model of requirements/design

System Requirements and Design

ProblemDefinition

Review andAssessment

RequirementsElicitation and

Analysis

ArchitecturalDesign

Start

Page 26: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2626Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.3 System modeling2.2.3 System modeling

An architectural modelAn architectural model A set of components (sub-systems)A set of components (sub-systems) and their and their

relationshipsrelationships An abstract viewAn abstract view of the sub-systems making up a of the sub-systems making up a

systemsystem More appropriate to classify sub-systems according to More appropriate to classify sub-systems according to

their functiontheir functionBefore making decisions about hardware/software trade-offsBefore making decisions about hardware/software trade-offs

Illustrated graphically and presented as Illustrated graphically and presented as a block a block diagramdiagram

Be supplemented by brief descriptions of each subsystemBe supplemented by brief descriptions of each subsystemMay be used for all sizes of systemMay be used for all sizes of system

Page 27: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2727Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

A simple burglar alarm systemA simple burglar alarm system

Alarmcontroller

Voicesynthesiser

Movementsensors

Siren

Doorsensors

Telephonecaller

Externalcontrol centre

Page 28: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2828Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Sub-system descriptionSub-system description

Sub-system Description

Movement sensors Detects movement in the rooms monitored by the system

Door sensors Detects door opening in the external doors of the building

Alarm controller Controls the operation of the system

Siren Emits an audible warning when an intruder is suspected

Voice synthesizer Synthesizes a voice message giving the location of the suspected intruder

Telephone caller Makes external calls to notify security, the police, etc.

Page 29: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

2929Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

ATC system architectureATC system architecture

Data comms.system

Transpondersystem

Radarsystem

Aircraftcomms.

Telephonesystem

Flight plandatabase

Backupposition

processor

Position

processor

Comms.

processor

Backup comms.

processor

Aircraft

simulationsystem

Weather map

system

Accountingsystem

Controllerinfo. system

Controllerconsoles

Activity loggingsystem

Page 30: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3030Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.4 Sub-system development2.2.4 Sub-system development

The implementation may involve startingThe implementation may involve starting Another system engineering processAnother system engineering process A software processA software process

Commercial off-the-shelf (COTS) systems are Commercial off-the-shelf (COTS) systems are bought for integration into the systembought for integration into the system May reenter the design activityMay reenter the design activity

Usually developed in parallelUsually developed in parallel Problems cutting across sub-system boundaries are Problems cutting across sub-system boundaries are

encounteredencounteredA system modification must be made - changes in the A system modification must be made - changes in the software requirementssoftware requirements

Page 31: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3131Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.5 Systems integration2.2.5 Systems integration

Putting hardware, software and people together to make Putting hardware, software and people together to make a complete systema complete systemTwo approachesTwo approaches

A ‘big bang’ approachA ‘big bang’ approachAll sub-systems are integrated at the same timeAll sub-systems are integrated at the same time

An incremental integration approachAn incremental integration approachSub-systems are integrated one at a timeSub-systems are integrated one at a timeBest approachBest approach

Impossible to finish all sub-systems at the same timeImpossible to finish all sub-systems at the same time Reduce the cost of error locationReduce the cost of error location

An extensive program of system testingAn extensive program of system testing The interfaces between componentsThe interfaces between components The behavior of the system as a wholeThe behavior of the system as a whole

Page 32: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3232Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.6 System installation2.2.6 System installation

After completion, the system has to be installed After completion, the system has to be installed in the customer’s environmentin the customer’s environment Environmental assumptions may be incorrect;Environmental assumptions may be incorrect; May be human resistance to the introduction of May be human resistance to the introduction of

a new systema new system System may have to coexist with alternative System may have to coexist with alternative

systems for some timesystems for some time May be physical installation problems (e.g. May be physical installation problems (e.g.

cabling problems)cabling problems) Operator training has to be identifiedOperator training has to be identified

Page 33: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3333Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.7 System evolution2.2.7 System evolution

Complex systems have a very long lifetimeComplex systems have a very long lifetime To correct errorsTo correct errors To implement new requirementsTo implement new requirements

Evolution is inherently costlyEvolution is inherently costly Changes must be analyzed from a technical and business Changes must be analyzed from a technical and business

perspectiveperspective Sub-systems interact so unanticipated problems can ariseSub-systems interact so unanticipated problems can arise There is rarely a rationale for original design decisionsThere is rarely a rationale for original design decisions System structure is corrupted as changes are made to itSystem structure is corrupted as changes are made to it

Existing systems which must be maintained are Existing systems which must be maintained are sometimes called sometimes called legacy systemslegacy systems..

Page 34: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3434Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.2.8 System decommissioning2.2.8 System decommissioning

Taking the system out of service after its useful Taking the system out of service after its useful operation lifetimeoperation lifetime May require removal of materials (e.g. dangerous May require removal of materials (e.g. dangerous

chemicals) which pollute the environmentchemicals) which pollute the environmentShould be planned for in the system design by encapsulationShould be planned for in the system design by encapsulation

May require data to be restructured and converted to May require data to be restructured and converted to be used in some other systembe used in some other system

Page 35: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3535Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

ContentsContents

2.1 Emergent system properties2.1 Emergent system properties

2.2 System engineering2.2 System engineering

2.3 Organizations, people and computer systems2.3 Organizations, people and computer systems

2.4 Legacy systems2.4 Legacy systems

2.5 Exercises2.5 Exercises

Page 36: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3636Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Organizations, people andOrganizations, people andcomputer systemscomputer systems

Socio-technical systemsSocio-technical systems Enterprise systems to deliver some Enterprise systems to deliver some

organizational/business goalorganizational/business goal Embedded in an organizational environmentEmbedded in an organizational environment

Need to understand its organizational environmentNeed to understand its organizational environment

Human and organizational factorsHuman and organizational factors Process changesProcess changes

Require changes to the work processes? Require changes to the work processes? Job changesJob changes

De-skill the users or change the way they work? De-skill the users or change the way they work? Organizational changesOrganizational changes

Change the political power structure in an organization?Change the political power structure in an organization?

Page 37: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3737Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

2.3.1 Organizational processes2.3.1 Organizational processes

The development process interacts withThe development process interacts with The The procurementprocurement process process

Making decisions aboutMaking decisions about The best way to acquire a systemThe best way to acquire a system The best suppliersThe best suppliers

The The operationaloperational process processUsing the system for its intended purposeUsing the system for its intended purpose

Procurementprocess

Operationalprocess

Developmentprocess

Page 38: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3838Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

The system procurement processThe system procurement process

Large complex systemsLarge complex systems a mixture of off-the-shelf and specially built a mixture of off-the-shelf and specially built

componentscomponents

Important pointsImportant points Off-the-shelf components do not usually match Off-the-shelf components do not usually match

requirements exactlyrequirements exactlyMay have to modify the requirementsMay have to modify the requirements

The specification of requirements acts as the basis of The specification of requirements acts as the basis of a contract for a specially built systema contract for a specially built system

A legal and technical documentA legal and technical document After a contractor has been selected, there is a After a contractor has been selected, there is a

contract negotiation periodcontract negotiation period

Page 39: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

3939Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

The system procurement processThe system procurement process

Choosesupplier

Issue requestfor bids

Choosesystem

Adaptrequirements

Survey market forexisting systems

Let contract fordevelopment

Negotiatecontract

Selecttender

Issue requestto tender

Off-the-shelfsystem available

Custom systemrequired

Page 40: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

4040Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

ContentsContents

2.1 Emergent system properties2.1 Emergent system properties

2.2 System engineering2.2 System engineering

2.3 Organizations, people and computer systems2.3 Organizations, people and computer systems

2.4 Legacy systems2.4 Legacy systems

2.5 Exercises2.5 Exercises

Page 41: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

4141Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Legacy systemsLegacy systems

Large computer-based systems usually have a Large computer-based systems usually have a long lifetimelong lifetime 20 years for military systems20 years for military systems Air traffic control (ATC) relies on software and Air traffic control (ATC) relies on software and

operational processes that were developed in the operational processes that were developed in the 1960s and 1970s1960s and 1970s

Too expensive and too risky to discard such business Too expensive and too risky to discard such business critical systems after a few years of usecritical systems after a few years of use

Their development continues throughout their Their development continues throughout their life with changeslife with changes RequirementsRequirements Operating platformsOperating platforms

Page 42: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

4242Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Legacy systemsLegacy systems

Socio-technical computer-based systems that Socio-technical computer-based systems that developed in the past using older or obsolete developed in the past using older or obsolete technologytechnology Hardware and softwareHardware and software Legacy processes and proceduresLegacy processes and procedures

Often business-critical systemsOften business-critical systems Too risky to replace themToo risky to replace them e.g. bank customer accounting systeme.g. bank customer accounting system e.g. aircraft maintenance systeme.g. aircraft maintenance system

Constrain new business processes and Constrain new business processes and consume a high proportion of company budgetsconsume a high proportion of company budgets

Page 43: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

4343Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Legacy system componentsLegacy system components

Systemhardware

Businessprocesses

Applicationsoftware

Business policiesand rules

Support software

Application data

ConstrainsUsesUsesRuns-onRuns-on

Embedsknowledge of

Uses

Page 44: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

4444Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

Layered model of a legacy systemLayered model of a legacy system

Socio-technical system

Hardware

Support software

Application software

Business processes

Page 45: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

4545Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

ContentsContents

2.1 Emergent system properties2.1 Emergent system properties

2.2 System engineering2.2 System engineering

2.3 Organizations, people and computer systems2.3 Organizations, people and computer systems

2.4 Legacy systems2.4 Legacy systems

2.5 Exercises2.5 Exercises

Page 46: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

4646Ku-Yaw ChangKu-Yaw Chang Socio-technical SystemsSocio-technical Systems

ExercisesExercises

2.42.4

2.62.6

Page 47: Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.

The EndThe End