Ch02 System Engineering Emergent

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

Transcript of Ch02 System Engineering Emergent

Page 1: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 1/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 1

Chapter 2

Computer-Based System

Engineering

Page 2: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 2/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 2

Systems Engineering

Designing, implementing, deploying and

operating systems which include hardware,

software and people

Page 3: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 3/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 3

Objectives

To explain why system software is affected by

broader system engineering issues

To introduce the concept of emergent system

properties such as reliability and security To explain why the systems environment must be

considered in the system design process

To explain system engineering and system

procurement processes

Page 4: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 4/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 4

Topics covered

Emergent system properties

Systems and their environment

System modelling

The system engineering process System procurement

Page 5: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 5/48©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 5

What is a system?

 A purposeful collection of inter-related componentsworking together towards some common obective!

 A system may include software, mechanical, electrical

and electronic hardware and be operated by people!

System components are dependent on othersystem components

The properties and behaviour of system components

are inextricably inter-mingled

Page 6: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 6/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 6

Probems o! systems engineering

"arge systems are usually designed to solve#wicked# problems

Systems engineering re$uires a great deal ofco-ordination across disciplines%  Almost infinite possibilities for design trade-offs across

components

% &utual distrust and lack of understanding across engineeringdisciplines

Systems must be designed to last many yearsin a changing environment

Page 7: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 7/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 7

So!t"are and systems engineering

The proportion of software in systems isincreasing! Software-driven general purposeelectronics is replacing special-purpose systems

'roblems of systems engineering are similar toproblems of software engineering

Software is (unfortunately) seen as a problemin systems engineering! &any large systemproects have been delayed because of software

problems

Page 8: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 8/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 8

Emergent properties

'roperties of the system as a whole rather than

properties that can be derived from the properties

of components of a system

Emergent properties are a conse$uence of therelationships between system components

They can therefore only be assessed and

measured once the components have been

integrated into a system

Page 9: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 9/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 9

E#ampes o! emergent properties

The overall weight of the system 

% This is an example of an emergent property that can be computedfrom individual component properties!

The reliability of the system 

% This depends on the reliability of system components and therelationships between the components!

The usability of a system % This is a complex property which is not simply dependent on the

system hardware and software but also depends on the systemoperators and the environment where it is used!

Page 10: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 10/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 10

Types o! emergent property

*unctional properties

% These appear when all the parts of a system work together toachieve some obective! *or example, a bicycle has the functionalproperty of being a transportation device once it has beenassembled from its components!

+on-functional emergent properties% Examples are reliability, performance, safety, and security! These

relate to the behaviour of the system in its operationalenvironment! They are often critical for computer-based systems

as failure to achieve some minimal defined level in theseproperties may make the system unusable!

Page 11: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 11/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 11

ecause of component inter-dependencies,faults can be propagated through the system

System failures often occur because ofunforeseen inter-relationships betweencomponents

t is probably impossible to anticipate allpossible component relationships

Software reliability measures may give a falsepicture of the system reliability

System reiabiity engineering

Page 12: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 12/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 12

Hardware reliability

% .hat is the probability of a hardware component failing and how

long does it take to repair that component/

Software reliability  % 0ow 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!

Operator reliability% 0ow likely is it that the operator of a system will make an error/

$n!uences on reiabiity

Page 13: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 13/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 13

%eiabiity reationships

0ardware failure can generate spurious signals

that are outside the range of inputs expected by

the software

Software errors can cause alarms to be activatedwhich cause operator stress and lead to operator

errors

The environment in which a system is installed can

affect its reliability

Page 14: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 14/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 14

The &sha-not' properties

'roperties such as performance and reliability can

be measured

0owever, 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

&easuring or assessing these properties is very

hard

Page 15: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 15/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 15

Systems and their environment

Systems are not independent but exist in anenvironment

System1s function may be to change itsenvironment

Environment affects the functioning of the systeme!g! system may re$uire electrical supply from itsenvironment

The organi2ational as well as the physicalenvironment may be important

Page 16: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 16/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 16

System hierarchies

Security

system

Heatingsystem

Lighting

system

Powersystem

Waste

system

Watersystem

Town

Street

Building

Page 17: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 17/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 17

(uman and organisationa !actors

Process changes 

% Does the system re$uire changes to the work processes in the

environment/

Job changes % Does the system de-skill the users in an environment or cause

them to change the way they work/

Organisational changes 

% Does the system change the political power structure in anorganisation/

Page 18: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 18/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 18

System architecture modeing

 An architectural model presents an abstract view of

the sub-systems making up a system

&ay include maor information flows between sub-

systems 3sually presented as a block diagram

&ay identify different types of functional

component in the model

Page 19: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 19/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 19

$ntruder aarm system

Alarmcontroller

Voicesynthesizer

Movementsensors

Siren

Doorsensors

Telephonecaller

Externalcontrol centre

Page 20: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 20/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 20

Component types in aarm system

Sensor % &ovement sensor, door sensor 

 Actuator % Siren

4ommunication% Telephone caller 

4o-ordination%  Alarm controller 

nterface% 5oice synthesi2er 

Page 21: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 21/48

Data comms.system

Transponder

system

Radar

system

Aircraft

comms.

Telephone

system

Flight plandatabase

Backup

positionprocessor

Position

processor

Comms.

processor

Backup comms.

processor

Aircraftsimulation

system

Weather mapsystem

Accounting

system

Controller

info. system

Controller

consoles

Activity loggingsystem

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ##

ATC system

architecture

Page 22: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 22/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 22

)unctiona system components

Sensor components

 Actuator components

4omputation components

4ommunication components 4o-ordination components

nterface components

Page 23: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 23/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 23

System components

Sensor components% 4ollect information from the system1s environment e!g! radars in

an air traffic control system

 Actuator components% 4ause some change in the system1s environment e!g! valves in a

process control system which increase or decrease material flow

in a pipe

4omputation components

% 4arry out some computations on an input to produce an outpute!g! a floating point processor in a computer system

Page 24: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 24/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 24

System components

4ommunication components%  Allow system components to communicate with each other e!g!

network linking distributed computers

4o-ordination components

% 4o-ordinate the interactions of other system components e!g!scheduler in a real-time system

nterface components% *acilitate the interactions of other system components e!g! operator

interface

 All components are now usually software controlled

Page 25: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 25/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 25

Component types in aarm system

Sensor % &ovement sensor, Door sensor 

 Actuator % Siren

4ommunication% Telephone caller 

4oordination%  Alarm controller 

nterface% 5oice synthesi2er 

Page 26: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 26/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 26

The system engineering process

3sually follows a 6waterfall1 model because of theneed for parallel development of different parts ofthe system% "ittle scope for iteration between phases because hardware

changes are very expensive! Software may have to compensatefor hardware problems

nevitably involves engineers from differentdisciplines who must work together % &uch scope for misunderstanding here! Different disciplines use

a different vocabulary and much negotiation is re$uired!Engineers may have personal agendas to fulfil

Page 27: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 27/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 27

The system engineering process

System

integration

Sub-system

development

System

design

Requirementsdefinition

System

installation

System

evolution

Systemdecommissioning

Page 28: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 28/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 28

$nter-discipinary invovement

ATC systemsengineering

Electronicengineering

Electrical

engineering

User interfacedesign

Mechanicalengineering

Architecture

Structuralengineering

Softwareengineering

Civil

engineering

Page 29: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 29/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 29

System re*uirements de!inition

Three types of re$uirement defined at this stage%  Abstract functional re$uirements! System functions are defined in

an abstract way

% System properties! +on-functional re$uirements for the system in

general are defined

% 3ndesirable characteristics! 3nacceptable system behaviour is

specified

Should also define overall organisational obectives

for the system

Page 30: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 30/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 30

System objectives

*unctional obectives% To provide a fire and intruder alarm system for the building which

will provide internal and external warning of fire or unauthori2ed

intrusion

7rganisational obectives% To ensure that the normal functioning of work carried out in the

building is not seriously disrupted by events such as fire and

unauthori2ed intrusion

Page 31: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 31/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 31

System re*uirements probems

4hanging as the system is being specified &ust anticipate hardware8communications

developments over the lifetime of the system

0ard to define non-functional re$uirements(particularly) without an impression of

component structure of the system!

Page 32: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 32/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 32

The system design process

'artition re$uirements% 7rganise re$uirements into related groups

dentify sub-systems% dentify a set of sub-systems which collectively can meet the

system re$uirements

 Assign re$uirements to sub-systems% 4auses particular problems when 47TS are integrated

Specify sub-system functionality

Define sub-system interfaces% 4ritical activity for parallel sub-system development

Page 33: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 33/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 33

The system design process

Partitionrequirements

Identifysub-systems

Assign requirementsto sub-systems

Specify sub-systemfunctionality

Define sub-systeminterfaces

Page 34: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 34/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 34

System design probems

9e$uirements partitioning to hardware,software and human components may involve a lot

of negotiation

Difficult design problems are often assumed to be

readily solved using software

0ardware platforms may be inappropriate for

software re$uirements so software must

compensate for this

Page 35: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 35/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 35

Sub-system deveopment

Typically parallel proects developing thehardware, software and communications

&ay involve some 47TS (4ommercial 7ff-the-Shelf)

systems procurement

"ack of communication across implementationteams

ureaucratic and slow mechanism for

proposing system changes means that the development

schedule may be extended because of the need for rework

Page 36: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 36/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 36

The process of putting hardware, software andpeople together to make a system

Should be tackled incrementally so that sub-

systems are integrated one at a time

nterface problems between sub-systems are

usually found at this stage

&ay be problems with uncoordinated deliveries

of system components

System integration

Page 37: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 37/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 37

Environmental assumptions may be incorrect &ay be human resistance to the introduction of

a new system

System may have to coexist with alternativesystems for some time

&ay be physical installation problems (e!g!

cabling problems)

7perator training has to be identified

System instaation

Page 38: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 38/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 38

.ill bring unforeseen re$uirements to light 3sers may use the system in a way which is

not anticipated by system designers

&ay reveal problems in the interaction withother systems% 'hysical problems of incompatibility

% Data conversion problems

% ncreased operator error rate because of inconsistent interfaces

System operation

Page 39: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 39/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 39

System evoution

"arge systems have a long lifetime! They mustevolve to meet changing re$uirements

Evolution is inherently costly% 4hanges 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

Existing systems which must be maintained are

sometimes called legacy systems

Page 40: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 40/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 40

System decommissioning

Taking the system out of service after its usefullifetime

&ay re$uire removal of materials (e!g! dangerous

chemicals) which pollute the environment% Should be planned for in the system design by encapsulation

&ay re$uire data to be restructured and converted

to be used in some other system

Page 41: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 41/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 41

System procurement

 Ac$uiring a system for an organi2ation to meetsome need

Some system specification and architectural

design is usually necessary before procurement% :ou need a specification to let a contract for system

development

% The specification may allow you to buy a commercial off-the-

shelf (47TS) system! Almost always cheaper than

developing a system from scratch

Page 42: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 42/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 42

The system procurement process

Choose

supplierIssue request

for bids

Choose

system

Adapt

requirements

Survey market for

existing systems

Let contract for

development

Negotiate

contractSelecttender

Issue request

to tender

Off-the-shelf system available

Bespoke system

required

Page 43: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 43/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 43

Procurement issues

9e$uirements may have to be modified to matchthe capabilities of off-the-shelf components

The re$uirements specification may be part of the

contract for the development of the system

There is usually a contract negotiation period to

agree changes after the contractor to build a

system has been selected

Page 44: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 44/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 44

Contractors and sub-contractors

The procurement of large hardware8softwaresystems is usually based around some principal

contractor 

Sub-contracts are issued to other suppliers to

supply parts of the system

4ustomer liases with the principal contractor and

does not deal directly with sub-contractors

Page 45: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 45/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 45

Contractor+Sub-contractor mode

Sub-contractor 2Sub-contractor 1 Sub-contractor 3

Principal

contractor

Systemcustomer

Page 46: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 46/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 46

,ey points

System engineering involves input from arange of disciplines

Emergent properties are properties that are

characteristic of the system as a whole and not

its component parts System architectural models show maor sub-

systems and inter-connections! They are

usually described using block diagrams

Page 47: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 47/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 47

,ey points

System component types are sensor, actuator,computation, co-ordination, communication and

interface

The systems engineering process is usually a

waterfall model and includes specification, design,

development and integration!

System procurement is concerned with deciding

which system to buy and who to buy it from

Page 48: Ch02 System Engineering Emergent

7/25/2019 Ch02 System Engineering Emergent

http://slidepdf.com/reader/full/ch02-system-engineering-emergent 48/48

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2 Slide 48

Systems engineering is hard; There will never bean easy answer to the problems of complexsystem development

Software engineers do not have all the answers

but may be better at taking a systemsviewpoint

Disciplines need to recognise each othersstrengths and actively rather than reluctantly

cooperate in the systems engineering process

Concusion