
The input–process–output (IPO) model, or input-process-output pattern, is a widely used approach in
systems analysis
Systems analysis is "the process of studying a procedure or business to identify its goal and purposes and create systems and procedures that will efficiently achieve them". Another view sees systems analysis as a problem-solving technique that ...
and
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
for describing the structure of an information processing program or other process. Many introductory
programming
Program (American English; also Commonwealth English in terms of computer programming and related activities) or programme (Commonwealth English in all other meanings), programmer, or programming may refer to:
Business and management
* Program m ...
and
systems analysis
Systems analysis is "the process of studying a procedure or business to identify its goal and purposes and create systems and procedures that will efficiently achieve them". Another view sees systems analysis as a problem-solving technique that ...
texts introduce this as the most basic structure for describing a process.
[Grady, J. O., "System Engineering Planning and Enterprise Identity", Taylor & Francis, 1995
.][Zelle, J., "Python Programming: An Introduction to Computer Science, 2nd edition", Franklin, Beedle, & Associates, 2010.][Curry, A. and Flett, P. and Hollingsworth, I., "Managing Information and Systems: The Business Perspective", Routledge, 2006.]
Overview
A
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
is useful for another sort of process using the input-process-output model receives inputs from a user or other source, does some
computation
A computation is any type of arithmetic or non-arithmetic calculation that is well-defined. Common examples of computation are mathematical equation solving and the execution of computer algorithms.
Mechanical or electronic devices (or, hist ...
s on the inputs, and returns the results of the computations.
In essence the system separates itself from the environment, thus defining both inputs and outputs as one united mechanism.
The system would divide the work into three categories:
* A requirement from the environment (
input)
* A computation based on the requirement (
process
A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic.
Things called a process include:
Business and management
* Business process, activities that produce a specific s ...
)
* A provision for the environment (
output
Output may refer to:
* The information produced by a computer, see Input/output
* An output state of a system, see state (computer science)
* Output (economics), the amount of goods and services produced
** Gross output in economics, the valu ...
)
In other words, such inputs may be materials, human resources, money or information, transformed into outputs, such as consumables, services, new information or money.
As a consequence, an input-process-output system becomes very vulnerable to misinterpretation. This is because, theoretically, it contains all the data, in regards to the environment outside the system. Yet, in practice, the environment contains a significant variety of objects that a system is unable to comprehend, as it exists outside the system's control. As a result, it is very important to understand where the boundary lies between the system and the environment, which is beyond the system's understanding. Various analysts often set their own boundaries, favoring their point of view, thus creating much confusion.
Systems at work
The views differ, in regards to
systems thinking
Systems thinking is a way of making sense of the complexity of the world by looking at it in terms of wholes and relationships rather than by splitting it down into its parts.Anderson, Virginia, & Johnson, Lauren (1997). ''Systems Thinking Ba ...
.
One of such definitions would outline the Input-process-output system, as a structure, would be:
"Systems thinking is the art and science of making reliable inferences about behaviour by developing an increasingly deep understanding of the understanding of the underlying structure"
Alternatively, it was also suggested that systems are not 'holistic' in the sense of bonding with remote objects (for example: trying to connect a crab, ozone layer and capital life cycle together).
Types of systems
There are five major categories that are the most cited in information systems literature:
[P. B. Checkland: Systems Thinking, Systems Practice. 1981 .][B. Wilson Systems: Concepts, methodologies and applications ( 1984)]
Natural systems
A system which has not been created as a result of human interference. Examples of such would be the
Solar System
The Solar SystemCapitalization of the name varies. The International Astronomical Union, the authoritative body regarding astronomical nomenclature, specifies capitalizing the names of all individual astronomical objects but uses mixed "Sola ...
as well as the human body, evolving into its current form
Designed physical systems
A system which has been created as a result of human interference, and is physically identifiable. Examples of such would be various computing machines, created by human mind for some specific purpose.
Designed abstract systems
A system which has been created as a result of human interference, and is not physically identifiable. Examples of such would be mathematical and philosophical systems, which have been created by human minds, for some specific purpose.
There are also some social systems, which allow humans to collectively achieve a specific
Social systems
A system created by humans, and derived from intangible purposes. For example: a family, that is a hierarchy of human relationships, which in essence create the boundary between natural and human systems.
Human activity systems
An organisation with hierarchy, created by humans for a specific purpose. For example: a company, which organises humans together to collaborate and achieve a specific purpose. The result of this system is physically identifiable.
There are, however, some significant links between with previous types. It is clear that the idea of human activity system (HAS), would consist of a variety of smaller social system, with its unique development and organisation. Moreover, arguably HASes can include designed systems - computers and machinery. Majority of previous systems would overlap.
System characteristics
There are several key characteristics, when it comes to the fundamental behaviour of any system.
# Systems can be classified as ''open'' or ''closed:'
''
#* Those that interact with their environment, in form of money, data, energy or exchange materials, are generally understood as open. Openness of the system can vary significantly. This is because, a system would be classified as open, if it receives even a single input from the environment, yet a system that merely interacts with the environment, would be classified as open as well. The more open the system is, the more complex it normally would be, due to lower predictability of its components.
#* Those that have no interactions with the environment at all are closed. In practice, however, a completely closed system is merely liveable, due to loss of practical usage of the output. As a result, most of the systems would be open or open to a certain extent.
# Systems can be classified as ''deterministic'' or ''stochastic'':
#* Well-defined and clearly structured system in terms of behavioural patterns becomes predictable, thus becoming deterministic. In other words, it would only use empirical data. For example: mathematics or physics are set around specific laws, which make the results of calculation predictable. Deterministic systems would have simplistic interactions between inner components.
#* More complex, and often more open systems, would have relatively lower extent of predictability, due to absence of clearly structured behavioural patterns. Analysing such system, is therefore much harder. Such systems would be stochastic, or probabilistic, this is because of the stochastic nature of human beings whilst performing various activities. Having said that, designed systems would still be considered as deterministic, due to a rigid structure of rules incorporated into the design.
# Systems can be classified as ''static'' or ''dynamic''
#* Most systems would be known as dynamic, because of the constant evolution in computing power, yet some systems could find it hard to balance between being created and ceasing to exist. An example of such could be a printed map, which is not evolving, in contrast to a dynamic map, provided from constantly updating developers.
# Systems can be classified as ''self-regulating'' or ''non-self-regulating''
#* The greater the extent of self-control of systems activity is, the greater is the liveability of the final system is. It is vital for any system to be able to control its activities in order to remain stable.
Real life applications
Corporate business
* A
manufacturing processes
Manufacturing is the creation or production of goods with the help of equipment, labor, machines, tools, and chemical or biological processing or formulation. It is the essence of the
secondary sector of the economy. The term may refer to a ra ...
that take raw materials as inputs, applies a manufacturing process, and produces manufactured goods as output. The usage of such systems could help to create stronger human organisations, in terms of company operations in each and every department of the firm, no matter the size, which . IPOs can also restructure existing static and non-self-regulating systems, which in real world would be used in form of outsourcing the product fulfilment, due to inefficiency of current fulfilment.
[Martin C. and Powell P. (1992) Informational Systems. A Management Perspective]
Programming
* The majority of existing programs for coding, such as
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (prog ...
,
C++, would be based upon a deterministic IPO model, with clear inputs coming from the coder, converting into outputs, such as applications.
* A
batch transaction processing system, which accepts large volumes of homogeneous transactions, processes it (possibly updating a database), and produces output such as reports or computations.
* An interactive
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
, which accepts simple requests from a user and responds to them after some processing and/or database accesses.
Scientific
* A
calculator
An electronic calculator is typically a portable electronic device used to perform calculations, ranging from basic arithmetic to complex mathematics.
The first solid-state electronic calculator was created in the early 1960s. Pocket-si ...
, which uses inputs, provided by the operator, and processes them into outputs to be used by the operator.
* A
thermostat
A thermostat is a regulating device component which senses the temperature of a physical system and performs actions so that the system's temperature is maintained near a desired setpoint.
Thermostats are used in any device or system tha ...
, which senses the temperature (input), decides on an action (heat on/off), and executes the action (output).
See also
*
Read–eval–print loop
A read–eval–print loop (REPL), also termed an interactive toplevel or language shell, is a simple interactive computer programming environment that takes single user inputs, executes them, and returns the result to the user; a program written ...
*
Extract, transform, load
Extract, transform, load (ETL) is a three-phase computing process where data is ''extracted'' from an input source, ''transformed'' (including cleaning), and ''loaded'' into an output data container. The data can be collected from one or mor ...
*
CIPO-model
References
{{reflist
Information systems