Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Systems Engineering Demystified
Systems Engineering Demystified

Systems Engineering Demystified: A practitioner's handbook for developing complex systems using a model-based approach

eBook
R$80 R$245.99
Paperback
R$306.99
Subscription
Free Trial
Renews at R$50p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Systems Engineering Demystified

Chapter 1: Introduction to Systems Engineering

This chapter focuses on the background of systems engineering, considering the history of the subject and why it is needed. This chapter will also provide an understanding of the main concepts associated with systems engineering and the terminology that will be adopted throughout this book, thus aiding our understanding of the topic as we progress. To do this, we will look at the following topics:

  • A brief history of systems engineering
  • Defining systems engineering
  • The need for systems engineering

A brief history of systems engineering

It may be argued that systems engineering has been being employed ever since mankind started building and developing complex systems. It could also be said that the pyramids in ancient Egypt are examples of complex systems, along with simple stone structures, such as henges, which may actually form part of a larger astrological system. Furthermore, mankind has been observing complex systems such as the solar system since the ancient Greeks first observed the motion of the planets and created the model of the geocentric universe.

In more recent times, the term systems engineering may be traced back to the early part of the 20th century in Bell Laboratories in the USA (Fagen 1978). Examples of systems engineering may be observed in the Second World War and the first attempt to teach systems engineering is claimed to have been in 1950 at MIT (Hall 1962).

The 1960s saw the formulation of the field of study known as systems theory, which was first postulated by Ludwig von Bertalanffy (Bertalanffy 1968) as "general systems theory."

The main tenet of systems theory is that it is a conceptual framework based on the principle that the component parts of a system can best be understood in the context of the relationships with each other and with other systems, rather than in isolation (Wilkinson 2011). This is essential for all systems engineering as it means that elements in a system, or the systems themselves, are never considered by themselves but in relation to other elements or systems.

As systems became more complex, the need for a new approach to developing systems became more prevalent. Throughout the latter part of the 20th century, this need grew until it reached the point, in 1990, that the National Council on Systems Engineering (NCOSE) was founded in the USA. Since then, this organization has evolved into the International Council on Systems Engineering (INCOSE), in 1995, which is the world's foremost authority on systems engineering and has over 70 chapters throughout the world.

Today, as the complexity of the world that we live in and the systems that are being developed are increasing at an ever-expanding rate, there is an increased need for approaches that are rigorous and robust and can cope with these high levels of complexity. Systems engineering is such an approach.

Defining systems engineering

When considering systems engineering as a topic, it is important to understand exactly what is meant by the key terms that are being used. One aspect of all engineering (and all other professions for that matter) that will emerge from this book very quickly is that there is seldom a single, definitive definition for any term. This creates a potential problem as communication, as will be discussed later in this chapter, is key to successful systems engineering.

In order to address this potential problem, this chapter will introduce, discuss, and define specific concepts and their associated terminology that will be used throughout the book. This will enable a domain-specific language to be built up that will then be used consistently throughout this book. Wherever possible and appropriate, the terminology adopted will be based on international best practices, such as standards such as ISO 15288 (ISO 2015), to ensure the provenance of the information presented here.

Defining a system

The first concept that will be discussed is that of a system. A system will be defined in different ways by different people, depending on the nature of the system. So, first of all, some types of systems will be identified to illustrate some of the typical types of systems that may be encountered in systems engineering.

There are many different classifications, or taxonomies, of systems and one of the more widely accepted classifications is the one defined by Peter Checkland (Checkland, 1999), which is illustrated in the following diagram:

Figure 1.1 – Checkland's five types of system

Figure 1.1 – Checkland's five types of system

The diagram in Figure 1.1 shows Checkland's five types of generic systems, which are as follows:

  • Natural systems, which represent open systems whose characteristics are beyond the control of humans. Such systems include weather systems, nature, the environment, time, and so on.
  • Designed physical systems, which represent what most people would immediately think of when considering a system, such as smartphones, tablets, helicopters, cars, trains, planes, spaceships, boats, TVs, cameras, bridges, computer games, satellites, and even domestic appliances. The list is almost endless. The systems will typically consist of physical artifacts that represent the real-world manifestation of the system.
  • Designed abstract systems, which represent systems that have no physical artifacts but that are used by people to understand or explain an idea or concept. Examples of such systems include models, equations, thought experiments, and so on.
  • Human activity systems, which are people-based systems that can be seen or observed in the real world. These systems will typically consist of different sets of people interacting to achieve a common goal or purpose. Examples of such systems include a political system, social groups, people-based services, and so on.
  • Transcendental systems, which are systems that go beyond our current understanding. Examples of such systems include deities, unknown problems, and Numberwang.

This is a good set of classifications that will be the one that is used as a reference in this book. These classifications are a good way to think about different types of systems, but the important point to understand here is that we can apply systems engineering to all five of these different categories of systems.

Also, it should be kept in mind that it is possible to have systems that actually fit into more than one of these categories. Imagine, for example, a transport system that would have to take into account: vehicles (designed physical systems), operating models (designed abstract systems), the environment (a natural system), and the governing political system (a human activity system). In real life, the complexity of systems is such that it is typical, rather than unusual, to encounter examples of these systems that can fit into multiple categories.

Characteristics of a system

The five different broad types of systems have been introduced, but there is also a common set of characteristics that may be associated with all of these types of systems. These characteristics allow the systems to be understood and developed. Let's explore these in the following sections.

System elements – characterizing system structure

Any system will have its own natural structure and may be thought of as a set of interacting system elements, as shown in the following diagram:

Figure 1.2 – Basic structure of a system – system elements

Figure 1.2 – Basic structure of a system – system elements

The diagram in Figure 1.2 shows that a system is made up of a set of system elements and that there are two types of systems: a system of interest and an enabling system. System of interest refers to a system that is under development, whereas enabling system refers to any system that has an interest in, or interacts with, a system of interest.

One point to note here is that the structure of the system is actually more complex than this as a system element itself may be broken down into lower-level system elements, which will lead to a system hierarchy of several levels being identified for a specific system. For the purposes of this initial discussion, the number of levels will be kept low in order to keep the explanations simple. Later in this book, when systems are discussed in more detail, examples of hierarchies that span multiple levels will be considered.

The next key point for discussion here is that system elements interact with other system elements. This is a key concept in understanding true systems and applying systems engineering. When considering any system, or system element, it is important to understand that they will interact with other system elements, rather than existing in isolation. In systems engineering, everything is connected to something else and so understanding the relationships between system elements, which form the basis of the interactions between them, is just as important as understanding the system elements themselves.

The interactions between system elements also allow interfaces to be identified and defined between them. Understanding interfaces between system elements is crucial to be able to specify and define all types of systems. As part of understanding interfaces, it is also necessary to understand the information or the material (anything that is not information) that flows across the interfaces.

System structures and interfaces will be discussed in far more detail in Chapter 3, Systems and Interfaces.

Stakeholders – characterizing who or what has an interest in the system

One of the key aspects of a system that it is essential to understand as part of any systems engineering endeavor is the stakeholders that are associated with the system, as shown in the following diagram:

Figure 1.3 – Defining who or what has an interest in the system – stakeholders

Figure 1.3 – Defining who or what has an interest in the system – stakeholders

The diagram in Figure 1.3 shows that a stakeholder has an interest in the system. Understanding stakeholders is key to successful systems engineering, and the definition of a stakeholder is the role of any person, organization, or thing that has an interest in the system.

There are a number of subtleties associated with understanding stakeholders:

  • When considering stakeholders, it is the role of the stakeholder that is of interest, not the name of the person, organization, or thing that is associated with it. For example, consider a person, named Jon, who owns a car. The person, Jon, is not a stakeholder associated with the car, rather, the stakeholder is the role that Jon plays when interacting with the car. So, in this example, Jon will play a number of stakeholder roles, such as owner, driver, passenger, sponsor, maintainer, and so on. Each of these stakeholder roles will view the system of the car in different ways. It is important, therefore, that rather than thinking about Jon the person, that it is the stakeholder roles that Jon plays that are considered.
  • Stakeholders are not necessarily people and can be many other things, such as organizations or just about anything. For example, when considering the system of the car, the stakeholder role of owner could be taken on by the person, Jon, but it may be a company car that is owned by a business, in which case it is the organization that takes on the stakeholder role, rather than the person. Equally, the law has an interest in the car, which means that the law is also a stakeholder.
  • There is not a one-to-one correlation between stakeholders and the person, organization, or thing that takes on the role. For example, it has already been shown that a single person, Jon, may take on multiple stakeholder roles but, equally, it is possible for many people to take on the same stakeholder role. Consider the passengers that travel in the vehicle along with the driver. In this situation, we may have several people all taking on the same stakeholder role of passenger.
  • Stakeholders lie outside the boundary of the system, as do enabling systems. With the definition of stakeholder being anything that has an interest in the system, then it follows that an enabling system is actually just a special type of stakeholder, as the basic definition is the same.

Identifying stakeholders is an essential part of systems engineering as stakeholders will each look at the same system in different ways, depending on the stakeholder role that they play. This leads to an important concept of context, which will be discussed in more detail later in this chapter.

Attributes – characterizing system properties

It is possible to describe the high-level properties of any given system by identifying a set of attributes, as shown in the following diagram:

Figure 1.4 – Describing properties of a system – attributes

Figure 1.4 – Describing properties of a system – attributes

The diagram in Figure 1.4 shows that attributes describe a system. Attributes are shown here as relating to the concept of the system but, bearing in mind that a system comprises a number of system elements, these attributes may also apply to the system elements.

These attributes will typically be represented as nouns that may take on a number of different values and be of a specific, pre-defined type, and may also have specific units. Examples of simple types of attributes could be as follows:

  • Dimensions, such as length, width, and height, which would be typed as real numbers and may have units of millimeters associated with them.
  • Weight, which would be typed as a real number and have the unit of kilograms associated with it.
  • Element number, which may be of type integer and may not have a unit associated with it.
  • Name, which may be of type character or text and may not have a unit associated with it.

Attributes may also take on more complex types; for example:

  • Timestamp, which may be a set of simple types brought together to provide a more complex type. In this case, the timestamp may be a combination of day (an integer between 1 and 31), month (an integer between 1 and 12), year (an integer ranging from 0000 upwards), hour (an integer between 1 and 24), minute (an integer between 0 and 59), and second (an integer between 0 and 59).
  • Data structures, which may represent an entire audio or video file that complies with a specific protocol, such as MP3, MP4, and so on.

The full set of possible attributes is almost limitless so the list provided here is intended to provide food for thought rather than be any sort of comprehensive list.

Boundaries – defining the scope of a system

Each system will have at least one boundary associated with it, which helps to explain the scope of the system, as shown in the following diagram:

Figure 1.5 – Defining the scope of a system – boundary

Figure 1.5 – Defining the scope of a system – boundary

The diagram in Figure 1.5 shows that the boundary defines the scope of the system.

There are many types of boundary that may exist, including the following:

  • Physical boundary: This may be some sort of enclosure that surrounds the system and separates it from the outside world. This could be a cabinet that houses a number of system elements, such as the body of a car, a barrier that surrounds a piece of land, a wall and doors that define a room, and so on.
  • Conceptual boundary: This is a non-physical boundary that can be imagined but not necessarily observed. An example of this is the boundary between a car and the GPS satellite that it interacts with. In this case, where is the boundary of the system considered to be? Is it the transmitter and receiver in the car, the transmitter and receiver on the satellite, or is it the waves that are transmitted or the protocols that are used as part of the transmission?
  • Stakeholder Boundary: Different stakeholders may look at the same system in different ways and, therefore, where they perceive the boundary of the system to be may change depending on the stakeholder. Consider again two different stakeholders for a car. A passenger may consider the boundary of the car as being the physical body, or the shell of the car, whereas the maintainer of the car may also consider the conceptual boundary of the link between the car and the satellite as the boundary.

The boundary of a system allows a number of key aspects of the system to be understood:

  • What is inside the boundary: It is important to understand which system elements are considered to be inside the boundary of the system and which are considered to be outside the boundary of the system. System elements that are considered inside the boundary of the system will help to define exactly what the scope of the system is.
  • What is outside the boundary: In the same way that understanding what is inside the boundary is important, in terms of system elements, it is also important to understand what lies outside the boundary of the system. Things that exist outside the boundary of the system are considered to be either stakeholders or enabling systems, or as was discussed previously, both.
  • Where key interfaces exist: Every time an interaction occurs across the boundary of a system, it identifies an interface to that system. Identifying interfaces is an important part of systems engineering and a boundary can be used to identify all interfaces between a system and the outside world.

Bearing in mind these discussion points, defining the boundary of a given system may not be as simple as it first appears as different stakeholders may identify different boundaries. This is not necessarily a problem but it is important to bear this in mind and to ensure that no conflicts occur because of these differences.

Needs: the purpose of the system

Each system must have a purpose and this purpose is expressed by defining a set of needs, as shown in the following diagram:

Figure 1.6 – Defining the purpose of the system – needs

Figure 1.6 – Defining the purpose of the system – needs

The diagram in Figure 1.6 shows that needs describe the purpose of the system. A need describes the concept of something that is described about the System. The diagram also shows that there are different types of needs, three of which are listed here:

  • Requirement: A requirement represents a statement of something that it is desirable for the system to do. These are often related to the desired specific functionality of the system. For example, a requirement for a car may be that the driver must be able to slow the car down using the brake pedal, the car must have seat belts, or the car must travel at a top speed of at least 1,000 miles per hour.
  • Feature: A feature represents a higher-level need of the system that does not necessarily relate to a specific function but may relate to a collection of functions. An example of a feature may be that the car must have adaptive cruise control, the car must self-park, or the car must have crash prevention capabilities.
  • Goal: A goal is a very high-level need that represents a need of the overall system. An example of this may be to transport a driver and three passengers over a distance of 300 miles on a single charge.

It should be stressed here that there are many different terms used for all aspects of needs that differ vastly from organization to organization and from industry to industry. For example, the term "capability" is often used in the aerospace and defense industries whereas the term "feature" is more typically used in transport industries, such as automotive and rail. In a way, it does not matter which terminology is adopted, providing that it is adopted consistently.

Constraints: limiting the realization of the system

All systems will be limited in some way in terms of how they can be realized and these limitations are referred to as constraints, as shown in the following diagram:

Figure 1.7 – Defining limitations on the realization of the system – constraints

Figure 1.7 – Defining limitations on the realization of the system – constraints

The diagram in Figure 1.7 shows that constraints limit the realization of the system. All systems will have constraints associated with them that will limit how the system may be realized and these are often grouped into a number of categories, examples of which are as follows:

  • Quality constraints: In almost all systems, there will be constraints that relate to best practice sources, such as standards. It is typical for a number of standards to be identified that the development approach used to deliver the system must comply with. These standards will typically relate to the development processes used to describe the overall systems engineering approach. For example, a standard that is often used for cars in the automotive industry is ISO 26262.
  • Implementation constraints: These constraints will limit the way that the system can be built. This may limit the materials that are used; for example, a car may be limited to being made out of aluminum rather than steel.
  • Environmental constraints: All systems must be deployed somewhere and many systems will be defined in a natural environment, which may lead to certain constraints coming into play. For example, a car may be limited in its emissions in order to minimize the impact on the environment.
  • Safety constraints: Almost all systems will have constraints placed on them that ensure that the system can operate in a safe manner, particularly if things go wrong. For example, a car may be required to have functions in place that will protect the driver and passengers in the event of a crash.

The preceding list provides a broad set of categories for different types of constraints but it is by no means exhaustive.

It should also be kept in mind that these constraints can be complex themselves and actually belong to more than one of these categories. For example, a car may have a limitation that all of the materials used must be recyclable, which could place it in both the environmental and implementation categories.

It should also be pointed out that some of these constraints lend themselves to different stages of the system life cycle. The system life cycle is an important concept that will be discussed in more detail later in this book.

Constraints are also often described as special types of needs as they are often represented as being related to specific needs rather than directly to the system itself. This will be discussed in more detail in Chapter 6, Needs and Requirements, which focuses specifically on needs.

Summary of system concepts

All of the concepts that have been introduced and discussed in this section may now be brought together to provide an overview of how they relate to the concept of a system:

Figure 1.8 – Summary of the key concepts associated with a system

Figure 1.8 – Summary of the key concepts associated with a system

The diagram here shows a summary of the key concepts associated with systems that will be used throughout this book. It is important that these are all well understood as they will all be used from this point forward.

Defining systems engineering

There are many definitions of the term systems engineering, and there are various publications that discuss many of these and compare and contrast them (Holt and Perry 2019) (INCOSE 2018). For the purposes of this book, the main definition that will be used is taken from ISO 15288 (ISO 2015), which, in turn, is used in the INCOSE Systems Engineering Handbook (INCOSE 108), which defines systems engineering as:

"The realization of successful systems"

This is shown pictorially in the following diagram:

Figure 1.9 – Basic definition of systems engineering

Figure 1.9 – Basic definition of systems engineering

The diagram in Figure 1.9 shows the basic definition of systems engineering. This diagram may seem trivial but it will enable the general term to be related to all of the other concepts that are discussed consequently in this chapter.

This is a simple but effective definition of the term, but there are a few factors that must be kept in mind when reading this description:

  • Systems engineering is a multidisciplinary approach that takes into account all areas of engineering, including mechanical, electrical, civil, software, and so on. Crucially, however, it should also be recognized that systems engineering is not just limited to engineering disciplines, but includes many other diverse areas, such as management, mathematics, physics, psychology, and just about any other area!
  • Systems engineering is applied across the entire life cycle of a system and is not restricted to any single stage. This means that systems engineering is considered right from the point in time that the very first idea for the system is conceived until the system is ultimately retired. Even when working on a single stage, it is important that all stages of the life cycle are considered.
  • Systems engineering does not remove the need for intelligence, as systems engineers must never blindly follow instructions, and requires a healthy dose of common sense in order to be effective.

With these considerations in mind, the initial definition may be expanded upon to be redefined as (Holt & Perry 2007):

Systems engineering is a multi-disciplinary, common-sense approach that enables the realization of successful systems

Now the definitions have been established, it is necessary to understand why systems engineering is needed in the first instance.

The need for systems engineering

The need for systems engineering is actually very simple. In real life, it is very easy for things to go wrong. Projects overrun, airplanes fall out of the sky, software and IT bring organizations to their knees, and whole societies are crippled by non-joined-up government and management, all of which are the result of system failures at one level or another.

Since it is so easy for things to go wrong, it is important to understand why. Fundamentally, there are three main causes for such system failures, which are as follows:

  • Complexity, where complexity is not identified and, therefore, cannot be managed or controlled.
  • Communication, where communication fails or is ambiguous.
  • Understanding, where different points of view are not taken into account, and assumptions are made.

The problem is actually worse than this as these three main causes feed into one another, so unmanaged complexity will lead to communication failure and a lack of understanding; communication failure will lead to complexity and a lack of understanding; and a lack of understanding will lead to increased complexity and communication problems (Holt 2001).

These three causes are often referred to as the three evils of systems engineering and each will be discussed in more detail in the following sections.

Complexity

Complexity exists in every system and may be thought of as being one of two types, as shown in the following diagram:

Figure 1.10 – Types of complexity

Figure 1.10 – Types of complexity

The diagram in Figure 1.10 shows that systems manifest complexity. There are two main types of complexity:

  • Essential complexity is the natural complexity that is inherent in the system. The term "essential" is used here as it refers to complexity that manifests in the essence of the system. It is not possible to lower the essential complexity of a system, but it is possible to manage and control this complexity providing, of course, it has been identified in the first instance.
  • Accidental complexity is not natural and is introduced by inefficiencies in the peoples, processes, and tools that are employed to implement systems engineering, which will be discussed later in this chapter. Accidental complexity can certainly be lowered and this forms a natural part of systems engineering.

Complexity manifests itself in the relationships between things, whether these are between the system elements that make up the system or between systems themselves. There are many subtleties to complexity that will be discussed in more detail in the following sections.

An example…

In order to illustrate and, therefore, understand how complexity has changed and evolved over the last few decades, a simple example of a system will be introduced that will be used throughout this book to explain the various concepts and techniques that will be used as part of the overall approach to systems engineering.

For this example, the system that will be considered is a motor car, so now consider two such cars: one that was developed and built 50 years ago, around 1970, and one that was developed and built in the modern age, around 2020.

Consider the need for the system. The purpose of any car is to transport a number of people from point A to point B. The user interface of the car is, basically, a steering wheel, gear stick, and three pedals (accelerator, brake, and clutch pedals).

This basic need, or purpose, of a car has not really changed over the last 50 years, but the point of discussion here is that the complexity of the car has changed in four different ways, which will be discussed in turn in the following sections.

The complexity of the system elements

In order to illustrate how the complexity of the system elements has changed over the last 50 years, each of the cars will be discussed separately and then compared and contrasted.

Figure 1.11 – Basic breakdown of a car

Figure 1.11 – Basic breakdown of a car

The diagram in Figure 1.11 shows a simple example system of a car. There are four system elements at the next level down that make up the car, which are as follows:

  • The body, which includes lower-level system elements such as wings, doors, mirrors, and so on.
  • The chassis, which includes lower-level system elements, such as brakes, wheels, suspension, and so on.
  • The interior, which includes lower-level system elements such as seats, dashboard, controls, and so on.
  • The drive train, which includes lower-level system elements such as the motor and the gearing.

The system elements that make up the 50-year-old car are entirely mechanical and electrical in nature. On top of this, almost all of the system elements will be mechanical; only very few of them will be electrical.

Electrical system elements will be limited to the lights, indicators, fan, wipers, and starter motor, and that is really the extent of the electrical system elements. The mechanical elements, however, will make up all of the other system elements that relate to the body, chassis, drive train, and interior. The vast majority of the system elements, therefore, are mechanical with only a handful of them being electrical. This means that almost all of the interfaces between the system elements will be mechanical in nature, with only a few being electrical or electro-mechanical.

In order to build this car, it is largely a matter of integrating self-contained system elements that have well-defined interfaces. Also, any electrical connections will require quite simple point-to-point wiring.

Now consider the modern car. There are two new major types of system elements that now exist that did not exist at all on the 50-year-old car, which are electronic and software-based system elements. The vast majority of system elements on a modern car will fall into one of these two categories. Electronic system elements will include the following:

  • Controllers (such as light controllers, indicator controllers, and so on)
  • Sensors (such as temperature, pressure, rotation, and so on)
  • Actuators (such as levers, small gears, motors, and so on)
  • Display elements (such as dashboard lights, audio alerts, and so on)

All modern cars contain a vast amount of software and, in every case, this software will be split across multiple nodes across the whole vehicle. On top of the software itself, the software must be connected to its associated electronic component, which will, in turn, lead to the need for communication buses, such as Controller Area Networks (CANs), which will themselves use communication protocols.

In order to build the modern car, it is no longer a matter of simply integrating system elements because the interfaces between the elements are now far more complex and will involve subtle changes in voltage and current levels, data transfer, communication protocols, and complex wiring.

The complexity of the system elements that make up the car has, therefore, greatly increased between the two vehicles. Indeed, not only has it increased in terms of the number of system elements but also in the nature of these system elements.

The complexity of constraints

It has already been stated that the basic need for a car has not really changed at a high level in the last 50 years. The basic need is to transport people from point A to point B. In the past, the emphasis of most cars was to make them go as quickly as possible with little regard for anything else. One of the major things that has changed over the last 50 years is not necessarily the basic needs, but the constraints that are now imposed on those needs.

Figure 1.12 – Simple constraints

Figure 1.12 – Simple constraints

The diagram in Figure 1.12 shows a simple need that is named Develop car and there are two main constraints associated with this, which are Be safe and Be fast. This diagram here represents, at a very high level, the basic needs and constraints associated with the 50-year-old car.

The number of constraints associated with the older car is very small compared to that of the modern car, which is shown in the following diagram:

Figure 1.13 – Complex constraints

Figure 1.13 – Complex constraints

The diagram in Figure 1.13 shows the constraints associated with the modern car. The first thing to notice when comparing the two sets of constraints is that the number of constraints themselves has increased dramatically. There are new sets of constraints that simply did not exist in the older car, for example, Be secure is now an issue that was not really a main consideration previously. Likewise, there is a whole set of new constraints associated with Provide positive driving experience. This increase in the number of constraints will lead to an increased number of relationships between the basic needs and constraints, which will naturally lead to an increase in the complexity of the needs and constraints.

It is not just the increase in the number of constraints that leads to an increase in complexity, but also the complexity of individual constraints has increased. There are a number of constraints now that are related to best-practice models, such as Comply with standards and Comply with legislation. This is interesting from a complexity point of view as these constraints will also relate directly to other constraints. Consider Be safe, which was previously seen as a standalone constraint. In the modern vehicle, this constraint will also have both of the compliance constraints associated with it. Since there are far more standards and legislation in place now that apply to cars that did not exist 50 years ago, the complexity of individual constraints has increased along with the increase of dependencies between constraints.

The complexity of a system of systems

Another area where the car has increased in complexity over the last 50 years occurs when a higher-level system of systems is considered. A system of systems is not just a collection of interacting systems, it is a collection of interacting systems that exhibits some behavior that is not exhibited by any of its constituent systems. Therefore, it can be argued that a fleet of vehicles is not a system of systems, as it is simply a collection of systems that does little more than make the overall system slightly more complex. A true higher-level system of systems may be the transport network that a car forms part of. The overall transport system of systems exhibits a number of behaviors, such as ensuring an efficient journey from end to end, keeping traffic moving when accidents occur, and providing seamless links with smart cites and other transport systems, such as rail.

A modern car is now truly part of a system of systems as the vehicle itself interacts with other systems, such as smart cities, smart roads, the cloud, satellites, and so on, that did not occur with an older vehicle. The modern car is also taking over some of the skills that were previously the sole domain of the driver, such as parking, maintaining constant speeds, identifying potential dangers, and so on.

The complexity of the car system has therefore increased due to the fact that the car is now truly part of a wider system of systems.

Complexity shift

The final aspect of increased complexity that will be discussed does not necessarily manifest as an increase in the same type of complexity but, rather, represents a shift in complexity due to increases in other aspects of complexity.

Consider again the older car and its motor. The motor in the 50-year-old car is an internal combustion engine that mainly comprises mechanical system elements with a handful of electrical system elements. The internal combustion engine may be considered to have quite a high level of mechanical complexity that is naturally exhibited.

Now consider a modern electric car. The motor on the modern electric car is an electric motor that has a single moving part, that of the motor shaft. The mechanical complexity of the modern car is practically non-existent when compared with the older car. The complexity of the modern car lives mainly in the software that monitors the rest of the car and controls the electric motor. There is no software whatsoever in the older car.

The older car, therefore, has high mechanical complexity and zero software complexity. The modern car has very low mechanical complexity and very high software complexity.

The complexity in the modern car has therefore shifted in nature – in this case, away from mechanical complexity and towards software complexity.

Bringing it all together

It can be seen that the complexity of a typical system has increased dramatically over the last few decades. In the example we have used, the car increases in complexity for four different reasons, which have been discussed.

This increase in complexity does not apply just to automotive systems but to any and all types of systems. In reality, these four types of increased complexity will actually have interdependencies, which in turn will also increase the overall complexity. For example, the increase in complexity of the system elements will also lead to a complexity shift and, potentially, an increase in the system of systems complexity, which in turn, will lead to an increase in the number of constraints.

Identifying complexity

The key to managing complexity is identifying where the complexity lives in a system. This is a topic that will be followed up throughout the book, particularly when artifacts and models are discussed.

The next section discusses the problems associated with communication, which, alongside complexity and understanding, is one of the three evils of systems engineering.

Communication

Communication is key to successful systems engineering. It has already been discussed that systems engineering naturally brings together people from multiple and disparate backgrounds, which will lead to an increase in potential communication problems. Poorly-specified information, language, and protocols lead to ambiguity, which will lead to poor or inefficient communication.

Communication can exist at many levels, such as the following:

  • Between people: The obvious form of communication is between people. People interacting with other people is key to any successful project and is a matter that is more complex than it at first appears, as will be discussed in this section.
  • Between and within organizations: A successful business relies on different organizations, or organizational units, within the same company being able to communicate effectively. The media for these communications may be through documents, agreements, contracts, and so on but the same communication problems will occur.
  • Between and within systems and system elements: It is essential that the systems that are relied upon for our business and projects can also communicate effectively. This will include IT systems, other technical systems, and service-based systems, to name but a few.

When thinking about communication, another way to think about it is that communication must be effective and efficient between all stakeholders, whether they are represented by people, organizations, or things (such as systems). When considering communication in the world of systems engineering, it is inter-stakeholder communication that is being addressed.

These communication problems are further compounded by the fact that communication can also exist between these different types, such as between people and systems, people and organizations, and so on.

Defining common languages

One of the main solutions that is vaunted for improving communication is to get all parties to "speak a common language." This is an obvious solution and an important one, but speaking a common language is actually more complex than it may at first appear.

When considering a common language, there are actually two types of language that must be defined, as shown in the following diagram:

Figure 1.14 – Aspects of the common language

Figure 1.14 – Aspects of the common language

The diagram in Figure 1.14 shows that stakeholders communicate using a Language, so it is essential that this Language is as clear and unambiguous as possible. This Language, however, has two aspects: Spoken Language and Domain-Specific Language.

The first aspect that will be considered is that of the Spoken Language, which provides a basic mechanism for communication. An example of Spoken Language is the fact that this book is written in the English language. In order to understand the information in this book, it is essential that the reader can speak English. Clearly, there are many more spoken languages than the English language, but the decision that has been made for this book (or system) was to select English as the chosen Spoken Language. This is clearly an obvious decision that needs to be made but, just because everyone reading this book speaks English does not mean that there will be no ambiguity nor misunderstandings. This is because the second aspect of Language that needs to be considered is Domain-Specific Language.

Domain-Specific Language defines the specific concepts and terminology that will be used for a given application or domain. For example, consider the word "function." The word "function" is a common English language word but a word that will actually take on different meanings depending on which stakeholder is reading it.

It is essential that the Domain-Specific Language is defined as it forms the cornerstone for successful systems engineering. This chapter actually defines the Domain-Specific Language for systems engineering that is used throughout this book. Each diagram in this chapter contributes towards defining the full set of concepts and the associated terminology that is used for systems engineering in this book.

Languages for systems engineering

When it comes to languages that can be used for systems engineering, both the Spoken Language and the Domain-Specific Language must be defined:

  • In terms of the Spoken Language, there are several standard languages that can be adopted that are used throughout the industry across the world, such as the Unified Modeling Language, Systems Modeling Language, and Business Process Modeling Notation, among others. For the purposes of this book, the Spoken Language that has been selected is the Systems Modeling Language (SysML), which will be discussed in more detail in Chapter 2, Model-Based Systems Engineering.
  • In terms of the Domain-Specific Language, this will be different for every organization. A generic Domain-Specific Language for systems engineering is defined in this chapter and used throughout this book and may be used as a basis for readers to tailor into a language that fits their specific business.

Both types of language must be defined for successful systems engineering.

The next section discusses the problems associated with understanding, which, alongside complexity and communication, is one of the three evils of systems engineering.

Understanding

It is essential that all stakeholders share an understanding of the system, however, different stakeholders will perceive the system in different ways due to their different backgrounds and knowledge, which creates a potentially large problem. This problem may be addressed by considering the concept of "context." In order to understand the concept of context, consider a set of generic stakeholders, as shown in the following diagram:

Figure 1.15 – Generic set of stakeholders

Figure 1.15 – Generic set of stakeholders

The diagram in Figure 1.15 shows a generic set of stakeholders associated with the car system.

There are three broad categories of stakeholder, which are as follows:

  • Customer, which represents the set of roles that will ultimately benefit from the system that is being developed. The diagram here shows that Customer has two types, which are User, such as the Driver of the vehicle, and Operator, such as the Maintainer of the vehicle.
  • External, which represents the set of roles that have an interest in the system that will limit or restrict the system in some way. The diagram here shows that there is a single type of External stakeholder, which is Standard.
  • Supplier, which represents the set of roles that are interested in developing and delivering the systems, such as Engineer.

The identification of stakeholders is an essential part of systems engineering, as it is this complete set of stakeholders whose expectations need to be understood and managed, rather than just the end user of the system.

When considering the complete set of stakeholders, it should be kept in mind that different stakeholders may look at the same system and perceive different needs or, as in almost all systems, they may look at the same need and interpret it in a different way depending on their point of view. When something is interpreted in a different way from a different point of view, this is referred to as a "context."

The concept of context is one of the single most important aspects of representing a system that must be understood for successful systems engineering, yet is one that is often overlooked or ignored altogether.

In order to illustrate this crucial concept of context, imagine that there is a statement of need associated with a system, which is the system must be safe. At first glance, this may seem like a straightforward statement with little or no room for ambiguity, but the actual meaning of this statement will be different for each of the different stakeholders. For example, from the point of view of the Driver, this statement may be interpreted as the car must have seatbelts, airbags, driver-assist technology, and so on. From the point of view of the Maintainer, this statement may mean that the drive train must be developed in such a way that the battery can be turned off to ensure that no parts of the car are live when maintaining the vehicle. From the point of view of the Standard stakeholder there may be several safety aspects, such as meeting specific requirements for crash impact. Finally, from the point of view of the Engineer, the system may have to satisfy a number of scenarios relating to the safety case for the vehicle.

The point here is that there are multiple interpretations for the same set of needs. In order to manage the expectations of all stakeholders, it is important that all of these different points of view, or contexts, can be understood.

Now that the three evils of systems engineering have been discussed, it is time to consider the implementation of systems engineering

The implementation of systems engineering

In order to implement systems engineering successfully, there are three aspects of implementation that must be considered, which are shown in the following diagram:

Figure 1.16 – The classic systems engineering mantra – people, process, and tools

Figure 1.16 – The classic systems engineering mantra – people, process, and tools

The diagram in Figure 1.16 shows three main concepts: People, Process, and Tools. These are referred to as the Systems Engineering Mantra (Holt & Perry 2019).

These three concepts are very important but it is the relationships between them that provide a true understanding of what information is being conveyed. It is important that these People enable the overall Process as the competencies associated with the People are worth nothing if they do not enable the overall approach. Also, the overall approach must drive the choice of Tools, rather than the Tools affecting the Process.

These concepts are expanded upon in the following diagram:

Figure 1.17 – Expanded concepts of People, Process, and Tools

Figure 1.17 – Expanded concepts of People, Process, and Tools

The diagram in Figure 1.17 shows the expanded concepts that were first introduced in Figure 1.16. By considering each of the main concepts in turn, it is possible to enhance the original descriptions:

  • People: It is the competencies of the people that are of interest, rather than the presence of the people themselves. It is essential that people have the appropriate set of knowledge and skills and the attitude that is required to do the task at hand effectively and efficiently. It is also important not to confuse the concept of People with that of stakeholders. As was discussed previously, People may hold any number of stakeholder roles and it is a set of competencies associated with these roles that may be thought of as the ability of the individual.
  • Process: It is the overall approach that is being followed, rather than just a set of individual processes. The term Process here may be thought of as the overall ability of the organization or organizational unit to carry out a specific task.
  • Tools: The set of software, resources, or, in fact, anything that is intended to allow People to carry out their Process in a more effective or efficient manner. Such Tools may include software design and modeling tools, management tools, pen and paper, standards, notation, and so on.

Overall, it is important that there is a balance between People, Process, and Tools to enable successful systems engineering.

Summary

This chapter has introduced the main concepts and terminology associated with systems engineering, which may be thought of as the domain-specific language that will be used throughout this book. This domain-specific language is captured in all of the diagrams in this chapter. It is important to understand this domain-specific language, so these diagrams must be well understood and the following points considered:

  • Each diagram is made up of a series of boxes with words in them that are joined together by lines.
  • The main concepts for systems engineering are captured in the boxes and the lines between the boxes.
  • The terminology for systems engineering is what is written inside the boxes and on the lines.

The relevance of these diagrams will be discussed further in the next chapter, in which models and modeling are introduced.

Questions

After reading the chapter, you should be able to answer the following questions:

  1. Which definition of systems engineering works best for you?
  2. How do spoken language and domain-specific language match the concepts and terminology used in your organization?
  3. Redefine terms in each of the diagrams in this chapter to suit your own organization.
  4. Identify any areas of ambiguity with these concepts in your organization.
  5. Identify one key system that you work with and some of its characteristics.

References

  • (Wilkinson 2011) Wilkinson L.A. (2011) Systems Theory. In: Goldstein S., Naglieri J.A. (eds) Encyclopedia of Child Behavior and Development. Springer, Boston, MA
  • (Bertalanffy 1968) von Bertalanffy, L. 1968. General system theory: Foundations, development, applications. Revised ed. New York, NY: Braziller.
  • (Holt 2001) Holt J., UML for Systems Engineering. 1st edition. Stevenage, UK: IEE; 2001
  • (Holt and Perry 2019) Holt J., Perry S. SysML for Systems Engineering – a model-based approach, Third edition. Stevenage, UK: IET; 2008
  • (Checkland 1999) Checkland, P. B. 1999. Systems Thinking, Systems Practice. Chichester, UK: John Wiley & Sons
  • (ISO 2015) ISO/IEC. ISO/IEC 15288:2015 Systems and Software Engineering – System Life Cycle Processes. 1st edn. International Organisation for Standardisation; 2015
  • (Holt & Perry 2008) Holt J., Perry S. SysML for Systems Engineering. Stevenage, UK: IET; 2008
  • (INCOSE 2016) INCOSE. Systems Engineering Handbook – A Guide for System Life Cycle Processes and Activities. Version 4. INCOSE; 2016
Left arrow icon Right arrow icon

Key benefits

  • Discover how to manage increased complexity and understand systems better via effective communication
  • Adopt a proven model-based approach for systems engineering in your organization
  • Apply proven techniques for requirements, design, validation and verification, and systems engineering management

Description

Systems engineering helps us to understand, specify, and develop complex systems, and is applied across a wide set of disciplines. As systems and their associated problems become increasingly complex in this evermore connected world, the need for more rigorous, demonstrable, and repeatable techniques also increases. Written by Professor Jon Holt – an internationally recognized systems engineering expert – this book provides a blend of technical and business aspects you need to understand in order to develop successful systems. You'll start with systems engineering basics and understand the complexity, communication, and different stakeholders' views of the system. The book then covers essential aspects of model-based systems engineering, systems, life cycles, and processes, along with techniques to develop systems. Moving on, you'll explore system models and visualization techniques, focusing on the SysML, and discover how solutions can be defined by developing effective system design, verification, and validation techniques. The book concludes by taking you through key management processes and systems engineering best practices and guidelines. By the end of this systems engineering book, you'll be able to confidently apply modern model-based systems engineering techniques to your own systems and projects.

Who is this book for?

This book is for aspiring systems engineers, engineering managers, or anyone looking to apply systems engineering practices to their systems and projects. While a well-structured, model-based approach to systems engineering is an essential skill for engineers of all disciplines, many companies are finding that new graduates have little understanding of systems engineering. This book helps you acquire this skill with the help of a simple and practical approach to developing successful systems. No prior knowledge of systems engineering or modeling is required to get started with this book.

What you will learn

  • Understand the three evils of systems engineering - complexity, ambiguous communication, and lack of understanding
  • Realize successful systems using model-based systems engineering
  • Understand the concept of life cycles and how they control the evolution of a system
  • Explore processes and related concepts such as activities, stakeholders, and resources
  • Discover how needs fit into the systems life cycle and which processes are relevant and how to comply with them
  • Find out how design, verification, and validation fit into the life cycle and processes

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jan 29, 2021
Length: 468 pages
Edition : 1st
Language : English
ISBN-13 : 9781838985448
Category :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Jan 29, 2021
Length: 468 pages
Edition : 1st
Language : English
ISBN-13 : 9781838985448
Category :

Packt Subscriptions

See our plans and pricing
Modal Close icon
R$50 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
R$500 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts
R$800 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total R$ 842.97
40 Algorithms Every Programmer Should Know
R$278.99
Agile Model-Based Systems Engineering Cookbook
R$256.99
Systems Engineering Demystified
R$306.99
Total R$ 842.97 Stars icon
Banner background image

Table of Contents

16 Chapters
Section 1: Introduction to Systems Engineering Chevron down icon Chevron up icon
Chapter 1: Introduction to Systems Engineering Chevron down icon Chevron up icon
Chapter 2: Model-Based Systems Engineering Chevron down icon Chevron up icon
Section 2: Systems Engineering Concepts Chevron down icon Chevron up icon
Chapter 3: Systems and Interfaces Chevron down icon Chevron up icon
Chapter 4: Life Cycles Chevron down icon Chevron up icon
Chapter 5: Systems Engineering Processes Chevron down icon Chevron up icon
Section 3: Systems Engineering Techniques Chevron down icon Chevron up icon
Chapter 6: Needs and Requirements Chevron down icon Chevron up icon
Chapter 7: Modeling the Design Chevron down icon Chevron up icon
Chapter 8: Verification and Validation Chevron down icon Chevron up icon
Chapter 9: Methodologies Chevron down icon Chevron up icon
Chapter 10: Systems Engineering Management Chevron down icon Chevron up icon
Section 4: Next steps Chevron down icon Chevron up icon
Chapter 11: Best Practices Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.8
(11 Ratings)
5 star 81.8%
4 star 18.2%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




ROBERT HAYDN DEAVES May 11, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I have owned and read many Systems Engineering books by this author. Often I can’t find them as they have been handed out to engineers of all levels who have asked “have you got a readable book on Systems Engineering?”.This latest edition is well organised (as you would expect from a leading authority on Systems Engineering, SE) covering all areas from introduction and motivation, concepts, techniques, methodologies and best practice. The textural and diagrammatic descriptions are supported by examples based on familiar systems, helping to drive home the ideas.There are two areas I particularly welcome in the book.Firstly, it is considering the application of SE to ‘complex’ systems! It is straightforward (but never the less useful) to apply SE to ‘complicated’ systems; whereas more thought is required for its application to truly ‘complex’ systems. So, it’s great to see the topic beginning to be addressed.Secondly, the book addresses aligning SE with a modern processing model, namely SAFe. I have seen, first hand, the benefit of applying SE and SAFe individually (or loosely coupled). Bringing these powerful paradigms closer together could provide added benefit.Seasoned practitioners will agree that establishing and maintaining all aspects of the topic areas covered in the book, so that it provides an efficient and effective application of SE takes a lot of knowledge, experience, collaboration and perseverance! This book provides valuable knowledge and experience gained by the author in the pursuit of applying SE.So, with Systems Engineering Demystified I have an up-to-date and modernised book on the topic that I can hand out to the next generation of engineers and managers who want to get to grips with this important and interesting topic area!
Amazon Verified review Amazon
robertcloutier Mar 21, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The authors have been in the model-based approach for systems engineering space for many years. The first book that I read by them was UML for Systems Engineering published in 2004. They followed that up in 2013 with SysML for Systems Engineering. Their latest book on this subject, Systems Engineering Demystified, is their best.This is not a SysML book. It is a systems engineering book. The first chapter introduces systems engineering with a unique twist – they use the OMG Systems Modeling Language (SysML) without telling you they are using SysML. Next, they begin to introduce the use of models in performing systems engineering – or MBSE. A significant departure from other books in this space where most books introduce a SysML diagram like the block diagram and then discuss how it should be used by systems engineers. The authors instead discuss the systems engineering task and demonstrate how to do this using the appropriate SysML diagram. Each chapter is presented in the same manner - here are the systems engineering approaches, and this is how you use models to accomplish that.The book is presented in a clear, concise manner. You do not have to have any previous knowledge of systems engineering. The entire systems engineering lifecycle is presented and the material is presented in a tool agnostic manner, so you will not have to be familiar with any specific tool to use this book. This is the book I would have written. The primary author, Jon Holt, is a university professor, and the book is written in a manner in which it can be used as a primary text for an introductory course for systems engineering at either the undergraduate or graduate level. If you do intend to use it to teach, the authors have made all their diagrams available in PDF so you can use them in your teaching materials.
Amazon Verified review Amazon
Geoffrey A Wardle Aug 28, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very well written text book clearly covered system engineering and MBSE.
Amazon Verified review Amazon
S Mar 22, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
It is a comprehensive text book from A to Z.It is specifically useful when you want to write a paper and looking for some good reference to cite for System Engineering methodology.Also, it organized very good and you can find what you need by looking at the table of contents and document outline in the digital copy.I liked it.
Amazon Verified review Amazon
Steven Fernandes Jan 11, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book starts by introducing systems engineering. It provides a brief history of systems engineering and an overview of what we mean by systems engineering and what differentiates it from other engineering disciplines. Next, the concept of model-based systems engineering (MBSE)is introduced. It introduces the most effective and efficient way to realize systems engineering through MBSE.After the introductory chapters, the authors explain the systems and interfaces. They describe what we mean by a system and the different types of systems, including systems of systems. Next, the concept of life cycles and how they control the evolution of a system is explained. Different types of life cycles are introduced, and the importance of understanding the potentially complex relationships between them is stressed. The systems engineering processes introduce the concepts of processes and their related elements, such as activities, artifacts, stakeholders, and resources. The importance of effective processes defining the overall system engineering approach is emphasized. The needs and requirements, explains the importance of needs along with different types, specific requirements. The whole area of stakeholder needs identification and analysis is described, along with the views necessary to understand the different aspects of needs.The modeling and design discuss how solutions may be defined by developing effective designs. Various levels of design abstraction are discussed, such as architectural and detailed design. Also, different aspects of design, such as logical, functional, and physical designs, are introduced and the relationships between them are defined. The verification and validation introduce how the system may be demonstrated to be fit for purpose by introducing the concepts of verification (the system works) and validation (the system does what it is supposed to do). Several techniques are introduced and described that show how verification and validation may be applied at different levels of abstraction of the system. An overview of other methods that may be used is provided.The final chapters include methodologies that describe some of the most widely used systems engineering methodologies used in modern industry. Some of these use specific techniques, while others vary on the standard life cycle model. The systems engineering management provides an overview of some key management processes and associated techniques that need to be considered and how they can be implemented. The relationship between management techniques and technical techniques is also discussed. The book ends with best practices. It is a short chapter that provides information that can be used to continue systems engineering in your organization.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.