||This article needs more links to other articles to help integrate it into the encyclopedia. (September 2014)|
The input–process–output (IPO) model, or input-process-output pattern, is a widely used approach in systems analysis and software engineering for describing the structure of an information processing program or other process. Many introductory programming and systems analysis texts introduce this as the most basic structure for describing a process.
- 1 Overview
- 2 Systems at work
- 3 Types of systems
- 4 System characteristics
- 5 Real life applications
- 6 See also
- 7 References
A program or process using the input-process-output model receives inputs from a user or other source, does some computations 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 two categories:
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, 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 on practice, environment contains a significant variety of objects, that a system is unable to comprehend, as it exists outside systems control. As a result it is very important, to understand, where the boundary lies, between the system and the environment, which is beyond systems understanding. This is because, often various analysts, would set their own boundaries, favouring their point of view, thus creating much confusion.
Systems at work
The views differ, in regards to systems thinking. 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
A system which has not been created as a result of human interference. Examples of such would be the solar system 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 purpose.
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.
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.
2. 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.
3. 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.
- 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 able to control its activities in order to remain stable.
Real life applications
- A manufacturing processes 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. 
- The majority of existing programs for coding, such as Java, Python, 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, which accepts simple requests from a user and responds to them after some processing and/or database accesses.
- A calculator, which uses inputs, provided by the operator, and processes them into outputs to be used by the operator.
- A thermostat, which senses the temperature (input), decides on an action (heat on/off), and executes the action (output). 
- Grady, J. O., "System Engineering Planning and Enterprise Identity," Taylor & Francis, 1995.
- Goel, A., "Computer Fundamentals," Pearson Education India, 2010.
- 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.
- Waring A. Practical Systems Thinking, International Thomson Business Press: London. (1996)
- B. Richmond: Introduction to Systems Thinking, STELLA®© 1992-1997
- M. Balle: Managing With Systems Thinking: Making Dynamics Work for You in Business Decision Making 1996
- P. B. Checkland: Systems Thinking, Systems Practice. 1981 .
- B. Wilson Systems: Concepts, methodologies and applications ( 1984)
- Patching D. (1990) Practical Soft Systems Analysis
- Flynn D.J. (1992) Information Systems Requirements: Determination and Analysis
- Martin C. and Powell P. (1992) Informational Systems. A Management Perspective
|This software-engineering-related article is a stub. You can help Wikipedia by expanding it.|