Fundamental properties of a system

In this topic we will discuss some important fundamental properties in which form the basic building block most of the system related concepts to follow. In fact a lot of programming related artifacts cannot be explained with out these principles.

Let's start with the first very important property of a system. According to me;

"For an artifact in this world to qualify as a System, the prerequisite is that the artifact should give at least one behavior to the users in the world."

OR

"There is no system in this world which doesn't offer at least one behavior to its users."

OR

"Every system will offer at least one behavior to the users of the outside world which defines its existence in the bigger system."

Every artifact is made up of something. But that is not enough for it to qualify as a System because it is the behavior that adds value to the end user and defines the existence of that system in the bigger system.

In the real world, Systems are only known by the "Behavior" they exhibit and not by their "Structure" as they should be Black Box to the end user.

Now let's go to the next important principle.

We know that every System will give at least one behavior to its end users.

Now if "Every system delivers at least one behavior to its end user and there will always be at least one more system in the world which will use that behavior."

If a system offers a behavior which is not used by anyone, then that behavior is not needed. And if that behavior was the only behavior that the system offered, then there is no need for that system to exist within the bigger system.

This means that; "Systems can never exist in Isolation" i.e.

A system which does not use any other system or which is not used by any other system is a fundamental system anomaly.

Hence if there is a System, most of the times, it will internally use other systems and will be used by other systems.

This fundamental principle of a System is extremely important for capturing or finding missing system requirements.

I will discuss the same in detail when we discuss "Best Practices for capturing missing requirements".

Now that we know the fundamental principles of a System, let's find out if we can completely define a system from a user's perspective just by describing its features/functionalities/behaviors along with the non-functional characteristics.

 
Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer

www.VPlanSolutions.co.in