Download presentation
Presentation is loading. Please wait.
Published byMaximillian Gray Modified over 8 years ago
1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter2: Systems Engineering l Designing, implementing, deploying and operating systems which include hardware, software and people
2
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 2 Objectives l To explain why system software is affected by broader system engineering issues l To introduce the concept of emergent system properties such as reliability and security l To explain why the systems environment must be considered in the system design process l To explain system engineering and system procurement processes
3
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 3 Topics covered l Emergent system properties l Systems and their environment l System modelling l The system engineering process l System procurement
4
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 4 What is a system? l A purposeful collection of inter-related components working together towards 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
5
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 5 Software and systems engineering l The proportion of software in systems is increasing. Software-driven general purpose electronics is replacing special-purpose systems l Problems of systems engineering are similar to problems of software engineering l Software is (unfortunately) seen as a problem in systems engineering. Many large system projects have been delayed because of software problems
6
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 6 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
7
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 7 Examples of emergent properties l The overall weight of the system This is an example of an emergent property that can be computed from individual component properties. l The reliability of the system This depends on the reliability of system components and the relationships between the components. l 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 system operators and the environment where it is used.
8
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 8 l Because of component inter-dependencies, faults can be propagated through the system 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
9
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 9 Systems and their environment l Systems are not independent but exist in an environment l System’s function may be to change its environment l Environment affects the functioning of the system e.g. system may require electrical supply from its environment l The organizational as well as the physical environment may be important
10
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 10 System hierarchies
11
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 11 System architecture 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
12
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 12 Intruder alarm system
13
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 13 Component types in alarm system l Sensor Movement sensor, door sensor l Actuator Siren l Communication Telephone caller l Co-ordination Alarm controller l Interface Voice synthesizer
14
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ## ATC system architecture
15
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 15 System components l Sensor components Collect information from the system’s environment e.g. radars in an air traffic control system l Actuator components Cause some change in the system’s environment e.g. valves in a process control system which increase or decrease material flow in a pipe l Computation components Carry out some computations on an input to produce an output e.g. a floating point processor in a computer system
16
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 16 System components l Communication components Allow system components to communicate with each other e.g. network linking distributed computers l Co-ordination components Co-ordinate the interactions of other system components e.g. scheduler in a real-time system l Interface components Facilitate the interactions of other system components e.g. operator interface l All components are now usually software controlled
17
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 17 The system engineering process
18
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 18 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
19
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 19 System objectives l Functional objectives To provide a fire and intruder alarm system for the building which will provide internal and external warning of fire or unauthorized intrusion l Organisational objectives To ensure that the normal functioning of work carried out in the building is not seriously disrupted by events such as fire and unauthorized intrusion
20
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 20 System requirements problems l 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 an impression of component structure of the system.
21
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 21 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
22
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 22 The system design process
23
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 23 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 means that the development schedule may be extended because of the need for rework
24
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 24 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
25
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 25 l Environmental assumptions may be incorrect l May be human resistance to the introduction of a new system l System may have to coexist with alternative systems for some time l May be physical installation problems (e.g. cabling problems) l Operator training has to be identified System installation
26
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 26 l Will bring unforeseen requirements to light l Users may use the system in a way which is not anticipated by system designers l May reveal problems in the interaction with other systems Physical problems of incompatibility Data conversion problems Increased operator error rate because of inconsistent interfaces System operation
27
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 27 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
28
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 28 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
29
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 29 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
30
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 30 l Systems engineering is hard! There will never be an easy answer to the problems of complex system development l Software engineers do not have all the answers but may be better at taking a systems viewpoint l Disciplines need to recognise each others strengths and actively rather than reluctantly cooperate in the systems engineering process Conclusion
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.