Un système se caractérise par un comportement entrée-sortie et un comportement interne. Cela revient donc à dire qu’un système peut être vu comme la donnée :
- d’une fonction de transfert qui transforme - à un instant donné - un ensemble de variables externes, appelés les entrées du système, en un autre ensemble de variables externes, appelés les sorties du système, en fonction de la valeur d’un ensemble de variables internes, appelés les états du système,
- d’une fonction de transition décrivant l’évolution des états (internes) du système au cours du temps sous l’action de ses entrées et d’événements externes.
Les deux grands types de systèmes que sont les systèmes physiques et les systèmes logiciels s’interprètent parfaitement dans ce cadre : dans le cas des systèmes physiques, les variables vivent typiquement dans des espaces continus alors que l’on reste dans des espaces discrets au niveau des systèmes logiciels.
Un système s’obtient récursivement par intégration à partir d’autres systèmes. On parle de "système complexe" dès lors que les systèmes qui interviennent dans ce processus récursif d’intégration deviennent trop nombreux et/ou trop hétérogènes.
Les systèmes industriels qui résultent d’un processus d’ingénierie basé sur le cycle en V entrent typiquement souvent dans cette catégorie. La réalisation de tels systèmes industriels fait en effet appel à des centaines d’ingénieurs issus de nombreuses spécialités différentes. Dans l’industrie automobile, un projet "véhicule" représente ainsi en moyenne une charge de 1.500 hommes-années de travail, répartie sur 4 ans, fait intervenir 30 à 50 corps de métiers différents et met en jeu des budgets de l’ordre du milliard d’euros. Dans le contexte des systèmes d’information, les grands projets d’infrastructure informatique s’étallent souvent sur plusieurs années en impliquant des équipes de plusieurs centaines d’informaticiens à temps complet et des budgets de plusieurs centaines de millions d’euros. La conduite de ce type de projets pose donc aujourd’hui des difficultés majeures car personne n’arrive plus à appréhender des systèmes de ce type dans leur globalité.
La complexité des systèmes industriels reste certes une notion floue et subjective, mais elle correspond à une réalité industrielle forte : elle caractérise les systèmes dont la maîtrise de la conception, de la maintenance et de l’évolution pose des problèmes importants, liés à leur taille et au nombre de technologies utilisées, qui rendent l’ensemble difficile à appréhender. En cela, les systèmes industriels complexes se distinguent d’autres systèmes techniquement compliqués mais dont les difficultés de conception peuvent être résolues par un seul ingénieur talentueux.